Selaa lähdekoodia

updates for lua

Chris 4 vuotta sitten
vanhempi
commit
bb9b6bbc5d

+ 1 - 0
init.vim

@@ -25,6 +25,7 @@ else
   source ~/.config/nvim/themes/nvcode.vim
 
   " Plugin Configuration
+  luafile ~/.config/nvim/lua/lsp/general-ls.lua
   source ~/.config/nvim/keys/which-key.vim
   source ~/.config/nvim/plug-config/vim-commentary.vim
   source ~/.config/nvim/plug-config/rnvimr.vim

+ 31 - 35
lua/lsp-wrapper.lua

@@ -3,120 +3,120 @@ local lsp_wrapper = {}
 -- buf
 
 function lsp_wrapper.add_to_workspace_folder()
-  vim.lsp.buf.add_workspace_folder()
+    vim.lsp.buf.add_workspace_folder()
 end
 
 function lsp_wrapper.clear_references()
-  vim.lsp.buf.clear_references()
+    vim.lsp.buf.clear_references()
 end
 
 function lsp_wrapper.code_action()
-  vim.lsp.buf.code_action()
+    vim.lsp.buf.code_action()
 end
 
 function lsp_wrapper.declaration()
-  vim.lsp.buf.declaration()
-  vim.lsp.buf.clear_references()
+    vim.lsp.buf.declaration()
+    vim.lsp.buf.clear_references()
 end
 
 function lsp_wrapper.definition()
-  vim.lsp.buf.definition()
-  vim.lsp.buf.clear_references()
+    vim.lsp.buf.definition()
+    vim.lsp.buf.clear_references()
 end
 
 function lsp_wrapper.document_highlight()
-  vim.lsp.buf.document_highlight()
+    vim.lsp.buf.document_highlight()
 end
 
 function lsp_wrapper.document_symbol()
-  vim.lsp.buf.document_symbol()
+    vim.lsp.buf.document_symbol()
 end
 
 function lsp_wrapper.formatting()
-  vim.lsp.buf.formatting()
+    vim.lsp.buf.formatting()
 end
 
 function lsp_wrapper.formatting_sync()
-  vim.lsp.buf.formatting_sync()
+    vim.lsp.buf.formatting_sync()
 end
 
 function lsp_wrapper.hover()
-  vim.lsp.buf.hover()
+    vim.lsp.buf.hover()
 end
 
 function lsp_wrapper.implementation()
-  vim.lsp.buf.implementation()
+    vim.lsp.buf.implementation()
 end
 
 function lsp_wrapper.incoming_calls()
-  vim.lsp.buf.incoming_calls()
+    vim.lsp.buf.incoming_calls()
 end
 
 function lsp_wrapper.list_workspace_folders()
-  vim.lsp.buf.list_workspace_folders()
+    vim.lsp.buf.list_workspace_folders()
 end
 
 function lsp_wrapper.outgoing_calls()
-  vim.lsp.buf.outgoing_calls()
+    vim.lsp.buf.outgoing_calls()
 end
 
 function lsp_wrapper.range_code_action()
-  vim.lsp.buf.range_code_action()
+    vim.lsp.buf.range_code_action()
 end
 
 function lsp_wrapper.range_formatting()
-  vim.lsp.buf.range_formatting()
+    vim.lsp.buf.range_formatting()
 end
 
 function lsp_wrapper.references()
-  vim.lsp.buf.references()
-  vim.lsp.buf.clear_references()
+    vim.lsp.buf.references()
+    vim.lsp.buf.clear_references()
 end
 
 function lsp_wrapper.remove_workspace_folder()
-  vim.lsp.buf.remove_workspace_folder()
+    vim.lsp.buf.remove_workspace_folder()
 end
 
 function lsp_wrapper.rename()
-  vim.lsp.buf.rename()
+    vim.lsp.buf.rename()
 end
 
 function lsp_wrapper.signature_help()
-  vim.lsp.buf.signature_help()
+    vim.lsp.buf.signature_help()
 end
 
 function lsp_wrapper.type_definition()
-  vim.lsp.buf.type_definition()
+    vim.lsp.buf.type_definition()
 end
 
 function lsp_wrapper.workspace_symbol()
-  vim.lsp.buf.workspace_symbol()
+    vim.lsp.buf.workspace_symbol()
 end
 
 -- diagnostic
 
 function lsp_wrapper.get_all()
-  vim.lsp.diagnostic.get_all()
+    vim.lsp.diagnostic.get_all()
 end
 
 function lsp_wrapper.get_next()
-  vim.lsp.diagnostic.get_next()
+    vim.lsp.diagnostic.get_next()
 end
 
 function lsp_wrapper.get_prev()
-  vim.lsp.diagnostic.get_prev()
+    vim.lsp.diagnostic.get_prev()
 end
 
 function lsp_wrapper.goto_next()
-  vim.lsp.diagnostic.goto_next()
+    vim.lsp.diagnostic.goto_next()
 end
 
 function lsp_wrapper.goto_prev()
-  vim.lsp.diagnostic.goto_prev()
+    vim.lsp.diagnostic.goto_prev()
 end
 
 function lsp_wrapper.show_line_diagnostics()
-  vim.lsp.diagnostic.show_line_diagnostics()
+    vim.lsp.diagnostic.show_line_diagnostics()
 end
 
 -- misc
@@ -128,9 +128,6 @@ end
 
 return lsp_wrapper
 
-
-
-
 -- You can see more about the differences in types here:
 -- https://microsoft.github.io/language-server-protocol/specification#textDocument_documentHighlight
 
@@ -141,7 +138,6 @@ return lsp_wrapper
 --                                                           *hl-LspReferenceWrite*
 -- LspReferenceWrite         used for highlighting "write" references
 
-
 --                                                    *lsp-highlight-diagnostics*
 -- All highlights defined for diagnostics begin with `LspDiagnostics` followed by
 -- the type of highlight (e.g., `Sign`, `Underline`, etc.) and then the Severity

+ 15 - 0
lua/lsp/general-ls.lua

@@ -0,0 +1,15 @@
+require"lspconfig".efm.setup {
+    init_options = {documentFormatting = true},
+    filetypes = {"lua"},
+    settings = {
+        rootMarkers = {".git/"},
+        languages = {
+            lua = {
+                {
+                    formatCommand = "lua-format -i --no-keep-simple-function-one-line --no-break-after-operator --column-limit=150 --break-after-table-lb",
+                    formatStdin = true
+                }
+            }
+        }
+    }
+}

+ 25 - 35
lua/lsp/lua-ls.lua

@@ -1,47 +1,37 @@
 -- https://github.com/sumneko/lua-language-server/wiki/Build-and-Run-(Standalone)
--- TODO fix for different systems and put variable for user
-
-user="chris"
+USER = vim.fn.expand('$USER')
 
 local sumneko_root_path = ""
 local sumneko_binary = ""
 
-local system_name
 if vim.fn.has("mac") == 1 then
-  sumneko_root_path = "/Users/"..user.."/.config/nvim/lua-language-server"
-  sumneko_binary = "/Users/"..user.."/.config/nvim/lua-language-server/bin/macOS/lua-language-server"
+    sumneko_root_path = "/Users/" .. USER .. "/.config/nvim/lua-language-server"
+    sumneko_binary = "/Users/" .. USER .. "/.config/nvim/lua-language-server/bin/macOS/lua-language-server"
 elseif vim.fn.has("unix") == 1 then
-  sumneko_root_path = "/home/"..user.."/.config/nvim/lua-language-server"
-  sumneko_binary = "/home/"..user.."/.config/nvim/lua-language-server/bin/Linux/lua-language-server"
-elseif vim.fn.has('win32') == 1 then
-  -- sumneko_root_path = "/Users/chris/.config/nvim/lua-language-server"
-  -- sumneko_binary = "/Users/chris/.config/nvim/lua-language-server/bin/macOS/lua-language-server"
-  print("Unsupported system for me")
+    sumneko_root_path = "/home/" .. USER .. "/.config/nvim/lua-language-server"
+    sumneko_binary = "/home/" .. USER .. "/.config/nvim/lua-language-server/bin/Linux/lua-language-server"
 else
-  print("Unsupported system for sumneko")
+    print("Unsupported system for sumneko")
 end
 
 require'lspconfig'.sumneko_lua.setup {
-  cmd = {sumneko_binary, "-E", sumneko_root_path .. "/main.lua"};
-  settings = {
-    Lua = {
-      runtime = {
-        -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim)
-        version = 'LuaJIT',
-        -- Setup your lua path
-        path = vim.split(package.path, ';'),
-      },
-      diagnostics = {
-        -- Get the language server to recognize the `vim` global
-        globals = {'vim'},
-      },
-      workspace = {
-        -- Make the server aware of Neovim runtime files
-        library = {
-          [vim.fn.expand('$VIMRUNTIME/lua')] = true,
-          [vim.fn.expand('$VIMRUNTIME/lua/vim/lsp')] = true,
-        },
-      },
-    },
-  },
+    cmd = {sumneko_binary, "-E", sumneko_root_path .. "/main.lua"},
+    settings = {
+        Lua = {
+            runtime = {
+                -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim)
+                version = 'LuaJIT',
+                -- Setup your lua path
+                path = vim.split(package.path, ';')
+            },
+            diagnostics = {
+                -- Get the language server to recognize the `vim` global
+                globals = {'vim'}
+            },
+            workspace = {
+                -- Make the server aware of Neovim runtime files
+                library = {[vim.fn.expand('$VIMRUNTIME/lua')] = true, [vim.fn.expand('$VIMRUNTIME/lua/vim/lsp')] = true}
+            }
+        }
+    }
 }

+ 1 - 0
plug-config/lsp-config.vim

@@ -10,5 +10,6 @@ nnoremap <silent> <C-n> <cmd>lua vim.lsp.diagnostic.goto_next()<CR>
 " autoformat
 autocmd BufWritePre *.js lua vim.lsp.buf.formatting_sync(nil, 100)
 autocmd BufWritePre *.jsx lua vim.lsp.buf.formatting_sync(nil, 100)
+autocmd BufWritePre *.lua lua vim.lsp.buf.formatting_sync(nil, 100)
 " autocmd BufWritePre *.py lua vim.lsp.buf.formatting_sync(nil, 100)
 

+ 16 - 0
spell/en.utf-8.add

@@ -14,3 +14,19 @@ idc
 repo
 nvim
 lspconfig
+IDE
+Neovim's
+Ubuntu
+VIMRUNTIME
+lsp
+LuaJIT
+sumneko
+unix
+macOS
+wiki
+github
+https
+dir
+efm
+LuaRocks
+LuaFormatter

BIN
spell/en.utf-8.add.spl


+ 11 - 0
utils/easy-install-language-servers.sh

@@ -0,0 +1,11 @@
+npm i -g pyright
+npm i -g bash-language-server
+npm install -g vscode-css-languageserver-bin
+npm install -g dockerfile-language-server-nodejs
+npm install -g graphql-language-service-cli
+npm install -g vscode-html-languageserver-bin
+npm install -g typescript typescript-language-server
+npm install -g vscode-json-languageserver
+npm install -g vim-language-server
+npm install -g yaml-language-server
+