diff options
Diffstat (limited to 'configs/nvim/lua/crupest-util.lua')
-rw-r--r-- | configs/nvim/lua/crupest-util.lua | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/configs/nvim/lua/crupest-util.lua b/configs/nvim/lua/crupest-util.lua index dcfc706..c2bb727 100644 --- a/configs/nvim/lua/crupest-util.lua +++ b/configs/nvim/lua/crupest-util.lua @@ -1,11 +1,11 @@ local M = {} M.clean_path = function (path) - return string.gsub(path, "[/\\]+", "/") + return path and ({string.gsub(path, "[/\\]+", "/")})[1] end M.get_exe = function (path) - if vim.fn.has("win32") then + if vim.fn.has("win32") ~= 0 then local suffixes = { ".exe", ".CMD", ".cmd", ".ps1" } for _, v in ipairs(suffixes) do if string.find(path, v.."$") and vim.uv.fs_stat(path) then @@ -19,25 +19,25 @@ M.get_exe = function (path) return nil end - if vim.fn.executable(path) then + if vim.fn.executable(path) ~= 0 then return path end + return nil end M.walk_up = function (path, func) local current_path = vim.fn.fnamemodify(path, ":p") while true do - print(current_path) local result = func(current_path) if result then return result end - local new_path = vim.fn.fnamemodify(current_path, ":p:h") - print(new_path) + local new_path = vim.fn.fnamemodify(current_path, ":h") if new_path == current_path then break end + current_path = new_path end return nil end @@ -45,7 +45,7 @@ end M.find_node_modules = function (path) return M.walk_up(path, function (current_path) local node_modules_path = current_path.."/node_modules" - if vim.fn.isdirectory(node_modules_path) then + if vim.fn.isdirectory(node_modules_path) ~= 0 then return node_modules_path end return nil @@ -55,7 +55,8 @@ end M.find_npm_exe = function (path, exe) local node_modules_path = M.find_node_modules(path) if not node_modules_path then return nil end - local exe_path = M.get_exe(node_modules_path.."/.bin/"..exe) + local try_exe_path = node_modules_path.."/.bin/"..exe + local exe_path = M.get_exe(try_exe_path) if exe_path then return M.clean_path(exe_path) end return nil end |