summaryrefslogtreecommitdiffstats
path: root/.config/nvim/lua
diff options
context:
space:
mode:
Diffstat (limited to '.config/nvim/lua')
-rw-r--r--.config/nvim/lua/plugins/conform.lua8
-rw-r--r--.config/nvim/lua/plugins/lsp.lua72
-rw-r--r--.config/nvim/lua/plugins/telescope.lua6
3 files changed, 49 insertions, 37 deletions
diff --git a/.config/nvim/lua/plugins/conform.lua b/.config/nvim/lua/plugins/conform.lua
index 9f15bbb..06231dc 100644
--- a/.config/nvim/lua/plugins/conform.lua
+++ b/.config/nvim/lua/plugins/conform.lua
@@ -2,16 +2,22 @@ return {
2 { 2 {
3 'stevearc/conform.nvim', 3 'stevearc/conform.nvim',
4 opts = { 4 opts = {
5 format_on_save = {
6 -- These options will be passed to conform.format()
7 timeout_ms = 500,
8 lsp_format = "fallback",
9 },
5 formatters_by_ft = { 10 formatters_by_ft = {
6 lua = { "stylua" }, 11 lua = { "stylua" },
7 -- Conform will run multiple formatters sequentially 12 -- Conform will run multiple formatters sequentially
8 python = { "isort", "black" },
9 -- You can customize some of the format options for the filetype (:help conform.format) 13 -- You can customize some of the format options for the filetype (:help conform.format)
10 rust = { "rustfmt", lsp_format = "fallback" }, 14 rust = { "rustfmt", lsp_format = "fallback" },
11 -- Conform will run the first available formatter 15 -- Conform will run the first available formatter
12 javascript = { "prettierd", "prettier", stop_after_first = true }, 16 javascript = { "prettierd", "prettier", stop_after_first = true },
13 -- latex 17 -- latex
14 tex = { "tex-fmt" }, 18 tex = { "tex-fmt" },
19 -- sql
20 sql = { "sqruff" },
15 }, 21 },
16 } 22 }
17 }, 23 },
diff --git a/.config/nvim/lua/plugins/lsp.lua b/.config/nvim/lua/plugins/lsp.lua
index e710fd7..b10aa58 100644
--- a/.config/nvim/lua/plugins/lsp.lua
+++ b/.config/nvim/lua/plugins/lsp.lua
@@ -12,37 +12,38 @@ return {
12 local map = require("helpers.keys").map 12 local map = require("helpers.keys").map
13 13
14 map('n', '<leader>e', vim.diagnostic.open_float, "lsp: open diagnostics float") 14 map('n', '<leader>e', vim.diagnostic.open_float, "lsp: open diagnostics float")
15 map('n', '[d', vim.diagnostic.goto_prev, "lsp: goto previous diagnostic") 15 map('n', '[d', function() vim.diagnostic.jump({ count = -1, float = true }) end,
16 map('n', ']d', vim.diagnostic.goto_next, "lsp: goto next diagnostic") 16 "lsp: goto previous diagnostic")
17 map('n', ']d', function() vim.diagnostic.jump({ count = 1, float = true }) end, "lsp: goto next diagnostic")
17 18
18 -- set up cool signs for diagnostics 19 vim.diagnostic.config({
19 local signs = { Error = " ", Warn = "", Hint = "", Info = "" } 20 underline = true,
20 for type, icon in pairs(signs) do
21 local hl = "DiagnosticSign" .. type
22 vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" })
23 end
24
25 -- Diagnostic config
26 local config = {
27 virtual_text = false,
28 signs = { 21 signs = {
29 active = signs, 22 active = true,
23 text = {
24 [vim.diagnostic.severity.ERROR] = "",
25 [vim.diagnostic.severity.WARN] = "",
26 [vim.diagnostic.severity.HINT] = "󰟃",
27 [vim.diagnostic.severity.INFO] = "",
28 },
30 }, 29 },
31 update_in_insert = true, 30 virtual_text = false,
32 underline = true,
33 severity_sort = true,
34 float = { 31 float = {
35 focusable = true,
36 style = "minimal",
37 border = "rounded",
38 source = "always",
39 header = "", 32 header = "",
40 prefix = "", 33 border = "rounded",
34 format = function(diagnostic)
35 return string.format(
36 "%s (%s) [%s]",
37 diagnostic.message,
38 diagnostic.source,
39 diagnostic.code or diagnostic.user_data.lsp.code
40 )
41 end,
41 }, 42 },
42 }
43 vim.diagnostic.config(config)
44 43
45 -- this function gets run when an lsp connects to a particular buffer. 44 })
45
46 -- This function gets run when an LSP connects to a particular buffer.
46 local on_attach = function(_, bufnr) 47 local on_attach = function(_, bufnr)
47 map = require("helpers.keys").lsp_map 48 map = require("helpers.keys").lsp_map
48 49
@@ -71,17 +72,16 @@ return {
71 capabilities = require("cmp_nvim_lsp").default_capabilities(capabilities) 72 capabilities = require("cmp_nvim_lsp").default_capabilities(capabilities)
72 73
73 -- misc. 74 -- misc.
74 local lspconfig = require('lspconfig') 75 local servers = { 'ts_ls', 'jsonls', 'eslint', 'cssls', 'html', 'vala_ls', 'gopls', 'clangd' }
75 local servers = { 'ts_ls', 'jsonls', 'eslint', 'cssls', 'html', 'vala_ls', 'gopls' }
76 for _, lsp in pairs(servers) do 76 for _, lsp in pairs(servers) do
77 lspconfig[lsp].setup { 77 vim.lsp.config(lsp, {
78 on_attach = on_attach, 78 on_attach = on_attach,
79 capabilites = capabilities, 79 capabilites = capabilities,
80 } 80 })
81 end 81 end
82 82
83 -- typst/tinymist 83 -- typst/tinymist
84 require("lspconfig")["tinymist"].setup({ 84 vim.lsp.config("tinymist", {
85 on_attach = on_attach, 85 on_attach = on_attach,
86 capabilities = capabilities, 86 capabilities = capabilities,
87 single_file_support = true, 87 single_file_support = true,
@@ -94,7 +94,7 @@ return {
94 }) 94 })
95 95
96 -- lua 96 -- lua
97 require("lspconfig")["lua_ls"].setup({ 97 vim.lsp.config("lua_ls", {
98 on_attach = on_attach, 98 on_attach = on_attach,
99 capabilities = capabilities, 99 capabilities = capabilities,
100 settings = { 100 settings = {
@@ -116,7 +116,7 @@ return {
116 }) 116 })
117 117
118 -- python 118 -- python
119 require("lspconfig")["pylsp"].setup({ 119 vim.lsp.config("pylsp", {
120 on_attach = on_attach, 120 on_attach = on_attach,
121 capabilities = capabilities, 121 capabilities = capabilities,
122 settings = { 122 settings = {
@@ -139,7 +139,7 @@ return {
139 }) 139 })
140 140
141 -- efm 141 -- efm
142 require("lspconfig")["efm"].setup({ 142 vim.lsp.config("efm", {
143 on_attach = on_attach, 143 on_attach = on_attach,
144 settings = { 144 settings = {
145 initializationOptions = { 145 initializationOptions = {
@@ -155,7 +155,7 @@ return {
155 filetypes = { 'sh', 'tex' }, 155 filetypes = { 'sh', 'tex' },
156 }) 156 })
157 157
158 require("lspconfig")["harper_ls"].setup { 158 vim.lsp.config("harper_ls", {
159 on_attach = on_attach, 159 on_attach = on_attach,
160 capabilities = capabilities, 160 capabilities = capabilities,
161 settings = { 161 settings = {
@@ -185,17 +185,17 @@ return {
185 root_dir = function(fname) 185 root_dir = function(fname)
186 return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1]) 186 return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
187 end, 187 end,
188 } 188 })
189 189
190 -- ltex 190 -- ltex
191 require("lspconfig")["ltex"].setup({ 191 vim.lsp.config("ltex", {
192 capabilities = capabilities, 192 capabilities = capabilities,
193 on_attach = function(client, bufnr) 193 on_attach = function(client, bufnr)
194 on_attach(client, bufnr) 194 on_attach(client, bufnr)
195 require("ltex_extra").setup { 195 require("ltex_extra").setup {
196 load_langs = { "en-GB" }, 196 load_langs = { "en-GB" },
197 init_check = true, 197 init_check = true,
198 log_level = "none", 198 log_level = "warn",
199 } 199 }
200 end, 200 end,
201 filetypes = { "bib", "gitcommit", "markdown", "org", "plaintex", "rst", "rnoweb", "tex", "pandoc", "quarto", "rmd", "context", "mail", "text" }, 201 filetypes = { "bib", "gitcommit", "markdown", "org", "plaintex", "rst", "rnoweb", "tex", "pandoc", "quarto", "rmd", "context", "mail", "text" },
diff --git a/.config/nvim/lua/plugins/telescope.lua b/.config/nvim/lua/plugins/telescope.lua
index bfda4aa..24f820d 100644
--- a/.config/nvim/lua/plugins/telescope.lua
+++ b/.config/nvim/lua/plugins/telescope.lua
@@ -12,10 +12,16 @@ return {
12 "gbprod/yanky.nvim", 12 "gbprod/yanky.nvim",
13 }, 13 },
14 config = function() 14 config = function()
15 local open_with_trouble = require("trouble.sources.telescope").open
16
15 require('telescope').setup({ 17 require('telescope').setup({
16 defaults = { 18 defaults = {
17 path_display = { "truncate" }, 19 path_display = { "truncate" },
18 prompt_prefix = " ", 20 prompt_prefix = " ",
21 mappings = {
22 i = { ["<leader>xt"] = open_with_trouble },
23 n = { ["<leader>xt"] = open_with_trouble },
24 },
19 }, 25 },
20 extensions = { 26 extensions = {
21 fzf = { 27 fzf = {