astrocommunity icon indicating copy to clipboard operation
astrocommunity copied to clipboard

feat(ai): add `folke/sidekick.nvim`

Open ALameLlama opened this issue 2 months ago • 8 comments

Closes #1655

📑 Description

Add sidekick.nvim

📖 Additional Information

This is still WIP and I still need to test a lot of this

ALameLlama avatar Oct 06 '25 00:10 ALameLlama

Review Checklist

Does this PR follow the [Contribution Guidelines](development guidelines)? Following is a partial checklist:

Proper conventional commit scoping:

  • If you are adding a new plugin, the scope would be the name of the category it is being added into. ex. feat(utility): added noice.nvim plugin

  • If you are modifying a pre-existing plugin or pack, the scope would be the name of the plugin folder. ex. fix(noice-nvim): fix LSP handler error

  • [ ] Pull request title has the appropriate conventional commit type and scope where the scope is the name of the pre-existing directory in the project as described above

  • [ ] README is properly formatted and uses fenced in links with <url> unless they are inside a [title](url)

  • [ ] Entry returns a single plugin spec with the new plugin as the only top level spec (not applicable for recipes or packs).

  • [ ] Proper usage of opts table rather than setting things up with the config function.

  • [ ] Proper usage of specs table for all specs that are not dependencies of a given plugin (not applicable for recipes or packs).

github-actions[bot] avatar Oct 06 '25 00:10 github-actions[bot]

if you use copilot.vim the lsp stuff is also handled for you

Yorizel avatar Oct 06 '25 00:10 Yorizel

maybe we could use autoCmds, or make the nes features fullly dependent on the copilot.vim or copilot.lua

Yorizel avatar Oct 06 '25 00:10 Yorizel

the plugin does have a way to enable/disable this via the vim.g.sidekick_nes so we could let the use decide if it should be enabled or not https://github.com/folke/sidekick.nvim/blob/main/lua/sidekick/config.lua#L18

Or if we want a better out of the box experience, we can probably check if the copilot lsp is installed and then enabled it instead of force installing the lsp since not everyone might want this and might just want to use the cli side

ALameLlama avatar Oct 06 '25 00:10 ALameLlama

Can I use this without NES, just for CLI tools?

Absolutely! Just disable NES:

opts = {
  nes = { enabled = false },
}

Maybe we can just disable it by default and enable it with the copilt.lua and copilot.vim marked as optional

Yorizel avatar Oct 06 '25 13:10 Yorizel

I was hoping to see "available LSP" and if there was one for copilot even if it wasn't started we could toggle it but I'll need to keep looking into it

the tmux/zellij issue has also been fixed https://github.com/folke/sidekick.nvim/commit/2110966b5a2b76cb187b9bf80e23dd0b5327c8c7

it'll automatically toggle

ALameLlama avatar Oct 10 '25 00:10 ALameLlama

We can just set nes to enabled, if the copilot LSP isn't started this automatically is false.

When I try and use astrocore for the key mapping I get an error about using nes_jump_or_apply() on nil that I'll need to debug and testing some of the NES stuff is a pain since I keep getting auth issues

ALameLlama avatar Oct 12 '25 23:10 ALameLlama

2.0 released with breaking changes https://github.com/folke/sidekick.nvim/releases/tag/v2.0.0

ALameLlama avatar Oct 18 '25 04:10 ALameLlama

Whats blocking this @ALameLlama

Uzaaft avatar Nov 18 '25 09:11 Uzaaft

@Uzaaft sorry, I was originally waiting to see if there was gonna be anymore breaking changes and then ended up traveling for now. I've updated it and had a little bit of a play around and it seems to work.

let me know if you want me to make any changes :)

ALameLlama avatar Nov 18 '25 10:11 ALameLlama