Plugin Neovim pour cycler entre les variants d'un enum via LSP. Fonctionne avec rust-analyzer, clangd, et tout serveur LSP qui implémente textDocument/documentSymbol.
Find a file
Enzo Scafi 7f8f320190 init
2026-05-15 12:02:37 +02:00
init.lua init 2026-05-15 12:02:37 +02:00
README.md init 2026-05-15 12:02:37 +02:00

enumcycle.nvim

Plugin Neovim pour cycler entre les variants d'un enum via LSP.

Fonctionne avec rust-analyzer, clangd, et tout serveur LSP qui implémente textDocument/documentSymbol.

Installation

lazy.nvim (développement local)

{
  dir = vim.fn.stdpath("config") .. "/lua/enumcycle",
  name = "enumcycle.nvim",
  config = function()
    require("enumcycle").setup()
  end,
}

lazy.nvim (depuis GitHub)

{
  "Enzo/enumcycle.nvim",
  config = function()
    require("enumcycle").setup({
      map_next = "]e",  -- variant suivant
      map_prev = "[e",  -- variant précédent
    })
  end,
}

Utilisation

Place le curseur sur un variant :

  • Cercle → curseur sur Cercle
  • Forme::Cercle → curseur sur Cercle ou n'importe où dans l'expression

Puis :

  • ]e → passe au variant suivant (CercleRectangle)
  • [e → passe au variant précédent (CercleTriangle)

Options

require("enumcycle").setup({
  map_next = "]e",   -- keymap suivant  (défaut : "]e")
  map_prev = "[e",   -- keymap précédent (défaut : "[e")
})

Installation manuelle (sans plugin manager)

Copie lua/enumcycle/init.lua dans ~/.config/nvim/lua/enumcycle/init.lua puis dans ton init.lua :

require("enumcycle").setup()