diff --git a/after/lsp/lua_ls.lua b/after/lsp/lua_ls.lua index e149931..94643d8 100644 --- a/after/lsp/lua_ls.lua +++ b/after/lsp/lua_ls.lua @@ -1,5 +1,3 @@ -local lsp = require("lsp") - local lua_library_paths = { vim.env.VIMRUNTIME } vim.list_extend(lua_library_paths, require("pack").get_paths()) @@ -32,5 +30,39 @@ return { telemetry = { enable = false }, }, }, - on_attach = lsp.on_attach, + on_attach = function(client, bufnr) + require("lsp").on_attach(client, bufnr) + local util = require("util") + + vim.keymap.set("n", "lf", function() + util.format({ + buf = bufnr, + cmd = { + "stylua", + "--stdin-filepath", + "%file%", + "-", + }, + output = "stdout", + auto_indent = true, + }) + end, { buffer = bufnr }) + + vim.keymap.set("x", "lf", function() + util.format({ + buf = bufnr, + cmd = { + "stylua", + "--range-start", + "%byte_start%", + "--range-end", + "%byte_end%", + "--stdin-filepath", + "%file%", + "-", + }, + output = "stdout", + }) + end, { buffer = bufnr }) + end, } diff --git a/lua/plugins/mason-auto-install.lua b/lua/plugins/mason-auto-install.lua index 6a5313d..7161583 100644 --- a/lua/plugins/mason-auto-install.lua +++ b/lua/plugins/mason-auto-install.lua @@ -20,7 +20,10 @@ require("mason-auto-install").setup({ "lemminx", dependencies = { "xmlformatter" }, }, - "lua-language-server", + { + "lua-language-server", + dependencies = { "stylua" }, + }, "mesonlsp", "oxfmt", "oxlint",