Skip to content

Backmerge#2006

Closed
ralvescosta wants to merge 107 commits intonvim-lua:masterfrom
ralvescosta:master
Closed

Backmerge#2006
ralvescosta wants to merge 107 commits intonvim-lua:masterfrom
ralvescosta:master

Conversation

@ralvescosta
Copy link
Copy Markdown


NOTE
Please verify that the base repository above 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 repository accordingly.


Copilot AI review requested due to automatic review settings April 20, 2026 10:49
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread README.md
```

</details>
git clone https://github.com:ralvescosta/nvim.git "${XDG_CONFIG_HOME:-$HOME/.config}"/nvim
Copy link

Copilot AI Apr 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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).

Suggested change
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

Copilot uses AI. Check for mistakes.
Comment thread README.md
Comment on lines 53 to 56
```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
Copy link

Copilot AI Apr 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
'mrcjkb/rustaceanvim',
version = '^6',
lazy = false,
pft = 'rust',
Copy link

Copilot AI Apr 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
pft = 'rust',
ft = 'rust',

Copilot uses AI. Check for mistakes.
Comment on lines +8 to +9
local mason_registry = require 'mason-registry'

Copy link

Copilot AI Apr 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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).

Suggested change
local mason_registry = require 'mason-registry'

Copilot uses AI. Check for mistakes.
Comment thread lua/kickstart/options.lua
end,
})
-- ##########################
-- #### RESETTING SQL KEY BIDING
Copy link

Copilot AI Apr 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo in comment: "BIDING" should be "BINDING".

Suggested change
-- #### RESETTING SQL KEY BIDING
-- #### RESETTING SQL KEY BINDING

Copilot uses AI. Check for mistakes.
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' })
Copy link

Copilot AI Apr 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
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' })

Copilot uses AI. Check for mistakes.
Comment on lines +5 to +15
config = function()
require('crates').setup {
completion = {
cmp = {
enabled = true,
},
},
}
require('cmp').setup.buffer {
sources = { { name = 'crates' } },
}
Copy link

Copilot AI Apr 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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).

Copilot uses AI. Check for mistakes.

-- Installs the debug adapters for you
'williamboman/mason.nvim',
'mason-org/mason.nvim',
Copy link

Copilot AI Apr 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
'mason-org/mason.nvim',
'williamboman/mason.nvim',

Copilot uses AI. Check for mistakes.
Comment on lines +45 to +49
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 },
},
Copy link

Copilot AI Apr 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
@@ -0,0 +1,6 @@
return {
-- EditorConfig to use this we need to have the .editorocnfig file configured
Copy link

Copilot AI Apr 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo in comment: .editorocnfig should be .editorconfig.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants