aboutsummaryrefslogtreecommitdiff
path: root/wiki-search
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-05-10 22:57:02 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-05-10 22:57:02 +0200
commit3cd9138c9d8fb9be248c75330cca9da47f4d2e8a (patch)
treeb3b677a9c1a474589f45d20953028a987fa73b80 /wiki-search
parent83f7fe4b8402bab171d110703a1b1115efbc9b28 (diff)
downloadbin-3cd9138c9d8fb9be248c75330cca9da47f4d2e8a.tar.gz
bin-3cd9138c9d8fb9be248c75330cca9da47f4d2e8a.zip
added a whole bunch of scripts
Diffstat (limited to 'wiki-search')
-rwxr-xr-xwiki-search26
1 files changed, 26 insertions, 0 deletions
diff --git a/wiki-search b/wiki-search
new file mode 100755
index 0000000..15ee443
--- /dev/null
+++ b/wiki-search
@@ -0,0 +1,26 @@
+#!/usr/bin/env bash
+# Live ripgrep through vimwiki, live preview, open match in vim at the line.
+set -euo pipefail
+
+wiki="${VIMWIKI_DIR:-$HOME/docs/vimwiki}"
+[[ -d $wiki ]] || { echo "wiki dir not found: $wiki" >&2; exit 1; }
+cd "$wiki"
+
+rg_cmd='rg --color=always --line-number --no-heading --smart-case --glob "*.md"'
+
+selection=$(
+ fzf --ansi --disabled \
+ --delimiter=':' \
+ --bind="start:reload:$rg_cmd -- ''" \
+ --bind="change:reload:$rg_cmd -- {q} || true" \
+ --bind='ctrl-/:change-preview-window(hidden|right,60%,+{2}/2)' \
+ --preview='batcat --color=always --style=numbers --highlight-line={2} -- {1} 2>/dev/null' \
+ --preview-window='right,60%,+{2}/2' \
+ --header='Type to search · Enter opens at line · Ctrl-/ toggles preview'
+) || exit 0
+[[ -z $selection ]] && exit 0
+
+file=$(printf '%s' "$selection" | cut -d: -f1)
+line=$(printf '%s' "$selection" | cut -d: -f2)
+
+exec vim "+$line" "$file"