Conversation
There was a problem hiding this comment.
Pull request overview
This PR migrates the Neovim configuration from Vimscript + dein to a Lua-based setup using lazy.nvim, introducing Lua modules for options and plugin configurations.
Changes:
- Replace dein/Vimscript configs with lazy.nvim bootstrap and Lua-based plugin specs
- Add Lua config modules for editor options, LSP (mason/lspconfig/none-ls), and nvim-cmp
- Update README to reflect the new setup and references
Reviewed changes
Copilot reviewed 14 out of 15 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| nvim/init.lua | Bootstraps lazy.nvim and loads Lua options module |
| nvim/lua/config/options.lua | New Lua-based Neovim option + keymap + diagnostic configuration |
| nvim/lua/plugins/lsp_config.lua | Adds mason/lspconfig + none-ls integration and tooling setup |
| nvim/lua/plugins/nvim-cmp.lua | Adds completion configuration via nvim-cmp |
| nvim/lua/plugins/vim-airline.lua | Adds vim-airline plugin spec + globals |
| nvim/lua/plugins/vim-gitgutter.lua | Adds gitgutter plugin spec, keymap, and highlight customization |
| nvim/lua/plugins/vim-highlightedyank.lua | Adds highlightedyank plugin spec and highlight config |
| nvim/lua/plugins/copilot.lua | Adds GitHub Copilot Vim plugin spec |
| nvim/lua/plugins/vim-devicons.lua | Adds devicons plugin spec |
| nvim/lua/plugins/vim-devocons.lua | Adds a second devicons spec under a misspelled filename |
| nvim/README.md | Removes old setup steps and adds reference links |
| nvim/rc/dein_personal.toml | Removes dein TOML plugin list |
| nvim/init_work.vim | Removes Vimscript-based config |
| nvim/init_personal.vim | Removes Vimscript-based config |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "mason-org/mason.nvim", | ||
| dependencies = { | ||
| "mason-org/mason-lspconfig.nvim", | ||
| "neovim/nvim-lspconfig", | ||
| "jay-babu/mason-null-ls.nvim", | ||
| "nvimtools/none-ls.nvim", | ||
| }, |
There was a problem hiding this comment.
The Mason plugin is referenced as mason-org/mason.nvim / mason-org/mason-lspconfig.nvim here, but later the config also depends on williamboman/mason.nvim (see the second plugin spec). This inconsistency can lead to installing/configuring two different Mason repos (or failing to resolve dependencies), and makes it unclear which one should be authoritative. Standardize on a single Mason repo naming across all specs and dependencies.
There was a problem hiding this comment.
@copilot open a new pull request to apply changes based on this feedback
| cmp.setup({ | ||
| snippet = { | ||
| expand = function(args) | ||
| vim.fn["vsnip#anonymous"](args.body) | ||
| end, | ||
| }, | ||
| mapping = cmp.mapping.preset.insert({ | ||
| ["<C-b>"] = cmp.mapping.scroll_docs(-4), | ||
| ["<C-f>"] = cmp.mapping.scroll_docs(4), | ||
| ["<C-Space>"] = cmp.mapping.complete(), | ||
| ["<C-e>"] = cmp.mapping.abort(), | ||
| ["<CR>"] = cmp.mapping.confirm({ select = true }), | ||
| }), | ||
| sources = cmp.config.sources({ | ||
| { name = "nvim_lsp" }, | ||
| { name = "vsnip" }, | ||
| }, { | ||
| { name = "buffer" }, | ||
| }), | ||
| }) |
There was a problem hiding this comment.
This file calls cmp.setup(...) multiple times (base setup, window config, and later formatting), and also configures cmdline completion twice. Multiple cmp.setup invocations are hard to reason about and can override earlier settings depending on how nvim-cmp merges config. Consolidate into a single cmp.setup containing snippet, window, mapping, sources, and formatting, and keep each cmp.setup.cmdline(...) configuration defined only once.
There was a problem hiding this comment.
@copilot open a new pull request to apply changes based on this feedback
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
neovimの設定のlua化とプラグインの見直し