Fuck it, nvim revamp

This commit is contained in:
2025-08-10 17:19:45 +02:00
parent 1c97372ad3
commit 07d59927e3
5 changed files with 492 additions and 202 deletions

View File

@@ -2,88 +2,161 @@ return {
"mattn/webapi-vim",
"scrooloose/syntastic",
"sheerun/vim-polyglot",
"simnalamburt/vim-mundo",
"simnalamburt/vim-mundo",
"elkowar/yuck.vim",
{"glacambre/firenvim",
{
"glacambre/firenvim",
lazy = not vim.g.started_by_firenvim,
build = function()
vim.fn["firenvim#install"](0)
end
},
--'honza/vim-snippets',
--'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
'vim-scripts/indentLine.vim',
'rhysd/git-messenger.vim',
'junegunn/vim-easy-align',
"preservim/nerdcommenter",
"mg979/vim-visual-multi",
"airblade/vim-gitgutter",
--'vim-airline/vim-airline'
--'vim-airline/vim-airline-themes'
{'ctrlpvim/ctrlp.vim'},
--'godlygeek/tabular'
--'easymotion/vim-easymotion'
--'nathanaelkane/vim-indent-guides'
--'xuyuanp/nerdtree-git-plugin'
--'bronson/vim-trailing-whitespace'
--'tpope/vim-dadbod'
--'tpope/vim-eunuch'
--'tpope/vim-speeddating'
--'tpope/vim-repeat'
--'tpope/vim-rhubarb'
--'tpope/vim-unimpaired'
--'tpope/vim-abolish'
--'tpope/vim-obsession'
--'tpope/vim-fugitive'
--'tpope/vim-surround'
{
'Exafunction/codeium.vim',
event = 'BufEnter',
config = function ()
-- Change '<C-g>' here to any keycode you like.
vim.keymap.set('i', '<C-g>', function () return vim.fn['codeium#Accept']() end, { expr = true, silent = true })
vim.keymap.set('i', '<c-;>', function() return vim.fn['codeium#CycleCompletions'](1) end, { expr = true, silent = true })
vim.keymap.set('i', '<c-,>', function() return vim.fn['codeium#CycleCompletions'](-1) end, { expr = true, silent = true })
vim.keymap.set('i', '<c-x>', function() return vim.fn['codeium#Clear']() end, { expr = true, silent = true })
end
},
--'lambdalisue/suda.vim'
{'tree-sitter/tree-sitter-c-sharp'},
{'nvim-treesitter/nvim-treesitter', build = ':TSUpdate'},
'nvim-lua/plenary.nvim',
'nvim-telescope/telescope.nvim',
--'honza/vim-snippets',
--'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
'vim-scripts/indentLine.vim',
'rhysd/git-messenger.vim',
'junegunn/vim-easy-align',
"preservim/nerdcommenter",
"mg979/vim-visual-multi",
"airblade/vim-gitgutter",
{
"folke/todo-comments.nvim",
dependencies = { "nvim-lua/plenary.nvim" },
opts = {
-- your configuration comes here
-- or leave it empty to use the default settings
-- refer to the configuration section below
}
},
--'vim-airline/vim-airline'
--'vim-airline/vim-airline-themes'
{ 'ctrlpvim/ctrlp.vim' },
--'godlygeek/tabular'
--'easymotion/vim-easymotion'
--'nathanaelkane/vim-indent-guides'
--'xuyuanp/nerdtree-git-plugin'
--'bronson/vim-trailing-whitespace'
--'tpope/vim-dadbod'
--'tpope/vim-eunuch'
--'tpope/vim-speeddating'
--'tpope/vim-repeat'
--'tpope/vim-rhubarb'
--'tpope/vim-unimpaired'
--'tpope/vim-abolish'
--'tpope/vim-obsession'
--'tpope/vim-fugitive'
--'tpope/vim-surround'
{
'Exafunction/codeium.vim',
event = 'BufEnter',
config = function()
-- Change '<C-g>' here to any keycode you like.
vim.keymap.set('i', '<C-g>', function() return vim.fn['codeium#Accept']() end, { expr = true, silent = true })
vim.keymap.set('i', '<c-;>', function() return vim.fn['codeium#CycleCompletions'](1) end,
{ expr = true, silent = true })
vim.keymap.set('i', '<c-,>', function() return vim.fn['codeium#CycleCompletions'](-1) end,
{ expr = true, silent = true })
vim.keymap.set('i', '<c-x>', function() return vim.fn['codeium#Clear']() end, { expr = true, silent = true })
end
},
--'lambdalisue/suda.vim'
{ 'tree-sitter/tree-sitter-c-sharp' },
{ 'nvim-treesitter/nvim-treesitter', build = ':TSUpdate' },
'nvim-lua/plenary.nvim',
'nvim-telescope/telescope.nvim',
'kosayoda/nvim-lightbulb',
--'antoinemadec/FixCursorHold.nvim'
'mhartington/formatter.nvim',
'NvChad/nvim-colorizer.lua',
'kosayoda/nvim-lightbulb',
--'antoinemadec/FixCursorHold.nvim'
'mhartington/formatter.nvim',
'NvChad/nvim-colorizer.lua',
--{'ms-jpq/chadtree', branch='chad', build='python3 -m chadtree deps'},
{'ms-jpq/coq_nvim', branch='coq'},
--" 9000+ Snippets
{'ms-jpq/coq.artifacts', branch='artifacts'},
{'ms-jpq/coq.thirdparty', branch='3p'},
{
'saghen/blink.cmp',
-- optional: provides snippets for the snippet source
dependencies = { 'rafamadriz/friendly-snippets' },
'nvim-tree/nvim-web-devicons',
'projekt0n/circles.nvim',
-- use a release tag to download pre-built binaries
version = '1.*',
-- AND/OR build from source, requires nightly: https://rust-lang.github.io/rustup/concepts/channels.html#working-with-nightly-rust
-- build = 'cargo build --release',
-- If you use nix, you can build from source using latest nightly rust with:
-- build = 'nix run .#build-plugin',
'nvim-neotest/nvim-nio',
---@module 'blink.cmp'
---@type blink.cmp.Config
opts = {
-- 'default' (recommended) for mappings similar to built-in completions (C-y to accept)
-- 'super-tab' for mappings similar to vscode (tab to accept)
-- 'enter' for enter to accept
-- 'none' for no mappings
--
-- All presets have the following mappings:
-- C-space: Open menu or open docs if already open
-- C-n/C-p or Up/Down: Select next/previous item
-- C-e: Hide menu
-- C-k: Toggle signature help (if signature.enabled = true)
--
-- See :h blink-cmp-config-keymap for defining your own keymap
keymap = { preset = 'super-tab' },
appearance = {
-- 'mono' (default) for 'Nerd Font Mono' or 'normal' for 'Nerd Font'
-- Adjusts spacing to ensure icons are aligned
nerd_font_variant = 'mono'
},
--'uga-rosa/translate.nvim'
--'mechatroner/rainbow_csv'
--'christoomey/vim-system-copy'
--'eandrju/cellular-automaton.nvim'
-- (Default) Only show the documentation popup when manually triggered
completion = { documentation = { auto_show = false } },
-- Default list of enabled providers defined so that you can extend it
-- elsewhere in your config, without redefining it, due to `opts_extend`
sources = {
default = { 'lsp', 'path', 'snippets', 'buffer' },
},
-- (Default) Rust fuzzy matcher for typo resistance and significantly better performance
-- You may use a lua implementation instead by using `implementation = "lua"` or fallback to the lua implementation,
-- when the Rust fuzzy matcher is not available, by using `implementation = "prefer_rust"`
--
-- See the fuzzy documentation for more information
fuzzy = { implementation = "prefer_rust_with_warning" }
},
opts_extend = { "sources.default" }
},
-- { 'ms-jpq/coq_nvim', branch = 'coq' },
--" 9000+ Snippets
-- { 'ms-jpq/coq.artifacts', branch = 'artifacts' },
-- { 'ms-jpq/coq.thirdparty', branch = '3p' },
'nvim-tree/nvim-web-devicons',
'projekt0n/circles.nvim',
'nvim-neotest/nvim-nio',
--'uga-rosa/translate.nvim'
--'mechatroner/rainbow_csv'
--'christoomey/vim-system-copy'
--'eandrju/cellular-automaton.nvim'
--"neovim/nvim-lspconfig",
--"'ranjithshegde/ccls.nvim'
--"'ranjithshegde/ccls.nvim'
"mfussenegger/nvim-dap",
"rcarriga/nvim-dap-ui",
"folke/neodev.nvim",
"folke/which-key.nvim",
{ "folke/neoconf.nvim", cmd = "Neoconf" },
{"neovim/nvim-lspconfig",
dependencies = {
"williamboman/mason.nvim",
"williamboman/mason-lspconfig.nvim",
{ "folke/neodev.nvim", opts = {} },
}, },
{"folke/lazydev.nvim",
ft = "lua", -- only load on lua files
opts = {
library = {
-- See the configuration section for more details
-- Load luvit types when the `vim.uv` word is found
{ path = "${3rd}/luv/library", words = { "vim%.uv" } },
},
},
},
{ "folke/neoconf.nvim", cmd = "Neoconf" },
{
"neovim/nvim-lspconfig",
dependencies = {
"williamboman/mason.nvim",
"williamboman/mason-lspconfig.nvim",
},
},
}

View File

@@ -5,8 +5,56 @@ return {
"nvim-lua/plenary.nvim",
"nvim-tree/nvim-web-devicons", -- not strictly required, but recommended
"MunifTanjim/nui.nvim",
"3rd/image.nvim", -- Optional image support in preview window: See `# Preview Mode` for more information
}
{"3rd/image.nvim",
opts={
backend = "kitty",
processor = "magick_rock", -- or "magick_cli"
integrations = {
markdown = {
enabled = true,
clear_in_insert_mode = false,
download_remote_images = true,
only_render_image_at_cursor = false,
floating_windows = false, -- if true, images will be rendered in floating markdown windows
filetypes = { "markdown", "vimwiki" }, -- markdown extensions (ie. quarto) can go here
},
neorg = {
enabled = true,
filetypes = { "norg" },
},
typst = {
enabled = true,
filetypes = { "typst" },
},
html = {
enabled = false,
},
css = {
enabled = false,
},
},
max_width = nil,
max_height = nil,
max_width_window_percentage = nil,
max_height_window_percentage = 50,
window_overlap_clear_enabled = false, -- toggles images when windows are overlapped
window_overlap_clear_ft_ignore = { "cmp_menu", "cmp_docs", "snacks_notif", "scrollview", "scrollview_sign" },
editor_only_render_when_focused = false, -- auto show/hide images when the editor gains/looses focus
tmux_show_only_in_active_window = false, -- auto show/hide images in the correct Tmux window (needs visual-activity off)
hijack_file_patterns = { "*.png", "*.jpg", "*.jpeg", "*.gif", "*.webp", "*.avif" }, -- render image files as images when opened
}
}, -- Optional image support in preview window: See `# Preview Mode` for more information
},
opts={
window = {
mappings = {
["P"] = { "toggle_preview", config = { use_float = false, use_image_nvim = true } },
["l"] = "focus_preview",
["<C-b>"] = { "scroll_preview", config = {direction = 10} },
["<C-f>"] = { "scroll_preview", config = {direction = -10} },
}
}
}
},
{"catppuccin/nvim", lazy=true, name="catppuccin"},
{
@@ -147,4 +195,13 @@ return {
end,
},
{"rhysd/committia.vim"},
{
's1n7ax/nvim-window-picker',
name = 'window-picker',
event = 'VeryLazy',
version = '2.*',
config = function()
require'window-picker'.setup()
end,
},
}