diff options
| author | crupest <crupest@outlook.com> | 2023-10-30 22:29:25 +0800 | 
|---|---|---|
| committer | crupest <crupest@outlook.com> | 2023-10-30 22:29:25 +0800 | 
| commit | 78c906b053d233e19d0b4ba005ab6836c7bb84b3 (patch) | |
| tree | 34f2ee14454041de0d8289e622f6a99791db80df /configs | |
| parent | 376f33a464c5b4d3dfd48c36a48443126c004f82 (diff) | |
| download | crupest-78c906b053d233e19d0b4ba005ab6836c7bb84b3.tar.gz crupest-78c906b053d233e19d0b4ba005ab6836c7bb84b3.tar.bz2 crupest-78c906b053d233e19d0b4ba005ab6836c7bb84b3.zip  | |
Update nvim config, more detect for omnisharp.
Diffstat (limited to 'configs')
| -rw-r--r-- | configs/nvim/lazy-lock.json | 22 | ||||
| -rw-r--r-- | configs/nvim/lua/crupest/nvim/lsp/csharp.lua | 17 | ||||
| -rw-r--r-- | configs/nvim/lua/crupest/system.lua | 4 | ||||
| -rw-r--r-- | configs/nvim/lua/crupest/system/find.lua | 21 | 
4 files changed, 42 insertions, 22 deletions
diff --git a/configs/nvim/lazy-lock.json b/configs/nvim/lazy-lock.json index 5069f37..2deb237 100644 --- a/configs/nvim/lazy-lock.json +++ b/configs/nvim/lazy-lock.json @@ -5,20 +5,20 @@    "cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" },    "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },    "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, -  "everforest": { "branch": "master", "commit": "83b666410d7ae0eccf96dbbe3b4b6ac5b8172d38" }, +  "everforest": { "branch": "master", "commit": "72f101bd63228a1a45012325e39c5280ec22c828" },    "formatter.nvim": { "branch": "master", "commit": "34dcdfa0c75df667743b2a50dd99c84a557376f0" }, -  "gitsigns.nvim": { "branch": "main", "commit": "5a9a6ac29a7805c4783cda21b80a1e361964b3f2" }, -  "lazy.nvim": { "branch": "main", "commit": "4c75c8eeb957a99aa44ce8e526c04340ab358c5e" }, -  "lualine.nvim": { "branch": "master", "commit": "7533b0ead663d80452210c0c089e5105089697e5" }, -  "neo-tree.nvim": { "branch": "main", "commit": "63ebe879ad4798b66d29c0b2c8d04942389d438e" }, +  "gitsigns.nvim": { "branch": "main", "commit": "af0f583cd35286dd6f0e3ed52622728703237e50" }, +  "lazy.nvim": { "branch": "main", "commit": "16603c6917435d8446f7357cb61095138a417085" }, +  "lualine.nvim": { "branch": "master", "commit": "2248ef254d0a1488a72041cfb45ca9caada6d994" }, +  "neo-tree.nvim": { "branch": "main", "commit": "936b029e514adc1fa7ab51c6c1a8a2c872a58797" },    "nui.nvim": { "branch": "main", "commit": "c0c8e347ceac53030f5c1ece1c5a5b6a17a25b32" }, -  "nvim-autopairs": { "branch": "master", "commit": "f6c71641f6f183427a651c0ce4ba3fb89404fa9e" }, -  "nvim-cmp": { "branch": "main", "commit": "d3a3056204e1a9dbb7c7fe36c114dc43b681768c" }, -  "nvim-lint": { "branch": "master", "commit": "7c8b50a2bb62b544eb91434fd008a34c4b51fd6d" }, -  "nvim-lspconfig": { "branch": "master", "commit": "e49b1e90c1781ce372013de3fa93a91ea29fc34a" }, -  "nvim-web-devicons": { "branch": "master", "commit": "3af745113ea537f58c4b1573b64a429fefad9e07" }, +  "nvim-autopairs": { "branch": "master", "commit": "0f04d78619cce9a5af4f355968040f7d675854a1" }, +  "nvim-cmp": { "branch": "main", "commit": "51260c02a8ffded8e16162dcf41a23ec90cfba62" }, +  "nvim-lint": { "branch": "master", "commit": "962a76877a4479a535b935bd7ef35ad41ba308b2" }, +  "nvim-lspconfig": { "branch": "master", "commit": "d0467b9574b48429debf83f8248d8cee79562586" }, +  "nvim-web-devicons": { "branch": "master", "commit": "5de460ca7595806044eced31e3c36c159a493857" },    "omnisharp-extended-lsp.nvim": { "branch": "main", "commit": "53edfb413a54c9e55dcddc9e9fa4977a897e4425" },    "plenary.nvim": { "branch": "master", "commit": "50012918b2fc8357b87cff2a7f7f0446e47da174" }, -  "telescope.nvim": { "branch": "master", "commit": "74ce793a60759e3db0d265174f137fb627430355" }, +  "telescope.nvim": { "branch": "master", "commit": "4522d7e3ea75ffddabdc39957168a8a7060b5df0" },    "toggleterm.nvim": { "branch": "main", "commit": "c80844fd52ba76f48fabf83e2b9f9b93273f418d" }  }
\ No newline at end of file diff --git a/configs/nvim/lua/crupest/nvim/lsp/csharp.lua b/configs/nvim/lua/crupest/nvim/lsp/csharp.lua index 413e41d..066f305 100644 --- a/configs/nvim/lua/crupest/nvim/lsp/csharp.lua +++ b/configs/nvim/lua/crupest/nvim/lsp/csharp.lua @@ -2,15 +2,24 @@ local lspconfig = require("lspconfig");  local capabilities = require("cmp_nvim_lsp").default_capabilities()  local is_win = require("crupest.system").is_win +local is_mac = require("crupest.system").is_mac +local first_exe = require("crupest.system.find").first_exe + +local win_paths = { "C:/Users/crupest/Programs/omnisharp-win-x64/OmniSharp.exe" } +local mac_paths = { "/usr/local/opt/omnisharp/OmniSharp" }  local function setup_lsp_csharp() -    local omnisharp_cmd = nil +    local paths = {}      if is_win then -        omnisharp_cmd = { "C:/Users/crupest/Programs/omnisharp-win-x64/OmniSharp.exe" } +        paths = win_paths +    elseif is_mac then +        paths = mac_paths      end -    if omnisharp_cmd then +    local omnisharp_path = first_exe(paths) + +    if omnisharp_path then          lspconfig.omnisharp.setup {              capabilities = capabilities, @@ -18,7 +27,7 @@ local function setup_lsp_csharp()                  ["textDocument/definition"] = require('omnisharp_extended').handler,              }, -            cmd = omnisharp_cmd, +            cmd = { omnisharp_path },              -- Enables support for reading code style, naming convention and analyzer              -- settings from .editorconfig. diff --git a/configs/nvim/lua/crupest/system.lua b/configs/nvim/lua/crupest/system.lua index f05b230..982aaa4 100644 --- a/configs/nvim/lua/crupest/system.lua +++ b/configs/nvim/lua/crupest/system.lua @@ -1,5 +1,7 @@  local is_win = vim.fn.has("win32") ~= 0 +local is_mac = vim.fn.has("mac") ~= 0  return { -    is_win = is_win +    is_win = is_win, +    is_mac = is_mac  } diff --git a/configs/nvim/lua/crupest/system/find.lua b/configs/nvim/lua/crupest/system/find.lua index 16237ec..a2631a6 100644 --- a/configs/nvim/lua/crupest/system/find.lua +++ b/configs/nvim/lua/crupest/system/find.lua @@ -5,12 +5,12 @@ local function get_exe(path)      if system.is_win then          local exts = { "exe", "CMD", "cmd", "ps1" }          for _, ext in ipairs(exts) do -            if string.find(path, "%."..ext.."$") and fs.isfile(path) then +            if string.find(path, "%." .. ext .. "$") and fs.isfile(path) then                  return path              end          end          for _, ext in ipairs(exts) do -            local p = path.."."..ext +            local p = path .. "." .. ext              if fs.isfile(p) then return p end          end          return nil @@ -23,9 +23,18 @@ local function get_exe(path)      return nil  end +local function first_exe(paths) +    for _, v in ipairs(paths) do +        local exe = get_exe(v) +        if exe then return exe end +    end + +    return nil +end +  local function find_node_modules(path) -    return fs.walk_up(path, function (current_path) -        local node_modules_path = current_path.."/node_modules" +    return fs.walk_up(path, function(current_path) +        local node_modules_path = current_path .. "/node_modules"          if fs.isdir(node_modules_path) then              return node_modules_path          end @@ -36,7 +45,7 @@ end  local function find_npm_exe(path, exe)      local node_modules_path = find_node_modules(path)      if not node_modules_path then return nil end -    local try_exe_path = node_modules_path.."/.bin/"..exe +    local try_exe_path = node_modules_path .. "/.bin/" .. exe      local exe_path = get_exe(try_exe_path)      if exe_path then return exe_path end      return nil @@ -44,7 +53,7 @@ end  return {      get_exe = get_exe, +    first_exe = first_exe,      find_node_modules = find_node_modules,      find_npm_exe = find_npm_exe,  } -  | 
