aboutsummaryrefslogtreecommitdiff
path: root/nvim/lua/plugins
diff options
context:
space:
mode:
authoreric.marin <maarin.eric@gmail.com>2025-03-24 08:42:44 +0100
committereric.marin <maarin.eric@gmail.com>2025-09-07 21:19:28 +0200
commit5798601f2527b6535fbafba7e22de4dd53954718 (patch)
treef045e8af54d09e7c19186c29d20ee0a28f2743d3 /nvim/lua/plugins
parent04d957a4d276c6c18570d6d658b17bed36f3190b (diff)
downloaddotfiles-5798601f2527b6535fbafba7e22de4dd53954718.tar.gz
dotfiles-5798601f2527b6535fbafba7e22de4dd53954718.zip
update
Diffstat (limited to '')
-rw-r--r--nvim/lua/plugins/lspsaga.lua3
-rw-r--r--nvim/lua/plugins/mini-starter.lua7
-rw-r--r--nvim/lua/plugins/nvim-lspconfig.lua150
-rw-r--r--nvim/lua/plugins/nvim-parinfer.lua5
-rw-r--r--nvim/lua/plugins/telescope.lua41
5 files changed, 117 insertions, 89 deletions
diff --git a/nvim/lua/plugins/lspsaga.lua b/nvim/lua/plugins/lspsaga.lua
index d6faadc..b87260a 100644
--- a/nvim/lua/plugins/lspsaga.lua
+++ b/nvim/lua/plugins/lspsaga.lua
@@ -1,4 +1,7 @@
local config = function()
+ vim.diagnostic.config({
+ severity_sort = true,
+ })
require("lspsaga").setup({
ui = {
code_action = "",
diff --git a/nvim/lua/plugins/mini-starter.lua b/nvim/lua/plugins/mini-starter.lua
index 1532c73..8b216a1 100644
--- a/nvim/lua/plugins/mini-starter.lua
+++ b/nvim/lua/plugins/mini-starter.lua
@@ -177,6 +177,13 @@ Quotes = {
The question of whether computers can think is like the question of whether submarines can swim.
~ Edsger Dijkstra
]],
+ [[
+ Of course, I'd also suggest that whoever was the genius who thought it was a good idea to read
+ things ONE F*CKING BYTE AT A TIME with system calls for each byte should be retroactively aborted.
+ Who the f*ck does idiotic things like that? How did they not die as babies, considering that they
+ were likely too stupid to find a tit to suck on?
+ ~ Linus Torvalds
+ ]]
}
diff --git a/nvim/lua/plugins/nvim-lspconfig.lua b/nvim/lua/plugins/nvim-lspconfig.lua
index 22435e6..639734e 100644
--- a/nvim/lua/plugins/nvim-lspconfig.lua
+++ b/nvim/lua/plugins/nvim-lspconfig.lua
@@ -1,5 +1,5 @@
local config = function()
- local lspconfig = require("lspconfig")
+ local lsp = vim.lsp
local capabilities = require("cmp_nvim_lsp").default_capabilities()
-- setting custom signs
@@ -9,85 +9,107 @@ local config = function()
vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" })
end
- local on_attach = function(client, bufnr)
- local keymap = vim.keymap
- local lsp = vim.lsp
- local opts = { noremap = true, silent = true, buffer = bufnr, desc = "" }
+ vim.api.nvim_create_autocmd('LspAttach', {
+ callback = function(ev)
+ local client = lsp.get_client_by_id(ev.data.client_id)
+ local keymap = vim.keymap
+ local opts = { noremap = true, silent = true, buffer = ev.buf, desc = "" }
- -- setting custom keymaps
- opts.desc = "Finder"
- keymap.set("n", "<Space>lf", ":Lspsaga finder<Enter>", opts) -- go to definition
- opts.desc = "Peek Definition (Lspsaga)"
- keymap.set("n", "<Space>lp", ":Lspsaga peek_definition<Enter>", opts) -- peak definition
- opts.desc = "Goto Definition (Lspsaga)"
- keymap.set("n", "<Space>lg", ":Lspsaga goto_definition<Enter>", opts) -- go to definition
- opts.desc = "Code Action (Lspsaga)"
- keymap.set("n", "<Space>la", ":Lspsaga code_action<Enter>", opts) -- see available code actions
- opts.desc = "Rename (Lspsaga)"
- keymap.set("n", "<Space>lr", ":Lspsaga rename<Enter>", opts) -- smart rename
- opts.desc = "Hover Documentation (Lspsaga)"
- keymap.set("n", "<Space>lk", lsp.buf.hover, opts) -- show documentation for what is under cursor
- opts.desc = "Outline (Lspsaga)"
- keymap.set("n", "<Space>lo", ":Lspsaga outline<Enter>", opts) -- show outline
- opts.desc = "Diagnostic (Lspsaga)"
- keymap.set("n", "<Space>ld", ":Lspsaga show_workspace_diagnostics<Enter>", opts) -- show diagnostics
+ -- setting custom keymaps
+ opts.desc = "Finder"
+ keymap.set("n", "<Space>lf", ":Lspsaga finder<Enter>", opts) -- go to definition
+ opts.desc = "Peek Definition (Lspsaga)"
+ keymap.set("n", "<Space>lp", ":Lspsaga peek_definition<Enter>", opts) -- peak definition
+ opts.desc = "Goto Definition (Lspsaga)"
+ keymap.set("n", "<Space>lg", ":Lspsaga goto_definition<Enter>", opts) -- go to definition
+ opts.desc = "Code Action (Lspsaga)"
+ keymap.set("n", "<Space>la", ":Lspsaga code_action<Enter>", opts) -- see available code actions
+ opts.desc = "Rename (Lspsaga)"
+ keymap.set("n", "<Space>lr", ":Lspsaga rename<Enter>", opts) -- smart rename
+ opts.desc = "Hover Documentation (Lspsaga)"
+ keymap.set("n", "<Space>lk", lsp.buf.hover, opts) -- show documentation for what is under cursor
+ opts.desc = "Outline (Lspsaga)"
+ keymap.set("n", "<Space>lo", ":Lspsaga outline<Enter>", opts) -- show outline
+ opts.desc = "Diagnostic (Lspsaga)"
+ keymap.set("n", "<Space>ld", ":Lspsaga show_workspace_diagnostics<Enter>", opts) -- show diagnostics
- keymap.del("n", "K", { buffer = bufnr })
-
- -- enable auto formatting on save
- if client.supports_method("textDocument/formatting") then
- vim.api.nvim_create_autocmd("BufWritePre", {
- buffer = bufnr,
- callback = function()
- vim.lsp.buf.format({ async = true })
- end,
- })
+ -- enable auto formatting on save
+ if client ~= nil and client:supports_method("textDocument/formatting") then
+ vim.api.nvim_create_autocmd("BufWritePre", {
+ buffer = ev.buf,
+ callback = function()
+ lsp.buf.format({ async = true })
+ end,
+ })
+ end
end
- end
+ })
- -- efm server configuration
- -- lspconfig.efm.setup({
- -- init_options = {
- -- documentFormatting = true,
- -- documentRangeFormatting = true,
- -- hover = true,
- -- documentSymbol = true,
- -- codeAction = true,
- -- completion = true,
- -- },
- -- })
- -- clangd server configuration
- lspconfig.clangd.setup({
- on_attach = on_attach,
+ vim.api.nvim_create_autocmd('LspDetach', {
+ callback = function(ev)
+ local client = lsp.get_client_by_id(ev.data.client_id)
+ local keymap = vim.keymap
+ keymap.del("n", "<Space>lf")
+ keymap.del("n", "<Space>lp")
+ keymap.del("n", "<Space>lg")
+ keymap.del("n", "<Space>la")
+ keymap.del("n", "<Space>lr")
+ keymap.del("n", "<Space>lk")
+ keymap.del("n", "<Space>lo")
+ keymap.del("n", "<Space>ld")
+ if client ~= nil and client:supports_method('textDocument/formatting') then
+ vim.api.nvim_clear_autocmds({
+ event = 'BufWritePre',
+ buffer = ev.buf,
+ })
+ end
+ end,
+ })
+
+ -- C/C++
+ lsp.enable("clangd")
+ lsp.config("clangd", {
+ capabilities = capabilities,
+ })
+ -- Rust
+ lsp.enable("rust_analyzer")
+ lsp.config("rust_analyzer", {
capabilities = capabilities,
})
- -- rust analyzer server configuration
- lspconfig.rust_analyzer.setup({
- on_attach = on_attach,
+ -- Haskell
+ lsp.enable("hls")
+ lsp.config("hls", {
capabilities = capabilities,
+ settings = {
+ ['haskell'] = {
+ cabalFormattingProvider = "cabal-fmt",
+ formattingProvider = "ormolu"
+ },
+ },
})
- -- haskell-language-server configuration
- lspconfig.hls.setup({
- on_attach = on_attach,
+ -- Lua
+ lsp.enable("lua_ls")
+ lsp.config("lua_ls", {
capabilities = capabilities,
})
- -- lua-language-server configuration
- lspconfig.lua_ls.setup({
- on_attach = on_attach,
+ -- JavaScript/Typescript
+ lsp.enable("ts_ls")
+ lsp.config("ts_ls", {
capabilities = capabilities,
})
- lspconfig.ts_ls.setup({
- on_attach = on_attach,
+ -- CSS
+ lsp.enable("cssls")
+ lsp.config("cssls", {
capabilities = capabilities,
})
- -- cssls-language-server configuration
- lspconfig.cssls.setup({
- on_attach = on_attach,
+ -- Meson
+ lsp.enable("mesonlsp")
+ lsp.config("mesonlsp", {
capabilities = capabilities,
})
- -- mesonlsp configuration
- lspconfig.mesonlsp.setup({
- on_attach = on_attach,
+ -- Zig
+ lsp.enable("zls")
+ lsp.config("zls", {
capabilities = capabilities,
})
end
diff --git a/nvim/lua/plugins/nvim-parinfer.lua b/nvim/lua/plugins/nvim-parinfer.lua
new file mode 100644
index 0000000..8775f83
--- /dev/null
+++ b/nvim/lua/plugins/nvim-parinfer.lua
@@ -0,0 +1,5 @@
+return {
+ "gpanders/nvim-parinfer",
+ lazy = true,
+ ft = "lisp"
+}
diff --git a/nvim/lua/plugins/telescope.lua b/nvim/lua/plugins/telescope.lua
index bc29d8c..0f6d853 100644
--- a/nvim/lua/plugins/telescope.lua
+++ b/nvim/lua/plugins/telescope.lua
@@ -10,36 +10,27 @@ local init = function()
opts.desc = "All commands (Telescope)"
keymap.set("n", "<Space>ta", ":Telescope<Enter>", opts) -- All commands
opts.desc = "Find words (Telescope)"
- keymap.set("n", "<Space>tg", ":Telescope live_grep<Enter>", opts) -- Find words
+ keymap.set("n", "<Space>tw", ":Telescope live_grep<Enter>", opts) -- Find words
opts.desc = "Buffers (Telescope)"
keymap.set("n", "<Space>tb", ":Telescope buffers<Enter>", opts) -- Buffers
end
-local opts = {
- defaults = {
- mappings = {
- i = {
- ["<C-j>"] = "move_selection_next",
- ["<C-k>"] = "move_selection_previous",
+local config = function()
+ require("telescope").setup({
+ defaults = require("telescope.themes").get_ivy(),
+ pickers = {
+ find_files = {
+ hidden = true,
},
+ builtin = {
+ previewer = false,
+ },
+ help_tags = {
+ previewer = false,
+ }
},
- },
- picker = {
- find_files = {
- theme = "dropdown",
- previewer = false,
- hidden = true,
- },
- live_grep = {
- theme = "dropdown",
- previewer = false,
- },
- find_buffers = {
- theme = "dropdown",
- previewer = false,
- },
- },
-}
+ })
+end
return {
"nvim-telescope/telescope.nvim",
@@ -47,5 +38,5 @@ return {
lazy = true,
cmd = "Telescope",
init = init,
- opts = opts,
+ config = config,
}