A command-line interface for searching Noogle
- Fuzzy finding through Noogle's dataset
- Neovim integration via included plugin
Tip
override the nixpkgs-master input to rebuild against the latest nixpkgs each time you update
nix build .#noogle-cliThis will build the latest CLI and bundle it with the neovim plugin
nix build .#noogle-nvim# Basic search
noogle search "callPackage"
# Show metadata for function
noogle show "lib.strings.optionalString"
# Show JSON data for first result
noogle search "optionalString" | head -n 1 | noogle show --jsonusing show documentation / goto definition
Screen.Recording.2025-02-28.at.13.50.54.mov
Make sure you have godoc.nvim installed as this plugin only provides an adapter
Add to your Neovim configuration (using your preferred plugin manager):
With nixvim
TODO:With lazy.nvim:
{
{
'fredrikaverpil/godoc.nvim',
dependencies = {
{
'juliamertz/noogle-cli',
-- optionally build from source, this is only necessary if you don't have noogle in your PATH
build = 'nix build .#noogle-nvim && cp -vrTL result/lua lua',
},
},
opts = {
adapters = {
{ setup = function() return require('noogle').setup() end },
},
},
},
}The adapter provides the following command:
:Noogle " Open picker