feat: A working state during the transfer between the old neovim

configurations and using newer built-in functionality in the 0.12.x
versions of Neovim.

Further work is needed for treesitter updates, cleanup of the conversion
work and testing to verify old functionality isn't lessened to get the
benefits of a cleaner config and vastly faster load times.
This commit is contained in:
2026-05-23 20:28:34 -05:00
parent deea09dac5
commit abe81c01b3
28 changed files with 490 additions and 609 deletions

View File

@@ -1,41 +1,43 @@
local lazypath = vim.fn.stdpath('data') .. '/lazy/lazy.nvim'
require('vim._core.ui2').enable()
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
'git',
'clone',
'--filter=blob:none',
'https://github.com/folke/lazy.nvim.git',
'--branch=stable',
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)
require('lazy').setup({
require('plugins.lspconfig'), -- LSP configuration
require('plugins.mason'), -- LSP and DAP manager
require('plugins.gruvbox'), -- Colorscheme
require('plugins.comment'), -- Simple language specific commenting shortcuts
require('plugins.dap'), -- DAP debugging plugin
require('plugins.dap-python'), -- Debug plugin settings specifically for python
require('plugins.treesitter'), -- Treesitter syntax highlighting and tree support
require('plugins.gitsigns'), -- Gutter symbols for Git status and quick actions for Git operations
require('plugins.luasnip'), -- Snippet engine
-- require('plugins.nvim-lint'), -- Linter loader
require('plugins.nvim-cmp'), -- Autocompletion engine
require('plugins.lualine'), -- Status line
require('plugins.telekasten'), -- Note taking setup
require('plugins.telescope'), -- Floating windows for searching and other operations
'tpope/vim-surround', -- Change surrounding symbols
require('plugins.floaterm'), -- Floating terminal
require('plugins.vim-godot'), -- Godot specific bindings and debug
-- require('plugins.markdown-preview'), -- Open a preview of markdown rendered in a browser
require('plugins.render-markdown'), -- Render markdown directly in nvim (experimental, may take over for markdown-preview)
require('plugins.autopairs'), -- Autocomplete symbol pairs when typing (experimental)
require('plugins.twilight'), -- Focus mode, dim lines around the current segment of code
require('plugins.yaml-companion'), -- Additional YAML and JSON schema helper
require('plugins.fugitive'), -- _The_ Git integration plugin people have been using forever
-- require('plugins.schemastore'), -- Loads YAML and JSON schemas for autocompletion
-- Load the following plugins eagerly to prevent visual oddities
vim.pack.add({
'https://github.com/sainnhe/gruvbox-material',
})
vim.g.gruvbox_material_enable_italic = true
vim.g.gruvbox_material_background = 'hard'
vim.g.gruvbox_material_better_performance = 1
vim.cmd.colorscheme('gruvbox-material')
require('plugins.lualine') -- Status line plugin
-- vim.schedule defers plugin loading for after the main loop starts
-- Startup is cleaner and faster than ever
vim.schedule(function ()
require('plugins.gitsigns') -- Git gutter notifiers
require('plugins.nvim-cmp') -- Autocompletion plugin (TODO: Move to builtin completion?)
require('plugins.telescope') -- Floating window fuzzy searching different sources
require('plugins.telekasten') -- Note taking plugins
require('plugins.mason') -- LSP and DAP manager
require('plugins.twilight') -- Focus mode, dim lines around the cursor's location
require('plugins.render-markdown') -- Render markdown directly in neovim
require('plugins.luasnip') -- Snippet engine
require('plugins.treesitter') -- Syntax highlighting and tree support
vim.pack.add({'https://github.com/windwp/nvim-autopairs'}) -- Autocomplete symbol pairs when typing
vim.pack.add({'https://github.com/tpope/vim-surround'}) -- Change surrounding characters (doesn't need setup called)
vim.pack.add({'https://github.com/habamax/vim-godot'}) -- Godot specific bindings and debug
require('nvim-autopairs').setup()
end)
-- TODO: Still in need of translation to the new setup
-- require('plugins.dap'), -- DAP debugging plugin
-- require('plugins.dap-python'), -- Debug plugin settings specifically for python
-- require('plugins.yaml-companion'), -- Additional YAML and JSON schema helper
-- Currently not enabled
-- require('plugins.nvim-lint'), -- Linter loader
-- require('plugins.fugitive'), -- _The_ Git integration plugin people have been using forever
-- require('plugins.schemastore'), -- Loads YAML and JSON schemas for autocompletion