mirror of
https://github.com/iofq/nvim.nix.git
synced 2026-01-23 08:55:16 -06:00
lint
This commit is contained in:
parent
b33413dd18
commit
9082d546f6
19 changed files with 362 additions and 291 deletions
|
|
@ -1,2 +1,2 @@
|
||||||
vim.cmd("colorscheme terafox")
|
vim.cmd('colorscheme terafox')
|
||||||
vim.keymap.set("n", "<leader>aa", "<cmd>AerialToggle!<CR>", { desc = "Toggle Aerial" })
|
vim.keymap.set('n', '<leader>aa', '<cmd>AerialToggle!<CR>', { desc = 'Toggle Aerial' })
|
||||||
|
|
|
||||||
|
|
@ -1,23 +1,23 @@
|
||||||
-- vim settings ++ mini.nvim.basics
|
-- vim settings ++ mini.nvim.basics
|
||||||
----------------------------------------
|
----------------------------------------
|
||||||
vim.opt.backspace = "indent,eol,start"
|
vim.opt.backspace = 'indent,eol,start'
|
||||||
vim.opt.completeopt = "menuone"
|
vim.opt.completeopt = 'menuone'
|
||||||
vim.opt.expandtab = true -- insert tabs as spaces
|
vim.opt.expandtab = true -- insert tabs as spaces
|
||||||
vim.opt.inccommand = "split" -- incremental live completion
|
vim.opt.inccommand = 'split' -- incremental live completion
|
||||||
vim.opt.laststatus = 1
|
vim.opt.laststatus = 1
|
||||||
vim.opt.list = true
|
vim.opt.list = true
|
||||||
vim.opt.nrformats:append("alpha") -- let Ctrl-a do letters as well
|
vim.opt.nrformats:append('alpha') -- let Ctrl-a do letters as well
|
||||||
vim.opt.path:append("**") -- enable fuzzy :find ing
|
vim.opt.path:append('**') -- enable fuzzy :find ing
|
||||||
vim.opt.relativenumber = true
|
vim.opt.relativenumber = true
|
||||||
vim.opt.shadafile = "NONE" -- disable shada
|
vim.opt.shadafile = 'NONE' -- disable shada
|
||||||
vim.opt.shiftwidth = 0 -- >> shifts by tabstop
|
vim.opt.shiftwidth = 0 -- >> shifts by tabstop
|
||||||
vim.opt.showmatch = true -- highlight matching brackets
|
vim.opt.showmatch = true -- highlight matching brackets
|
||||||
vim.opt.showmode = true
|
vim.opt.showmode = true
|
||||||
vim.opt.softtabstop = -1 -- backspace removes tabstop
|
vim.opt.softtabstop = -1 -- backspace removes tabstop
|
||||||
vim.opt.swapfile = false
|
vim.opt.swapfile = false
|
||||||
vim.opt.tabstop = 2 -- 2 space tabs are based
|
vim.opt.tabstop = 2 -- 2 space tabs are based
|
||||||
vim.opt.updatetime = 250 -- decrease update time
|
vim.opt.updatetime = 250 -- decrease update time
|
||||||
vim.opt.virtualedit = "onemore"
|
vim.opt.virtualedit = 'onemore'
|
||||||
|
|
||||||
vim.g.fzf_layout = { window = { width = 0.9, height = 0.6 } }
|
vim.g.fzf_layout = { window = { width = 0.9, height = 0.6 } }
|
||||||
|
|
||||||
|
|
@ -25,16 +25,16 @@ vim.g.fzf_layout = { window = { width = 0.9, height = 0.6 } }
|
||||||
vim.cmd([[ hi NormalFloat ctermbg=none ]])
|
vim.cmd([[ hi NormalFloat ctermbg=none ]])
|
||||||
|
|
||||||
-- Switch tab length on the fly
|
-- Switch tab length on the fly
|
||||||
vim.keymap.set("n", "\\t", function()
|
vim.keymap.set('n', '\\t', function()
|
||||||
vim.o.tabstop = vim.o.tabstop == 2 and 4 or 2
|
vim.o.tabstop = vim.o.tabstop == 2 and 4 or 2
|
||||||
end, { silent = true, desc = "toggle tabstop"})
|
end, { silent = true, desc = 'toggle tabstop' })
|
||||||
|
|
||||||
-- autocmd
|
-- autocmd
|
||||||
----------------------------------------
|
----------------------------------------
|
||||||
local undopath = "~/.local/share/nvim/undo"
|
local undopath = '~/.local/share/nvim/undo'
|
||||||
vim.api.nvim_create_autocmd("VimEnter", {
|
vim.api.nvim_create_autocmd('VimEnter', {
|
||||||
command = "silent !mkdir -p " .. undopath,
|
command = 'silent !mkdir -p ' .. undopath,
|
||||||
group = vim.api.nvim_create_augroup("Init", {}),
|
group = vim.api.nvim_create_augroup('Init', {}),
|
||||||
})
|
})
|
||||||
|
|
||||||
-- Configure Neovim diagnostic messages
|
-- Configure Neovim diagnostic messages
|
||||||
|
|
|
||||||
|
|
@ -3,11 +3,11 @@ if vim.g.did_load_aerial_plugin then
|
||||||
end
|
end
|
||||||
vim.g.did_load_aerial_plugin = true
|
vim.g.did_load_aerial_plugin = true
|
||||||
|
|
||||||
require("aerial").setup({
|
require('aerial').setup {
|
||||||
default_direction = "left",
|
default_direction = 'left',
|
||||||
autojump = true,
|
autojump = true,
|
||||||
on_attach = function(bufnr)
|
on_attach = function(bufnr)
|
||||||
vim.keymap.set("n", "{", "<cmd>AerialPrev<CR>", { buffer = bufnr })
|
vim.keymap.set('n', '{', '<cmd>AerialPrev<CR>', { buffer = bufnr })
|
||||||
vim.keymap.set("n", "}", "<cmd>AerialNext<CR>", { buffer = bufnr })
|
vim.keymap.set('n', '}', '<cmd>AerialNext<CR>', { buffer = bufnr })
|
||||||
end,
|
end,
|
||||||
})
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,17 +3,17 @@ if vim.g.did_load_colors_plugin then
|
||||||
end
|
end
|
||||||
vim.g.did_load_colors_plugin = true
|
vim.g.did_load_colors_plugin = true
|
||||||
|
|
||||||
require("rose-pine").setup({
|
require('rose-pine').setup {
|
||||||
variant = "moon",
|
variant = 'moon',
|
||||||
styles = {
|
styles = {
|
||||||
bold = false,
|
bold = false,
|
||||||
italic = false,
|
italic = false,
|
||||||
transparency = true,
|
transparency = true,
|
||||||
},
|
|
||||||
})
|
|
||||||
require('nightfox').setup({
|
|
||||||
options = {
|
|
||||||
transparent = true, -- Disable setting background
|
|
||||||
terminal_colors = false, -- Set terminal colors (vim.g.terminal_color_*) used in `:terminal`
|
|
||||||
},
|
},
|
||||||
})
|
}
|
||||||
|
require('nightfox').setup {
|
||||||
|
options = {
|
||||||
|
transparent = true, -- Disable setting background
|
||||||
|
terminal_colors = false, -- Set terminal colors (vim.g.terminal_color_*) used in `:terminal`
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,9 +2,9 @@ if vim.g.did_load_completion_plugin then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
vim.g.did_load_completion_plugin = true
|
vim.g.did_load_completion_plugin = true
|
||||||
local cmp = require'cmp'
|
local cmp = require('cmp')
|
||||||
|
|
||||||
cmp.setup({
|
cmp.setup {
|
||||||
snippet = {
|
snippet = {
|
||||||
expand = function(args)
|
expand = function(args)
|
||||||
require('luasnip').lsp_expand(args.body)
|
require('luasnip').lsp_expand(args.body)
|
||||||
|
|
@ -14,34 +14,34 @@ cmp.setup({
|
||||||
native_menu = false,
|
native_menu = false,
|
||||||
ghost_text = true,
|
ghost_text = true,
|
||||||
},
|
},
|
||||||
mapping = cmp.mapping.preset.insert({
|
mapping = cmp.mapping.preset.insert {
|
||||||
['<C-j>'] = cmp.mapping.scroll_docs(-4),
|
['<C-j>'] = cmp.mapping.scroll_docs(-4),
|
||||||
['<C-k>'] = cmp.mapping.scroll_docs(4),
|
['<C-k>'] = cmp.mapping.scroll_docs(4),
|
||||||
['<C-Space>'] = cmp.mapping.complete(),
|
['<C-Space>'] = cmp.mapping.complete(),
|
||||||
['q'] = cmp.mapping.abort(),
|
['q'] = cmp.mapping.abort(),
|
||||||
['<C-Space>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
|
['<C-Space>'] = cmp.mapping.confirm { select = true }, -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
|
||||||
}),
|
},
|
||||||
sources = cmp.config.sources({
|
sources = cmp.config.sources({
|
||||||
{ name = 'nvim_lsp' },
|
{ name = 'nvim_lsp' },
|
||||||
{ name = 'luasnip' },
|
{ name = 'luasnip' },
|
||||||
}, {
|
}, {
|
||||||
{ name = 'buffer' },
|
{ name = 'buffer' },
|
||||||
})
|
}),
|
||||||
})
|
}
|
||||||
|
|
||||||
cmp.setup.cmdline({ '/', '?' }, {
|
cmp.setup.cmdline({ '/', '?' }, {
|
||||||
mapping = cmp.mapping.preset.cmdline(),
|
mapping = cmp.mapping.preset.cmdline(),
|
||||||
sources = {
|
sources = {
|
||||||
{ name = 'buffer' }
|
{ name = 'buffer' },
|
||||||
}
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
cmp.setup.cmdline(':', {
|
cmp.setup.cmdline(':', {
|
||||||
mapping = cmp.mapping.preset.cmdline(),
|
mapping = cmp.mapping.preset.cmdline(),
|
||||||
sources = cmp.config.sources({
|
sources = cmp.config.sources({
|
||||||
{ name = 'path' }
|
{ name = 'path' },
|
||||||
}, {
|
}, {
|
||||||
{ name = 'cmdline' }
|
{ name = 'cmdline' },
|
||||||
}),
|
}),
|
||||||
matching = { disallow_symbol_nonprefix_matching = false }
|
matching = { disallow_symbol_nonprefix_matching = false },
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -3,5 +3,5 @@ if vim.g.did_load_diffview_plugin then
|
||||||
end
|
end
|
||||||
vim.g.did_load_diffview_plugin = true
|
vim.g.did_load_diffview_plugin = true
|
||||||
|
|
||||||
require("diffview").setup({ use_icons = false, })
|
require('diffview').setup { use_icons = false }
|
||||||
vim.keymap.set('n', '<leader>gdd', vim.cmd.DiffviewOpen, { desc = '[g]it [d]iffview open' })
|
vim.keymap.set('n', '<leader>gdd', vim.cmd.DiffviewOpen, { desc = '[g]it [d]iffview open' })
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,6 @@ if vim.g.did_load_diffview_plugin then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
vim.g.did_load_diffview_plugin = true
|
vim.g.did_load_diffview_plugin = true
|
||||||
require("diffview").setup({
|
require('diffview').setup {
|
||||||
use_icons = false,
|
use_icons = false,
|
||||||
})
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,27 +4,39 @@ end
|
||||||
vim.g.did_load_gitsigns_plugin = true
|
vim.g.did_load_gitsigns_plugin = true
|
||||||
|
|
||||||
vim.schedule(function()
|
vim.schedule(function()
|
||||||
require('gitsigns').setup{
|
require('gitsigns').setup {
|
||||||
signcolumn = false,
|
signcolumn = false,
|
||||||
numhl = true,
|
numhl = true,
|
||||||
on_attach = function()
|
on_attach = function()
|
||||||
local gs = package.loaded.gitsigns
|
local gs = package.loaded.gitsigns
|
||||||
vim.keymap.set("n", "<leader>gg", gs.preview_hunk, {desc = "git preview hunk"})
|
vim.keymap.set('n', '<leader>gg', gs.preview_hunk, { desc = 'git preview hunk' })
|
||||||
vim.keymap.set('n', '<leader>gb', function() gs.blame_line{full=true} end, {desc = "git blame_line"})
|
vim.keymap.set('n', '<leader>gb', function()
|
||||||
vim.keymap.set('n', '<leader>gr', gs.reset_hunk, {desc = "git reset hunk"})
|
gs.blame_line { full = true }
|
||||||
vim.keymap.set('v', '<leader>gr', function() gs.reset_hunk {vim.fn.line('.'), vim.fn.line('v')} end, {desc = "git reset hunk"})
|
end, { desc = 'git blame_line' })
|
||||||
-- Navigation
|
vim.keymap.set('n', '<leader>gr', gs.reset_hunk, { desc = 'git reset hunk' })
|
||||||
vim.keymap.set('n', ']g', function()
|
vim.keymap.set('v', '<leader>gr', function()
|
||||||
if vim.wo.diff then return ']c' end
|
gs.reset_hunk { vim.fn.line('.'), vim.fn.line('v') }
|
||||||
vim.schedule(function() gs.next_hunk() end)
|
end, { desc = 'git reset hunk' })
|
||||||
return '<Ignore>'
|
-- Navigation
|
||||||
end, {expr=true})
|
vim.keymap.set('n', ']g', function()
|
||||||
|
if vim.wo.diff then
|
||||||
|
return ']c'
|
||||||
|
end
|
||||||
|
vim.schedule(function()
|
||||||
|
gs.next_hunk()
|
||||||
|
end)
|
||||||
|
return '<Ignore>'
|
||||||
|
end, { expr = true })
|
||||||
|
|
||||||
vim.keymap.set('n', '[g', function()
|
vim.keymap.set('n', '[g', function()
|
||||||
if vim.wo.diff then return '[c' end
|
if vim.wo.diff then
|
||||||
vim.schedule(function() gs.prev_hunk() end)
|
return '[c'
|
||||||
return '<Ignore>'
|
end
|
||||||
end, {expr=true})
|
vim.schedule(function()
|
||||||
end
|
gs.prev_hunk()
|
||||||
|
end)
|
||||||
|
return '<Ignore>'
|
||||||
|
end, { expr = true })
|
||||||
|
end,
|
||||||
}
|
}
|
||||||
end)
|
end)
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
vim.keymap.set("n","gr", "gT", {noremap = true, silent = true})
|
vim.keymap.set('n', 'gr', 'gT', { noremap = true, silent = true })
|
||||||
vim.keymap.set("n","n", "nzz", {noremap = true, silent = true})
|
vim.keymap.set('n', 'n', 'nzz', { noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "N", "Nzz", {noremap = true, silent = true})
|
vim.keymap.set('n', 'N', 'Nzz', { noremap = true, silent = true })
|
||||||
vim.keymap.set('n', '<C-d>', '<C-d>zz')
|
vim.keymap.set('n', '<C-d>', '<C-d>zz')
|
||||||
vim.keymap.set('n', '<C-u>', '<C-u>zz')
|
vim.keymap.set('n', '<C-u>', '<C-u>zz')
|
||||||
vim.keymap.set('n', '<C-f>', '<C-f>zz')
|
vim.keymap.set('n', '<C-f>', '<C-f>zz')
|
||||||
vim.keymap.set('n', '<C-b>', '<C-b>zz')
|
vim.keymap.set('n', '<C-b>', '<C-b>zz')
|
||||||
vim.keymap.set("n","<CR>", "m0i<cr><Esc>`0", {noremap = true, silent = true})
|
vim.keymap.set('n', '<CR>', 'm0i<cr><Esc>`0', { noremap = true, silent = true })
|
||||||
vim.keymap.set({'v', 'i'}, 'wq', '<esc>l', {noremap = true, silent = true})
|
vim.keymap.set({ 'v', 'i' }, 'wq', '<esc>l', { noremap = true, silent = true })
|
||||||
vim.keymap.set({'n', 'v', 'i'}, 'qwq', '<esc>l<cmd>wqa<CR>', {noremap = true, silent = true})
|
vim.keymap.set({ 'n', 'v', 'i' }, 'qwq', '<esc>l<cmd>wqa<CR>', { noremap = true, silent = true })
|
||||||
vim.keymap.set({'n', 'v'}, '<leader>yy', '"+y', {noremap = true, silent = true, desc = "Yank to clip"})
|
vim.keymap.set({ 'n', 'v' }, '<leader>yy', '"+y', { noremap = true, silent = true, desc = 'Yank to clip' })
|
||||||
vim.keymap.set({'n', 'v'}, '<leader>yp', '"+p', {noremap = true, silent = true, desc = "Paste from clip"})
|
vim.keymap.set({ 'n', 'v' }, '<leader>yp', '"+p', { noremap = true, silent = true, desc = 'Paste from clip' })
|
||||||
vim.keymap.set({'n', 'v'}, '<leader>yd', '"+d', {noremap = true, silent = true, desc = "Delete to clip"})
|
vim.keymap.set({ 'n', 'v' }, '<leader>yd', '"+d', { noremap = true, silent = true, desc = 'Delete to clip' })
|
||||||
|
|
|
||||||
|
|
@ -7,59 +7,99 @@ vim.g.did_load_lsp_plugin = true
|
||||||
local lspconfig = require('lspconfig')
|
local lspconfig = require('lspconfig')
|
||||||
local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
||||||
|
|
||||||
lspconfig.gopls.setup { on_attach = function(_, bufnr)
|
lspconfig.gopls.setup {
|
||||||
|
on_attach = function(_, bufnr)
|
||||||
capabilities = capabilities
|
capabilities = capabilities
|
||||||
vim.api.nvim_command("au BufWritePre <buffer> lua vim.lsp.buf.format { async = false }")
|
vim.api.nvim_command('au BufWritePre <buffer> lua vim.lsp.buf.format { async = false }')
|
||||||
end
|
end,
|
||||||
}
|
}
|
||||||
lspconfig.pyright.setup { capabilities = capabilities }
|
lspconfig.pyright.setup { capabilities = capabilities }
|
||||||
lspconfig.nil_ls.setup { capabilities = capabilities }
|
lspconfig.nil_ls.setup { capabilities = capabilities }
|
||||||
|
|
||||||
vim.keymap.set('n', '<leader>de', vim.diagnostic.open_float, {desc = "Toggle diagnostic"})
|
vim.keymap.set('n', '<leader>de', vim.diagnostic.open_float, { desc = 'Toggle diagnostic' })
|
||||||
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, {desc = "Prev diagnostic"})
|
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, { desc = 'Prev diagnostic' })
|
||||||
vim.keymap.set('n', ']d', vim.diagnostic.goto_next, {desc = "Next diagnostic"})
|
vim.keymap.set('n', ']d', vim.diagnostic.goto_next, { desc = 'Next diagnostic' })
|
||||||
|
|
||||||
vim.diagnostic.config({
|
vim.diagnostic.config {
|
||||||
virtual_text = true,
|
virtual_text = true,
|
||||||
underline = true,
|
underline = true,
|
||||||
update_in_insert = false,
|
update_in_insert = false,
|
||||||
})
|
}
|
||||||
-- Use LspAttach autocommand to only map the following keys
|
-- Use LspAttach autocommand to only map the following keys
|
||||||
-- after the language server attaches to the current buffer
|
-- after the language server attaches to the current buffer
|
||||||
vim.api.nvim_create_autocmd('LspAttach', {
|
vim.api.nvim_create_autocmd('LspAttach', {
|
||||||
group = vim.api.nvim_create_augroup('UserLspConfig', {}),
|
group = vim.api.nvim_create_augroup('UserLspConfig', {}),
|
||||||
callback = function(ev)
|
callback = function(ev)
|
||||||
local bufnr = ev.buf
|
local bufnr = ev.buf
|
||||||
local client = vim.lsp.get_client_by_id(ev.data.client_id)
|
local client = vim.lsp.get_client_by_id(ev.data.client_id)
|
||||||
-- Buffer local mappings.
|
-- Buffer local mappings.
|
||||||
-- See `:help vim.lsp.*` for documentation on any of the below functions
|
-- See `:help vim.lsp.*` for documentation on any of the below functions
|
||||||
vim.keymap.set('n', 'K', vim.lsp.buf.hover, { buffer = ev.buf, noremap = true, silent = true , desc = "LSP hover"})
|
vim.keymap.set('n', 'K', vim.lsp.buf.hover, { buffer = ev.buf, noremap = true, silent = true, desc = 'LSP hover' })
|
||||||
vim.keymap.set('n', '<leader>rn', vim.lsp.buf.rename, { buffer = ev.buf, noremap = true, silent = true , desc = "LSP Rename"})
|
vim.keymap.set(
|
||||||
vim.keymap.set({ 'n', 'v' }, '<leader>da', vim.lsp.buf.code_action, { buffer = ev.buf, noremap = true, silent = true , desc = "LSP code action"})
|
'n',
|
||||||
vim.keymap.set("n", "<leader>dd", "<cmd>Telescope lsp_definitions<cr>", { buffer = ev.buf, noremap = true, silent = true , desc = "LSP definitions"})
|
'<leader>rn',
|
||||||
vim.keymap.set("n", "<leader>di", "<cmd>Telescope lsp_implementations<cr>", { buffer = ev.buf, noremap = true, silent = true , desc = "LSP implementations"})
|
vim.lsp.buf.rename,
|
||||||
vim.keymap.set("n", "<leader>dr", "<cmd>Telescope lsp_references<cr>", { buffer = ev.buf, noremap = true, silent = true , desc = "LSP references"})
|
{ buffer = ev.buf, noremap = true, silent = true, desc = 'LSP Rename' }
|
||||||
vim.keymap.set("n", "<leader>dt", "<cmd>Telescope lsp_type_definitions<cr>", { buffer = ev.buf, noremap = true, silent = true , desc = "LSP type defs"})
|
)
|
||||||
vim.keymap.set("n", "<leader>ds", "<cmd>Telescope lsp_document_symbols<cr>", { buffer = ev.buf, noremap = true, silent = true , desc = "LSP symbols"})
|
vim.keymap.set(
|
||||||
vim.keymap.set('n', '<leader>dl', vim.lsp.codelens.run, { buffer = ev.buf, noremap = true, silent = true , desc = "LSP codelens"})
|
{ 'n', 'v' },
|
||||||
vim.keymap.set('n', '<space>df', function()
|
'<leader>da',
|
||||||
vim.lsp.buf.format { async = true }
|
vim.lsp.buf.code_action,
|
||||||
end,{ buffer = ev.buf, noremap = true, silent = true , desc = "LSP format"})
|
{ buffer = ev.buf, noremap = true, silent = true, desc = 'LSP code action' }
|
||||||
-- Auto-refresh code lenses
|
)
|
||||||
if not client then
|
vim.keymap.set(
|
||||||
return
|
'n',
|
||||||
end
|
'<leader>dd',
|
||||||
local group = vim.api.nvim_create_augroup(string.format('lsp-%s-%s', bufnr, client.id), {})
|
'<cmd>Telescope lsp_definitions<cr>',
|
||||||
if client.server_capabilities.codeLensProvider then
|
{ buffer = ev.buf, noremap = true, silent = true, desc = 'LSP definitions' }
|
||||||
vim.api.nvim_create_autocmd({ 'InsertLeave', 'BufWritePost', 'TextChanged' }, {
|
)
|
||||||
group = group,
|
vim.keymap.set(
|
||||||
callback = function()
|
'n',
|
||||||
vim.lsp.codelens.refresh { bufnr = bufnr }
|
'<leader>di',
|
||||||
end,
|
'<cmd>Telescope lsp_implementations<cr>',
|
||||||
buffer = bufnr,
|
{ buffer = ev.buf, noremap = true, silent = true, desc = 'LSP implementations' }
|
||||||
})
|
)
|
||||||
|
vim.keymap.set(
|
||||||
|
'n',
|
||||||
|
'<leader>dr',
|
||||||
|
'<cmd>Telescope lsp_references<cr>',
|
||||||
|
{ buffer = ev.buf, noremap = true, silent = true, desc = 'LSP references' }
|
||||||
|
)
|
||||||
|
vim.keymap.set(
|
||||||
|
'n',
|
||||||
|
'<leader>dt',
|
||||||
|
'<cmd>Telescope lsp_type_definitions<cr>',
|
||||||
|
{ buffer = ev.buf, noremap = true, silent = true, desc = 'LSP type defs' }
|
||||||
|
)
|
||||||
|
vim.keymap.set(
|
||||||
|
'n',
|
||||||
|
'<leader>ds',
|
||||||
|
'<cmd>Telescope lsp_document_symbols<cr>',
|
||||||
|
{ buffer = ev.buf, noremap = true, silent = true, desc = 'LSP symbols' }
|
||||||
|
)
|
||||||
|
vim.keymap.set(
|
||||||
|
'n',
|
||||||
|
'<leader>dl',
|
||||||
|
vim.lsp.codelens.run,
|
||||||
|
{ buffer = ev.buf, noremap = true, silent = true, desc = 'LSP codelens' }
|
||||||
|
)
|
||||||
|
vim.keymap.set('n', '<space>df', function()
|
||||||
|
vim.lsp.buf.format { async = true }
|
||||||
|
end, { buffer = ev.buf, noremap = true, silent = true, desc = 'LSP format' })
|
||||||
|
-- Auto-refresh code lenses
|
||||||
|
if not client then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
local group = vim.api.nvim_create_augroup(string.format('lsp-%s-%s', bufnr, client.id), {})
|
||||||
|
if client.server_capabilities.codeLensProvider then
|
||||||
|
vim.api.nvim_create_autocmd({ 'InsertLeave', 'BufWritePost', 'TextChanged' }, {
|
||||||
|
group = group,
|
||||||
|
callback = function()
|
||||||
vim.lsp.codelens.refresh { bufnr = bufnr }
|
vim.lsp.codelens.refresh { bufnr = bufnr }
|
||||||
end
|
end,
|
||||||
end,
|
buffer = bufnr,
|
||||||
|
})
|
||||||
|
vim.lsp.codelens.refresh { bufnr = bufnr }
|
||||||
|
end
|
||||||
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,35 +3,35 @@ if vim.g.did_load_luasnip_plugin then
|
||||||
end
|
end
|
||||||
vim.g.did_load_luasnip_plugin = true
|
vim.g.did_load_luasnip_plugin = true
|
||||||
|
|
||||||
local ls = require("luasnip")
|
local ls = require('luasnip')
|
||||||
ls.config.set_config {
|
ls.config.set_config {
|
||||||
history = true,
|
history = true,
|
||||||
updateevents = "TextChanged, TextChangedI",
|
updateevents = 'TextChanged, TextChangedI',
|
||||||
}
|
}
|
||||||
require("luasnip.loaders.from_vscode").lazy_load()
|
require('luasnip.loaders.from_vscode').lazy_load()
|
||||||
|
|
||||||
vim.keymap.set({"i", "s"}, "<C-K>", function()
|
vim.keymap.set({ 'i', 's' }, '<C-K>', function()
|
||||||
if ls.expand_or_jumpable() then
|
if ls.expand_or_jumpable() then
|
||||||
ls.expand_or_jump()
|
ls.expand_or_jump()
|
||||||
end
|
end
|
||||||
end, {silent = true})
|
end, { silent = true })
|
||||||
|
|
||||||
vim.keymap.set({"i", "s"}, "<C-J>", function()
|
vim.keymap.set({ 'i', 's' }, '<C-J>', function()
|
||||||
if ls.jumpable(-1) then
|
if ls.jumpable(-1) then
|
||||||
ls.jump(-1)
|
ls.jump(-1)
|
||||||
end
|
end
|
||||||
end, {silent = true})
|
end, { silent = true })
|
||||||
|
|
||||||
vim.keymap.set({"i", "s"}, "<C-L>", function()
|
vim.keymap.set({ 'i', 's' }, '<C-L>', function()
|
||||||
if ls.choice_active() then
|
if ls.choice_active() then
|
||||||
ls.change_choice(1)
|
ls.change_choice(1)
|
||||||
end
|
end
|
||||||
end, {silent = true})
|
end, { silent = true })
|
||||||
|
|
||||||
--------------------
|
--------------------
|
||||||
-- Snippets --
|
-- Snippets --
|
||||||
--------------------
|
--------------------
|
||||||
local fmta = require("luasnip.extras.fmt").fmta
|
local fmta = require('luasnip.extras.fmt').fmta
|
||||||
ls.add_snippets("go", {
|
ls.add_snippets('go', {
|
||||||
ls.snippet("ie", fmta("if err != nil {\n\treturn <err>\n}", { err = ls.insert_node(1, "err") })),
|
ls.snippet('ie', fmta('if err != nil {\n\treturn <err>\n}', { err = ls.insert_node(1, 'err') })),
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -21,11 +21,9 @@ require('mini.surround').setup()
|
||||||
|
|
||||||
-- :Trim
|
-- :Trim
|
||||||
require('mini.trailspace').setup()
|
require('mini.trailspace').setup()
|
||||||
vim.api.nvim_create_user_command('Trim',
|
vim.api.nvim_create_user_command('Trim', function()
|
||||||
function()
|
require('mini.trailspace').trim()
|
||||||
require("mini.trailspace").trim()
|
end, {})
|
||||||
end, {}
|
|
||||||
)
|
|
||||||
|
|
||||||
-- prefix \
|
-- prefix \
|
||||||
-- `b` - |'background'|.
|
-- `b` - |'background'|.
|
||||||
|
|
@ -39,31 +37,31 @@ vim.api.nvim_create_user_command('Trim',
|
||||||
-- `r` - |'relativenumber'|.
|
-- `r` - |'relativenumber'|.
|
||||||
-- `s` - |'spell'|.
|
-- `s` - |'spell'|.
|
||||||
-- `w` - |'wrap'|.
|
-- `w` - |'wrap'|.
|
||||||
require('mini.basics').setup({
|
require('mini.basics').setup {
|
||||||
mappings = {
|
mappings = {
|
||||||
windows = true
|
windows = true,
|
||||||
}
|
},
|
||||||
})
|
}
|
||||||
|
|
||||||
-- gS
|
-- gS
|
||||||
require('mini.splitjoin').setup({
|
require('mini.splitjoin').setup {
|
||||||
detect = {
|
detect = {
|
||||||
separator = '[,;\n]'
|
separator = '[,;\n]',
|
||||||
}
|
},
|
||||||
})
|
}
|
||||||
|
|
||||||
require('mini.pairs').setup()
|
require('mini.pairs').setup()
|
||||||
vim.cmd([[ hi MiniCursorwordCurrent ctermfg=240 ]])
|
vim.cmd([[ hi MiniCursorwordCurrent ctermfg=240 ]])
|
||||||
|
|
||||||
-- f F t T
|
-- f F t T
|
||||||
require('mini.jump').setup()
|
require('mini.jump').setup()
|
||||||
require('mini.jump2d').setup({
|
require('mini.jump2d').setup {
|
||||||
mappings = { start_jumping = '<leader>s' }
|
mappings = { start_jumping = '<leader>s' },
|
||||||
})
|
}
|
||||||
|
|
||||||
indent = require('mini.indentscope')
|
indent = require('mini.indentscope')
|
||||||
indent.setup({
|
indent.setup {
|
||||||
options = { try_as_border = false },
|
options = { try_as_border = false },
|
||||||
draw = { delay = 0 }
|
draw = { delay = 0 },
|
||||||
})
|
}
|
||||||
indent.gen_animation.none()
|
indent.gen_animation.none()
|
||||||
|
|
|
||||||
|
|
@ -6,15 +6,15 @@ vim.g.did_load_plugins_plugin = true
|
||||||
-- many plugins annoyingly require a call to a 'setup' function to be loaded,
|
-- many plugins annoyingly require a call to a 'setup' function to be loaded,
|
||||||
-- even with default configs
|
-- even with default configs
|
||||||
|
|
||||||
require("neogen").setup{}
|
require('neogen').setup {}
|
||||||
vim.keymap.set("n","<leader>nd", "<cmd>Neogen<CR>", {noremap = true, silent = true, desc = "Neogen - gen comments"})
|
vim.keymap.set('n', '<leader>nd', '<cmd>Neogen<CR>', { noremap = true, silent = true, desc = 'Neogen - gen comments' })
|
||||||
|
|
||||||
require("toggleterm").setup{
|
require('toggleterm').setup {
|
||||||
open_mapping = [[<C-\>]],
|
open_mapping = [[<C-\>]],
|
||||||
direction = "float",
|
direction = 'float',
|
||||||
close_on_exit = true,
|
close_on_exit = true,
|
||||||
}
|
}
|
||||||
|
|
||||||
require('which-key').setup {
|
require('which-key').setup {
|
||||||
preset = 'helix'
|
preset = 'helix',
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,4 +12,4 @@ neogit.setup {
|
||||||
fzf_lua = true,
|
fzf_lua = true,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
vim.keymap.set('n', '<leader>ng', neogit.open, { noremap = true, silent = true, desc = "Neogit"})
|
vim.keymap.set('n', '<leader>ng', neogit.open, { noremap = true, silent = true, desc = 'Neogit' })
|
||||||
|
|
|
||||||
|
|
@ -4,20 +4,20 @@ end
|
||||||
vim.g.did_load_oil_plugin = true
|
vim.g.did_load_oil_plugin = true
|
||||||
|
|
||||||
local oil = require('oil')
|
local oil = require('oil')
|
||||||
oil.setup({
|
oil.setup {
|
||||||
watch_for_changes = true,
|
watch_for_changes = true,
|
||||||
columns = {
|
columns = {
|
||||||
"permissions",
|
'permissions',
|
||||||
"size"
|
'size',
|
||||||
},
|
},
|
||||||
view_options = {
|
view_options = {
|
||||||
show_hidden = true
|
show_hidden = true,
|
||||||
},
|
},
|
||||||
keymaps = {
|
keymaps = {
|
||||||
["wq"] = "actions.close"
|
['wq'] = 'actions.close',
|
||||||
}
|
},
|
||||||
})
|
}
|
||||||
vim.keymap.set("n", "<leader>c", oil.toggle_float, {noremap = true, silent = true});
|
vim.keymap.set('n', '<leader>c', oil.toggle_float, { noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "<leader>u", "<cmd>UndotreeToggle<cr>")
|
vim.keymap.set('n', '<leader>u', '<cmd>UndotreeToggle<cr>')
|
||||||
vim.g.undotree_ShortIndicators = 1
|
vim.g.undotree_ShortIndicators = 1
|
||||||
vim.g.undotree_SetFocusWhenToggle = 1
|
vim.g.undotree_SetFocusWhenToggle = 1
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,6 @@ if vim.g.did_load_diffview_plugin then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
vim.g.did_load_diffview_plugin = true
|
vim.g.did_load_diffview_plugin = true
|
||||||
require("diffview").setup({
|
require('diffview').setup {
|
||||||
use_icons = false,
|
use_icons = false,
|
||||||
})
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ if vim.g.did_load_telescope_plugin then
|
||||||
end
|
end
|
||||||
vim.g.did_load_telescope_plugin = true
|
vim.g.did_load_telescope_plugin = true
|
||||||
|
|
||||||
local telescope = require("telescope.builtin")
|
local telescope = require('telescope.builtin')
|
||||||
|
|
||||||
-- Fall back to find_files if not in a git repo
|
-- Fall back to find_files if not in a git repo
|
||||||
local project_files = function()
|
local project_files = function()
|
||||||
|
|
@ -14,49 +14,69 @@ local project_files = function()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader><leader>", telescope.buffers, {noremap = true, silent = true, desc = "Fuzzy find buffers"})
|
vim.keymap.set(
|
||||||
vim.keymap.set("n", "<leader>ff", project_files, {noremap = true, silent = true, desc = "Fuzzy find git files"})
|
'n',
|
||||||
vim.keymap.set("n", "<leader>fg", telescope.find_files, {noremap = true, silent = true, desc = "Fuzzy find files"})
|
'<leader><leader>',
|
||||||
vim.keymap.set("n", "<leader>fc", telescope.command_history, {noremap = true, silent = true, desc = "Fuzzy find command_history"})
|
telescope.buffers,
|
||||||
vim.keymap.set("n", "<leader>fa", telescope.live_grep, {noremap = true, silent = true, desc = "Fuzzy find grep"})
|
{ noremap = true, silent = true, desc = 'Fuzzy find buffers' }
|
||||||
vim.keymap.set("n", "<leader>f8", telescope.grep_string, {noremap = true, silent = true, desc = "Fuzzy find grep current word"})
|
)
|
||||||
vim.keymap.set("n", "<leader>fs", telescope.treesitter, {noremap = true, silent = true, desc = "Fuzzy find treesitter objects"})
|
vim.keymap.set('n', '<leader>ff', project_files, { noremap = true, silent = true, desc = 'Fuzzy find git files' })
|
||||||
vim.keymap.set("n", "<leader>fq", telescope.quickfix, {noremap = true, silent = true, desc = "Fuzzy find quickfix"})
|
vim.keymap.set('n', '<leader>fg', telescope.find_files, { noremap = true, silent = true, desc = 'Fuzzy find files' })
|
||||||
vim.keymap.set("n", "<leader>f<BS>", telescope.resume, {noremap = true, silent = true, desc = "Fuzzy find resume"})
|
vim.keymap.set(
|
||||||
|
'n',
|
||||||
|
'<leader>fc',
|
||||||
|
telescope.command_history,
|
||||||
|
{ noremap = true, silent = true, desc = 'Fuzzy find command_history' }
|
||||||
|
)
|
||||||
|
vim.keymap.set('n', '<leader>fa', telescope.live_grep, { noremap = true, silent = true, desc = 'Fuzzy find grep' })
|
||||||
|
vim.keymap.set(
|
||||||
|
'n',
|
||||||
|
'<leader>f8',
|
||||||
|
telescope.grep_string,
|
||||||
|
{ noremap = true, silent = true, desc = 'Fuzzy find grep current word' }
|
||||||
|
)
|
||||||
|
vim.keymap.set(
|
||||||
|
'n',
|
||||||
|
'<leader>fs',
|
||||||
|
telescope.treesitter,
|
||||||
|
{ noremap = true, silent = true, desc = 'Fuzzy find treesitter objects' }
|
||||||
|
)
|
||||||
|
vim.keymap.set('n', '<leader>fq', telescope.quickfix, { noremap = true, silent = true, desc = 'Fuzzy find quickfix' })
|
||||||
|
vim.keymap.set('n', '<leader>f<BS>', telescope.resume, { noremap = true, silent = true, desc = 'Fuzzy find resume' })
|
||||||
|
|
||||||
local telescope = require("telescope")
|
local telescope = require('telescope')
|
||||||
telescope.setup({
|
telescope.setup {
|
||||||
defaults = {
|
defaults = {
|
||||||
layout_strategy = "vertical",
|
layout_strategy = 'vertical',
|
||||||
layout_config = { width = .90, },
|
layout_config = { width = 0.90 },
|
||||||
prompt_title = false,
|
prompt_title = false,
|
||||||
results_title = false,
|
results_title = false,
|
||||||
preview_title = false,
|
preview_title = false,
|
||||||
vimgrep_arguments = {
|
vimgrep_arguments = {
|
||||||
"rg",
|
'rg',
|
||||||
'-L',
|
'-L',
|
||||||
"--color=never",
|
'--color=never',
|
||||||
"--no-heading",
|
'--no-heading',
|
||||||
"--hidden",
|
'--hidden',
|
||||||
"--with-filename",
|
'--with-filename',
|
||||||
"--line-number",
|
'--line-number',
|
||||||
"--column",
|
'--column',
|
||||||
"--smart-case"
|
'--smart-case',
|
||||||
},
|
|
||||||
preview = {
|
|
||||||
treesitter = true,
|
|
||||||
},
|
|
||||||
path_display = {
|
|
||||||
'truncate',
|
|
||||||
},
|
|
||||||
mappings = {
|
|
||||||
i = {
|
|
||||||
["wq"] = require("telescope.actions").close,
|
|
||||||
["<Esc>"] = require("telescope.actions").close,
|
|
||||||
["<C-k>"] = require("telescope.actions").move_selection_previous,
|
|
||||||
["<C-j>"] = require("telescope.actions").move_selection_next,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
})
|
preview = {
|
||||||
telescope.load_extension("fzf")
|
treesitter = true,
|
||||||
|
},
|
||||||
|
path_display = {
|
||||||
|
'truncate',
|
||||||
|
},
|
||||||
|
mappings = {
|
||||||
|
i = {
|
||||||
|
['wq'] = require('telescope.actions').close,
|
||||||
|
['<Esc>'] = require('telescope.actions').close,
|
||||||
|
['<C-k>'] = require('telescope.actions').move_selection_previous,
|
||||||
|
['<C-j>'] = require('telescope.actions').move_selection_next,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
telescope.load_extension('fzf')
|
||||||
|
|
|
||||||
|
|
@ -3,61 +3,62 @@ if vim.g.did_load_treesitter_plugin then
|
||||||
end
|
end
|
||||||
vim.g.did_load_treesitter_plugin = true
|
vim.g.did_load_treesitter_plugin = true
|
||||||
|
|
||||||
require("nvim-treesitter.configs").setup {
|
require('nvim-treesitter.configs').setup {
|
||||||
ensure_installed = {},
|
ensure_installed = {},
|
||||||
highlight = {
|
highlight = {
|
||||||
|
enable = true,
|
||||||
|
disable = function(_, buf)
|
||||||
|
local max_filesize = 100 * 1024 -- 100 KiB
|
||||||
|
local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
|
||||||
|
if ok and stats and stats.size > max_filesize then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
indent = {
|
||||||
|
enable = true,
|
||||||
|
},
|
||||||
|
textobjects = {
|
||||||
|
select = {
|
||||||
enable = true,
|
enable = true,
|
||||||
disable = function(_, buf)
|
lookahead = true,
|
||||||
local max_filesize = 100 * 1024 -- 100 KiB
|
keymaps = {
|
||||||
local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
|
['af'] = '@function.outer',
|
||||||
if ok and stats and stats.size > max_filesize then
|
['if'] = '@function.inner',
|
||||||
return true
|
['aa'] = '@statement.outer',
|
||||||
end
|
['ia'] = '@parameter.inner',
|
||||||
end,
|
},
|
||||||
},
|
},
|
||||||
indent = {
|
move = {
|
||||||
enable = true,
|
enable = true,
|
||||||
|
set_jumps = true, -- whether to set jumps in the jumplist
|
||||||
|
goto_next_start = {
|
||||||
|
[']]'] = '@function.outer',
|
||||||
|
[']a'] = '@parameter.inner',
|
||||||
|
},
|
||||||
|
goto_previous_start = {
|
||||||
|
['[['] = '@function.outer',
|
||||||
|
['[a'] = '@parameter.inner',
|
||||||
|
},
|
||||||
},
|
},
|
||||||
textobjects = {
|
swap = {
|
||||||
select = {
|
enable = true,
|
||||||
enable = true,
|
swap_next = {
|
||||||
lookahead = true,
|
['s]'] = '@parameter.inner',
|
||||||
keymaps = {
|
},
|
||||||
["af"] = "@function.outer",
|
swap_previous = {
|
||||||
["if"] = "@function.inner",
|
['s['] = '@parameter.inner',
|
||||||
["aa"] = "@statement.outer",
|
},
|
||||||
["ia"] = "@parameter.inner",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
move = {
|
|
||||||
enable = true,
|
|
||||||
set_jumps = true, -- whether to set jumps in the jumplist
|
|
||||||
goto_next_start = {
|
|
||||||
[']]'] = '@function.outer',
|
|
||||||
[']a'] = '@parameter.inner',
|
|
||||||
},
|
|
||||||
goto_previous_start = {
|
|
||||||
['[['] = '@function.outer',
|
|
||||||
['[a'] = '@parameter.inner',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
swap = {
|
|
||||||
enable = true,
|
|
||||||
swap_next = {
|
|
||||||
["s]"] = "@parameter.inner",
|
|
||||||
},
|
|
||||||
swap_previous = {
|
|
||||||
["s["] = "@parameter.inner",
|
|
||||||
},
|
|
||||||
}, },
|
|
||||||
incremental_selection = {
|
|
||||||
enable = true,
|
|
||||||
keymaps = {
|
|
||||||
init_selection = '<CR>',
|
|
||||||
node_incremental = '<TAB>',
|
|
||||||
node_decremental = '<S-TAB>',
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
|
},
|
||||||
|
incremental_selection = {
|
||||||
|
enable = true,
|
||||||
|
keymaps = {
|
||||||
|
init_selection = '<CR>',
|
||||||
|
node_incremental = '<TAB>',
|
||||||
|
node_decremental = '<S-TAB>',
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
require('treesitter-context').setup {
|
require('treesitter-context').setup {
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
require('which-key').setup {
|
require('which-key').setup {
|
||||||
preset = 'helix'
|
preset = 'helix',
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue