mirror of
https://github.com/iofq/nvim.nix.git
synced 2026-01-23 08:55:16 -06:00
icmp and snip rice
This commit is contained in:
parent
62b7e838d9
commit
2a6ff7e85a
5 changed files with 126 additions and 27 deletions
|
|
@ -22,6 +22,9 @@ vim.keymap.set("n", "<leader>fg", telescope.git_files, {noremap = true, silent =
|
||||||
vim.keymap.set("n", "<leader>fc", telescope.command_history, {noremap = true, silent = true})
|
vim.keymap.set("n", "<leader>fc", telescope.command_history, {noremap = true, silent = true})
|
||||||
vim.keymap.set("n", "<leader>fa", telescope.live_grep, {noremap = true, silent = true})
|
vim.keymap.set("n", "<leader>fa", telescope.live_grep, {noremap = true, silent = true})
|
||||||
vim.keymap.set("n", "<leader>f8", telescope.grep_string, {noremap = true, silent = true})
|
vim.keymap.set("n", "<leader>f8", telescope.grep_string, {noremap = true, silent = true})
|
||||||
|
vim.keymap.set("n", "<leader>fs", telescope.treesitter, {noremap = true, silent = true})
|
||||||
|
vim.keymap.set("n", "<leader>fq", telescope.quickfix, {noremap = true, silent = true})
|
||||||
|
vim.keymap.set("n", "<leader>fq", telescope.quickfix, {noremap = true, silent = true})
|
||||||
vim.keymap.set("n", "<leader>f<BS>", telescope.resume, {noremap = true, silent = true})
|
vim.keymap.set("n", "<leader>f<BS>", telescope.resume, {noremap = true, silent = true})
|
||||||
|
|
||||||
local telescope = require("telescope")
|
local telescope = require("telescope")
|
||||||
|
|
@ -113,12 +116,14 @@ require("nvim-treesitter.configs").setup {
|
||||||
|
|
||||||
-- Setup language servers.
|
-- Setup language servers.
|
||||||
local lspconfig = require('lspconfig')
|
local lspconfig = require('lspconfig')
|
||||||
|
local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
||||||
lspconfig.gopls.setup { on_attach = function(_, bufnr)
|
lspconfig.gopls.setup { on_attach = function(_, bufnr)
|
||||||
|
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 {}
|
lspconfig.pyright.setup { capabilities = capabilities }
|
||||||
lspconfig.nil_ls.setup {}
|
lspconfig.nil_ls.setup { capabilities = capabilities }
|
||||||
|
|
||||||
-- Global mappings.
|
-- Global mappings.
|
||||||
-- See `:help vim.diagnostic.*` for documentation on any of the below functions
|
-- See `:help vim.diagnostic.*` for documentation on any of the below functions
|
||||||
|
|
@ -149,6 +154,8 @@ vim.api.nvim_create_autocmd('LspAttach', {
|
||||||
vim.keymap.set("n", "<leader>dr", "<cmd>Telescope lsp_references<cr>", { buffer = bufnr })
|
vim.keymap.set("n", "<leader>dr", "<cmd>Telescope lsp_references<cr>", { buffer = bufnr })
|
||||||
vim.keymap.set("n", "<leader>dt", "<cmd>Telescope lsp_type_definitions<cr>", { buffer = bufnr })
|
vim.keymap.set("n", "<leader>dt", "<cmd>Telescope lsp_type_definitions<cr>", { buffer = bufnr })
|
||||||
vim.keymap.set("n", "<leader>ds", "<cmd>Telescope lsp_document_symbols<cr>", { buffer = bufnr })
|
vim.keymap.set("n", "<leader>ds", "<cmd>Telescope lsp_document_symbols<cr>", { buffer = bufnr })
|
||||||
|
vim.keymap.set('n', '<leader>dl', vim.lsp.codelens.run)
|
||||||
|
vim.keymap.set('n', '<leader>dg', vim.diagnostic.setqflist)
|
||||||
vim.keymap.set('n', '<space>df', function()
|
vim.keymap.set('n', '<space>df', function()
|
||||||
vim.lsp.buf.format { async = true }
|
vim.lsp.buf.format { async = true }
|
||||||
end, opts)
|
end, opts)
|
||||||
|
|
@ -239,6 +246,87 @@ require("rose-pine").setup({
|
||||||
})
|
})
|
||||||
vim.cmd.colorscheme "rose-pine-main"
|
vim.cmd.colorscheme "rose-pine-main"
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
-- Neogen
|
||||||
|
--------------------
|
||||||
|
require("neogen").setup{}
|
||||||
|
vim.keymap.set("n","<leader>nd", "<cmd>Neogen<CR>", {noremap = true, silent = true})
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
---Completion
|
||||||
|
--------------------
|
||||||
|
local cmp = require'cmp'
|
||||||
|
|
||||||
|
cmp.setup({
|
||||||
|
snippet = {
|
||||||
|
expand = function(args)
|
||||||
|
require('luasnip').lsp_expand(args.body)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
mapping = cmp.mapping.preset.insert({
|
||||||
|
['<C-j>'] = cmp.mapping.scroll_docs(-4),
|
||||||
|
['<C-k>'] = cmp.mapping.scroll_docs(4),
|
||||||
|
['<C-Space>'] = cmp.mapping.complete(),
|
||||||
|
['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.
|
||||||
|
}),
|
||||||
|
sources = cmp.config.sources({
|
||||||
|
{ name = 'nvim_lsp' },
|
||||||
|
{ name = 'luasnip' },
|
||||||
|
}, {
|
||||||
|
{ name = 'buffer' },
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
cmp.setup.cmdline({ '/', '?' }, {
|
||||||
|
mapping = cmp.mapping.preset.cmdline(),
|
||||||
|
sources = {
|
||||||
|
{ name = 'buffer' }
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
cmp.setup.cmdline(':', {
|
||||||
|
mapping = cmp.mapping.preset.cmdline(),
|
||||||
|
sources = cmp.config.sources({
|
||||||
|
{ name = 'path' }
|
||||||
|
}, {
|
||||||
|
{ name = 'cmdline' }
|
||||||
|
}),
|
||||||
|
matching = { disallow_symbol_nonprefix_matching = false }
|
||||||
|
})
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
-- Luasnip
|
||||||
|
--------------------
|
||||||
|
local ls = require("luasnip")
|
||||||
|
ls.config.set_config {
|
||||||
|
history = true,
|
||||||
|
updateevents = "TextChanged, TextChangedI",
|
||||||
|
}
|
||||||
|
require("luasnip.loaders.from_vscode").lazy_load()
|
||||||
|
|
||||||
|
vim.keymap.set({"i", "s"}, "<C-K>", function()
|
||||||
|
if ls.expand_or_jumpable() then
|
||||||
|
ls.expand_or_jump()
|
||||||
|
end
|
||||||
|
end, {silent = true})
|
||||||
|
|
||||||
|
vim.keymap.set({"i", "s"}, "<C-J>", function()
|
||||||
|
if ls.jumpable(-1) then
|
||||||
|
ls.jump(-1)
|
||||||
|
end
|
||||||
|
end, {silent = true})
|
||||||
|
|
||||||
|
vim.keymap.set({"i", "s"}, "<C-L>", function()
|
||||||
|
if ls.choice_active() then
|
||||||
|
ls.change_choice(1)
|
||||||
|
end
|
||||||
|
end, {silent = true})
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
-- Snippets
|
||||||
|
--------------------
|
||||||
|
require("snippets")
|
||||||
--------------------
|
--------------------
|
||||||
-- include our config last to override
|
-- include our config last to override
|
||||||
--------------------
|
--------------------
|
||||||
|
|
|
||||||
|
|
@ -53,9 +53,10 @@ require('mini.pairs').setup(
|
||||||
mappings = {
|
mappings = {
|
||||||
['['] = { action = 'open', pair = '[]', neigh_pattern = '[^\\].' },
|
['['] = { action = 'open', pair = '[]', neigh_pattern = '[^\\].' },
|
||||||
['{'] = { action = 'open', pair = '{}', neigh_pattern = '[^\\].' },
|
['{'] = { action = 'open', pair = '{}', neigh_pattern = '[^\\].' },
|
||||||
|
|
||||||
[']'] = { action = 'close', pair = '[]', neigh_pattern = '[^\\].' },
|
[']'] = { action = 'close', pair = '[]', neigh_pattern = '[^\\].' },
|
||||||
['}'] = { action = 'close', pair = '{}', neigh_pattern = '[^\\].' },
|
['}'] = { action = 'close', pair = '{}', neigh_pattern = '[^\\].' },
|
||||||
|
['"'] = { },
|
||||||
|
['\''] = { },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
@ -75,15 +76,15 @@ indent.setup({
|
||||||
indent.gen_animation.none()
|
indent.gen_animation.none()
|
||||||
|
|
||||||
-- <C-Space>
|
-- <C-Space>
|
||||||
require('mini.completion').setup({
|
-- require('mini.completion').setup({
|
||||||
delay = {completion = 10^7},
|
-- delay = {completion = 10^7},
|
||||||
window = {
|
-- window = {
|
||||||
info = { height = 25, width = 80, border = 'single' },
|
-- info = { height = 25, width = 80, border = 'single' },
|
||||||
signature = { height = 25, width = 80, border = 'single' },
|
-- signature = { height = 25, width = 80, border = 'single' },
|
||||||
},
|
-- },
|
||||||
lsp_completion = {
|
-- lsp_completion = {
|
||||||
source_func = 'completefunc',
|
-- source_func = 'completefunc',
|
||||||
auto_setup = true,
|
-- auto_setup = true,
|
||||||
},
|
-- },
|
||||||
fallback_action = "<C-x><C-n>"
|
-- fallback_action = "<C-x><C-n>"
|
||||||
})
|
-- })
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
-- vim settings ++ mini.nvim.basics
|
-- vim settings ++ mini.nvim.basics
|
||||||
----------------------------------------
|
----------------------------------------
|
||||||
vim.opt.backspace = "indent,eol,start"
|
vim.opt.backspace = "indent,eol,start"
|
||||||
vim.opt.clipboard = "unnamedplus" -- use system clipboard
|
|
||||||
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
|
||||||
|
|
@ -27,20 +26,18 @@ vim.g.indent_blankline_use_treesitter = true
|
||||||
|
|
||||||
-- no highlight floats
|
-- no highlight floats
|
||||||
vim.cmd([[ hi NormalFloat ctermbg=none ]])
|
vim.cmd([[ hi NormalFloat ctermbg=none ]])
|
||||||
|
|
||||||
-- mappings
|
-- mappings
|
||||||
----------------------------------------
|
----------------------------------------
|
||||||
|
|
||||||
local remap = function(type, key, value)
|
vim.keymap.set("n","gr", "gT", {noremap = true, silent = true})
|
||||||
vim.api.nvim_set_keymap(type,key,value,{noremap = true, silent = true});
|
vim.keymap.set("n","n", "nzz", {noremap = true, silent = true})
|
||||||
end
|
vim.keymap.set("n", "N", "Nzz", {noremap = true, silent = true})
|
||||||
|
vim.keymap.set("n","<CR>", "m0i<cr><Esc>`0", {noremap = true, silent = true})
|
||||||
remap("i", "wq", "<esc>l")
|
vim.keymap.set({'v', 'i'}, 'wq', '<esc>l', {noremap = true, silent = true})
|
||||||
remap("v", "wq", "<esc>l")
|
vim.keymap.set({'n', 'v', 'i'}, 'qwq', '<esc>l<cmd>wqa<CR>', {noremap = true, silent = true})
|
||||||
remap("n","gr", "gT")
|
vim.keymap.set({'n', 'v'}, '<leader>yy', '"+y', {noremap = true, silent = true})
|
||||||
remap("n","n", "nzz")
|
vim.keymap.set({'n', 'v'}, '<leader>yp', '"+p', {noremap = true, silent = true})
|
||||||
remap("n", "N", "Nzz")
|
vim.keymap.set({'n', 'v'}, '<leader>yd', '"+d', {noremap = true, silent = true})
|
||||||
remap("n","<CR>", "m0i<cr><Esc>`0")
|
|
||||||
|
|
||||||
-- Switch tab length on the fly
|
-- Switch tab length on the fly
|
||||||
vim.keymap.set("n", "\\t", function()
|
vim.keymap.set("n", "\\t", function()
|
||||||
|
|
|
||||||
3
config/lua/snippets.lua
Normal file
3
config/lua/snippets.lua
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
ls.add_snippets("go", {
|
||||||
|
s("ie", fmta("if err != nil {\n\treturn <err>\n}", { err = i(1, "err") })),
|
||||||
|
})
|
||||||
10
plugins.nix
10
plugins.nix
|
|
@ -1,10 +1,20 @@
|
||||||
{pkgs, ...}:
|
{pkgs, ...}:
|
||||||
{
|
{
|
||||||
base = with pkgs.vimPlugins; [
|
base = with pkgs.vimPlugins; [
|
||||||
|
cmp-buffer
|
||||||
|
cmp-cmdline
|
||||||
|
cmp-nvim-lsp
|
||||||
|
cmp-path
|
||||||
|
cmp-treesitter
|
||||||
|
cmp_luasnip
|
||||||
diffview-nvim
|
diffview-nvim
|
||||||
|
friendly-snippets
|
||||||
gitsigns-nvim
|
gitsigns-nvim
|
||||||
|
luasnip
|
||||||
mini-nvim
|
mini-nvim
|
||||||
|
neogen
|
||||||
neogit
|
neogit
|
||||||
|
nvim-cmp
|
||||||
nvim-lspconfig
|
nvim-lspconfig
|
||||||
nvim-treesitter-textobjects
|
nvim-treesitter-textobjects
|
||||||
(nvim-treesitter.withPlugins(p: with p; [
|
(nvim-treesitter.withPlugins(p: with p; [
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue