Add .config/nvim/colors/colibri-transparent.lua
Add .config/nvim/colors/colibri.lua Add .config/nvim/.luarc.json Add .config/nvim/init.lua Add .config/nvim/lazy-lock.json Add .config/nvim/lua/config/00_lazy.lua Add .config/nvim/lua/config/10_opts.lua Add .config/nvim/lua/config/20_keymaps.lua Add .config/nvim/lua/config/30_autocmds.lua Add .config/nvim/lua/config/40_statusline.lua Add .config/nvim/lua/plugin/00_treesitter.lua Add .config/nvim/lua/plugin/01_lsp.lua Add .config/nvim/lua/plugin/02_completion.lua Add .config/nvim/lua/plugin/03_tmux.lua Add .config/nvim/lua/plugin/04_fzflua.lua Add .config/nvim/lua/plugin/05_whichkey.lua Add .config/nvim/lua/plugin/06_leap.lua Add .config/nvim/lua/plugin/07_oil.lua Add .config/nvim/lua/plugin/09_gitsigns.lua Add .config/nvim/lua/plugin/10_conform.lua Add .config/nvim/lua/plugin/11_yanky.lua Add .config/nvim/lua/plugin/12_neoscroll.lua Add .config/nvim/lua/plugins/dankcolors.lua Add .config/nvim/snippets/global.json Add .config/nvim/snippets/lua.json Add .config/nvim/snippets/package.json Add .config/nvim/stylua.toml
This commit is contained in:
parent
7292ce5d4a
commit
5a77be0d38
27 changed files with 1151 additions and 0 deletions
15
private_dot_config/nvim/lua/plugin/00_treesitter.lua
Normal file
15
private_dot_config/nvim/lua/plugin/00_treesitter.lua
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
return {
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
branch = "master",
|
||||
lazy = false,
|
||||
build = ":TSUpdate",
|
||||
},
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter-context",
|
||||
dependencies = { "nvim-treesitter/nvim-treesitter" },
|
||||
config = function()
|
||||
require("treesitter-context").setup()
|
||||
end,
|
||||
},
|
||||
}
|
||||
49
private_dot_config/nvim/lua/plugin/01_lsp.lua
Normal file
49
private_dot_config/nvim/lua/plugin/01_lsp.lua
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
return {
|
||||
{
|
||||
"mason-org/mason-lspconfig.nvim",
|
||||
opts = {
|
||||
ensure_installed = {},
|
||||
},
|
||||
dependencies = {
|
||||
{
|
||||
"mason-org/mason.nvim",
|
||||
opts = {
|
||||
registries = {
|
||||
"github:mason-org/mason-registry",
|
||||
"github:Crashdummyy/mason-registry",
|
||||
},
|
||||
},
|
||||
},
|
||||
{ "neovim/nvim-lspconfig" },
|
||||
{
|
||||
"folke/lazydev.nvim",
|
||||
ft = "lua",
|
||||
opts = {
|
||||
library = {
|
||||
{ path = "${3rd}/luv/library", words = { "vim%.uv" } },
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"seblyng/roslyn.nvim",
|
||||
config = function()
|
||||
vim.lsp.config("roslyn", {
|
||||
on_attach = function()
|
||||
print("Roslyn attached.")
|
||||
end,
|
||||
settings = {
|
||||
["csharp|inlay_hints"] = {
|
||||
csharp_enable_inlay_hints_for_implicit_object_creation = true,
|
||||
csharp_enable_inlay_hints_for_implicit_variable_types = true,
|
||||
},
|
||||
["csharp|code_lens"] = {
|
||||
dotnet_enable_references_code_lens = true,
|
||||
},
|
||||
},
|
||||
})
|
||||
require("roslyn").setup()
|
||||
end,
|
||||
},
|
||||
}
|
||||
67
private_dot_config/nvim/lua/plugin/02_completion.lua
Normal file
67
private_dot_config/nvim/lua/plugin/02_completion.lua
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
return {
|
||||
{ "nvim-mini/mini.pairs", opts = {} },
|
||||
{
|
||||
"saghen/blink.cmp",
|
||||
dependencies = {
|
||||
"rafamadriz/friendly-snippets",
|
||||
"fang2hou/blink-copilot",
|
||||
},
|
||||
version = "1.*",
|
||||
opts = {
|
||||
keymap = { preset = "super-tab" },
|
||||
appearance = { nerd_font_variant = "mono" },
|
||||
completion = {
|
||||
documentation = { auto_show = true, auto_show_delay_ms = 0 },
|
||||
},
|
||||
sources = {
|
||||
default = { "lsp", "path", "snippets", "buffer", "copilot" },
|
||||
providers = {
|
||||
copilot = {
|
||||
name = "copilot",
|
||||
module = "blink-copilot",
|
||||
score_offset = 100,
|
||||
async = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
fuzzy = { implementation = "prefer_rust_with_warning" },
|
||||
cmdline = {
|
||||
keymap = { preset = "inherit" },
|
||||
completion = { menu = { auto_show = true } },
|
||||
},
|
||||
},
|
||||
opts_extend = { "sources.default" },
|
||||
},
|
||||
{
|
||||
"nvim-mini/mini.snippets",
|
||||
opts = function()
|
||||
local gen_loader = require("mini.snippets").gen_loader
|
||||
return {
|
||||
snippets = {
|
||||
gen_loader.from_file(
|
||||
vim.fn.stdpath("config") .. "/snippets/global.json"
|
||||
),
|
||||
gen_loader.from_lang(),
|
||||
},
|
||||
}
|
||||
end,
|
||||
},
|
||||
{
|
||||
"chrisgrieser/nvim-scissors",
|
||||
opts = { snippetDir = vim.fn.stdpath("config") .. "/snippets" },
|
||||
keys = {
|
||||
{
|
||||
"<leader>sa",
|
||||
"<cmd>ScissorsAddNewSnippet<CR>",
|
||||
mode = { "n", "x" },
|
||||
desc = "Save selection as snippet",
|
||||
},
|
||||
{
|
||||
"<leader>se",
|
||||
"<cmd>ScissorsEditSnippet<CR>",
|
||||
mode = { "n", "x" },
|
||||
desc = "Edit existing snippet",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
48
private_dot_config/nvim/lua/plugin/03_tmux.lua
Normal file
48
private_dot_config/nvim/lua/plugin/03_tmux.lua
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
return {
|
||||
{
|
||||
"aserowy/tmux.nvim",
|
||||
opts = {
|
||||
copy_sync = {
|
||||
enable = true,
|
||||
ignore_buffers = { empty = false },
|
||||
redirect_to_clipboard = false,
|
||||
register_offset = 0,
|
||||
sync_clipboard = false,
|
||||
sync_registers = true,
|
||||
sync_registers_keymap_put = true,
|
||||
sync_registers_keymap_reg = true,
|
||||
sync_deletes = true,
|
||||
sync_unnamed = true,
|
||||
},
|
||||
navigation = {
|
||||
cycle_navigation = true,
|
||||
enable_default_keybindings = false,
|
||||
persist_zoom = false,
|
||||
},
|
||||
resize = {
|
||||
enable_default_keybindings = false,
|
||||
resize_step_x = 5,
|
||||
resize_step_y = 3,
|
||||
},
|
||||
swap = {
|
||||
cycle_navigation = false,
|
||||
enable_default_kebindings = false,
|
||||
},
|
||||
},
|
||||
-- stylua: ignore
|
||||
keys = {
|
||||
{ "<M-Left>", function() require("tmux").move_left() end, },
|
||||
{ "<M-Right>", function() require("tmux").move_right() end, },
|
||||
{ "<M-Up>", function() require("tmux").move_top() end, },
|
||||
{ "<M-Down>", function() require("tmux").move_bottom() end, },
|
||||
{ "<M-C-Left>", function() require("tmux").resize_left() end, },
|
||||
{ "<M-C-Right>", function() require("tmux").resize_right() end, },
|
||||
{ "<M-C-Up>", function() require("tmux").resize_top() end, },
|
||||
{ "<M-C-Down>", function() require("tmux").resize_bottom() end, },
|
||||
{ "<M-S-Left>", function() require("tmux").swap_left() end, },
|
||||
{ "<M-S-Right>", function() require("tmux").swap_right() end, },
|
||||
{ "<M-S-Up>", function() require("tmux").swap_top() end, },
|
||||
{ "<M-S-Down>", function() require("tmux").swap_bottom() end, },
|
||||
},
|
||||
},
|
||||
}
|
||||
33
private_dot_config/nvim/lua/plugin/04_fzflua.lua
Normal file
33
private_dot_config/nvim/lua/plugin/04_fzflua.lua
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
return {
|
||||
{
|
||||
"ibhagwan/fzf-lua",
|
||||
dependencies = { { "nvim-mini/mini.icons" }, { "folke/trouble.nvim" } },
|
||||
opts = function(_, _)
|
||||
local config = require("fzf-lua.config")
|
||||
local actions = require("trouble.sources.fzf").actions
|
||||
config.defaults.actions.files["ctrl-t"] = actions.open
|
||||
return {
|
||||
winopts = {
|
||||
preview = {
|
||||
vertical = "down:65%",
|
||||
flip_columns = 120,
|
||||
},
|
||||
},
|
||||
files = { git_icons = true },
|
||||
}
|
||||
end,
|
||||
-- stylua: ignore
|
||||
keys = {
|
||||
{ '<leader>f"', "<cmd>FzfLua registers<CR>", mode = { "n" }, desc = "fzf registers" },
|
||||
{ "<leader>fb", "<cmd>FzfLua buffers<CR>", mode = { "n" }, desc = "fzf buffers" },
|
||||
{ "<leader>fc", "<cmd>FzfLua commands<CR>", mode = { "n" }, desc = "fzf commands" },
|
||||
{ "<leader>fe", "<cmd>FzfLua changes<CR>", mode = { "n" }, desc = "fzf edits" },
|
||||
{ "<leader>ff", "<cmd>FzfLua files<CR>", mode = { "n" }, desc = "fzf files" },
|
||||
{ "<leader>fg", "<cmd>FzfLua live_grep<CR>", mode = { "n" }, desc = "fzf grep" },
|
||||
{ "<leader>fh", "<cmd>FzfLua command_history<CR>", mode = { "n" }, desc = "fzf cmd history" },
|
||||
{ "<leader>fk", "<cmd>FzfLua keymaps<CR>", mode = { "n" }, desc = "fzf keymaps" },
|
||||
{ "<leader>fr", "<cmd>FzfLua oldfiles<CR>", mode = { "n" }, desc = "fzf oldfiles" },
|
||||
{ "<leader>fs", "<cmd>FzfLua<CR>", mode = { "n" }, desc = "fzf something else" },
|
||||
},
|
||||
},
|
||||
}
|
||||
34
private_dot_config/nvim/lua/plugin/05_whichkey.lua
Normal file
34
private_dot_config/nvim/lua/plugin/05_whichkey.lua
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
return {
|
||||
{
|
||||
"folke/which-key.nvim",
|
||||
event = "VeryLazy",
|
||||
dependencies = { "echasnovski/mini.icons" },
|
||||
opts = function()
|
||||
local i = require("mini.icons")
|
||||
|
||||
return {
|
||||
preset = "helix",
|
||||
delay = function(ctx)
|
||||
return ctx.plugin and 0 or 20
|
||||
end,
|
||||
-- stylua: ignore
|
||||
spec = {
|
||||
{ "<leader>f", group = "find" },
|
||||
{ "<leader>a", group = "ai" },
|
||||
{ "<leader>g", group = "git" },
|
||||
{ "<leader>c", group = "lsp actions", icon = i.get("lsp", "class") },
|
||||
{ "<leader>s", group = "snippets", icon = i.get("directory", "snippets") },
|
||||
},
|
||||
}
|
||||
end,
|
||||
keys = {
|
||||
{
|
||||
"<leader>?",
|
||||
function()
|
||||
require("which-key").show({ global = true })
|
||||
end,
|
||||
desc = "show local keymaps",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
45
private_dot_config/nvim/lua/plugin/06_leap.lua
Normal file
45
private_dot_config/nvim/lua/plugin/06_leap.lua
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
return {
|
||||
{
|
||||
"ggandor/leap.nvim",
|
||||
config = function()
|
||||
require("leap").opts.preview = function(ch0, ch1, ch2)
|
||||
return not (
|
||||
ch1:match("%s")
|
||||
or (ch0:match("%a") and ch1:match("%a") and ch2:match("%a"))
|
||||
)
|
||||
end
|
||||
|
||||
-- hop label at start of word, rather than the end
|
||||
require("leap").opts.on_beacons = function(targets, _, _)
|
||||
for _, t in ipairs(targets) do
|
||||
if t.label and t.beacon then
|
||||
t.beacon[1] = 0
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- gray out backdrop when selecting
|
||||
vim.api.nvim_set_hl(0, "LeapBackdrop", { link = "Comment" })
|
||||
|
||||
require("leap").opts.equivalence_classes = {
|
||||
" \t\r\n",
|
||||
"([{",
|
||||
")]}",
|
||||
"'\"`",
|
||||
}
|
||||
|
||||
vim.keymap.set({ "n", "x", "o" }, "s", function()
|
||||
require("leap").leap({ target_windows = vim.api.nvim_list_wins() })
|
||||
if vim.fn.mode() == "v" then
|
||||
vim.cmd("normal! iw")
|
||||
end
|
||||
end)
|
||||
|
||||
vim.keymap.set({ "n", "o" }, "gs", function()
|
||||
require("leap.remote").action({
|
||||
input = vim.fn.mode(true):match("o") and "" or "v",
|
||||
})
|
||||
end)
|
||||
end,
|
||||
},
|
||||
}
|
||||
35
private_dot_config/nvim/lua/plugin/07_oil.lua
Normal file
35
private_dot_config/nvim/lua/plugin/07_oil.lua
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
return {
|
||||
{
|
||||
"stevearc/oil.nvim",
|
||||
dependencies = { { "nvim-mini/mini.icons" } },
|
||||
opts = {
|
||||
use_default_keymaps = false,
|
||||
view_options = {
|
||||
show_hidden = true,
|
||||
},
|
||||
keymaps = {
|
||||
["g?"] = { "actions.show_help", mode = "n" },
|
||||
["<CR>"] = "actions.select",
|
||||
["<leader><leader>"] = "actions.preview",
|
||||
["-"] = { "actions.parent", mode = "n" },
|
||||
["="] = { "actions.open_cwd", mode = "n" },
|
||||
["+"] = { "actions.cd", mode = "n" },
|
||||
["<leader>;"] = { "actions.select", opts = { vertical = true } },
|
||||
["<leader>-"] = { "actions.select", opts = { horizontal = true } },
|
||||
["<leader>x"] = "actions.open_external",
|
||||
["g."] = { "actions.toggle_hidden", mode = "n" },
|
||||
},
|
||||
float = {
|
||||
padding = 2,
|
||||
max_width = 0,
|
||||
max_height = 0,
|
||||
border = nil,
|
||||
preview_split = "auto",
|
||||
},
|
||||
},
|
||||
lazy = false,
|
||||
keys = {
|
||||
{ "<leader>o", mode = "n", "<Cmd>Oil<CR>", desc = "oil" },
|
||||
},
|
||||
},
|
||||
}
|
||||
36
private_dot_config/nvim/lua/plugin/09_gitsigns.lua
Normal file
36
private_dot_config/nvim/lua/plugin/09_gitsigns.lua
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
return {
|
||||
{
|
||||
"lewis6991/gitsigns.nvim",
|
||||
opts = {},
|
||||
keys = {
|
||||
{
|
||||
"<leader>gb",
|
||||
function()
|
||||
require("gitsigns").blame_line()
|
||||
end,
|
||||
desc = "git blame current line",
|
||||
},
|
||||
{
|
||||
"<leader>g]",
|
||||
function()
|
||||
require("gitsigns").nav_hunk("next")
|
||||
end,
|
||||
desc = "git next hunk",
|
||||
},
|
||||
{
|
||||
"<leader>g[",
|
||||
function()
|
||||
require("gitsigns").nav_hunk("prev")
|
||||
end,
|
||||
desc = "git prev hunk",
|
||||
},
|
||||
{
|
||||
"<leader>gp",
|
||||
function()
|
||||
require("gitsigns").preview_hunk_inline()
|
||||
end,
|
||||
desc = "git preview hunk",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
39
private_dot_config/nvim/lua/plugin/10_conform.lua
Normal file
39
private_dot_config/nvim/lua/plugin/10_conform.lua
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
return {
|
||||
{
|
||||
"tpope/vim-sleuth",
|
||||
},
|
||||
{
|
||||
"stevearc/conform.nvim",
|
||||
event = { "BufWritePre" },
|
||||
cmd = { "ConformInfo" },
|
||||
keys = {
|
||||
{
|
||||
"<leader>af",
|
||||
function()
|
||||
require("conform").format({ async = true })
|
||||
end,
|
||||
mode = "",
|
||||
desc = "format buffer",
|
||||
},
|
||||
},
|
||||
opts = {
|
||||
formatters_by_ft = {
|
||||
lua = { "stylua" },
|
||||
python = { "isort", "black" },
|
||||
javascript = { "prettierd", "prettier", stop_after_first = true },
|
||||
},
|
||||
default_format_opts = {
|
||||
lsp_format = "fallback",
|
||||
},
|
||||
format_on_save = { timeout_ms = 500 },
|
||||
formatters = {
|
||||
shfmt = {
|
||||
append_args = { "-i", "2" },
|
||||
},
|
||||
},
|
||||
},
|
||||
init = function()
|
||||
vim.o.formatexpr = "v:lua.require'conform'.formatexpr()"
|
||||
end,
|
||||
},
|
||||
}
|
||||
19
private_dot_config/nvim/lua/plugin/11_yanky.lua
Normal file
19
private_dot_config/nvim/lua/plugin/11_yanky.lua
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
return {
|
||||
{
|
||||
"gbprod/yanky.nvim",
|
||||
-- stylua: ignore
|
||||
keys = {
|
||||
{ "y", "<Plug>(YankyYank)", desc = "yank" },
|
||||
{ "p", "<Plug>(YankyPutAfter)", mode = { "n", "x" }, desc = "put after" },
|
||||
{ "P", "<Plug>(YankyPutBefore)", mode = { "n", "x" }, desc = "put before" },
|
||||
{ "[p", "<Plug>(YankyPutIndentBeforeLinewise)", mode = { "n", "x" }, desc = "put after line" },
|
||||
{ "]p", "<Plug>(YankyPutIndentAfterLinewise)", mode = { "n", "x" }, desc = "put before line" },
|
||||
{ "<c-p>", "<Plug>(YankyPreviousEntry)", mode = "n", desc = "previous yank" },
|
||||
{ "<c-n>", "<Plug>(YankyNextEntry)", mode = "n", desc = "next yank" },
|
||||
{ "<leader>fy", "<Cmd>YankyRingHistory<CR>", mode = { "n", "x" }, desc = "yank history" },
|
||||
},
|
||||
opts = {
|
||||
preserve_cursor_position = { enabled = true },
|
||||
},
|
||||
},
|
||||
}
|
||||
8
private_dot_config/nvim/lua/plugin/12_neoscroll.lua
Normal file
8
private_dot_config/nvim/lua/plugin/12_neoscroll.lua
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
return {
|
||||
{
|
||||
"karb94/neoscroll.nvim",
|
||||
opts = {
|
||||
duration_multiplier = 0.3,
|
||||
},
|
||||
},
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue