aboutsummaryrefslogtreecommitdiff
path: root/store/config/nvim/lua/setup
diff options
context:
space:
mode:
Diffstat (limited to 'store/config/nvim/lua/setup')
-rw-r--r--store/config/nvim/lua/setup/lsp.lua33
-rw-r--r--store/config/nvim/lua/setup/plugins/conform.lua18
-rw-r--r--store/config/nvim/lua/setup/plugins/init.lua1
3 files changed, 35 insertions, 17 deletions
diff --git a/store/config/nvim/lua/setup/lsp.lua b/store/config/nvim/lua/setup/lsp.lua
index 472cdaf..a11ad34 100644
--- a/store/config/nvim/lua/setup/lsp.lua
+++ b/store/config/nvim/lua/setup/lsp.lua
@@ -7,6 +7,13 @@ vim.lsp.config("*", {
)
})
+---@param ev vim.api.keyset.create_autocmd.callback_args
+---@param name string
+local function client_name_is(ev, name)
+ local client = vim.lsp.get_client_by_id(ev.data.client_id)
+ return client and client.name == name
+end
+
local function setup_clangd()
local clangd = "clangd"
local brew_clangd_path = "/usr/local/opt/llvm/bin/clangd"
@@ -19,8 +26,7 @@ local function setup_clangd()
vim.api.nvim_create_autocmd('LspAttach', {
callback = function(ev)
- local client = vim.lsp.get_client_by_id(ev.data.client_id)
- if client and client.name == "clangd" then
+ if client_name_is(ev, "clangd") then
vim.keymap.set('n', 'grs', "<cmd>ClangdSwitchSourceHeader<cr>", {
buffer = ev.buf
})
@@ -62,28 +68,21 @@ local function setup_denols()
end
end,
})
-end
-
-
-local function setup()
- setup_clangd()
- setup_lua_ls()
- setup_denols()
-
- function _G.crupest_no_range_format()
- vim.notify("Range format is no supported by the lsp.", vim.log.levels.ERROR, {})
- end
vim.api.nvim_create_autocmd('LspAttach', {
callback = function(ev)
- local client = vim.lsp.get_client_by_id(ev.data.client_id)
- vim.keymap.set('n', 'gqa', vim.lsp.buf.format, { buffer = ev.buf })
- if client and not client:supports_method('textDocument/rangeFormatting') then
- vim.bo[ev.buf].formatexpr = "v:lua.crupest_no_range_format()"
+ if client_name_is(ev, "denols") then
+ vim.o.formatexpr = "v:lua.require'conform'.formatexpr()"
end
end
})
+end
+
+local function setup()
+ setup_clangd()
+ setup_lua_ls()
+ setup_denols()
vim.lsp.enable({ "clangd", "lua_ls", "denols" })
end
diff --git a/store/config/nvim/lua/setup/plugins/conform.lua b/store/config/nvim/lua/setup/plugins/conform.lua
new file mode 100644
index 0000000..e14c3f9
--- /dev/null
+++ b/store/config/nvim/lua/setup/plugins/conform.lua
@@ -0,0 +1,18 @@
+local function setup()
+ require("conform").setup({
+ formatters_by_ft = {
+ javascript = { "prettierd", "prettier", stop_after_first = true },
+ typescript = { "prettierd", "prettier", stop_after_first = true },
+ javascriptreact = { "prettierd", "prettier", stop_after_first = true },
+ typescriptreact = { "prettierd", "prettier", stop_after_first = true },
+ markdown = { "prettierd", "prettier", stop_after_first = true },
+ },
+ default_format_opts = {
+ lsp_format = "fallback",
+ },
+ })
+end
+
+return {
+ setup = setup
+}
diff --git a/store/config/nvim/lua/setup/plugins/init.lua b/store/config/nvim/lua/setup/plugins/init.lua
index 8f1346b..88eca4f 100644
--- a/store/config/nvim/lua/setup/plugins/init.lua
+++ b/store/config/nvim/lua/setup/plugins/init.lua
@@ -15,6 +15,7 @@ local function setup()
require("setup.plugins.tree-sitter").setup()
require("setup.plugins.lint").setup()
+ require("setup.plugins.conform").setup()
require("setup.plugins.cmp").setup()
require("nvim-autopairs").setup {}
end