Skip to content

Implement switching and displaying the current installed nvim release #12

@piraz

Description

@piraz

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.

Metadata

Metadata

Assignees

Labels

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions