mirror of
https://github.com/LunarVim/LunarVim.git
synced 2025-08-04 10:05:37 +02:00
updates for lua
This commit is contained in:
parent
46b3191530
commit
bb9b6bbc5d
8 changed files with 100 additions and 70 deletions
|
@ -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
lua/lsp/general-ls.lua
Normal file
15
lua/lsp/general-ls.lua
Normal 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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue