Skip to content

Conversation

@sebbii17
Copy link


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.


sebbii17 and others added 10 commits October 31, 2024 09:29
Add Harpoon2 plugin to Neovim configuration and integrate it with Telescope and Which-Key.

* Add `ThePrimeagen/harpoon` plugin to `lua/custom/plugins/init.lua` with branch `harpoon2` and configure it.
* Add keybindings for Harpoon commands in `init.lua`.
* Integrate Harpoon with Telescope by creating a custom picker for Harpoon marks and adding keybindings to open the custom picker.
* Integrate Harpoon with Which-Key by adding commands to the Which-Key menu and creating keybindings for adding, navigating, and removing Harpoon marks.

---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/sebbii17/kickstart.nvim?shareId=XXXX-XXXX-XXXX-XXXX).
Add harpoon2 to neovim config
Copilot AI review requested due to automatic review settings December 12, 2025 22:33
@sebbii17 sebbii17 closed this Dec 12, 2025
Copy link

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 customizes a Neovim configuration (appears to be based on kickstart.nvim) by adding several development plugins, enabling additional LSP servers, and customizing various editor settings.

Key changes:

  • Added 5 new plugins: vim-fugitive, undotree, oil.nvim, harpoon, and copilot.vim
  • Enabled LSP support for C/C++ (clangd), Go (gopls), C# (omnisharp), and Rust (rust_analyzer)
  • Switched color scheme from tokyonight to rose-pine and enabled Nerd Font support

Reviewed changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated 4 comments.

File Description
lua/custom/plugins/init.lua Adds custom plugins including git integration (vim-fugitive), undo history visualization (undotree), file explorer (oil.nvim), file navigation (harpoon), and AI assistance (copilot.vim)
lazy-lock.json Plugin lock file now tracked in version control, containing specific commit hashes for all installed plugins
init.lua Enables relative line numbers, configures multiple LSP servers (especially comprehensive OmniSharp settings), adds Harpoon keybindings, switches to rose-pine theme, and disables system clipboard integration
.gitignore Removes lazy-lock.json from ignored files to track plugin versions
Comments suppressed due to low confidence (4)

init.lua:1046

  • The keybindings <C-h>, <C-t>, <C-n>, and <C-s> override commonly used Vim/Neovim navigation and command keys. Specifically, <C-h> is typically used for navigating to the left window, <C-n> for next completion item or next search result, and <C-s> is often used for split commands. Consider using less conflicting keybindings like <leader>m1, <leader>m2, etc., to avoid interfering with standard workflows.
  -- In normal mode type `<space>sh` then write `lazy.nvim-plugin`
  -- you can continue same window with `<space>sr` which resumes last telescope search
}, {
  ui = {
    -- If you are using a Nerd Font: set icons to an empty table which will use the
    -- default lazy.nvim defined Nerd Font icons, otherwise define a unicode icons table
    icons = vim.g.have_nerd_font and {} or {
      cmd = '⌘',
      config = '🛠',
      event = '📅',
      ft = '📂',
      init = '⚙',

init.lua:1025

  • The description '[M]ark [M]enu' for the <C-e> keybinding is inconsistent with other descriptions. The other keymaps use full words for the second part (e.g., '[M]ark [A]dd file', '[M]ark [N]ext'). Consider changing to '[M]ark Menu' or 'Open [M]ark [M]enu' for consistency.
  -- require 'kickstart.plugins.gitsigns', -- adds gitsigns recommend keymaps

init.lua:623

  • The root_dir function for omnisharp always returns the current working directory, which may not be appropriate for all projects. This could cause issues in monorepos or when opening files outside the project root. Consider using the default root_dir detection or a more sophisticated approach that looks for .sln or .csproj files to properly identify the C# project root.
          -- This may be unwanted, since they displace some of your code
          if client and client_supports_method(client, vim.lsp.protocol.Methods.textDocument_inlayHint, event.buf) then
            map('<leader>th', function()

init.lua:1017

  • The comments "-- REQUIRED" on lines 1015 and 1017 are not very descriptive. Consider adding more context about why the setup is required or removing these comments if they're not adding value. More descriptive comments would help future maintainers understand the necessity of this initialization.
  -- NOTE: Next step on your Neovim journey: Add/Configure additional plugins for Kickstart
  --
  --  Here are some example plugins that I've included in the Kickstart repository.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

{
'mbbill/undotree',
config = function()
vim.keymap.set('n', '<leader><F5>', vim.cmd.UndotreeToggle, { desc = 'Toggle Undotree' })
Copy link

Copilot AI Dec 12, 2025

Choose a reason for hiding this comment

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

The keymap uses an unusual key combination <leader><F5> which mixes leader key with function key. This is unconventional and may be hard to remember. Consider using a more intuitive mapping like <leader>u or <leader>ut for UndotreeToggle, which would be more consistent with other keymaps in the configuration.

Suggested change
vim.keymap.set('n', '<leader><F5>', vim.cmd.UndotreeToggle, { desc = 'Toggle Undotree' })
vim.keymap.set('n', '<leader>u', vim.cmd.UndotreeToggle, { desc = 'Toggle Undotree' })

Copilot uses AI. Check for mistakes.
{
'stevearc/oil.nvim',
opts = {},
dependencies = { 'nvim-tree/nvim-web-devicons' }, -- use if prefer nvim-web-devicons
Copy link

Copilot AI Dec 12, 2025

Choose a reason for hiding this comment

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

Grammar issue in comment: "use if prefer" should be "use if you prefer".

Suggested change
dependencies = { 'nvim-tree/nvim-web-devicons' }, -- use if prefer nvim-web-devicons
dependencies = { 'nvim-tree/nvim-web-devicons' }, -- use if you prefer nvim-web-devicons

Copilot uses AI. Check for mistakes.
Comment on lines +117 to +119
-- vim.schedule(function()
-- vim.opt.clipboard = 'unnamedplus'
-- end)
Copy link

Copilot AI Dec 12, 2025

Choose a reason for hiding this comment

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

Commenting out the scheduled clipboard setup could cause issues. The vim.schedule wrapper was intentionally used to prevent startup-time increases. If clipboard functionality is not working as expected, consider keeping the schedule wrapper and only adjusting the clipboard option value rather than disabling this entirely.

Suggested change
-- vim.schedule(function()
-- vim.opt.clipboard = 'unnamedplus'
-- end)
vim.schedule(function()
vim.opt.clipboard = 'unnamedplus'
end)

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.

1 participant