Bläddra i källkod

easy install LSP

Chris 4 år sedan
förälder
incheckning
7367ca68b7
7 ändrade filer med 14 tillägg och 26 borttagningar
  1. 1 0
      init.lua
  2. 1 0
      lua/lsp/js-ts-ls.lua
  3. 4 22
      lua/lsp/lua-ls.lua
  4. 3 2
      lua/lsp/python-ls.lua
  5. 2 0
      lua/nv-globals.lua
  6. 2 2
      lua/nv-utils/init.lua
  7. 1 0
      lua/plugins.lua

+ 1 - 0
init.lua

@@ -1,6 +1,7 @@
 -- General mappings
 require('plugins')
 require('nv-utils')
+require('nv-globals')
 require('settings')
 require('keymappings')
 require('colorscheme')

+ 1 - 0
lua/lsp/js-ts-ls.lua

@@ -8,6 +8,7 @@
 -- require'illuminate'.on_attach(client)
 -- end
 require'lspconfig'.tsserver.setup {
+    cmd = {DATA_PATH .. "/lspinstall/typescript/node_modules/.bin/typescript-language-server", "--stdio"},
     on_attach = require'lsp'.tsserver_on_attach,
     -- This makes sure tsserver is not used for formatting (I prefer prettier)
     -- on_attach = require'lsp'.common_on_attach,

+ 4 - 22
lua/lsp/lua-ls.lua

@@ -1,22 +1,7 @@
 -- https://github.com/sumneko/lua-language-server/wiki/Build-and-Run-(Standalone)
-USER = vim.fn.expand('$USER')
-
-local sumneko_root_path = ""
-local sumneko_binary = ""
-
-if vim.fn.has("mac") == 1 then
-    sumneko_root_path = "/Users/" .. USER ..
-                            "/.config/nvim/.language-servers/lua-language-server"
-    sumneko_binary = "/Users/" .. USER ..
-                         "/.config/nvim/.language-servers/lua-language-server/bin/macOS/lua-language-server"
-elseif vim.fn.has("unix") == 1 then
-    sumneko_root_path = "/home/" .. USER ..
-                            "/.config/nvim/.language-servers/lua-language-server"
-    sumneko_binary = "/home/" .. USER ..
-                         "/.config/nvim/.language-servers/lua-language-server/bin/Linux/lua-language-server"
-else
-    print("Unsupported system for sumneko")
-end
+-- USER = vim.fn.expand('$USER')
+local sumneko_root_path = DATA_PATH .. "/lspinstall/lua"
+local sumneko_binary = sumneko_root_path .. "/sumneko-lua-language-server"
 
 require'lspconfig'.sumneko_lua.setup {
     cmd = {sumneko_binary, "-E", sumneko_root_path .. "/main.lua"},
@@ -35,10 +20,7 @@ require'lspconfig'.sumneko_lua.setup {
             },
             workspace = {
                 -- Make the server aware of Neovim runtime files
-                library = {
-                    [vim.fn.expand('$VIMRUNTIME/lua')] = true,
-                    [vim.fn.expand('$VIMRUNTIME/lua/vim/lsp')] = true
-                }
+                library = {[vim.fn.expand('$VIMRUNTIME/lua')] = true, [vim.fn.expand('$VIMRUNTIME/lua/vim/lsp')] = true}
             }
         }
     }

+ 3 - 2
lua/lsp/python-ls.lua

@@ -1,7 +1,8 @@
 -- npm i -g pyright
 -- local capabilities = vim.lsp.protocol.make_client_capabilities()
 -- capabilities.textDocument.completion.completionItem.snippetSupport = true
-require'lspconfig'.pyright.setup{
-    on_attach = require'lsp'.common_on_attach,
+require'lspconfig'.pyright.setup {
+    cmd = {DATA_PATH .. "/lspinstall/python/node_modules/.bin/pyright-langserver", "--stdio"},
+    on_attach = require'lsp'.common_on_attach
     -- capabilities = capabilities
 }

+ 2 - 0
lua/nv-globals.lua

@@ -0,0 +1,2 @@
+DATA_PATH = vim.fn.stdpath('data')
+CACHE_PATH = vim.fn.stdpath('cache')

+ 2 - 2
lua/nv-utils/init.lua

@@ -35,8 +35,8 @@ nv_utils.define_augroups({
         {'BufWinEnter', '.sol', 'setlocal filetype=solidity'},
 
         {'FileType', 'dashboard', 'set showtabline=0 | autocmd WinLeave <buffer> set showtabline=2'},
-        {'BufRead', '*.sol', 'setlocal filetype=solidity'},
-        {'BufNewFile', '*.sol', 'setlocal filetype=solidity'},
+        {'BufRead', '*.sol', 'setlocal filetype=solidity'}, {'BufNewFile', '*.sol', 'setlocal filetype=solidity'},
+
         {'BufWritePre', '*.jsx', 'lua vim.lsp.buf.formatting_sync(nil, 1000)'},
         {'BufWritePre', '*.js', 'lua vim.lsp.buf.formatting_sync(nil, 1000)'},
         {'BufWritePre', '*.py', 'lua vim.lsp.buf.formatting_sync(nil, 1000)'},

+ 1 - 0
lua/plugins.lua

@@ -27,6 +27,7 @@ return require('packer').startup(function(use)
     use 'onsails/lspkind-nvim'
     use 'kosayoda/nvim-lightbulb'
     use 'mfussenegger/nvim-jdtls'
+    use 'kabouzeid/nvim-lspinstall'
 
     -- Debugging
     use 'mfussenegger/nvim-dap'