summaryrefslogtreecommitdiff
path: root/z
blob: 408282804b1cb11327f11f65bd41b6fb9d7c7b26 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/usr/bin/env bash
# TODO:
#  -- browse tags:
#     --bind "ctrl-t:unbind(change)+enable-search+preview[echo 'match: {}']+reload[rg --no-filename --only-matching '(^|\B)#\w+' | sort | uniq]" \
#  - vim function to follow wiki links
#  - search both title and content
set -euo pipefail
notesdir=${NOTES:-~/notes/notes}
cd "$notesdir"
RG="rg --ignore-case --files-with-matches"
RG_VIEW="rg --no-line-number --color=always --ignore-case --pretty --context 5"
EDITOR="vim --cmd 'set wrap'"
DATEFMT="+%Y.%-m.%-d"
fzf \
  --ansi \
  --disabled \
  --header="alt+: 0=view 1=search 2=tags 3=outline 4=backlinks" \
  --header-first \
  --delimiter : \
  --with-nth 1 \
  --bind "ctrl-/:change-preview-window(90%|down|hidden|)" \
  --bind "change:reload:$RG {q} || true" \
  --bind "enter:execute($EDITOR {})" \
  --bind "alt-enter:execute($EDITOR {q}.md)" \
  --bind "ctrl-space:execute($EDITOR $(z-edit-daily))" \
  --bind "ctrl-r:replace-query" \
  --bind "ctrl-t:unbind(change,alt-enter)+change-prompt(title> )+enable-search+clear-query" \
  --bind "pgdn:preview-page-down" \
  --bind "pgup:preview-page-up" \
  --bind "alt-0:preview:bat -p --color always {}" \
  --bind "alt-1:preview($RG_VIEW {q} {})" \
  --bind "alt-2:preview:rg --only-matching '(^|\B)#\w+' {}" \
  --bind "alt-3:preview:rg --only-matching '^[#]+ .*$' {}" \
  --bind "alt-4:reload:rg -lF \$(tr -d '.md' <<< {+}) || true" \
  --preview "$RG_VIEW {q} {}"