· erock's devlog

neovim plugin search from the terminal
#programming #neovim

The older I get the more time I spend in the terminal. I really appreciate services that accommodate accessing information from the terminal.

For example, I am a huge fan of https://cht.sh to quickly access docs for programming languages and https://wttr.in to get a nice display of the weather.

I thought it would be fun to be able to quickly search for neovim plugins within the terminal. Since I already have a curated list of neovim plugins via https://neovimcraft.com, I thought it would be a fun project to work on for the day.

So I'm happy to announce https://nvim.sh - a website that makes it easy to find neovim plugins.

Using the service is easy and the default response is text/plain.

To figure out how the service works simply curl the website:

 1curl https://nvim.sh
 2nvim.sh - neovim plugin search from the terminal
 4api                        description
 5https://nvim.sh            help
 6https://nvim.sh/s          return all plugins in directory
 7https://nvim.sh/s/:search  search for plugin within directory
 8https://nvim.sh/t          list all tags within directory
 9https://nvim.sh/t/:search  search for plugins that exactly match tag within directory
11powered by: https://neovimcraft.com
12source: https://github.com/neurosnap/nvim.sh

Finding a plugin using /s/:search will look something like this:

 1$ curl https://nvim.sh/s/git
 3Name                              Stars  OpenIssues  Updated               Description
 4sindrets/diffview.nvim            671    7           2021-12-17T16:10:43Z  Single tabpage interface for easily cycling through diffs for all modified files for any git rev.
 5tveskag/nvim-blame-line           121    1           2021-07-27T18:59:55Z  A small plugin that uses neovims virtual text to print git blame info at the end of the current line.
 6TimUntersberger/neogit            1056   57          2022-01-08T08:04:27Z  magit for neovim
 7tanvirtin/vgit.nvim               265    12          2022-01-08T06:55:57Z  Visual Git Plugin for Neovim
 8kdheepak/lazygit.nvim             255    7           2022-01-04T23:44:54Z  Plugin for calling lazygit from within neovim.
 9Iron-E/nvim-highlite              134    1           2022-01-06T18:55:05Z  A colorscheme template that is "lite" on logic for the developer.
10onsails/vimway-lsp-diag.nvim      71     5           2021-12-28T07:58:29Z  Live render workspace diagnostics in quickfix with current buf errors on top, buffer diagnostics in loclist
11onsails/diaglist.nvim             71     5           2021-12-28T07:58:29Z  Live render workspace diagnostics in quickfix with current buf errors on top, buffer diagnostics in loclist
12lourenci/github-colors            29     1           2021-10-04T13:53:35Z  Yet another GitHub colorscheme
13lewis6991/gitsigns.nvim           1066   19          2021-12-30T11:54:10Z  Git integration for buffers
14tversteeg/registers.nvim          335    4           2022-01-03T08:48:42Z  📑 Neovim plugin to preview the contents of the registers
15f-person/git-blame.nvim           247    4           2022-01-04T23:20:49Z  Git Blame plugin for Neovim written in Lua
16ruifm/gitlinker.nvim              148    7           2021-12-23T15:11:12Z  A lua neovim plugin to generate shareable file permalinks (with line ranges) for several git web frontend hosts. Inspired by tpope/vim-fugitive's :GBrowse
17projekt0n/github-nvim-theme       559    5           2022-01-08T11:29:31Z  Github theme for Neovim, kitty, iTerm, Konsole, tmux and Alacritty written in Lua
18winston0410/range-highlight.nvim  97     5           2021-08-03T07:19:30Z  An extremely lightweight plugin (~ 120loc) that hightlights ranges you have entered in commandline.
19m00qek/plugin-template.nvim       29     0           2022-01-05T20:16:10Z  A template to create Neovim plugins written in Lua
20rktjmp/highlight-current-n.nvim   16     1           2021-10-26T12:16:53Z  Highlights the current /, ? or * match under your cursor when pressing n or N and gets out of the way afterwards.

Searching for a plugin uses a fuzzy matching algorithm (Levenshtein distance) to find the best matches based on the name and description.

Since all of the plugins are tagged, you can also search for plugins matching the tag with /t/:search

 1$ curl https://nvim.sh/t/comment
 3Name                             Stars  OpenIssues  Updated               Description
 4folke/todo-comments.nvim         607    24          2021-12-11T09:13:48Z  ✅  Highlight, list and search todo comments in your projects
 5numToStr/Comment.nvim            572    8           2022-01-02T12:51:22Z  :brain: :muscle: // Smart and powerful comment plugin for neovim. Supports treesitter, dot repeat, left-right/up-down motions, hooks, and more
 6b3nj5m1n/kommentary              471    13          2021-12-03T13:54:42Z  Neovim commenting plugin, written in lua.
 7terrortylor/nvim-comment         207    7           2022-01-04T23:21:12Z  A comment toggler for Neovim, written in Lua
 8danymat/neogen                   149    6           2022-01-08T12:34:58Z  A better annotation generator. Supports multiple languages and annotation conventions.
 9winston0410/commented.nvim       93     2           2021-11-14T06:00:20Z  Neovim commenting plugin in Lua. Support operator, motions and more than 60 languages! :fire:
10glepnir/prodoc.nvim              42     0           2021-01-23T07:01:54Z  a neovim comment and  annotation plugin using coroutine
11s1n7ax/nvim-comment-frame        37     0           2021-09-14T06:54:29Z  Detects the language using treesitter and adds a comment block
12gennaro-tedesco/nvim-commaround  33     0           2021-12-16T11:39:07Z  nvim plugin to toggle comments on and off

The data source for this service is https://neovimcraft.com and it is automatically refreshed once per hour.

I'd be happy to read any feedback or suggestions to make this service even more useful!

I have no idea what I'm doing. Subscribe to my rss feed to read more of my articles.