From 3cdd2f186c302f2f6c9e63cf035e4f51a434a97b Mon Sep 17 00:00:00 2001 From: historia <[not public]> Date: Mon, 15 Jun 2026 21:15:19 -0400 Subject: refactor: rewrote shell in lua. removed dependencies. --- README.md | 49 +++++++++++++++++-------------------------------- 1 file changed, 17 insertions(+), 32 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 033ce5a..5464462 100644 --- a/README.md +++ b/README.md @@ -16,22 +16,18 @@ Example config via [lazy.nvim](https://github.com/folke/lazy.nvim) { "https://codeberg.org/historia/denote-fzf-lua", opts = { - dir = "~/notes", -- Denote notes directory + dir = "~/notes", - -- Toggle which Denote fields are displayed in search search_fields = { - path = false, - date = true, - time = false, - sig = false, - title = true, - keywords = true, - ext = false, + path = false, + date = true, + time = false, + sig = false, + title = true, + keywords = true, + ext = false, }, - -- OPTIONAL: - -- fzf-lua plugin options. Check fzf-lua docs for full details. - -- Use this to set custom window and fzf options (and more) fzf_lua_opts = { winopts = { height = 0.85, @@ -39,18 +35,16 @@ Example config via [lazy.nvim](https://github.com/folke/lazy.nvim) row = 0.35, col = 0.50, preview = { - layout = 'vertical', -- vertical, horizontal, or flex - vertical = 'down:45%', -- Alt: horizontal = 'right:50%' + layout = 'vertical', + vertical = 'down:45%', }, }, - -- Options sent to fzf. If you don't include these, it will be - -- set to the defaults below (which look like the screenshot) fzf_opts = { - ['--reverse'] = true, - ['--no-info'] = true, + ['--reverse'] = true, + ['--no-info'] = true, ['--no-separator'] = true, - ['--no-hscroll'] = true, - ['-i'] = true, + ['--no-hscroll'] = true, + ['-i'] = true, }, }, }, @@ -61,24 +55,15 @@ Example config via [lazy.nvim](https://github.com/folke/lazy.nvim) * [`ibhagwan/fzf-lua`](https://github.com/ibhagwan/fzf-lua) - Neovim plugin * `fzf` - Fuzzy finder -* (OPTIONAL) `fd` - Fast `find` replacement -* (OPTIONAL) `sd` - Fast `sed` replacement -* (OPTIONAL) [`qsv`](https://github.com/jqnatividad/qsv)- Fast `column` replacement * (OPTIONAL) `bat` - Nicer preview than `cat` * (OPTIONAL) `ripgrep` - Required to search note contents ``` -Arch Linux: sudo pacman -S fzf ripgrep fd sd bat - yay -S qsv-bin - -Debian: sudo apt install fzf ripgrep fd-find sd bat - export PATH=/usr/lib/cargo/bin/:$PATH (to add `fd` to path) - Install qsv from Github +Arch Linux: sudo pacman -S fzf ripgrep bat +Debian: sudo apt install fzf ripgrep bat ``` -If the optional dependencies are missing `denote-fzf-lua` falls back to standard Unix tools. The Rust tools are 2-3x faster. On my PC this is a difference of 0.1s vs 0.2s for 10k notes, or 0.6s vs 1.9s for 100k notes. - -`qsv` is used over the smaller, more ubiquitous `xsv` because it can table format very large inputs (e.g. 100k notes) without errors. +All file parsing and table formatting is done in pure Lua, so the only runtime dependency beyond `fzf-lua` is `fzf` itself. # :DenoteSearch command -- cgit v1.2.3