1
0
Fork 0
mirror of https://github.com/pnx/dotfiles synced 2026-06-17 03:30:01 +02:00

more nvim

This commit is contained in:
Henrik Hautakoski 2024-06-08 16:50:16 +02:00
parent 48ddc29db1
commit fc6be19a2d
10 changed files with 337 additions and 273 deletions

View file

@ -15,3 +15,4 @@ autocmd('TextYankPost', {
autocmd('BufWritePre', {
command = [[:exe 'norm m`' | %s/\s\+$//eg | norm ``]]
})

View file

@ -11,8 +11,7 @@ return function()
local windowstyle = {
border = vim.g.float_border or "none",
winhighlight = "Normal:Pmenu,FloatBorder:FloatBorder,CursorLine:PmenuSel,Search:None",
}
}
return {
preselect = false,
@ -21,12 +20,12 @@ return function()
},
view = {
entries = { name = "custom", selection_order = "near_cursor" },
},
},
window = {
documentation = windowstyle,
completion = vim.tbl_deep_extend("force", windowstyle, {
scrolloff = 4,
}),
scrolloff = 4,
}),
},
mapping = {
["<Up>"] = selectPrev,
@ -52,8 +51,8 @@ return function()
}),
},
sources = {
{ name = "nvim_lsp" },
{ name = "luasnip" },
{ name = "nvim_lsp" },
-- { name = "luasnip" },
{ name = "buffer" },
{ name = "path" },
{

View file

@ -113,9 +113,18 @@ return {
{ '<leader>ff', "<cmd>Format<cr>", desc = 'Format file' },
{ '<leader>ff', "<cmd>Format<cr>", mode = 'x', desc = 'Format selection' },
},
fugitive = {
{ '<leader>gB', '<cmd>Git blame<cr>', desc = 'Git blame' },
{ '<leader>gs', '<cmd>Git status<cr>', desc = 'Git status' },
{ '<leader>gl', '<cmd>Git log<cr>', desc = 'Git log' },
{ '<leader>gL', '<cmd>Git log %<cr>', desc = 'Git log current file' },
},
gitsigns = {
{ '<leader>gp', '<cmd>Gitsigns preview_hunk<cr>', desc = 'Git preview diff' },
{ '<leader>gb', '<cmd>Gitsigns blame_line<cr>', desc = 'Git blame' }
{ '<leader>gb', '<cmd>Gitsigns blame_line<cr>', desc = 'Git blame line' }
},
trouble = {
{ '<leader>dt', '<cmd>Trouble diagnostics toggle<cr>', desc = 'Trouble diagnostics' },
},
-- Keybinds for buffers with an LSP client attached
lsp = {

View file

@ -1,69 +1,81 @@
vim.g.lsp_zero_ui_float_border = vim.g.float_border or 'none'
vim.g.lsp_zero_ui_float_border = vim.g.float_border or "none"
return {
document_highlight = true,
nonels = function()
local null_ls = require("null-ls")
return {
--null_ls.builtins.completion.luasnip,
null_ls.builtins.code_actions.impl,
null_ls.builtins.code_actions.gitsigns,
null_ls.builtins.diagnostics.phpstan,
}
end,
servers = {
-- Bash
bashls = {},
-- PHP
-- intelephense = {},
phpactor = {
settings = {
init_options = {
["language_server_phpstan.enabled"] = true,
["language_server_psalm.enabled"] = false,
}
}
},
--
--
-- JS,TS,VUE
volar = {
filetypes = { 'typescript', 'javascript', 'javascriptreact', 'typescriptreact', 'vue', 'json' }
},
-- TailwindCSS
tailwindcss = {},
-- GO
gopls = {
on_save = function()
local params = vim.lsp.util.make_range_params()
params.context = { only = { "source.organizeImports" } }
local result = vim.lsp.buf_request_sync(0, "textDocument/codeAction", params, 1000)
for cid, res in pairs(result or {}) do
for _, r in pairs(res.result or {}) do
if r.edit then
local enc = (vim.lsp.get_client_by_id(cid) or {}).offset_encoding or "utf-16"
vim.lsp.util.apply_workspace_edit(r.edit, enc)
end
end
end
vim.lsp.buf.format({ async = false })
end,
settings = {
gopls = {
analyses = {
unusedvariable = true,
unusedwrite = true,
useany = true
},
gofumpt = true,
},
},
},
-- Lua
lua_ls = {
cmd = {"/opt/luals/bin/lua-language-server", "--logpath=~/.local/luals/logs"},
settings = {
Lua = {
document_highlight = true,
nonels = function()
local null_ls = require("null-ls")
return {
--null_ls.builtins.completion.luasnip,
null_ls.builtins.code_actions.impl,
null_ls.builtins.code_actions.gitsigns,
null_ls.builtins.diagnostics.phpstan,
}
end,
servers = {
-- Bash
bashls = {},
-- PHP
-- intelephense = {},
phpactor = {
settings = {
init_options = {
["language_server_phpstan.enabled"] = true,
["language_server_psalm.enabled"] = false,
},
},
},
-- JS,TS,VUE
tsserver = {
document_highlight = false,
settings = {
tsserver_plugins = {
"@vue/typescript-plugin",
},
},
filetypes = { "javascript", "typescript", "vue" },
},
volar = {
init_options = {
vue = {
hybridMode = false,
},
},
filetypes = { "typescript", "javascript", "javascriptreact", "typescriptreact", "vue", "json" },
},
-- TailwindCSS
tailwindcss = {},
-- GO
gopls = {
on_save = function()
local params = vim.lsp.util.make_range_params()
params.context = { only = { "source.organizeImports" } }
local result = vim.lsp.buf_request_sync(0, "textDocument/codeAction", params, 1000)
for cid, res in pairs(result or {}) do
for _, r in pairs(res.result or {}) do
if r.edit then
local enc = (vim.lsp.get_client_by_id(cid) or {}).offset_encoding or "utf-16"
vim.lsp.util.apply_workspace_edit(r.edit, enc)
end
end
end
vim.lsp.buf.format({ async = false })
end,
settings = {
gopls = {
analyses = {
unusedvariable = true,
unusedwrite = true,
useany = true,
},
gofumpt = true,
},
},
},
-- Lua
lua_ls = {
cmd = { "/opt/luals/bin/lua-language-server", "--logpath=~/.local/luals/logs" },
settings = {
Lua = {
runtime = {
version = 'LuaJIT'
},
@ -73,8 +85,8 @@ return {
vim.env.VIMRUNTIME
}
}
},
},
},
},
}
}
},
},
}

View file

@ -31,7 +31,8 @@ return {
"xml",
"glsl",
"hlsl",
"markdown"
"markdown",
"markdown_inline"
},
-- Install parsers synchronously (only applied to `ensure_installed`)