Overview
Implement management for the current installed Neovim release in nvimm:
- When the first nvim release is installed, set it automatically as the current.
- New releases installed subsequently are just added locally, not made current.
- To switch between releases, provide the command:
nvimm current <release>
- When running
nvimm current with no arguments, show the one currently selected as current.
- The "current" release is represented as a symbolic link in the installation directory pointing to the chosen release's directory (e.g.,
~/.cache/nvimm/current → ~/.cache/nvimm/<release>).
Requirements
- Automatically set the first installed release as current.
- Only update the "current" symlink when using the
current command with a version argument.
- Allow running
nvimm current without arguments to display which version is currently set as current.
- Use a symlink (
current) in the nvim install path to represent the current version.
- Add safety checks: only link to installed releases, provide errors if a requested version does not exist.
- Document in English, describing behavior of install, switch, and
nvimm current output.
Example Flows
nvimm install 0.11.5 (first): makes 0.11.5 current
nvimm install 0.12.0 (later): is just installed, not current
nvimm current: shows which release is marked as current
nvimm current 0.12.0: switches symlink to 0.12.0 if installed
Extensibility
- Structure logic for possible multi-user or per-project environments in future.
Overview
Implement management for the current installed Neovim release in nvimm:
nvimm current <release>nvimm currentwith no arguments, show the one currently selected as current.~/.cache/nvimm/current→~/.cache/nvimm/<release>).Requirements
currentcommand with a version argument.nvimm currentwithout arguments to display which version is currently set as current.current) in the nvim install path to represent the current version.nvimm currentoutput.Example Flows
nvimm install 0.11.5(first): makes0.11.5currentnvimm install 0.12.0(later): is just installed, not currentnvimm current: shows which release is marked as currentnvimm current 0.12.0: switches symlink to0.12.0if installedExtensibility