Conversation
There was a problem hiding this comment.
Pull request overview
This PR backmerges and restructures the Neovim configuration into a modular Kickstart-style layout, adds/adjusts plugin configurations (LSP, DAP, formatting, linting, UI), and introduces spelling/cspell configuration and dictionaries.
Changes:
- Modularize core config: split options and keymaps into
lua/kickstart/*and load plugins via Lazy imports. - Add/update plugin specs and custom plugins for development workflow (LSP, DAP, formatting, linting, telescope, UI, testing).
- Add spell/cspell configuration and word lists; start tracking
lazy-lock.json.
Reviewed changes
Copilot reviewed 35 out of 37 changed files in this pull request and generated 13 comments.
Show a summary per file
| File | Description |
|---|---|
| spell/en.utf-8.add.spl | Adds a compiled Vim spell file artifact. |
| spell/en.utf-8.add | Adds custom spelling word list. |
| spell/cspell.json | Adds cspell configuration and dictionary definition. |
| lua/kickstart/plugins/which-key.lua | Adds which-key plugin configuration. |
| lua/kickstart/plugins/vim-sleuth.lua | Adds guess-indent plugin spec (file kept under vim-sleuth name). |
| lua/kickstart/plugins/treesitter.lua | Adds/updates treesitter config and language list. |
| lua/kickstart/plugins/todo-comments.lua | Adds todo-comments plugin spec. |
| lua/kickstart/plugins/theme.lua | Adds tokyonight theme configuration. |
| lua/kickstart/plugins/telescope.lua | Adds telescope configuration + keymaps. |
| lua/kickstart/plugins/nvim-cmp.lua | Adds nvim-cmp completion configuration. |
| lua/kickstart/plugins/neo-tree.lua | Updates neo-tree behavior (filters/follow/renderers). |
| lua/kickstart/plugins/mini.lua | Adds mini.nvim module configuration. |
| lua/kickstart/plugins/lspconfig.lua | Adds LSP + Mason tool installation configuration. |
| lua/kickstart/plugins/lint.lua | Expands linting to include cspell across filetypes. |
| lua/kickstart/plugins/lazydev.lua | Adds lazydev config for Lua dev. |
| lua/kickstart/plugins/indent_line.lua | Updates indent-blankline/ibl configuration. |
| lua/kickstart/plugins/gitsigns.lua | Updates gitsigns visuals and watcher behavior. |
| lua/kickstart/plugins/debug.lua | Updates DAP setup, keymaps, and Mason dependency. |
| lua/kickstart/plugins/conform.lua | Adds conform.nvim formatting configuration. |
| lua/kickstart/options.lua | Moves/editor options into module; adds custom spell/fold/autocmd settings. |
| lua/kickstart/mappings.lua | Moves keymaps/autocmds into module; adds custom buffer/line-move mappings. |
| lua/custom/plugins/toggleterm.lua | Adds toggleterm plugin and keymaps. |
| lua/custom/plugins/rustaceanvim.lua | Adds rustaceanvim configuration including DAP integration. |
| lua/custom/plugins/rust.lua | Adds rust.vim ft plugin settings. |
| lua/custom/plugins/rust-crates.lua | Adds crates.nvim integration with cmp. |
| lua/custom/plugins/nvim-dap-go.lua | Adds Go DAP configuration with dynamic args/env. |
| lua/custom/plugins/neotest.lua | Adds neotest setup + keymaps for Go/Rust adapters. |
| lua/custom/plugins/lualine.lua | Adds lualine theme/config. |
| lua/custom/plugins/lazygit.lua | Adds lazygit integration and refresh hook for neo-tree. |
| lua/custom/plugins/hop.lua | Adds hop.nvim keymaps for f/F/t/T motions. |
| lua/custom/plugins/copilot.lua | Adds Copilot plugin configuration and toggle keymap. |
| lua/custom/plugins/bufferline.lua | Adds (commented-out) bufferline plugin config scaffold. |
| lua/custom/plugins/avante.lua | Adds avante.nvim configuration and dependencies. |
| lazy-lock.json | Adds lockfile to pin plugin versions. |
| init.lua | Simplifies init; loads modules and imports plugin groups via Lazy. |
| README.md | Updates project branding and install instructions. |
| .gitignore | Stops ignoring spell/ and lazy-lock.json so they can be tracked. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| ``` | ||
|
|
||
| </details> | ||
| git clone https://github.com:ralvescosta/nvim.git "${XDG_CONFIG_HOME:-$HOME/.config}"/nvim |
There was a problem hiding this comment.
The clone URL is not a valid HTTPS GitHub URL (https://github.com:ralvescosta/nvim.git). Use either the HTTPS form (https://github.com/ralvescosta/nvim.git) or the SSH form (git@github.com:ralvescosta/nvim.git).
| git clone https://github.com:ralvescosta/nvim.git "${XDG_CONFIG_HOME:-$HOME/.config}"/nvim | |
| git clone https://github.com/ralvescosta/nvim.git "${XDG_CONFIG_HOME:-$HOME/.config}"/nvim |
| ```sh | ||
| git clone https://github.com/nvim-lua/kickstart.nvim.git "${XDG_CONFIG_HOME:-$HOME/.config}"/nvim | ||
| ``` | ||
|
|
||
| </details> | ||
|
|
||
| <details><summary> Windows </summary> | ||
|
|
||
| If you're using `cmd.exe`: | ||
|
|
||
| ``` | ||
| git clone https://github.com/nvim-lua/kickstart.nvim.git "%localappdata%\nvim" | ||
| ``` | ||
|
|
||
| If you're using `powershell.exe` | ||
|
|
||
| ``` | ||
| git clone https://github.com/nvim-lua/kickstart.nvim.git "${env:LOCALAPPDATA}\nvim" | ||
| ``` | ||
|
|
||
| </details> | ||
| git clone https://github.com:ralvescosta/nvim.git "${XDG_CONFIG_HOME:-$HOME/.config}"/nvim | ||
|
|
||
| ### Post Installation |
There was a problem hiding this comment.
The fenced code block opened for the git clone command is not closed, so the rest of the README will render as code. Add a closing triple-backtick after the clone command.
| 'mrcjkb/rustaceanvim', | ||
| version = '^6', | ||
| lazy = false, | ||
| pft = 'rust', |
There was a problem hiding this comment.
pft = 'rust' is not a recognized Lazy.nvim plugin spec key (likely meant ft). If the intent is filetype-based loading, use ft; otherwise remove the typo to avoid confusion.
| pft = 'rust', | |
| ft = 'rust', |
| local mason_registry = require 'mason-registry' | ||
|
|
There was a problem hiding this comment.
local mason_registry = require 'mason-registry' is unused and also creates a hard runtime dependency on Mason being loaded before this plugin config runs. Since the value isn't used, remove the require (or declare Mason as an explicit dependency if it’s actually needed).
| local mason_registry = require 'mason-registry' |
| end, | ||
| }) | ||
| -- ########################## | ||
| -- #### RESETTING SQL KEY BIDING |
There was a problem hiding this comment.
Typo in comment: "BIDING" should be "BINDING".
| -- #### RESETTING SQL KEY BIDING | |
| -- #### RESETTING SQL KEY BINDING |
| vim.keymap.set('n', '<leader>rf', "<cmd>lua require('neotest').run.run(vim.fn.expand('%'))<CR>", { desc = '[R]un entire file' }) | ||
| vim.keymap.set('n', '<leader>dt', "<cmd>lua require('neotest').run.run({ strategy = 'dap' })<CR>", { desc = 'Debug [N]earest test' }) | ||
| vim.keymap.set('n', ']t', "<cmd>lua require('neotest').jump.next({ status = 'failed' })<CR>", { desc = 'Jump to the next failed test' }) | ||
| vim.keymap.set('n', '[t', "require('neotest').jump.prev({ status = 'failed' })<CR>", { desc = 'Jump to the previous failed test' }) |
There was a problem hiding this comment.
The [t mapping is missing the <cmd>lua ...<CR> wrapper (unlike the other neotest mappings). As written, it will try to execute require('neotest')... as an Ex command and fail.
| vim.keymap.set('n', '[t', "require('neotest').jump.prev({ status = 'failed' })<CR>", { desc = 'Jump to the previous failed test' }) | |
| vim.keymap.set('n', '[t', "<cmd>lua require('neotest').jump.prev({ status = 'failed' })<CR>", { desc = 'Jump to the previous failed test' }) |
| config = function() | ||
| require('crates').setup { | ||
| completion = { | ||
| cmp = { | ||
| enabled = true, | ||
| }, | ||
| }, | ||
| } | ||
| require('cmp').setup.buffer { | ||
| sources = { { name = 'crates' } }, | ||
| } |
There was a problem hiding this comment.
This config unconditionally calls require('cmp') when crates.nvim loads on ft=toml, but nvim-cmp is configured to load on InsertEnter. Opening a TOML file before entering insert mode will error. Add hrsh7th/nvim-cmp as a dependency here and/or defer the buffer source setup until cmp is available (pcall / event).
|
|
||
| -- Installs the debug adapters for you | ||
| 'williamboman/mason.nvim', | ||
| 'mason-org/mason.nvim', |
There was a problem hiding this comment.
This uses mason-org/mason.nvim while the LSP setup depends on williamboman/mason.nvim (see lua/kickstart/plugins/lspconfig.lua). Loading two different Mason repos under the same plugin name can cause lockfile and runtime issues; please standardize on a single Mason source across the config.
| 'mason-org/mason.nvim', | |
| 'williamboman/mason.nvim', |
| inactive = { | ||
| a = { bg = colors.inactive_bg, fg = colors.semilightgray, gui = 'bold' }, | ||
| b = { bg = colors.inactive_bg, fg = colors.semilightgray }, | ||
| c = { bg = colors.inactive_bg, fg = colors.semilightgray }, | ||
| }, |
There was a problem hiding this comment.
colors.semilightgray is referenced but not defined in the colors table, so these inactive section colors will be nil and may break lualine theme rendering. Define semilightgray (or use an existing color key) before using it.
| @@ -0,0 +1,6 @@ | |||
| return { | |||
| -- EditorConfig to use this we need to have the .editorocnfig file configured | |||
There was a problem hiding this comment.
Typo in comment: .editorocnfig should be .editorconfig.
NOTE
Please verify that the
base repositoryabove has the intended destination!Github by default opens Pull Requests against the parent of a forked repository.
If this is your personal fork and you didn't intend to open a PR for contribution
to the original project then adjust the
base repositoryaccordingly.