From 456acb4e150ee005d50d2e5df02d2fa44f765c07 Mon Sep 17 00:00:00 2001 From: XeroOl Date: Mon, 2 Jun 2025 22:46:12 -0500 Subject: [PATCH] be less picky about XDG_DATA_HOME and HOME environment variable trailing slash In fennel-ls.utils, there's a path-join function that has the logic for joining paths and putting a slash in the middle if it's not already there. --- src/fennel-ls/docs.fnl | 7 ++++--- src/fennel-ls/utils.fnl | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/fennel-ls/docs.fnl b/src/fennel-ls/docs.fnl index c141a03..bc9a728 100644 --- a/src/fennel-ls/docs.fnl +++ b/src/fennel-ls/docs.fnl @@ -1,3 +1,4 @@ +(local {: path-join} (require :fennel-ls.utils)) (local fennel (require :fennel)) (local {:metadata METADATA :scopes {:global {:specials SPECIALS @@ -5,9 +6,9 @@ (require :fennel.compiler)) (local docset-ext ".lua") -(local data-dir (.. (or (os.getenv "XDG_DATA_HOME") - (.. (or (os.getenv "HOME") "") "/.local/share")) - "/fennel-ls/docsets/")) +(local data-dir (path-join (or (os.getenv "XDG_DATA_HOME") + (path-join (or (os.getenv "HOME") "") ".local/share")) + "fennel-ls/docsets/")) (local specials (collect [name value (pairs SPECIALS)] diff --git a/src/fennel-ls/utils.fnl b/src/fennel-ls/utils.fnl index eff3787..1f4b862 100644 --- a/src/fennel-ls/utils.fnl +++ b/src/fennel-ls/utils.fnl @@ -201,10 +201,10 @@ WARNING: this is only used in the test code, not in the real language server" (-> (.. path path-sep suffix) ;; delete duplicate ;; windows - (: :gsub "%.\\" "") + (: :gsub "^%.\\" "") (: :gsub "\\+" "\\") ;; modern society - (: :gsub "%./" "") + (: :gsub "^%./" "") (: :gsub "/+" "/") (->> (pick-values 1))))