From bc9fb8e813ba2b60a0113051f068e9abff80245c Mon Sep 17 00:00:00 2001 From: AustinS <59460358+AuLaSW@users.noreply.github.com> Date: Thu, 20 Jan 2022 09:46:40 -0600 Subject: [PATCH] Add CleanPath() to telekasten.lua The function CleanPath() cleans up the file paths for Windows users. Removes all content of the path up to the first `\\`, which should fix the issues related to Windows file paths. --- lua/telekasten.lua | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/lua/telekasten.lua b/lua/telekasten.lua index efad941..bbcf08d 100644 --- a/lua/telekasten.lua +++ b/lua/telekasten.lua @@ -23,10 +23,35 @@ local Path = require("plenary.path") -- declare locals for the nvim api stuff to avoid more lsp warnings local vim = vim +-- Cleans home path for Windows users +-- Needs to be before default config, else with no use config +-- home will not be cleaned and issues will still occur +local function CleanPath(path) + -- File path delimeter for Windows machines + local windows_delim = "\\" + -- Returns the path delimeter for the machine + -- '\\' for Windows, '/' for Unix + local system_delim = package.config:sub(1,1) + local new_path_start + + -- Removes portion of path before '\\' for Windows machines + -- since Telescope does not like that + if system_delim == windows_delim then + new_path_start = path:find(windows_delim) -- Find the first '\\' + if new_path_start ~= nil then + path = path:sub(new_path_start) -- Start path at the first '\\' + end + end + + -- Returns cleaned path + return path +end + -- ---------------------------------------------------------------------------- -- DEFAULT CONFIG -- ---------------------------------------------------------------------------- local home = vim.fn.expand("~/zettelkasten") +home = CleanPath(home) local M = {} M.Cfg = { @@ -2487,6 +2512,8 @@ local function Setup(cfg) -- merge everything but calendar opts -- they will be merged later if k ~= "calendar_opts" then + if k == "home" then + v = CleanPath(v) M.Cfg[k] = v if debug then print(