updates for lua

This commit is contained in:
Chris 2021-03-11 20:35:11 -05:00
parent 46b3191530
commit bb9b6bbc5d
8 changed files with 100 additions and 70 deletions

View file

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

View file

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

15
lua/lsp/general-ls.lua Normal file
View file

@ -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
}
}
}
}
}

View file

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

View file

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

View file

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

Binary file not shown.

View file

@ -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