🔭 Search Dash.app from Neovim with Telescope. Built with Rust 🦀 and Lua

Overview

Build Rust Lua

Dash.nvim

Query Dash.app within Neovim with a Telescope picker!

demo

The theme used in the recording is lighthaus.nvim.

Note: Dash is a Mac-only app, so you'll only find this plugin useful on Mac.

Install

After installing Dash.nvim, you must run make install. This can be done through a post-install hook with most plugin managers.

Packer:

use({
  'mrjones2014/dash.nvim',
  requires = { 'nvim-telescope/telescope.nvim' },
  run = 'make install',
  disable = not vim.fn.has('macunix'),
})

Paq:

require("paq")({
  'nvim-telescope/telescope.nvim';
  {'mrjones2014/dash.nvim', run = 'make install'};
})

Vim-Plug:

Plug 'nvim-telescope/telescope.nvim'
Plug 'mrjones2014/dash.nvim', { 'do': 'make install' }

Usage

Run :h dash to see these docs in Neovim.

Editor Commands

This plugin has two editor commands, :Dash and :DashWord, each of which accept a bang (!). By default, it will search Dash.app with keywords based on config (see file_type_keywords in configuration). The bang (!) will search without this keyword filtering.

:Dash [query] will open the Telescope picker, and if [query] is passed, it will pre-fill the prompt with [query].

:DashWord will open the Telescope picker and pre-fill the prompt with the word under the cursor.

Configuration

dash.nvim can be configured in your Telescope config. Options and defaults are described below:

require('telescope').setup({
  extensions = {
    dash = {
      -- configure path to Dash.app if installed somewhere other than /Applications/Dash.app
      dash_app_path = '/Applications/Dash.app',
      -- search engine to fall back to when Dash has no results, must be one of: 'ddg', 'duckduckgo', 'startpage', 'google'
      search_engine = 'ddg',
      -- debounce while typing, in milliseconds
      debounce = 0,
      -- map filetype strings to the keywords you've configured for docsets in Dash
      -- setting to false will disable filtering by filetype for that filetype
      -- filetypes not included in this table will not filter the query by filetype
      -- check src/config.rs to see all defaults
      -- the values you pass for file_type_keywords are merged with the defaults
      -- to disable filtering for all filetypes,
      -- set file_type_keywords = false
      file_type_keywords = {
        dashboard = false,
        NvimTree = false,
        TelescopePrompt = false,
        terminal = false,
        packer = false,
        -- a table of strings will search on multiple keywords
        javascript = { 'javascript', 'nodejs' },
        typescript = { 'typescript', 'javascript', 'nodejs' },
        typescriptreact = { 'typescript', 'javascript', 'react' },
        javascriptreact = { 'javascript', 'react' },
        -- you can also do a string, for example,
        -- sh = 'bash'
      },
    }
  }
})

If you notice an issue with the default file_type_keywords or would like a new filetype added, please file an issue or submit a PR!

Lua API

The public API consists of two main functions.

-- See src/config.rs for available config keys
-- Also described in configuration section below
---@param config
require('dash').setup(config)
---@param bang boolean @bang searches without any filtering
---@param initial_text string @pre-fill text into the telescope picker
require('dash').search(bang, initial_text)

See backend for documentation on the backend data provider.

Backend

The binaries for the Rust backend can be found under bin/, compiled for Mac M1 and Intel architectures. To build from source, you will need a Rust toolchain, which can be installed from rustup.rs. Once this is installed, you should be able to build via make build. Then, make install will copy the correct binary into the lua/ directory so that it is added to Lua's runtimepath.

The Rust backend is exposed as a Lua module. To require the module, you will need to have the file libdash_nvim.so for your architecture (M1 or Intel) on your runtimepath, as well as the deps directory, which must be in the same directory as the libdash_nvim.so shared library file.

Constants

The Rust backend exports the following constants for use:

  • require('libdash_nvim').DASH_APP_BASE_PATH => "/Applications/Dash.app"
  • require('libdash_nvim).DASH_APP_CLI_PATH => "/Contents/Resources/dashAlfredWorkflow"

libdash_nvim.config (table)

This table stores the internal configuration. You can access it via require('libdash_nvim').config. See src/config.rs or configuration above for configuration keys.

libdash_nvim.default_config (table)

This table stores the default configuration. You should not modify this table, treat it as read-only. This is mainly to help with merging your custom config with the default config, but can be useful for debugging purposes. For example:

:lua print(vim.inspect(require('libdash_nvim').default_config))

libdash_nvim.setup (function)

This method is used to set the internal configuration of the backend. It takes a table, which will be merged with the default configuration. See src/config.rs or configuration above for configuration keys.

require('libdash_nvim').setup({
  -- your custom configuration here
})

libdash_nvim.query (function)

This method (require('libdash_nivm').query) takes 3 arguments: the search text, the current buffer type, and a boolean indicating whether to disable filetype filtering (e.g. command was run with bang, :Dash!).

local libdash = require('libdash_nvim')
local results = libdash.query(
  'match arms',
  'rust',
  false
)

The query method returns a table with the following properties:

  • value -- the number value of the item, to be used when selected. Running a query, then opening the URL dash-workflow-callback://[value] will open the selected item in Dash.app
  • ordinal -- a value to sort by, currently this is the same value as display
  • display -- a display value
  • keyword -- the keyword (if there was one) on the query that returned this result
  • query -- the full query that returned this result

If no items are returned from querying Dash, it will return a single item with an extra key, is_fallback = true. The table will look something like the following:

{
  value = 'https://duckduckgo.com/?q=array.prototype.filter',
  ordinal = '1',
  display = 'Search with DuckDuckGo: array.prototype.filter',
  is_fallback = true,
}

libdash_nvim.open_item (function)

Takes the value property of an item returned from querying Dash and opens it in Dash.

require('libdash_nvim').open_item(1)

Note: if running multiple queries, simply opening dash-workflow-callback://[value] may not work directly. Opening the URL assumes that the value being opened was returned by the currently active query in Dash.app. You can work around this by just running the query again with only the query value from the selected item, then calling require('libdash_nvim).open with that item's value.

libdash_nvim.open_search_engine (function)

Utility method to open a search engine URL when the fallback item is selected.

require('libdash_nvim').open_search_engine('https://duckduckgo.com/?q=array.prototype.filter')

Contributing

Git Hooks

If you plan on changing Rust code, you will need to install the git hooks via make install-hooks. The git hooks require you have a Rust toolchain installed. You can install a Rust toolchain from rustup.rs.

Running Tests

This uses busted, luassert (both through plenary.nvim) and matcher_combinators to define tests in spec/ directory. These dependencies are required only to run tests, that's why they are installed as git submodules.

To run tests, run make test. This runs tests in Neovim with a minimal profile, spec.vim. This runs Neovim with only this plugin, and the testing dependencies.

If you have entr(1) installed, you can run the tests in watch mode using make watch.

Code Style

Use snake_case for everything. Ensure you use EmmyLua Annotations for any public-facing API, and optionally for non-public functions, if the function is non-trivial or the types are not obvious. Other than that, running luacheck and stylua should cover it.

Comments
  • FZF/fzf-lua support (or generic datasource provider for other pickers)

    FZF/fzf-lua support (or generic datasource provider for other pickers)

    Love this! I imagine that since you don't use fzf-lua you'd likely not want to spend time adding support. I haven't dove deep into this repo yet, so forgive me if this already exists.. would you be willing to add some sort of provider so that other pickers might be used?

    Thanks!

    (PS. I'd be interested in adding fzf-lua support if you were up for having that added)

    enhancement help wanted result-provider 
    opened by megalithic 20
  • [Enhancement] dash.nvim is 300mb+ (i.e. very large for a nvim plugin)

    [Enhancement] dash.nvim is 300mb+ (i.e. very large for a nvim plugin)

    Hi,

    Thanks for your work on this plugin, been trying it out, and it works really smoothly, which is 👍🏿 . It took me quite a few attempts to install, though, which I narrowed down to packers 60s timeout for git clones (which I had to triple). I then had a look at the folder once downloaded and noticed that this plugin is enormous by nvim standards, weighing in at 300mb

    ➜ du -sh ./dash.nvim 
    306M	./dash.nvim
    
    ➜ du -sh *   
    20K	Cargo.lock
    4.0K	Cargo.toml
    20K	LICENSE
    4.0K	Makefile
    16K	README.md
    4.0K	autoload
    99M	bin <----------------Ships with binaries for different systems
    20K	doc
    2.0M	images
    49M	lua
    4.0K	plugin
    8.0K	scripts
    12K	spec
    84K	src
    4.0K	stylua.toml
    1.1M	vendor <----------------- duplicated all of plenary.
    

    By comparison, the next largest plugin is 3mb, which was already anomalous but the culprit ships a bunch of files which is fine. Most of my other plugins are around 400kb and less. I'm not sure exactly what other rust based plugins do but I've never used one this big before which I think is down to it shipping binaries for every architecture rather than building the binary during installation or maybe there's a way to trim down the size of the program since it being that big anyway is very odd.

    opened by akinsho 15
  • Packer - Failed to install - git timeout, and no post install hook

    Packer - Failed to install - git timeout, and no post install hook

    Installing with packer with use({ 'mrjones2014/dash.nvim', requires = { 'nvim-telescope/telescope.nvim' }, run = 'make install' }), I get a "Failed to install" when running a PackerSync. Thereafter, I get "module "libdash_nvim" not found, did you set up Dash.nvim with make install as a post-install hook?"

    Debugging a bit, I found two things:

    1. Git times out frequently: ...m/site/pack/packer/start/packer.nvim/lua/packer/jobs.lua:87: Killing git due to timeout!. Now, the connection I'm on is a little weak, but it still downloaded from github at ~500kb/s. I worked around this for now by increasing timeout to 120s (from 60s). None of my other plugins needed this, though...
    2. Having worked around that, the post install hook doesn't seem to run? After the packer sync, I guess it tries to load the module, because the debug log shows "Vim(lua):module "libdash_nvim" not found, did you set up Dash.nvim with make install as a post-install hook? See :h dash-install". So maybe that failing is preventing the hook from executing?

    I solved the problem for now by cding to the dash dir and running make install manually.

    bug help wanted 
    opened by bmulholland 15
  • libdash_nvim.so, 6 no suitable image found

    libdash_nvim.so, 6 no suitable image found

    I am not sure why I am betting this error.

    I have tried running make install inside the dash directory manually which did not fix the issue

    Running OSX 10.14.5

    Full error below

    Error detected while processing function 97_dash_nvim_search: line 4: E5108: Error executing lua .../site/pack/packer/start/impatient.nvim/lua/impatient.lua:186: dlopen(/Users/admin/.local/share/nvim/site/pack/packer/start/dash.nvim/lua/libdash_nvim.so, 6): no suitable imag e found. Did find: /Users/admin/.local/share/nvim/site/pack/packer/start/dash.nvim/lua/libdash_nvim.so: cannot load 'libdash_nvim.so' (load command 0x80000034 is unknown) /Users/admin/.local/share/nvim/site/pack/packer/start/dash.nvim/lua/libdash_nvim.so: cannot load 'libdash_nvim.so' (load command 0x80000034 is unknown)

    bug Solved 
    opened by beauwilliams 11
  • Error on startup in macOS: module 'libdash_nvim' not found

    Error on startup in macOS: module 'libdash_nvim' not found

    The plugin was working at earlier points but since recent updates it stopped working. On the latest master as of today (791281f127029f8768d2020fc3338bc9bbbe2450) and NVIM v0.6.0-dev+1984-g09e96fe60:

    Error detected while processing $HOME/.dotfiles/vim/plugged/dash.nvim/plugin/dash.vim:
    line   16:
    E5108: Error executing lua 
    $HOME/.vim/plugged/dash.nvim/lua/dash/config.lua:6: module 'libdash_nvim' not found:
            no field package.preload['libdash_nvim']
            no file './libdash_nvim.lua'
            no file '/usr/local/Cellar/luajit-openresty/2.1-20210510/share/luajit-2.1.0-beta3/libdash_nvim.lua'
            no file '/usr/local/share/lua/5.1/libdash_nvim.lua'
            no file '/usr/local/share/lua/5.1/libdash_nvim/init.lua'
            no file '/usr/local/Cellar/luajit-openresty/2.1-20210510/share/lua/5.1/libdash_nvim.lua'
            no file '/usr/local/Cellar/luajit-openresty/2.1-20210510/share/lua/5.1/libdash_nvim/init.lua'
            no file './libdash_nvim.so'
            no file '/usr/local/lib/lua/5.1/libdash_nvim.so'
            no file '/usr/local/Cellar/luajit-openresty/2.1-20210510/lib/lua/5.1/libdash_nvim.so'
            no file '/usr/local/lib/lua/5.1/loadall.so'
    

    Environments: Mac OS 11.6, x86_64 (Intel)

    This is because the prebuilt binary is only provided as *.so shared module; macOS would require *.dylib.

    I think recent changes on the bin/ structure broke the plugin. (commit dfd928cd85984667d5d7e4212c124aa98a1b8841, since v0.4.0)

    opened by wookayin 11
  • file_type_keywords not being detected

    file_type_keywords not being detected

    First off, thank you for this plugin! Saves me a ton of effort having to switch windows etc.

    I had a question around configuration: I'm not able to get the file_type_keywords to be picked up by the plugin, even though the other configuration settings I added are detected.

    I'm using Telescope with:

    require('telescope').setup({
      defaults = {
        -- Default configuration for telescope goes here:
        -- config_key = value,
        mappings = {
          i = {
            -- map actions.which_key to <C-h> (default: <C-/>)
            -- actions.which_key shows the mappings for your picker,
            -- e.g. git_{create, delete, ...}_branch for the git_branches picker
            ["<C-h>"] = "which_key"
          }
        },
        buffer_previewer_maker = new_maker,
      },
      pickers = {
        -- Default configuration for builtin pickers goes here:
        -- picker_name = {
        --   picker_config_key = value,
        --   ...
        -- }
        -- Now the picker_config_key will be applied every time you call this
        -- builtin picker
      },
      extensions = {
        -- Your extension configuration goes here:
        -- extension_name = {
        --   extension_config_key = value,
        -- }
        -- please take a look at the readme of the extension you want to configure
        dash = {
          search_engine = 'google',
          file_type_keywords = {
            ruby = { 'ruby', 'rails' },  -- this doesn't seem to be working
            javascript = { 'javascript', 'nodejs' },
            typescript = { 'typescript', 'javascript', 'nodejs' },
            typescriptreact = { 'typescript', 'javascript', 'react' },
            javascriptreact = { 'javascript', 'react' },
          }
        }
      }
    })
    

    The search_engine configuration is being detected, but the file_type_keywords one isn't. I'm sure there's some misconfiguration by me going on but have not been able to determine what it is. I'm hoping I can get some help figuring out how to set this up properly.

    Thank you again for this plugin!

    opened by Tseyang 9
  • Feature Request: Docs for word under cursor

    Feature Request: Docs for word under cursor

    I'm coming from dash.vim, which has a feature to search for the word under the cursor. (Optionally?) Having the telescope window auto-populate with that word would be helpful.

    However, I found that this didn't always work as well as one would like, because the method searched could sometimes belong to quite a few different types of classes. For example, open in Ruby, which in Dash gives results for 36 objects. So my dream feature would be to use the LSP and/or Treesitter to lookup the docs for the method on the correct object type. In other words, var_that_is_a_tempfile.[o]pen (with the cursor on the o) would open the docs for specifically Tempfile.open.

    enhancement help wanted 
    opened by bmulholland 8
  • Results sometimes wrongly return empty

    Results sometimes wrongly return empty

    I've got the React docset installed, and some searches work perfectly:

    Screen Shot 2021-10-25 at 7 29 19 PM

    But other searches return nothing: Screen Shot 2021-10-25 at 7 29 46 PM

    Compare the above to the Dash app results:

    Screen Shot 2021-10-25 at 7 30 12 PM

    I've looked briefly into how the query thing works and it looks like it calls "/Applications/Dash.app/Contents/Resources/dashAlfredWorkflow" with the query, I can confirm that it returns some results, here's what gets returned:

    https://gist.github.com/marcusbuffett/b3490d47696c7240d3f77daa03aae245

    Let me know if there's any debug info that could be useful.

    opened by marcusbuffett 6
  • Fall back to google / stack overflow search, like Dash app?

    Fall back to google / stack overflow search, like Dash app?

    In the case a search doesn't come up with anything, it would be nice if there would be a search the web fallback, like the Dash app has, so I don't have to go open my browser and type the same thing in again.

    Awesome idea and execution by the way, this has sped me up so much, especially when working with a language I'm not too familiar with. Love it. Thank you 🙏

    enhancement 
    opened by marcusbuffett 4
  • Make multi-keyword search more async

    Make multi-keyword search more async

    It's not too bad, but it can be slightly slow at times due to the way it runs the searches for each keyword sequentially, instead of in parallel.

    There's probably a way to make it more async, but I don't really have the expertise to do so.

    see: https://github.com/mrjones2014/dash.nvim/blob/master/lua/dash/utils/telescope.lua#L43

    enhancement help wanted performance 
    opened by mrjones2014 4
  • Unable to update or install using packer.nvim

    Unable to update or install using packer.nvim

    Please find the backtrace for installing the plugin using packer.nvim

     ✗ Failed to install mrjones2014/dash.nvim
      Errors:
        Cloning into '/Users/praveen/.local/share/nvim/site/pack/packer/start/dash.nvim'...
        remote: Enumerating objects: 900, done.        
        remote: Counting objects:   0% (1/900)        
        remote: Counting objects:   1% (9/900)        
        remote: Counting objects:   2% (18/900)        
        remote: Counting objects:   3% (27/900)        
        remote: Counting objects:   4% (36/900)        
        remote: Counting objects:   5% (45/900)
        remote: Counting objects:   6% (54/900)        
    remote: Counting objects:   7% (63/900)        
    remote: Counting objects:   8% (72/900)        
    remote: Counting objects:   9% (81/900)        
    remote: Counting objects:  10% (90/900)        
    remote: Counting objects:  11% (99/900)        
    remote: Counting objects:  12% (108/900)        
    remote: Counting objects:  13% (117/900)        
    remote: Counting objects:  14% (126/900)        
    remote: Counting objects:  15% (135/900)        
    remote: Counting objects:  16% (144/900)        
    remote: Counting objects:  17% (153/900)        
    remote: Counting objects:  18% (162/900)        
    remote: Counting objects:  19% (171/900)        
    remote: Counting objects:  20% (180/900)        
    remote: Counting objects:  21% (189/900)        
    remote: Counting objects:  22% (198/900)        
    remote: Counting objects:  23% (207/900)        
    remote: Counting objects:  24% (216/900)        
    remote: Counting objects:  25% (225/900)        
    remote: Counting objects:  26% (234/900)        
    remote: Counting objects:  27% (243/900)        
    remote: Counting objects:  28% (252/900)        
    remote: Counting objects:  29% (261/900)        
    remote: Counting objects:  30% (270/900)        
    remote: Counting objects:  31% (279/900)        
    remote: Counting objects:  32% (288/900)        
    remote: Counting objects:  33% (297/900)        
    remote: Counting objects:  34% (306/900)        
    remote: Counting objects:  35% (315/900)        
    remote: Counting objects:  36% (324/900)        
    remote: Counting objects:  37% (333/900)        
    remote: Counting objects:  38% (342/900)        
    remote: Counting objects:  39% (351/900)        
    remote: Counting objects:  40% (360/900)        
    remote: Counting objects:  41% (369/900)        
    remote: Counting objects:  42% (378/900)        
    remote: Counting objects:  43% (387/900)        
    remote: Counting objects:  44% (396/900)        
    remote: Counting objects:  45% (405/900)        
    remote: Counting objects:  46% (414/900)        
    remote: Counting objects:  47% (423/900)        
    remote: Counting objects:  48% (432/900)        
    remote: Counting objects:  49% (441/900)        
    remote: Counting objects:  50% (450/900)        
    remote: Counting objects:  51% (459/900)        
    remote: Counting objects:  52% (468/900)        
    remote: Counting objects:  53% (477/900)        
    remote: Counting objects:  54% (486/900)        
    remote: Counting objects:  55% (495/900)        
    remote: Counting objects:  56% (504/900)        
    remote: Counting objects:  57% (513/900)        
    remote: Counting objects:  58% (522/900)        
    remote: Counting objects:  59% (531/900)        
    remote: Counting objects:  60% (540/900)        
    remote: Counting objects:  61% (549/900)        
    remote: Counting objects:  62% (558/900)        
    remote: Counting objects:  63% (567/900)        
    remote: Counting objects:  64% (576/900)        
    remote: Counting objects:  65% (585/900)        
    remote: Counting objects:  66% (594/900)
        remote: Counting objects:  67% (603/900)        
    remote: Counting objects:  68% (612/900)        
    remote: Counting objects:  69% (621/900)        
    remote: Counting objects:  70% (630/900)        
    remote: Counting objects:  71% (639/900)
        remote: Counting objects:  72% (648/900)        
        remote: Counting objects:  73% (657/900)        
        remote: Counting objects:  74% (666/900)        
        remote: Counting objects:  75% (675/900)        
        remote: Counting objects:  76% (684/900)        
        remote: Counting objects:  77% (693/900)        
        remote: Counting objects:  78% (702/900)        
        remote: Counting objects:  79% (711/900)        
        remote: Counting objects:  80% (720/900)        
        remote: Counting objects:  81% (729/900)        
        remote: Counting objects:  82% (738/900)        
        remote: Counting objects:  83% (747/900)        
        remote: Counting objects:  84% (756/900)        
        remote: Counting objects:  85% (765/900)        
        remote: Counting objects:  86% (774/900)        
        remote: Counting objects:  87% (783/900)        
        remote: Counting objects:  88% (792/900)        
        remote: Counting objects:  89% (801/900)        
        remote: Counting objects:  90% (810/900)        
        remote: Counting objects:  91% (819/900)        
        remote: Counting objects:  92% (828/900)        
        remote: Counting objects:  93% (837/900)        
        remote: Counting objects:  94% (846/900)        
        remote: Counting objects:  95% (855/900)        
        remote: Counting objects:  96% (864/900)        
        remote: Counting objects:  97% (873/900)        
        remote: Counting objects:  98% (882/900)        
        remote: Counting objects:  99% (891/900)        
        remote: Counting objects: 100% (900/900)        
        remote: Counting objects: 100% (900/900), done.        
        remote: Compressing objects:   0% (1/562)        
        remote: Compressing objects:   1% (6/562)        
        remote: Compressing objects:   2% (12/562)        
        remote: Compressing objects:   3% (17/562)        
        remote: Compressing objects:   4% (23/562)        
        remote: Compressing objects:   5% (29/562)        
        remote: Compressing objects:   6% (34/562)
        remote: Compressing objects:   7% (40/562)
        remote: Compressing objects:   7% (44/562)
        remote: Compressing objects:   8% (45/562)
        remote: Compressing objects:   9% (51/562)        
    remote: Compressing objects:  10% (57/562)        
    remote: Compressing objects:  11% (62/562)        
    remote: Compressing objects:  12% (68/562)
        remote: Compressing objects:  13% (74/562)        
    remote: Compressing objects:  14% (79/562)        
    remote: Compressing objects:  15% (85/562)        
    remote: Compressing objects:  16% (90/562)        
    remote: Compressing objects:  17% (96/562)
        remote: Compressing objects:  18% (102/562)        
    remote: Compressing objects:  19% (107/562)        
    remote: Compressing objects:  20% (113/562)
        remote: Compressing objects:  21% (119/562)        
    remote: Compressing objects:  22% (124/562)        
    remote: Compressing objects:  23% (130/562)        
    remote: Compressing objects:  24% (135/562)        
    remote: Compressing objects:  25% (141/562)        
    remote: Compressing objects:  26% (147/562)        
    remote: Compressing objects:  27% (152/562)
        remote: Compressing objects:  28% (158/562)        
    remote: Compressing objects:  29% (163/562)        
    remote: Compressing objects:  30% (169/562)        
    remote: Compressing objects:  31% (175/562)        
    remote: Compressing objects:  32% (180/562)        
    remote: Compressing objects:  33% (186/562)        
    remote: Compressing objects:  34% (192/562)        
    remote: Compressing objects:  35% (197/562)        
    remote: Compressing objects:  36% (203/562)        
    remote: Compressing objects:  37% (208/562)        
    remote: Compressing objects:  38% (214/562)        
    remote: Compressing objects:  39% (220/562)        
    remote: Compressing objects:  40% (225/562)        
    remote: Compressing objects:  41% (231/562)        
    remote: Compressing objects:  42% (237/562)        
    remote: Compressing objects:  43% (242/562)        
    remote: Compressing objects:  44% (248/562)        
    remote: Compressing objects:  45% (253/562)        
    remote: Compressing objects:  46% (259/562)        
    remote: Compressing objects:  47% (265/562)        
    remote: Compressing objects:  48% (270/562)        
    remote: Compressing objects:  49% (276/562)        
    remote: Compressing objects:  50% (281/562)        
    remote: Compressing objects:  51% (287/562)        
    remote: Compressing objects:  52% (293/562)
        remote: Compressing objects:  53% (298/562)        
    remote: Compressing objects:  54% (304/562)        
    remote: Compressing objects:  55% (310/562)        
    remote: Compressing objects:  56% (315/562)        
    remote: Compressing objects:  57% (321/562)        
    remote: Compressing objects:  58% (326/562)        
    remote: Compressing objects:  59% (332/562)        
    remote: Compressing objects:  60% (338/562)
        remote: Compressing objects:  61% (343/562)
        remote: Compressing objects:  62% (349/562)        
    remote: Compressing objects:  63% (355/562)        
    remote: Compressing objects:  64% (360/562)        
    remote: Compressing objects:  65% (366/562)        
    remote: Compressing objects:  66% (371/562)        
    remote: Compressing objects:  67% (377/562)        
    remote: Compressing objects:  68% (383/562)        
    remote: Compressing objects:  69% (388/562)        
    remote: Compressing objects:  70% (394/562)        
    remote: Compressing objects:  71% (400/562)        
    remote: Compressing objects:  72% (405/562)        
    remote: Compressing objects:  73% (411/562)        
    remote: Compressing objects:  74% (416/562)        
    remote: Compressing objects:  75% (422/562)        
    remote: Compressing objects:  76% (428/562)        
    remote: Compressing objects:  77% (433/562)        
    remote: Compressing objects:  78% (439/562)        
    remote: Compressing objects:  79% (444/562)        
    remote: Compressing objects:  80% (450/562)        
    remote: Compressing objects:  81% (456/562)        
    remote: Compressing objects:  82% (461/562)        
    remote: Compressing objects:  83% (467/562)        
    remote: Compressing objects:  84% (473/562)        
    remote: Compressing objects:  85% (478/562)        
    remote: Compressing objects:  86% (484/562)        
    remote: Compressing objects:  87% (489/562)        
    remote: Compressing objects:  88% (495/562)        
    remote: Compressing objects:  89% (501/562)        
    remote: Compressing objects:  90% (506/562)        
    remote: Compressing objects:  91% (512/562)        
    remote: Compressing objects:  92% (518/562)        
    remote: Compressing objects:  93% (523/562)        
    remote: Compressing objects:  94% (529/562)        
    remote: Compressing objects:  95% (534/562)
        remote: Compressing objects:  96% (540/562)
        remote: Compressing objects:  97% (546/562)        
    remote: Compressing objects:  98% (551/562)        
    remote: Compressing objects:  99% (557/562)        
    remote: Compressing objects: 100% (562/562)        
    remote: Compressing objects: 100% (562/562), done.
        Receiving objects:   0% (1/900)
    Receiving objects:   1% (9/900)
        Receiving objects:   2% (18/900)
        Receiving objects:   3% (27/900)
    Receiving objects:   4% (36/900)
        Receiving objects:   5% (45/900)
        Receiving objects:   6% (54/900)
    Receiving objects:   7% (63/900)
        Receiving objects:   8% (72/900)
        Receiving objects:   9% (81/900)
    Receiving objects:  10% (90/900)
    Receiving objects:  11% (99/900)
    Receiving objects:  12% (108/900)
        Receiving objects:  13% (117/900)
        Receiving objects:  14% (126/900)
    Receiving objects:  15% (135/900)
    Receiving objects:  16% (144/900)
    Receiving objects:  17% (153/900)
    Receiving objects:  18% (162/900)
    Receiving objects:  19% (171/900)
        Receiving objects:  20% (180/900)
        Receiving objects:  21% (189/900)
    Receiving objects:  22% (198/900)
    Receiving objects:  23% (207/900)
    Receiving objects:  24% (216/900)
    Receiving objects:  25% (225/900)
    Receiving objects:  26% (234/900)
        Receiving objects:  27% (243/900)
        Receiving objects:  28% (252/900)
    Receiving objects:  29% (261/900)
    Receiving objects:  30% (270/900)
    Receiving objects:  31% (279/900)
        Receiving objects:  32% (288/900)
        Receiving objects:  33% (297/900)
        Receiving objects:  34% (306/900)
        Receiving objects:  35% (315/900)
        Receiving objects:  36% (324/900)
        Receiving objects:  37% (333/900)
        Receiving objects:  38% (342/900)
        Receiving objects:  38% (350/900), 236.00 KiB | 167.00 KiB/s
        Receiving objects:  38% (350/900), 492.00 KiB | 198.00 KiB/s
        Receiving objects:  38% (350/900), 660.00 KiB | 187.00 KiB/s
        Receiving objects:  38% (350/900), 804.00 KiB | 199.00 KiB/s
        Receiving objects:  38% (350/900), 964.00 KiB | 187.00 KiB/s
        Receiving objects:  38% (350/900), 1.10 MiB | 185.00 KiB/s
        Receiving objects:  38% (350/900), 1.25 MiB | 165.00 KiB/s
        Receiving objects:  38% (350/900), 1.49 MiB | 179.00 KiB/s
        Receiving objects:  38% (350/900), 1.71 MiB | 184.00 KiB/s
        Receiving objects:  38% (350/900), 1.85 MiB | 181.00 KiB/s
        Receiving objects:  38% (350/900), 2.04 MiB | 189.00 KiB/s
        Receiving objects:  39% (351/900), 2.04 MiB | 189.00 KiB/s
        Receiving objects:  39% (351/900), 2.26 MiB | 194.00 KiB/s
        Receiving objects:  39% (351/900), 2.52 MiB | 205.00 KiB/s
        Receiving objects:  39% (351/900), 2.74 MiB | 206.00 KiB/s
        Receiving objects:  39% (351/900), 2.83 MiB | 217.00 KiB/s
        Receiving objects:  39% (351/900), 2.96 MiB | 200.00 KiB/s
        Receiving objects:  39% (351/900), 3.12 MiB | 184.00 KiB/s
        Receiving objects:  39% (351/900), 3.29 MiB | 164.00 KiB/s
        Receiving objects:  39% (351/900), 3.50 MiB | 155.00 KiB/s
        Receiving objects:  39% (351/900), 3.50 MiB | 129.00 KiB/s
        Receiving objects:  39% (351/900), 3.70 MiB | 140.00 KiB/s
        Receiving objects:  39% (351/900), 3.96 MiB | 162.00 KiB/s
        Receiving objects:  39% (351/900), 4.13 MiB | 163.00 KiB/s
        Receiving objects:  39% (351/900), 4.21 MiB | 158.00 KiB/s
        Receiving objects:  39% (351/900), 4.39 MiB | 189.00 KiB/s
        Receiving objects:  39% (351/900), 4.62 MiB | 200.00 KiB/s
        Receiving objects:  39% (351/900), 4.80 MiB | 176.00 KiB/s
        Receiving objects:  39% (351/900), 4.92 MiB | 170.00 KiB/s
        Receiving objects:  39% (351/900), 5.13 MiB | 180.00 KiB/s
        Receiving objects:  39% (351/900), 5.31 MiB | 177.00 KiB/s
        Receiving objects:  39% (351/900), 5.46 MiB | 162.00 KiB/s
        Receiving objects:  39% (351/900), 5.63 MiB | 164.00 KiB/s
        Receiving objects:  39% (351/900), 5.71 MiB | 170.00 KiB/s
        Receiving objects:  39% (351/900), 5.95 MiB | 176.00 KiB/s
        Receiving objects:  39% (351/900), 6.09 MiB | 165.00 KiB/s
        Receiving objects:  39% (351/900), 6.29 MiB | 177.00 KiB/s
        Receiving objects:  39% (351/900), 6.47 MiB | 180.00 KiB/s
        Receiving objects:  39% (351/900), 6.67 MiB | 170.00 KiB/s
        Receiving objects:  39% (351/900), 6.76 MiB | 168.00 KiB/s
        Receiving objects:  39% (351/900), 6.90 MiB | 167.00 KiB/s
        Receiving objects:  39% (351/900), 7.11 MiB | 167.00 KiB/s
        Receiving objects:  39% (351/900), 7.32 MiB | 173.00 KiB/s
        Receiving objects:  39% (351/900), 7.54 MiB | 182.00 KiB/s
        Receiving objects:  39% (351/900), 7.79 MiB | 201.00 KiB/s
        Receiving objects:  39% (351/900), 8.01 MiB | 221.00 KiB/s
        Receiving objects:  39% (351/900), 8.22 MiB | 222.00 KiB/s
        Receiving objects:  39% (351/900), 8.32 MiB | 217.00 KiB/s
        Receiving objects:  39% (351/900), 8.50 MiB | 209.00 KiB/s
        Receiving objects:  39% (351/900), 8.71 MiB | 199.00 KiB/s
        Receiving objects:  39% (351/900), 8.92 MiB | 197.00 KiB/s
        Receiving objects:  39% (351/900), 9.06 MiB | 181.00 KiB/s
        Receiving objects:  39% (351/900), 9.39 MiB | 212.00 KiB/s
        Receiving objects:  39% (351/900), 9.61 MiB | 215.00 KiB/s
        Receiving objects:  39% (351/900), 9.68 MiB | 186.00 KiB/s
        Receiving objects:  39% (351/900), 9.87 MiB | 183.00 KiB/s
        Receiving objects:  39% (351/900), 10.01 MiB | 184.00 KiB/s
        Receiving objects:  39% (351/900), 10.11 MiB | 168.00 KiB/s
    
     Press 'q' to quit
     Press '<CR>' to show more info
     Press 'd' to show the diff
     Press 'r' to revert an update
     Press 'R' to retry failed operations
    
    opened by praveendhawan 3
  • Error: Killing git due to timeout!

    Error: Killing git due to timeout!

    When running :PackerSync, after a while I see:

    [packer.nvim] [WARN  12:06:00] jobs.lua:87: Killing git due to timeout!
    

    NOTE: I recently switched my config over from VimScript to Lua and that's when I noticed this issue (it downloaded fine using vim-plug, but now with Lua I'm using Packer). I tried to configure packer to have no clone timeout but I still found it timing out.

    It tries for a while to download, but always fails before it completes (usually times out around 70'ish % mark) Screenshot 2022-07-08 at 12 05 20

    opened by Integralist 1
  • Refactor in ibhagwan/fzf-lua main branch does not work with current plugin

    Refactor in ibhagwan/fzf-lua main branch does not work with current plugin

    The refactor in https://github.com/ibhagwan/fzf-lua/commit/817df87a8ebd2137aa42c2fa370e33b980e313dc has broken the plugin when using main.

    Error detected while processing function <SNR>160_dash_nvim_search:                                                                                                                                                                                                                                    
    line    4:                                                                                                                                                                                                                                                                                             
    E5108: Error executing lua ...en/.vim/plugged/dash.nvim/lua/dash/providers/fzf-lua.lua:67: attempt to call field 'set_fzf_interactive_cb' (a nil value)                                                                                                                                                
    stack traceback:                                                                                                                                                                                                                                                                                       
            ...en/.vim/plugged/dash.nvim/lua/dash/providers/fzf-lua.lua:67: in function 'search'                                                                                                                                                                                                           
            [string "luaeval()"]:1: in main chunk 
    

    Workaround:

            Plug 'ibhagwan/fzf-lua', {'commit': '341f0641ea4b0bd1cb798d7138f1a84c90848b02'}
            Plug 'mrjones2014/dash.nvim', { 'do': 'make install' }
    
    help wanted result-provider 
    opened by oeuftete 2
  • Add a system to inform users of breaking changes

    Add a system to inform users of breaking changes

    An example: https://github.com/nvim-lualine/lualine.nvim/blob/master/lua/lualine/utils/notices.lua

    Maybe just show a message via vim.api.nvim_err_writeln when there are breaking changes, and inform the user to run a (new) command like :DashNotices that will show any new breaking changes.

    documentation enhancement help wanted 
    opened by mrjones2014 1
  • More intelligent `:DashWord` using LSP or TreeSitter

    More intelligent `:DashWord` using LSP or TreeSitter

    Original request from #26

    my dream feature would be to use the LSP and/or Treesitter to lookup the docs for the method on the correct object type. In other words, var_that_is_a_tempfile.[o]pen (with the cursor on the o) would open the docs for specifically Tempfile.open.

    I'm not sure how we'd implement this but I think it might be possible via LSP info or TreeSitter.

    enhancement help wanted 
    opened by mrjones2014 0
Releases(v0.10.0)
  • v0.10.0(Mar 3, 2022)

    What's Changed

    • chore: generated vimdoc by @github-actions in https://github.com/mrjones2014/dash.nvim/pull/134
    • Plugin now downloads binaries from GitHub Release instead of being stored in repo (diff)
      • Note that the diff doesn't show binaries as removed since they were purged from git history entirely to reduce repo download size

    Full Changelog: https://github.com/mrjones2014/dash.nvim/commits/v0.10.0

    Source code(tar.gz)
    Source code(zip)
    arm.zip(14.62 MB)
    x86.zip(15.15 MB)
  • v0.9.2(Dec 11, 2021)

    What's Changed

    • update build scripts to offer host architecture detection build by @mrjones2014 in https://github.com/mrjones2014/dash.nvim/pull/126
    • chore: generated vimdoc by @github-actions in https://github.com/mrjones2014/dash.nvim/pull/127

    Full Changelog: https://github.com/mrjones2014/dash.nvim/compare/v0.9.1...v0.9.2

    Source code(tar.gz)
    Source code(zip)
    arm.zip(14.62 MB)
    x86.zip(15.15 MB)
  • v0.9.1(Dec 3, 2021)

    What's Changed

    • Add 'css' to default keywords list for CSS preprocessors like Sass, Less, Stylus by @mrjones2014 in https://github.com/mrjones2014/dash.nvim/pull/123

    Full Changelog: https://github.com/mrjones2014/dash.nvim/compare/v0.9.0...v0.9.1

    Source code(tar.gz)
    Source code(zip)
  • v0.9.0(Nov 20, 2021)

    What's Changed

    • Refactor Rust backend with more correct and idiomatic Rust code for improved stability by @mrjones2014 in https://github.com/mrjones2014/dash.nvim/pull/119
    • chore: generated vimdoc by @github-actions in https://github.com/mrjones2014/dash.nvim/pull/120

    Full Changelog: https://github.com/mrjones2014/dash.nvim/compare/v0.8.1...v0.9.0

    Source code(tar.gz)
    Source code(zip)
  • v0.8.1(Nov 7, 2021)

    What's Changed

    • Add dev-only command to reload dash and dependencies by @mrjones2014 in https://github.com/mrjones2014/dash.nvim/pull/113
    • chore: generated vimdoc by @github-actions in https://github.com/mrjones2014/dash.nvim/pull/114
    • Fix user config not being applied by @mrjones2014 in https://github.com/mrjones2014/dash.nvim/pull/116

    Full Changelog: https://github.com/mrjones2014/dash.nvim/compare/v0.8.0...v0.8.1

    Source code(tar.gz)
    Source code(zip)
  • v0.8.0(Nov 1, 2021)

    What's Changed

    • Add support for snap (fuzzy finder plugin) by @mrjones2014 in https://github.com/mrjones2014/dash.nvim/pull/110
    • chore: generated vimdoc by @github-actions in https://github.com/mrjones2014/dash.nvim/pull/111

    Full Changelog: https://github.com/mrjones2014/dash.nvim/compare/v0.7.2...v0.8.0

    Source code(tar.gz)
    Source code(zip)
  • v0.7.2(Nov 1, 2021)

    What's Changed

    • Implement improvements suggested by author of fzf-lua by @mrjones2014 in https://github.com/mrjones2014/dash.nvim/pull/102
    • Remove ftdetect, it shouldn't be a concern of this plugin by @mrjones2014 in https://github.com/mrjones2014/dash.nvim/pull/107
    • Rebuild backend with Rust 1.56.1 by @mrjones2014 in https://github.com/mrjones2014/dash.nvim/pull/109

    Full Changelog: https://github.com/mrjones2014/dash.nvim/compare/v0.7.1...v0.7.2

    Source code(tar.gz)
    Source code(zip)
  • v0.7.1(Oct 31, 2021)

    What's Changed

    • Update healthcheck to reflect new fzf-lua support by @mrjones2014 in https://github.com/mrjones2014/dash.nvim/pull/100

    Full Changelog: https://github.com/mrjones2014/dash.nvim/compare/v0.7.0...v0.7.1

    Source code(tar.gz)
    Source code(zip)
  • v0.7.0(Oct 31, 2021)

    What's Changed

    • Add support for fzf-lua by @mrjones2014 in https://github.com/mrjones2014/dash.nvim/pull/97
    • chore: generated vimdoc by @github-actions in https://github.com/mrjones2014/dash.nvim/pull/98

    Full Changelog: https://github.com/mrjones2014/dash.nvim/compare/v0.6.2...v0.7.0

    Source code(tar.gz)
    Source code(zip)
  • v0.6.2(Oct 30, 2021)

    What's Changed

    • chore: generated vimdoc by @github-actions in https://github.com/mrjones2014/dash.nvim/pull/95

    Full Changelog: https://github.com/mrjones2014/dash.nvim/compare/v0.6.1...v0.6.2

    Source code(tar.gz)
    Source code(zip)
  • v0.6.1(Oct 30, 2021)

    What's Changed

    • Add additional test for query_builder method by @mrjones2014 in https://github.com/mrjones2014/dash.nvim/pull/93
    • chore: generated vimdoc by @github-actions in https://github.com/mrjones2014/dash.nvim/pull/94

    Full Changelog: https://github.com/mrjones2014/dash.nvim/compare/v0.6.0...v0.6.1

    Source code(tar.gz)
    Source code(zip)
  • v0.6.0(Oct 30, 2021)

    What's Changed

    • Move configuration into Rust backend by @mrjones2014 in https://github.com/mrjones2014/dash.nvim/pull/90
    • chore: generated vimdoc by @github-actions in https://github.com/mrjones2014/dash.nvim/pull/91

    Full Changelog: https://github.com/mrjones2014/dash.nvim/compare/v0.5.6...v0.6.0

    Source code(tar.gz)
    Source code(zip)
  • v0.5.6(Oct 29, 2021)

    What's Changed

    • Add tests for query_builder by @mrjones2014 in https://github.com/mrjones2014/dash.nvim/pull/87
    • chore: generated vimdoc by @github-actions in https://github.com/mrjones2014/dash.nvim/pull/88

    Full Changelog: https://github.com/mrjones2014/dash.nvim/compare/v0.5.5...v0.5.6

    Source code(tar.gz)
    Source code(zip)
  • v0.5.5(Oct 29, 2021)

    What's Changed

    • Fix opening selected item by @mrjones2014 in https://github.com/mrjones2014/dash.nvim/pull/86

    Full Changelog: https://github.com/mrjones2014/dash.nvim/compare/v0.5.4...v0.5.5

    Source code(tar.gz)
    Source code(zip)
  • v0.5.4(Oct 29, 2021)

    What's Changed

    • Remove print calls and commented code by @mrjones2014 in https://github.com/mrjones2014/dash.nvim/pull/84

    Full Changelog: https://github.com/mrjones2014/dash.nvim/compare/v0.5.3...v0.5.4

    Source code(tar.gz)
    Source code(zip)
  • v0.5.3(Oct 29, 2021)

    What's Changed

    • chore: generated vimdoc by @github-actions in https://github.com/mrjones2014/dash.nvim/pull/82

    Full Changelog: https://github.com/mrjones2014/dash.nvim/compare/v0.5.2...v0.5.3

    Source code(tar.gz)
    Source code(zip)
  • v0.5.2(Oct 29, 2021)

    What's Changed

    • Move query building into the Rust backend to simplify the API by @mrjones2014 in https://github.com/mrjones2014/dash.nvim/pull/80
    • chore: generated vimdoc by @github-actions in https://github.com/mrjones2014/dash.nvim/pull/81

    Full Changelog: https://github.com/mrjones2014/dash.nvim/compare/v0.5.1...v0.5.2

    Source code(tar.gz)
    Source code(zip)
  • v0.5.1(Oct 28, 2021)

    What's Changed

    • Update API docs by @mrjones2014 in https://github.com/mrjones2014/dash.nvim/pull/77
    • chore: generated vimdoc by @github-actions in https://github.com/mrjones2014/dash.nvim/pull/78

    Full Changelog: https://github.com/mrjones2014/dash.nvim/compare/v0.5.0...v0.5.1

    Source code(tar.gz)
    Source code(zip)
  • v0.5.0(Oct 28, 2021)

    What's Changed

    • Implement search engine fallback when Dash returns no results by @mrjones2014 in https://github.com/mrjones2014/dash.nvim/pull/74
    • chore: generated vimdoc by @github-actions in https://github.com/mrjones2014/dash.nvim/pull/75

    Full Changelog: https://github.com/mrjones2014/dash.nvim/compare/v0.4.6...v0.5.0

    Source code(tar.gz)
    Source code(zip)
  • v0.4.6(Oct 27, 2021)

    What's Changed

    • chore: generated vimdoc by @github-actions in https://github.com/mrjones2014/dash.nvim/pull/62
    • Add startup initialization check for proper installation by @mrjones2014 in https://github.com/mrjones2014/dash.nvim/pull/64
    • chore: generated vimdoc by @github-actions in https://github.com/mrjones2014/dash.nvim/pull/65
    • use print instead of vim.api.nvim_err_writeln to prevent plugin from failing to install via plugin managers by @mrjones2014 in https://github.com/mrjones2014/dash.nvim/pull/70
    • Update packer install instructions to disable when not on macOS by @knpwrs in https://github.com/mrjones2014/dash.nvim/pull/71
    • chore: generated vimdoc by @github-actions in https://github.com/mrjones2014/dash.nvim/pull/72
    • Fix results failing to appear due to &rsquo; characters by @mrjones2014 in https://github.com/mrjones2014/dash.nvim/pull/73

    New Contributors

    • @knpwrs made their first contribution in https://github.com/mrjones2014/dash.nvim/pull/71

    Full Changelog: https://github.com/mrjones2014/dash.nvim/compare/v0.4.5...v0.4.6

    Source code(tar.gz)
    Source code(zip)
  • v0.4.5(Oct 24, 2021)

    What's Changed

    • Remove unused utils and push more code into the Rust backend by @mrjones2014 in https://github.com/mrjones2014/dash.nvim/pull/61

    Full Changelog: https://github.com/mrjones2014/dash.nvim/compare/v0.4.4...v0.4.5

    Source code(tar.gz)
    Source code(zip)
  • v0.4.4(Oct 22, 2021)

    What's Changed

    • chore: generated vimdoc by @github-actions in https://github.com/mrjones2014/dash.nvim/pull/58

    Full Changelog: https://github.com/mrjones2014/dash.nvim/compare/v0.4.3...v0.4.4

    Source code(tar.gz)
    Source code(zip)
  • v0.4.3(Oct 22, 2021)

    What's Changed

    • chore: generated vimdoc by @github-actions in https://github.com/mrjones2014/dash.nvim/pull/57

    Full Changelog: https://github.com/mrjones2014/dash.nvim/compare/v0.4.2...v0.4.3

    Source code(tar.gz)
    Source code(zip)
  • v0.4.2(Oct 22, 2021)

    What's Changed

    • add a test that we can require the libdash_nvim module by @mrjones2014 in https://github.com/mrjones2014/dash.nvim/pull/54
    • Consolidate constants files and remove now-unneeded debounce by @mrjones2014 in https://github.com/mrjones2014/dash.nvim/pull/56

    Full Changelog: https://github.com/mrjones2014/dash.nvim/compare/v0.4.1...v0.4.2

    Source code(tar.gz)
    Source code(zip)
  • v0.4.1(Oct 22, 2021)

    What's Changed

    • chore: generated vimdoc by @github-actions in https://github.com/mrjones2014/dash.nvim/pull/52

    Full Changelog: https://github.com/mrjones2014/dash.nvim/compare/v0.4.0...v0.4.1

    Source code(tar.gz)
    Source code(zip)
  • v0.4.0(Oct 22, 2021)

    What's Changed

    • Expose Rust backend directly as a Lua API by @mrjones2014 in https://github.com/mrjones2014/dash.nvim/pull/51

    Full Changelog: https://github.com/mrjones2014/dash.nvim/compare/v0.3.0...v0.4.0

    Source code(tar.gz)
    Source code(zip)
  • v0.3.0(Oct 22, 2021)

    What's Changed

    • Autogenerate docs/dash.txt from GitHub Actions by @mrjones2014 in https://github.com/mrjones2014/dash.nvim/pull/42
    • Initialize doc/dash.txt by @mrjones2014 in https://github.com/mrjones2014/dash.nvim/pull/44
    • chore: generated vimdoc by @github-actions in https://github.com/mrjones2014/dash.nvim/pull/50

    Full Changelog: https://github.com/mrjones2014/dash.nvim/compare/v0.2.2...v0.3.0

    Source code(tar.gz)
    Source code(zip)
  • v0.2.2(Oct 17, 2021)

    What's Changed

    • Add --pretty-print option to Rust backend for debugging purposes by @mrjones2014 in https://github.com/mrjones2014/dash.nvim/pull/34
    • Update documentation on Rust backend by @mrjones2014 in https://github.com/mrjones2014/dash.nvim/pull/36
    • fdetect/handlebars.vim update by @XoMute in https://github.com/mrjones2014/dash.nvim/pull/40

    New Contributors

    • @XoMute made their first contribution in https://github.com/mrjones2014/dash.nvim/pull/40

    Full Changelog: https://github.com/mrjones2014/dash.nvim/compare/v0.2.1...v0.2.2

    Source code(tar.gz)
    Source code(zip)
  • v0.2.1(Oct 12, 2021)

    What's Changed

    • Fix :DashWord command by passing expand('') by @mrjones2014 in https://github.com/mrjones2014/dash.nvim/pull/32

    Full Changelog: https://github.com/mrjones2014/dash.nvim/compare/v0.2.0...v0.2.1

    Source code(tar.gz)
    Source code(zip)
  • v0.2.0(Oct 12, 2021)

    What's Changed

    • Allow passing query directly to the :Dash command by @mrjones2014 in https://github.com/mrjones2014/dash.nvim/pull/28
    • Add docs on using the Rust backend directly by @mrjones2014 in https://github.com/mrjones2014/dash.nvim/pull/30

    Full Changelog: https://github.com/mrjones2014/dash.nvim/compare/v0.1.1...v0.2.0

    Source code(tar.gz)
    Source code(zip)
Owner
Mat Jones
Software engineer, home lab hobbyist, passionate about online privacy and security. Huge Neovim nerd.
Mat Jones
fas stand for Find all stuff and it's a go app that simplify the find command and allow you to easily search everything you nedd

fas fas stands for Find all stuff and it's a rust app that simplify the find command and allow you to easily search everything you need. Note: current

M4jrT0m 1 Dec 24, 2021
Neovim plugin for moving lines up and down, written in Rust

Moveline.nvim Moveline is a simple plugin for moving lines up and down. It's written in Rust using my library nvim-utils. Installation Moveline can be

Will Hopkins 34 Mar 18, 2023
nvim-oxi provides safe and idiomatic Rust bindings to the rich API exposed by the Neovim text editor.

?? nvim-oxi nvim-oxi provides safe and idiomatic Rust bindings to the rich API exposed by the Neovim text editor. The project is mostly intended for p

Riccardo Mazzarini 655 Jul 13, 2023
Failed experiment in downloading random cat image, turning it into ascii and displaying it in Neovim.

cat.nvim Failed experiment in downloading random cat image, turning it into ascii and displaying it in Neovim. Failed as I realized far too late, that

James Vero 4 Aug 5, 2022
WIP. Goals: Treesitter highlighting, snippets, and a smooth intergration with neovim.

typst.nvim WIP. Goals: Tree-sitter highlighting, snippets, and a smooth integration with neovim. For the past week, I've been thinking what I want for

SeniorMars 66 Apr 9, 2023
A dark and light Neovim theme written in fennel, inspired by IBM Carbon.

oxocarbon.nvim Note: The old rust version can be found on the rust branch of this repository Oxocarbon is looking for ports! If you're a user of anoth

Nyoom Engineering 690 Jun 29, 2023
Neovide - No Nonsense Neovim Client in Rust

Neovide This is a simple graphical user interface for Neovim (an aggressively refactored and updated Vim editor). Where possible there are some graphi

Neovide 9.3k Jan 5, 2023
A CLI to easily switch between multiple Neovim configuration environments, written in Rust

Neovim Configuration Switcher Neovim Configuration Switcher (short nvims) is a CLI to easily switch between multiple Neovim configuration environments

Nhan Pham 3 Mar 30, 2024
An async autocompletion framework for Neovim

⚡ nvim-compleet This plugin is still in early development. ?? Table of Contents Installation Features Configuration Sources Commands Mappings Colors R

Riccardo Mazzarini 520 Dec 25, 2022
Xcode Neovim Replacement-ish.

An XCode replacement-ish development environment that aims to be your reliable XCode alternative to develop exciting new [apple] software products ??

null 272 Dec 30, 2022
Neovim Configuration Manager (Swap/Backup/Try Configurations Easily)

ncm-rs Neovim Configuration Manager (Swap/Backup/Try Configurations Easily) I created this package because I wanted to try out Lazyvim (which is why i

instance.id 4 Mar 5, 2023
this-week-in-neovim.org official webapp repository

This Week In Neovim This repository holds the source code of https://this-week-in-neovim.org. Architecture How does it run in production Automatic upd

Dimitri Sabadie 189 Jun 23, 2023
A todo list app that indexes your app to find TODO:'s

forgot A todo list app that indexes your app to find TODO:'s Usage to list all your todos forgot list list all your todos ignoring search in ./target,

null 2 Oct 6, 2022
Like Lua, but in Rust, and different

AirScript It's like Lua, but in Rust, and different. Introduction AirScript is a dynamically typed, interpreted language inspired by Lua and written i

David Delassus 5 Jun 28, 2022
Navigating around TUM with excellence – An API and website to search for rooms, buildings and other places

NavigaTUM NavigaTUM is a non-official tool developed by students for students, that aims to help you get around at TUM. Feel free to contribute. Featu

TUM Developers 21 Dec 22, 2022
CLI search and replace | Space Age seD

SAD! Space Age seD What does it do? Basically sad is a Batch File Edit tool. It will show you a really nice diff of proposed changes before you commit

i love my dog 986 Dec 29, 2022
A small unix and windows lib to search for executables in PATH folders.

A small unix and windows lib to search for executables in path folders.

Robiot 2 Dec 25, 2021
Workflows make it easy to browse, search, execute and share commands (or a series of commands)--without needing to leave your terminal.

Workflows The repo for all public Workflows that appear within Warp and within commands.dev. To learn how to create local or repository workflows, see

Warp 369 Jan 2, 2023
Workflows make it easy to browse, search, execute and share commands (or a series of commands)--without needing to leave your terminal.

Workflows The repo for all public Workflows that appear within Warp and within commands.dev. To learn how to create local or repository workflows, see

Warp 227 Jun 1, 2022