Compare commits

..

2 Commits

Author SHA1 Message Date
0acf602f14 Nvim Luaification 2025-04-07 23:55:03 +02:00
b44cdbfe7d Comic sans :3 2025-04-07 23:54:02 +02:00
5 changed files with 313 additions and 181 deletions

View File

@@ -9,183 +9,21 @@ if not (vim.uv or vim.loop).fs_stat(lazypath) then
lazypath,
})
end
local pluginTable = {
"mattn/webapi-vim",
"scrooloose/syntastic",
"sheerun/vim-polyglot",
{"catppuccin/nvim", lazy=true, name="catppuccin"},
"simnalamburt/vim-mundo",
"elkowar/yuck.vim",
{"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',
'rhysd/committia.vim',
'junegunn/vim-easy-align',
"preservim/nerdcommenter",
"mg979/vim-visual-multi",
"airblade/vim-gitgutter",
{
"folke/twilight.nvim",
opts = {
dimming = {
alpha = 0.25, -- amount of dimming
-- we try to get the foreground from the highlight groups or fallback color
color = { "Normal", "#ffffff" },
term_bg = "#000000", -- if guibg=NONE, this will be used to calculate text color
inactive = false, -- when true, other windows will be fully dimmed (unless they contain the same buffer)
},
context = 10, -- amount of lines we will try to show around the current line
treesitter = true, -- use treesitter when available for the filetype
-- treesitter is used to automatically expand the visible text,
-- but you can further control the types of nodes that should always be fully expanded
expand = { -- for treesitter, we we always try to expand to the top-most ancestor with these types
"function",
"method",
"table",
"if_statement",
},
exclude = {}, -- exclude these filetypes
}
},
{"folke/zen-mode.nvim", opts={
window = {
backdrop = 0.95, -- shade the backdrop of the Zen window. Set to 1 to keep the same as Normal
-- height and width can be:
-- * an absolute number of cells when > 1
-- * a percentage of the width / height of the editor when <= 1
-- * a function that returns the width or the height
width = 120, -- width of the Zen window
height = 1, -- height of the Zen window
-- by default, no options are changed for the Zen window
-- uncomment any of the options below, or add other vim.wo options you want to apply
options = {
-- signcolumn = "no", -- disable signcolumn
-- number = false, -- disable number column
-- relativenumber = false, -- disable relative numbers
-- cursorline = false, -- disable cursorline
-- cursorcolumn = false, -- disable cursor column
-- foldcolumn = "0", -- disable fold column
-- list = false, -- disable whitespace characters
},
},
plugins = {
-- disable some global vim options (vim.o...)
-- comment the lines to not apply the options
options = {
enabled = true,
ruler = false, -- disables the ruler text in the cmd line area
showcmd = false, -- disables the command in the last line of the screen
-- you may turn on/off statusline in zen mode by setting 'laststatus'
-- statusline will be shown only if 'laststatus' == 3
laststatus = 0, -- turn off the statusline in zen mode
},
twilight = { enabled = true }, -- enable to start Twilight when zen mode opens
gitsigns = { enabled = false }, -- disables git signs
tmux = { enabled = false }, -- disables the tmux statusline
-- this will change the font size on kitty when in zen mode
-- to make this work, you need to set the following kitty options:
-- - allow_remote_control socket-only
-- - listen_on unix:/tmp/kitty
kitty = {
enabled = true,
font = "+4", -- font size increment
},
-- this will change the font size on alacritty when in zen mode
-- requires Alacritty Version 0.10.0 or higher
-- uses `alacritty msg` subcommand to change font size
alacritty = {
enabled = false,
font = "14", -- font size
},
-- this will change the font size on wezterm when in zen mode
-- See alse also the Plugins/Wezterm section in this projects README
wezterm = {
enabled = false,
-- can be either an absolute font size or the number of incremental steps
font = "+4", -- (10% increase per step)
},
},
}},
--'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'
{'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',
{'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'},
'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'
"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 = {} },
}, },
}
vim.opt.rtp:prepend(lazypath)
require("lazy").setup(pluginTable)
--require("lazy").setup(pluginTable)
require("lazy").setup({
spec = {
-- import your plugins
{ import = "plugins" },
},
-- Configure any other settings here. See the documentation for more details.
-- colorscheme that will be used when installing plugins.
install = { colorscheme = { "catppuccin" } },
-- automatically check for plugin updates
checker = { enabled = true },
})
if vim.fn.has('persistent_undo') then
local target_path = '/home/vectorkappa/.nvimundodir'
local target_path = vim.fn.stdpath('data') ..'/.nvimundodir'
if not vim.fn.isdirectory(target_path) then
vim.fn.mkpath(target_path, { mode = 0700 }) -- Use mkpath for parent creation
end
@@ -199,10 +37,10 @@ vim.api.nvim_create_autocmd("StdinReadPre", {
pattern = "*",
command = "let s:std_in=1"
})
vim.api.nvim_create_autocmd("VimEnter", {
pattern = "*",
command = "if argc() == 1 && isdirectory(argv()[0]) && !exists('s:std_in') | execute 'CHADopen' | execute 'cd '.argv()[0] | endif"
})
--vim.api.nvim_create_autocmd("VimEnter", {
-- pattern = "*",
-- command = "if argc() == 1 && isdirectory(argv()[0]) && !exists('s:std_in') | execute 'Neotree current' | execute 'cd '.argv()[0] | endif"
--})
vim.g.airline_powerline_fonts = 1
@@ -213,7 +51,7 @@ vim.g.airline_powerline_fonts = 1
--vim.g.syntastic_python_checkers = ['bandit', 'python']
--" Keybinds
vim.keymap.set('n', '<F2>', ':CHADopen<CR>',{noremap=true})
vim.keymap.set('n', '<F2>', ':Neotree toggle<CR>',{noremap=true})
vim.keymap.set('n', '<F3>', function() vim.lsp.buf.code_action() end,{noremap=true})
vim.keymap.set('n', '<F4>', ':ZenMode<CR>',{noremap=true})
--nnoremap <F2> :CHADopen<CR>
@@ -331,6 +169,8 @@ vim.api.nvim_create_autocmd('VimEnter',
vim.api.nvim_command("COQnow -s")
end,
})
-- committia_open_only_vim_starting
vim.g.committia_open_only_vim_starting = 1
--autocmd VimEnter * execute 'COQnow -s'

View File

@@ -0,0 +1,46 @@
{
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
"catppuccin": { "branch": "main", "commit": "5b5e3aef9ad7af84f463d17b5479f06b87d5c429" },
"circles.nvim": { "branch": "main", "commit": "01b9ac1dc6c181f6982eddd57deb1fc7f92d7a70" },
"codeium.vim": { "branch": "main", "commit": "272c6e2755e8faa90e26bcdcd9fde6b9e61751ea" },
"committia.vim": { "branch": "master", "commit": "c8c0f255e8090ed90dd9d5dd2e8672994f8e3671" },
"coq.artifacts": { "branch": "artifacts", "commit": "ef5f21d638ccc456cfa5b8d0ab37093cefe48c8b" },
"coq.thirdparty": { "branch": "3p", "commit": "6ee3c221c308dca7071387267ac76c9272b184a9" },
"coq_nvim": { "branch": "coq", "commit": "d83bc18d044cfcd65e91dc49740a353546bc143b" },
"ctrlp.vim": { "branch": "master", "commit": "475a864e7f01dfc5c93965778417cc66e77f3dcc" },
"firenvim": { "branch": "master", "commit": "c4ab7d2aeb145cd93db8660cb134f771722f2b5e" },
"formatter.nvim": { "branch": "master", "commit": "eb89a1f3e079f1b9680bc7293b75fffccb5e1598" },
"git-messenger.vim": { "branch": "master", "commit": "edc603d4cda7894a743e383e16c638e206d03148" },
"image.nvim": { "branch": "master", "commit": "2e2d28b7734b5efdfc1219f4da8a46c761587bc2" },
"indentLine.vim": { "branch": "master", "commit": "988ba5557a9d1ff49d27c22a6b5f405075b3cebb" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" },
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
"neo-tree.nvim": { "branch": "v3.x", "commit": "9b5d67119c46e3262ffe1508fe6d8540b79ad75d" },
"neoconf.nvim": { "branch": "main", "commit": "750656e4f15d7b66ea9d374d76dcbae160ab9c78" },
"neodev.nvim": { "branch": "main", "commit": "46aa467dca16cf3dfe27098042402066d2ae242d" },
"nerdcommenter": { "branch": "master", "commit": "66c07e4083ab02ed2540ac289cc602c70b858c13" },
"nui.nvim": { "branch": "main", "commit": "8d3bce9764e627b62b07424e0df77f680d47ffdb" },
"nvim-colorizer.lua": { "branch": "master", "commit": "517df88cf2afb36652830df2c655df2da416a0ae" },
"nvim-dap": { "branch": "master", "commit": "7aade9e99bef5f0735cf966e715b3ce45515d786" },
"nvim-dap-ui": { "branch": "master", "commit": "bc81f8d3440aede116f821114547a476b082b319" },
"nvim-lightbulb": { "branch": "master", "commit": "aa3a8b0f4305b25cfe368f6c9be9923a7c9d0805" },
"nvim-lspconfig": { "branch": "master", "commit": "442e077e326ac467daf9cd63e72120fb450a850b" },
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
"nvim-treesitter": { "branch": "master", "commit": "0e21ee8df6235511c02bab4a5b391d18e165a58d" },
"nvim-web-devicons": { "branch": "master", "commit": "57dfa947cc88cdf1baa2c7e13ed31edddd8fb1d1" },
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
"syntastic": { "branch": "master", "commit": "8d5e37c29cf5952fbf300b9230bffe424c61a488" },
"telescope.nvim": { "branch": "master", "commit": "a4ed82509cecc56df1c7138920a1aeaf246c0ac5" },
"tree-sitter-c-sharp": { "branch": "master", "commit": "b5eb5742f6a7e9438bee22ce8026d6b927be2cd7" },
"twilight.nvim": { "branch": "main", "commit": "1584c0b0a979b71fd86b18d302ba84e9aba85b1b" },
"vim-easy-align": { "branch": "master", "commit": "9815a55dbcd817784458df7a18acacc6f82b1241" },
"vim-gitgutter": { "branch": "main", "commit": "6620e5fbbe6a28de0bfed081f5bd2767023b7eea" },
"vim-mundo": { "branch": "master", "commit": "2ceda8c65f7b3f9066820729fc02003a09df91f9" },
"vim-polyglot": { "branch": "master", "commit": "f5393cfee07aeb666f4d75f9b3a83163862fb094" },
"vim-visual-multi": { "branch": "master", "commit": "a6975e7c1ee157615bbc80fc25e4392f71c344d4" },
"webapi-vim": { "branch": "master", "commit": "70c49ada7827d3545a65cbdab04c5c89a3a8464e" },
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" },
"yuck.vim": { "branch": "master", "commit": "9b5e0370f70cc30383e1dabd6c215475915fe5c3" },
"zen-mode.nvim": { "branch": "main", "commit": "863f150ca321b3dd8aa1a2b69b5f411a220e144f" }
}

View File

@@ -0,0 +1,89 @@
return {
"mattn/webapi-vim",
"scrooloose/syntastic",
"sheerun/vim-polyglot",
"simnalamburt/vim-mundo",
"elkowar/yuck.vim",
{"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',
'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'},
'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'
"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 = {} },
}, },
}

View File

@@ -0,0 +1,150 @@
return {
{"nvim-neo-tree/neo-tree.nvim",
branch = "v3.x",
dependencies = {
"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
}
},
{"catppuccin/nvim", lazy=true, name="catppuccin"},
{
"folke/twilight.nvim",
opts = {
dimming = {
alpha = 0.25, -- amount of dimming
-- we try to get the foreground from the highlight groups or fallback color
color = { "Normal", "#ffffff" },
term_bg = "#000000", -- if guibg=NONE, this will be used to calculate text color
inactive = false, -- when true, other windows will be fully dimmed (unless they contain the same buffer)
},
context = 10, -- amount of lines we will try to show around the current line
treesitter = true, -- use treesitter when available for the filetype
-- treesitter is used to automatically expand the visible text,
-- but you can further control the types of nodes that should always be fully expanded
expand = { -- for treesitter, we we always try to expand to the top-most ancestor with these types
"function",
"method",
"table",
"if_statement",
},
exclude = {}, -- exclude these filetypes
}
},
{"folke/zen-mode.nvim", opts={
window = {
backdrop = 0.95, -- shade the backdrop of the Zen window. Set to 1 to keep the same as Normal
-- height and width can be:
-- * an absolute number of cells when > 1
-- * a percentage of the width / height of the editor when <= 1
-- * a function that returns the width or the height
width = 120, -- width of the Zen window
height = 1, -- height of the Zen window
-- by default, no options are changed for the Zen window
-- uncomment any of the options below, or add other vim.wo options you want to apply
options = {
-- signcolumn = "no", -- disable signcolumn
-- number = false, -- disable number column
-- relativenumber = false, -- disable relative numbers
-- cursorline = false, -- disable cursorline
-- cursorcolumn = false, -- disable cursor column
-- foldcolumn = "0", -- disable fold column
-- list = false, -- disable whitespace characters
},
},
plugins = {
-- disable some global vim options (vim.o...)
-- comment the lines to not apply the options
options = {
enabled = true,
ruler = false, -- disables the ruler text in the cmd line area
showcmd = false, -- disables the command in the last line of the screen
-- you may turn on/off statusline in zen mode by setting 'laststatus'
-- statusline will be shown only if 'laststatus' == 3
laststatus = 0, -- turn off the statusline in zen mode
},
twilight = { enabled = true }, -- enable to start Twilight when zen mode opens
gitsigns = { enabled = false }, -- disables git signs
tmux = { enabled = false }, -- disables the tmux statusline
-- this will change the font size on kitty when in zen mode
-- to make this work, you need to set the following kitty options:
-- - allow_remote_control socket-only
-- - listen_on unix:/tmp/kitty
kitty = {
enabled = true,
font = "+4", -- font size increment
},
-- this will change the font size on alacritty when in zen mode
-- requires Alacritty Version 0.10.0 or higher
-- uses `alacritty msg` subcommand to change font size
alacritty = {
enabled = false,
font = "14", -- font size
},
-- this will change the font size on wezterm when in zen mode
-- See alse also the Plugins/Wezterm section in this projects README
wezterm = {
enabled = true,
-- can be either an absolute font size or the number of incremental steps
font = "+4", -- (10% increase per step)
},
},
}},
{
"akinsho/bufferline.nvim",
event = "VeryLazy",
keys = {
{ "<leader>bp", "<Cmd>BufferLineTogglePin<CR>", desc = "Toggle Pin" },
{ "<leader>bP", "<Cmd>BufferLineGroupClose ungrouped<CR>", desc = "Delete Non-Pinned Buffers" },
{ "<leader>br", "<Cmd>BufferLineCloseRight<CR>", desc = "Delete Buffers to the Right" },
{ "<leader>bl", "<Cmd>BufferLineCloseLeft<CR>", desc = "Delete Buffers to the Left" },
{ "<S-h>", "<cmd>BufferLineCyclePrev<cr>", desc = "Prev Buffer" },
{ "<S-l>", "<cmd>BufferLineCycleNext<cr>", desc = "Next Buffer" },
{ "[b", "<cmd>BufferLineCyclePrev<cr>", desc = "Prev Buffer" },
{ "]b", "<cmd>BufferLineCycleNext<cr>", desc = "Next Buffer" },
{ "[B", "<cmd>BufferLineMovePrev<cr>", desc = "Move buffer prev" },
{ "]B", "<cmd>BufferLineMoveNext<cr>", desc = "Move buffer next" },
},
opts = {
options = {
-- stylua: ignore
-- close_command = function(n) Snacks.bufdelete(n) end,
-- stylua: ignore
-- right_mouse_command = function(n) Snacks.bufdelete(n) end,
diagnostics = "nvim_lsp",
always_show_bufferline = false,
-- diagnostics_indicator = function(_, _, diag)
-- local icons = LazyVim.config.icons.diagnostics
-- local ret = (diag.error and icons.Error .. diag.error .. " " or "")
-- .. (diag.warning and icons.Warn .. diag.warning or "")
-- return vim.trim(ret)
-- end,
offsets = {
{
filetype = "neo-tree",
text = "Neo-tree",
highlight = "Directory",
text_align = "left",
},
},
-- ---@param opts bufferline.IconFetcherOpts
-- get_element_icon = function(opts)
-- return LazyVim.config.icons.ft[opts.filetype]
-- end,
},
},
config = function(_, opts)
require("bufferline").setup(opts)
-- Fix bufferline when restoring a session
vim.api.nvim_create_autocmd({ "BufAdd", "BufDelete" }, {
callback = function()
vim.schedule(function()
pcall(nvim_bufferline)
end)
end,
})
end,
},
{"rhysd/committia.vim"},
}

View File

@@ -3,6 +3,13 @@ local wezterm = require 'wezterm'
local config = wezterm.config_builder()
config.color_scheme = 'Catppuccin Macchiato'
--config.font = wezterm.font('GohuFont uni11 Nerd Font Mono')
config.font = wezterm.font('ComicShannsMono Nerd Font')
config.window_background_opacity = 0.6
config.scrollback_lines = 2000000
config.hide_tab_bar_if_only_one_tab = true
config.visual_bell = {
fade_in_duration_ms = 10,
fade_out_duration_ms = 10,
}
return config