8000 GitHub - MonsieurTib/neonuget: Manage .NET NuGet packages directly within Neovim
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

MonsieurTib/neonuget

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NeoNuGet.nvim

Manage your .NET project's NuGet packages without leaving Neovim! neonuget.nvim provides an interactive floating window UI to list installed packages (top-level and transitive), search for available packages on NuGet.org, view package details and versions, and install/uninstall packages using the dotnet CLI.

Features

  • List Packages: View installed NuGet packages.
  • Search Packages: Search for available packages on NuGet.org.
  • View Details: Display metadata (description, author, license, etc.) for selected package versions.
  • View Versions: List all available versions for a package.
  • Install/Uninstall: Add or remove packages via the interactive UI (uses dotnet CLI).
  • Interactive UI: Uses floating windows for package lists, search, details, and versions.
  • Multi project support: Easily switch between .NET projects to manage their NuGet packages.

Previews

neonuget2

Package uninstall

neonuget3

Installation

Using lazy.nvim:

{
  "MonsieurTib/neonuget",
  config = function()
    require("neonuget").setup({
      -- Optional configuration
      dotnet_path = "dotnet", -- Path to dotnet CLI
      default_project = nil, -- Auto-detected, or specify path like "./MyProject/MyProject.csproj"
    })
  end,
  dependencies = {
    "nvim-lua/plenary.nvim", 
  }
}

Using packer.nvim:

use {
  "MonsieurTib/neonuget.nvim",
  requires = { "nvim-lua/plenary.nvim" },
  config = function()
    require("neonuget").setup({
      -- Optional configuration
      dotnet_path = "dotnet", -- Path to dotnet CLI
      default_project = nil, -- Auto-detected, or specify path like "./MyProject/MyProject.csproj"
    })
  end
}

Commands

:NuGet

Opens the main interactive UI. Lists installed packages and allows searching, installing, and uninstalling packages.

Usage

  1. Open a .NET project in Neovim.
  2. Run :NuGet to open the main UI.
  3. Navigate Lists: Use arrow keys (j/k) to move up/down in the package lists (Installed/Available/Versions).
  4. Select Package: Press <Enter> on a package (either installed or available) to view its versions and details in the right-hand panes.
  5. Switch Focus: Use <Tab> to cycle focus between the interactive panes (Search, Installed List, Available List, Versions List, Details Pane).
  6. Search: Focus the search input (top-left) and type to filter installed packages and search available packages simultaneously.
  7. Install Package: While the Versions list is focused, press i to install the currently selected version.
  8. Uninstall Package: While the Installed Packages list is focused, press dd (or configure another key) to uninstall the selected top-level package.
  9. Close: Press q or <Esc> in any pane to close the UI.

Requirements

  • Neovim 0.7+ (Requires plenary.nvim)
  • .NET SDK (with dotnet CLI accessible in your path)
  • A valid .NET project file (.csproj, .fsproj, or .vbproj) discoverable in the workspace (searches max 2 levels deep by default).
  • plenary.nvim plugin.

Limitations

  • Single Project Focus: Currently, the plugin detects and operates on the first .csproj, .fsproj, or .vbproj file found in the workspace (searching up to 2 levels deep). Support for explicitly selecting projects in multi-project solutions is planned.
  • Public NuGet Only: Interaction is limited to the public NuGet.org repository. Support for private/custom NuGet feeds is not yet implemented.

License

MIT License

About

Manage .NET NuGet packages directly within Neovim

Topics

Resources

License

4528

Stars

Watchers

Forks

Packages

No packages published

Languages

0