diff --git a/.luafmt.toml b/.luafmt.toml new file mode 100644 index 0000000..032a7ed --- /dev/null +++ b/.luafmt.toml @@ -0,0 +1,11 @@ +[indent] +kind = "Space" +width = 4 + +[layout] +max_line_width = 80 +max_blank_lines = 1 + +[output] +trailing_comma = "Multiline" +quote_style = "Double" diff --git a/after/lsp/emmylua_ls.lua b/after/lsp/emmylua_ls.lua new file mode 100644 index 0000000..7dd473f --- /dev/null +++ b/after/lsp/emmylua_ls.lua @@ -0,0 +1,37 @@ +local lsp = require("lsp") + +local lua_library_paths = { vim.env.VIMRUNTIME } +vim.list_extend(lua_library_paths, require("pack").get_paths()) + +---@type vim.lsp.Config +return { + settings = { + emmylua = { + format = { + useDiff = true, + externalTool = { + program = "luafmt", + args = { + "--stdin", + "--level=lua-jit", + "--config=.luafmt.toml", + } + }, + }, + runtime = { + version = "LuaJIT", + requirePattern = { + "lua/?.lua", + "lua/?/init.lua", + }, + }, + workspace = { + library = lua_library_paths, + }, + hint = { + enable = false, + }, + } + }, + on_attach = lsp.on_attach, +} diff --git a/lua/lsp.lua b/lua/lsp.lua index 7bae990..5a2b4a7 100644 --- a/lua/lsp.lua +++ b/lua/lsp.lua @@ -72,13 +72,14 @@ function M.setup() "bashls", "clangd", "cmake", + "emmylua_ls", "gopls", -- "hyprls", "intelephense", -- "jedi_language_server", "lemminx", -- "xml_ls", - "lua_ls", + -- "lua_ls", "mesonlsp", "oxfmt", "oxlint", diff --git a/lua/plugins/mason-auto-install.lua b/lua/plugins/mason-auto-install.lua index 6a5313d..3ff6cef 100644 --- a/lua/plugins/mason-auto-install.lua +++ b/lua/plugins/mason-auto-install.lua @@ -9,6 +9,7 @@ require("mason-auto-install").setup({ "cmake-language-server", dependencies = { "golines" }, }, + "emmylua_ls", "gopls", "hyprls", { @@ -20,7 +21,7 @@ require("mason-auto-install").setup({ "lemminx", dependencies = { "xmlformatter" }, }, - "lua-language-server", + -- "lua-language-server", "mesonlsp", "oxfmt", "oxlint",