mirror of
https://github.com/iofq/nvim.nix.git
synced 2026-01-23 08:55:16 -06:00
refactor(flake): tidy up inputs attrset
This commit is contained in:
parent
7e87ede672
commit
4dfe6c4c33
9 changed files with 263 additions and 295 deletions
54
flake.lock
generated
54
flake.lock
generated
|
|
@ -96,11 +96,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1738453229,
|
"lastModified": 1741352980,
|
||||||
"narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=",
|
"narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd",
|
"rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -183,11 +183,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741379162,
|
"lastModified": 1742649964,
|
||||||
"narHash": "sha256-srpAbmJapkaqGRE3ytf3bj4XshspVR5964OX5LfjDWc=",
|
"narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=",
|
||||||
"owner": "cachix",
|
"owner": "cachix",
|
||||||
"repo": "git-hooks.nix",
|
"repo": "git-hooks.nix",
|
||||||
"rev": "b5a62751225b2f62ff3147d0a334055ebadcd5cc",
|
"rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -249,11 +249,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1739595404,
|
"lastModified": 1742014779,
|
||||||
"narHash": "sha256-0CjCfbq0yHWexOrpO06e2WU1r5JAqR6ffy1zgM3NksI=",
|
"narHash": "sha256-I6fG1zrfdLFcp/imGZElig0BJO3YU0QEXLgvwWoOpJ8=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "hercules-ci-effects",
|
"repo": "hercules-ci-effects",
|
||||||
"rev": "06519cec8fb32d219006da6eacd255504a9996af",
|
"rev": "524637ef84c177661690b924bf64a1ce18072a2c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -289,11 +289,11 @@
|
||||||
"treefmt-nix": "treefmt-nix"
|
"treefmt-nix": "treefmt-nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741738202,
|
"lastModified": 1743293377,
|
||||||
"narHash": "sha256-S98JgCHJJFBI9XFXPdn/ATjux6JfrjLN7jGHEGvxsYM=",
|
"narHash": "sha256-DqvBHtTslU0E+XMW6xM4SY3UD3+nHAAIXHag0zukrpc=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "neovim-nightly-overlay",
|
"repo": "neovim-nightly-overlay",
|
||||||
"rev": "6e291160fc740378dc846f9bb402653c4e50a313",
|
"rev": "3f10166b5b818227b9d7728f97e67e11cdf27ffd",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -305,11 +305,11 @@
|
||||||
"neovim-src": {
|
"neovim-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741737177,
|
"lastModified": 1743289921,
|
||||||
"narHash": "sha256-MxPM5FawrHrUywZXAHJ4+0+Wj4dITHDMHKf4aIwC9zk=",
|
"narHash": "sha256-0gsBH+wMZJaXb95GKP6OZmtyhlJh0lS/gsn6J8rxt6k=",
|
||||||
"owner": "neovim",
|
"owner": "neovim",
|
||||||
"repo": "neovim",
|
"repo": "neovim",
|
||||||
"rev": "092529ebbf6fe566399aa47c274d708b8dea5334",
|
"rev": "99529577cc9f5229cbb3dac8ab4782bd43094102",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -320,11 +320,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741678040,
|
"lastModified": 1743076231,
|
||||||
"narHash": "sha256-rmBsz7BBcDwfvDkxnKHmolKceGJrr0nyz5PQYZg0kMk=",
|
"narHash": "sha256-yQugdVfi316qUfqzN8JMaA2vixl+45GxNm4oUfXlbgw=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "3ee8818da146871cd570b164fc4f438f78479a50",
|
"rev": "6c5963357f3c1c840201eda129a99d455074db04",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -348,11 +348,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-master": {
|
"nixpkgs-master": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741842650,
|
"lastModified": 1743392618,
|
||||||
"narHash": "sha256-gyA3ngXZroBeWdrVsM+bL63hQMUheYCrC+V78TEgBeU=",
|
"narHash": "sha256-lc4l0nV5WgnS4wuZrX7Na2tRBEpe2IzWmLnhm3+t3Tk=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "b1f2198021490b51fb92b8b09db97b9ba2a7b4ce",
|
"rev": "cd6f6791e94d08b983fe6d127ec6942176737f6a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -380,11 +380,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741513245,
|
"lastModified": 1743315132,
|
||||||
"narHash": "sha256-7rTAMNTY1xoBwz0h7ZMtEcd8LELk9R5TzBPoHuhNSCk=",
|
"narHash": "sha256-6hl6L/tRnwubHcA4pfUUtk542wn2Om+D4UnDhlDW9BE=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "e3e32b642a31e6714ec1b712de8c91a3352ce7e1",
|
"rev": "52faf482a3889b7619003c0daec593a1912fddc1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -426,11 +426,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1739829690,
|
"lastModified": 1743081648,
|
||||||
"narHash": "sha256-mL1szCeIsjh6Khn3nH2cYtwO5YXG6gBiTw1A30iGeDU=",
|
"narHash": "sha256-WRAylyYptt6OX5eCEBWyTwOEqEtD6zt33rlUkr6u3cE=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "treefmt-nix",
|
"repo": "treefmt-nix",
|
||||||
"rev": "3d0579f5cc93436052d94b73925b48973a104204",
|
"rev": "29a3d7b768c70addce17af0869f6e2bd8f5be4b7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
||||||
17
flake.nix
17
flake.nix
|
|
@ -10,13 +10,17 @@
|
||||||
url = "github:mrcjkb/nix-gen-luarc-json";
|
url = "github:mrcjkb/nix-gen-luarc-json";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
# Add bleeding-edge plugins here.
|
||||||
|
# They can be updated with `nix flake update` (make sure to commit the generated flake.lock)
|
||||||
|
# wf-nvim = {
|
||||||
|
# url = "github:Cassin01/wf.nvim";
|
||||||
|
# flake = false;
|
||||||
|
# };
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs @ {
|
outputs = inputs @ {
|
||||||
self,
|
self,
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
flake-utils,
|
flake-utils,
|
||||||
gen-luarc,
|
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
systems = builtins.attrNames nixpkgs.legacyPackages;
|
systems = builtins.attrNames nixpkgs.legacyPackages;
|
||||||
|
|
@ -27,10 +31,14 @@
|
||||||
flake-utils.lib.eachSystem systems (system: let
|
flake-utils.lib.eachSystem systems (system: let
|
||||||
pkgs = import nixpkgs {
|
pkgs = import nixpkgs {
|
||||||
inherit system;
|
inherit system;
|
||||||
|
config.allowUnfree = true;
|
||||||
overlays = [
|
overlays = [
|
||||||
inputs.neovim-nightly-overlay.overlays.default
|
# inputs.neovim-nightly-overlay.overlays.default
|
||||||
gen-luarc.overlays.default
|
|
||||||
neovim-overlay
|
neovim-overlay
|
||||||
|
# This adds a function can be used to generate a .luarc.json
|
||||||
|
# containing the Neovim API all plugins in the workspace directory.
|
||||||
|
# The generated file can be symlinked in the devShell's shellHook.
|
||||||
|
inputs.gen-luarc.overlays.default
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
shell = pkgs.mkShell {
|
shell = pkgs.mkShell {
|
||||||
|
|
@ -43,6 +51,7 @@
|
||||||
nvim-dev
|
nvim-dev
|
||||||
];
|
];
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
|
# symlink the .luarc.json generated in the overlay
|
||||||
ln -fs ${pkgs.nvim-luarc-json} .luarc.json
|
ln -fs ${pkgs.nvim-luarc-json} .luarc.json
|
||||||
# allow quick iteration of lua configs
|
# allow quick iteration of lua configs
|
||||||
ln -Tfns $PWD/nvim ~/.config/nvim-dev
|
ln -Tfns $PWD/nvim ~/.config/nvim-dev
|
||||||
|
|
|
||||||
|
|
@ -13,17 +13,15 @@ with final.pkgs.lib; let
|
||||||
|
|
||||||
all-plugins = with pkgs.vimPlugins; [
|
all-plugins = with pkgs.vimPlugins; [
|
||||||
blink-cmp
|
blink-cmp
|
||||||
|
blink-copilot
|
||||||
blink-ripgrep-nvim
|
blink-ripgrep-nvim
|
||||||
codecompanion-nvim
|
codecompanion-nvim
|
||||||
conform-nvim
|
conform-nvim
|
||||||
copilot-lua
|
copilot-lua
|
||||||
diffview-nvim
|
diffview-nvim
|
||||||
eyeliner-nvim
|
eyeliner-nvim
|
||||||
friendly-snippets
|
|
||||||
gitsigns-nvim
|
gitsigns-nvim
|
||||||
hunk-nvim
|
|
||||||
lazy-nvim
|
lazy-nvim
|
||||||
luasnip
|
|
||||||
mini-nvim
|
mini-nvim
|
||||||
neogit
|
neogit
|
||||||
nightfox-nvim
|
nightfox-nvim
|
||||||
|
|
@ -60,7 +58,6 @@ with final.pkgs.lib; let
|
||||||
nil
|
nil
|
||||||
phpactor
|
phpactor
|
||||||
python312Packages.jedi-language-server
|
python312Packages.jedi-language-server
|
||||||
ruby-lsp
|
|
||||||
|
|
||||||
#other
|
#other
|
||||||
jujutsu
|
jujutsu
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,7 @@ 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.opt.winborder = 'single'
|
||||||
|
|
||||||
-- Switch tab length on the fly
|
-- Switch tab length on the fly
|
||||||
vim.keymap.set('n', '\\t', function()
|
vim.keymap.set('n', '\\t', function()
|
||||||
|
|
@ -43,56 +44,26 @@ vim.api.nvim_create_autocmd('BufWinEnter', {
|
||||||
})
|
})
|
||||||
|
|
||||||
-- Configure Neovim diagnostic messages
|
-- Configure Neovim diagnostic messages
|
||||||
local function prefix_diagnostic(prefix, diagnostic)
|
|
||||||
return string.format(prefix .. ' %s', diagnostic.message)
|
|
||||||
end
|
|
||||||
vim.diagnostic.config {
|
vim.diagnostic.config {
|
||||||
virtual_text = {
|
virtual_text = {
|
||||||
prefix = '',
|
current_line = true,
|
||||||
format = function(diagnostic)
|
|
||||||
local severity = diagnostic.severity
|
|
||||||
if severity == vim.diagnostic.severity.ERROR then
|
|
||||||
return prefix_diagnostic('', diagnostic)
|
|
||||||
end
|
|
||||||
if severity == vim.diagnostic.severity.WARN then
|
|
||||||
return prefix_diagnostic('⚠', diagnostic)
|
|
||||||
end
|
|
||||||
if severity == vim.diagnostic.severity.INFO then
|
|
||||||
return prefix_diagnostic('ⓘ', diagnostic)
|
|
||||||
end
|
|
||||||
if severity == vim.diagnostic.severity.HINT then
|
|
||||||
return prefix_diagnostic('', diagnostic)
|
|
||||||
end
|
|
||||||
return prefix_diagnostic('■', diagnostic)
|
|
||||||
end,
|
|
||||||
},
|
},
|
||||||
update_in_insert = false,
|
|
||||||
underline = true,
|
underline = true,
|
||||||
severity_sort = true,
|
severity_sort = true,
|
||||||
float = {
|
float = {
|
||||||
focusable = false,
|
focusable = false,
|
||||||
style = 'minimal',
|
style = 'minimal',
|
||||||
border = 'rounded',
|
|
||||||
source = 'if_many',
|
source = 'if_many',
|
||||||
header = '',
|
|
||||||
prefix = '',
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
-- random keymaps
|
-- random keymaps
|
||||||
vim.keymap.set('n', 'gq', vim.cmd.bdelete, { noremap = true, silent = true })
|
vim.keymap.set({ 'v', 'i', }, 'wq', '<esc>l', { noremap = true, silent = true })
|
||||||
vim.keymap.set('n', 'gQ', '<cmd>%bd|e#<CR>', { noremap = true, silent = true })
|
|
||||||
vim.keymap.set('n', '<S-l>', vim.cmd.bnext, { noremap = true, silent = true })
|
vim.keymap.set('n', '<S-l>', vim.cmd.bnext, { noremap = true, silent = true })
|
||||||
vim.keymap.set('n', '<S-h>', vim.cmd.bprev, { noremap = true, silent = true })
|
vim.keymap.set('n', '<S-h>', vim.cmd.bprev, { noremap = true, silent = true })
|
||||||
vim.keymap.set({ 'v', 'i' }, 'wq', '<esc>l', { noremap = true, silent = true })
|
|
||||||
vim.keymap.set('v', "<", "<gv")
|
vim.keymap.set('v', "<", "<gv")
|
||||||
vim.keymap.set('v', ">", ">gv")
|
vim.keymap.set('v', ">", ">gv")
|
||||||
|
|
||||||
-- clipboard
|
|
||||||
vim.keymap.set({ 'n', 'v', 'x' }, '<leader>y', '"+y', { noremap = true, silent = true })
|
|
||||||
vim.keymap.set('n', '<leader>yy', '"+yy', { noremap = true, silent = true })
|
|
||||||
vim.keymap.set({ 'n', 'v', 'x' }, '<leader>p', '"+p', { noremap = true, silent = true })
|
|
||||||
|
|
||||||
-- resize splits if window got resized
|
-- resize splits if window got resized
|
||||||
vim.api.nvim_create_autocmd({ "VimResized" }, {
|
vim.api.nvim_create_autocmd({ "VimResized" }, {
|
||||||
group = vim.api.nvim_create_augroup("resize_splits", { clear = true }),
|
group = vim.api.nvim_create_augroup("resize_splits", { clear = true }),
|
||||||
|
|
|
||||||
|
|
@ -2,32 +2,19 @@ return {
|
||||||
{
|
{
|
||||||
"zbirenbaum/copilot.lua",
|
"zbirenbaum/copilot.lua",
|
||||||
cmd = "Copilot",
|
cmd = "Copilot",
|
||||||
keys = {
|
|
||||||
{
|
|
||||||
'M-\\',
|
|
||||||
'<cmd>Copilot panel<CR>',
|
|
||||||
noremap = true,
|
|
||||||
desc = 'Copilot panel'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
opts = {
|
opts = {
|
||||||
panel = {
|
panel = {
|
||||||
enabled = true,
|
enabled = true,
|
||||||
auto_refresh = true,
|
auto_refresh = false,
|
||||||
keymap = {
|
keymap = {
|
||||||
jump_prev = "<C-p>",
|
jump_prev = "<C-p>",
|
||||||
jump_next = "<C-n>",
|
jump_next = "<C-n>",
|
||||||
accept = "<C-y>",
|
accept = "<C-y>",
|
||||||
|
toggle = "<M-CR>"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
suggestion = {
|
suggestion = {
|
||||||
enabled = true,
|
enabled = false,
|
||||||
auto_trigger = true,
|
|
||||||
hide_during_completion = true,
|
|
||||||
keymap = {
|
|
||||||
accept = "<M-]>",
|
|
||||||
next = "<M-[>",
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
completion = {
|
completion = {
|
||||||
documentation = {
|
documentation = {
|
||||||
|
|
@ -52,10 +39,12 @@ return {
|
||||||
python = true,
|
python = true,
|
||||||
ruby = true,
|
ruby = true,
|
||||||
sh = true,
|
sh = true,
|
||||||
|
bash = true,
|
||||||
|
javascript = true,
|
||||||
puppet = true,
|
puppet = true,
|
||||||
yaml = true,
|
yaml = true,
|
||||||
markdown = true,
|
markdown = true,
|
||||||
["."] = false,
|
["*"] = false,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -1,29 +1,43 @@
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
'saghen/blink.cmp',
|
'saghen/blink.cmp',
|
||||||
event = "VeryLazy",
|
event = 'VeryLazy',
|
||||||
dependencies = {
|
dependencies = {
|
||||||
'rafamadriz/friendly-snippets',
|
'mikavilpas/blink-ripgrep.nvim',
|
||||||
'mikavilpas/blink-ripgrep.nvim'
|
'fang2hou/blink-copilot',
|
||||||
},
|
},
|
||||||
opts = {
|
opts = {
|
||||||
sources = {
|
sources = {
|
||||||
default = {
|
default = {
|
||||||
"lsp",
|
'lsp',
|
||||||
"path",
|
'path',
|
||||||
"snippets",
|
'omni',
|
||||||
"buffer",
|
'ripgrep',
|
||||||
"ripgrep",
|
'copilot',
|
||||||
},
|
},
|
||||||
providers = {
|
providers = {
|
||||||
ripgrep = {
|
ripgrep = {
|
||||||
module = "blink-ripgrep",
|
module = 'blink-ripgrep',
|
||||||
name = "rg",
|
name = 'rg',
|
||||||
score_offset = -10,
|
score_offset = -30,
|
||||||
async = true,
|
async = true,
|
||||||
},
|
},
|
||||||
|
copilot = {
|
||||||
|
module = 'blink-copilot',
|
||||||
|
name = 'Copilot',
|
||||||
|
score_offset = 100,
|
||||||
|
async = true,
|
||||||
|
opts = {
|
||||||
|
max_completions = 3,
|
||||||
|
debounce = 500,
|
||||||
|
auto_refresh = {
|
||||||
|
backward = false,
|
||||||
|
forward = true,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
cmdline = {
|
cmdline = {
|
||||||
completion = {
|
completion = {
|
||||||
menu = {
|
menu = {
|
||||||
|
|
@ -34,62 +48,22 @@ return {
|
||||||
completion = {
|
completion = {
|
||||||
documentation = {
|
documentation = {
|
||||||
auto_show = true,
|
auto_show = true,
|
||||||
auto_show_delay_ms = 100
|
auto_show_delay_ms = 500,
|
||||||
},
|
|
||||||
list = {
|
|
||||||
selection = {
|
|
||||||
preselect = false,
|
|
||||||
auto_insert = true,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
ghost_text = {
|
|
||||||
enabled = true,
|
|
||||||
},
|
},
|
||||||
menu = {
|
menu = {
|
||||||
draw = {
|
draw = {
|
||||||
treesitter = { "lsp" },
|
treesitter = { 'lsp' },
|
||||||
columns = {
|
columns = {
|
||||||
{ "label", "label_description", gap = 1 },
|
{ 'label', 'label_description', gap = 1 },
|
||||||
{ "source_name", "kind", gap = 1 }
|
{ 'source_name', 'kind', gap = 1 },
|
||||||
|
},
|
||||||
},
|
},
|
||||||
}
|
|
||||||
},
|
},
|
||||||
trigger = {
|
trigger = {
|
||||||
show_on_keyword = true,
|
show_on_keyword = true,
|
||||||
}
|
|
||||||
},
|
},
|
||||||
signature = { enabled = true }
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
signature = { enabled = true },
|
||||||
'L3MON4D3/luasnip',
|
},
|
||||||
event = 'VeryLazy',
|
|
||||||
dependencies = { 'rafamadriz/friendly-snippets' },
|
|
||||||
config = function()
|
|
||||||
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-J>', function()
|
|
||||||
if ls.expand_or_jumpable() then
|
|
||||||
ls.expand_or_jump()
|
|
||||||
end
|
|
||||||
end, { silent = true })
|
|
||||||
|
|
||||||
vim.keymap.set({ 'i', 's' }, '<C-K>', 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 })
|
|
||||||
end,
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,12 @@ return {
|
||||||
},
|
},
|
||||||
config = function()
|
config = function()
|
||||||
local lspconfig = require('lspconfig')
|
local lspconfig = require('lspconfig')
|
||||||
local capabilities = require("blink.cmp").get_lsp_capabilities()
|
local capabilities = vim.tbl_deep_extend(
|
||||||
|
'force',
|
||||||
|
{},
|
||||||
|
require("blink.cmp").get_lsp_capabilities(),
|
||||||
|
vim.lsp.protocol.make_client_capabilities()
|
||||||
|
)
|
||||||
lspconfig.gopls.setup {
|
lspconfig.gopls.setup {
|
||||||
capabilities = capabilities,
|
capabilities = capabilities,
|
||||||
settings = {
|
settings = {
|
||||||
|
|
@ -94,12 +99,6 @@ return {
|
||||||
if not client then
|
if not client then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
vim.keymap.set(
|
|
||||||
'n',
|
|
||||||
'K',
|
|
||||||
vim.lsp.buf.hover,
|
|
||||||
{ buffer = ev.buf, noremap = true, silent = true, desc = 'vim.lsp.buf.hover()' }
|
|
||||||
)
|
|
||||||
vim.keymap.set(
|
vim.keymap.set(
|
||||||
'n',
|
'n',
|
||||||
'grt',
|
'grt',
|
||||||
|
|
@ -112,6 +111,12 @@ return {
|
||||||
'<cmd>Trouble lsp_document_symbols toggle win.position=left <CR>',
|
'<cmd>Trouble lsp_document_symbols toggle win.position=left <CR>',
|
||||||
{ buffer = ev.buf, noremap = true, silent = true, desc = 'Trouble LSP symbols' }
|
{ buffer = ev.buf, noremap = true, silent = true, desc = 'Trouble LSP symbols' }
|
||||||
)
|
)
|
||||||
|
vim.keymap.set(
|
||||||
|
'n',
|
||||||
|
'grd',
|
||||||
|
'<cmd>Trouble lsp_definitions toggle win.position=left <CR>',
|
||||||
|
{ buffer = ev.buf, noremap = true, silent = true, desc = 'Trouble LSP definition' }
|
||||||
|
)
|
||||||
vim.keymap.set(
|
vim.keymap.set(
|
||||||
'n',
|
'n',
|
||||||
'grl',
|
'grl',
|
||||||
|
|
@ -138,6 +143,9 @@ return {
|
||||||
{
|
{
|
||||||
'stevearc/conform.nvim',
|
'stevearc/conform.nvim',
|
||||||
event = 'VeryLazy',
|
event = 'VeryLazy',
|
||||||
|
keys = {
|
||||||
|
{ "\\f", function() require("conform").format({}) end, mode = { "n", "x" } },
|
||||||
|
},
|
||||||
opts = {
|
opts = {
|
||||||
notify_no_formatters = false,
|
notify_no_formatters = false,
|
||||||
formatters_by_ft = {
|
formatters_by_ft = {
|
||||||
|
|
@ -145,7 +153,7 @@ return {
|
||||||
puppet = { "puppet-lint" },
|
puppet = { "puppet-lint" },
|
||||||
['*'] = { 'trim_whitespace' }
|
['*'] = { 'trim_whitespace' }
|
||||||
},
|
},
|
||||||
format_on_save = {
|
default_format_opts = {
|
||||||
timeout_ms = 500,
|
timeout_ms = 500,
|
||||||
lsp_format = "last",
|
lsp_format = "last",
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ return {
|
||||||
event = 'VeryLazy',
|
event = 'VeryLazy',
|
||||||
init = function()
|
init = function()
|
||||||
vim.api.nvim_set_hl(0, 'EyelinerPrimary', { underline = true })
|
vim.api.nvim_set_hl(0, 'EyelinerPrimary', { underline = true })
|
||||||
vim.api.nvim_set_hl(0, 'EyelinerSecondary', { underline = true })
|
vim.api.nvim_set_hl(0, 'EyelinerSecondary', { underline = true, bold = true })
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
{ 'tiagovla/scope.nvim', event = 'VeryLazy', config = true },
|
{ 'tiagovla/scope.nvim', event = 'VeryLazy', config = true },
|
||||||
|
|
@ -22,6 +22,12 @@ return {
|
||||||
default_args = {
|
default_args = {
|
||||||
DiffviewOpen = { '--imply-local' },
|
DiffviewOpen = { '--imply-local' },
|
||||||
},
|
},
|
||||||
|
view = {
|
||||||
|
merge_tool = {
|
||||||
|
layout = "diff4_mixed",
|
||||||
|
disable_diagnostics = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
keymaps = {
|
keymaps = {
|
||||||
view = {
|
view = {
|
||||||
{ { "n" }, "q", vim.cmd.DiffviewClose, { desc = "Close Diffview" } },
|
{ { "n" }, "q", vim.cmd.DiffviewClose, { desc = "Close Diffview" } },
|
||||||
|
|
@ -38,22 +44,22 @@ return {
|
||||||
{ '<leader>nb', vim.cmd.DiffviewOpen, noremap = true, desc = 'diffview open' }
|
{ '<leader>nb', vim.cmd.DiffviewOpen, noremap = true, desc = 'diffview open' }
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
-- {
|
{
|
||||||
-- 'NeogitOrg/neogit',
|
'NeogitOrg/neogit',
|
||||||
-- opts = {
|
opts = {
|
||||||
-- disable_builtin_notifications = true,
|
disable_builtin_notifications = true,
|
||||||
-- integrations = {
|
integrations = {
|
||||||
-- diffview = true,
|
diffview = true,
|
||||||
-- },
|
},
|
||||||
-- },
|
},
|
||||||
-- keys = {
|
keys = {
|
||||||
-- {
|
{
|
||||||
-- '<leader>ng',
|
'<leader>ng',
|
||||||
-- function() require('neogit').open() end,
|
function() require('neogit').open() end,
|
||||||
-- { noremap = true, silent = true, desc = 'Neogit' },
|
{ noremap = true, silent = true, desc = 'Neogit' },
|
||||||
-- },
|
},
|
||||||
-- },
|
},
|
||||||
-- },
|
},
|
||||||
{
|
{
|
||||||
'EdenEast/nightfox.nvim',
|
'EdenEast/nightfox.nvim',
|
||||||
lazy = false,
|
lazy = false,
|
||||||
|
|
@ -123,7 +129,6 @@ return {
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{ '/julienvincent/hunk.nvim', event = 'VeryLazy', opts = {} },
|
|
||||||
{
|
{
|
||||||
'gbprod/yanky.nvim',
|
'gbprod/yanky.nvim',
|
||||||
opts = {
|
opts = {
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ return {
|
||||||
priority = 1000,
|
priority = 1000,
|
||||||
opts = {
|
opts = {
|
||||||
bigfile = { enabled = true },
|
bigfile = { enabled = true },
|
||||||
|
bufdelete = { enabled = true },
|
||||||
dim = { enabled = true },
|
dim = { enabled = true },
|
||||||
quickfile = { enabled = true },
|
quickfile = { enabled = true },
|
||||||
notifier = { enabled = true },
|
notifier = { enabled = true },
|
||||||
|
|
@ -57,9 +58,23 @@ return {
|
||||||
end,
|
end,
|
||||||
keys = {
|
keys = {
|
||||||
{ '<C-\\>', function() Snacks.terminal.toggle() end, mode = { "n", "t" }, noremap = true, desc = 'terminal open' },
|
{ '<C-\\>', function() Snacks.terminal.toggle() end, mode = { "n", "t" }, noremap = true, desc = 'terminal open' },
|
||||||
{ '\\\\', function() Snacks.terminal.toggle('$SHELL') end, mode = { "n", "t" }, noremap = true, desc = 'terminal open' },
|
{ '<C-/>', function() Snacks.terminal.toggle('$SHELL') end, mode = { "n", "t" }, noremap = true, desc = 'terminal open' },
|
||||||
{ 'm', function() Snacks.words.jump(1, true) end, noremap = true, desc = 'next reference' },
|
{ 'm', function() Snacks.words.jump(1, true) end, noremap = true, desc = 'next reference' },
|
||||||
{ 'M', function() Snacks.words.jump(-1, true) end, noremap = true, desc = 'next reference' },
|
{ 'M', function() Snacks.words.jump(-1, true) end, noremap = true, desc = 'next reference' },
|
||||||
|
{
|
||||||
|
'\\z',
|
||||||
|
function()
|
||||||
|
if Snacks.dim.enabled then
|
||||||
|
Snacks.dim.disable()
|
||||||
|
else
|
||||||
|
Snacks.dim.enable()
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
noremap = true,
|
||||||
|
desc = 'next reference'
|
||||||
|
},
|
||||||
|
{ 'gq', function() Snacks.bufdelete() end, noremap = true, silent = true },
|
||||||
|
{ 'gQ', function() Snacks.bufdelete.other() end, noremap = true, silent = true },
|
||||||
{
|
{
|
||||||
'<leader>ff',
|
'<leader>ff',
|
||||||
function() Snacks.picker.smart() end,
|
function() Snacks.picker.smart() end,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue