Better integration with FZF

This commit is contained in:
Konstantin Nazarov 2024-11-18 02:37:24 +00:00
parent 230a1b717a
commit 8e1d3e017c
Signed by: knazarov
GPG key ID: 4CFE0A42FA409C22
2 changed files with 26 additions and 10 deletions

View file

@ -28,25 +28,26 @@ this version uses plain directories.
Then add the following aliases to your `~/.bashrc`: Then add the following aliases to your `~/.bashrc`:
```bash ```bash
# Type "nn" to create a new note # Type "ne" to look up and edit an existing note, or create a new one
alias nn="notes.sh -n" alias ne="notes.sh -l | fzf --tac --with-nth=\"2..-1\" --preview \"notes.sh -p {}\" --print-query --bind 'alt-enter:print-query' | xargs -o -d \"\n\" -n 2 notes.sh -f"
# Type "ne" to look up and edit an existing note
alias ne="notes.sh -l | fzf --tac --with-nth=\"2..-1\" --preview \"notes.sh -p {}\" | xargs -o notes.sh -e"
``` ```
To add a new note: To add a new note:
```bash ```bash
nn This is my new note ne
``` ```
And then continue typing the note name and press Alt-Enter to create a new one.
To open a previously created note: To open a previously created note:
```bash ```bash
ne ne
``` ```
Then select a note you want to open and press Enter.
## License ## License
Distributed under the terms of the BSD License Distributed under the terms of the BSD License

View file

@ -163,9 +163,21 @@ export_note() {
fi fi
} }
fzf_entry() {
NAME="$1"
ID="$(echo "$2" | cut -d " " -f 1)"
if [ -z "$ID" ]; then
if [ ! -z "$NAME" ]; then
new_entry "$NAME"
fi
else
edit_entry "$ID"
fi
}
usage() { usage() {
echo "$0 {--new,--list,--edit,--help}" echo "$0 {--new,--list,--edit,--fzf,--help}"
} }
while (( "$#" )); do while (( "$#" )); do
@ -181,12 +193,15 @@ while (( "$#" )); do
;; ;;
-e|--edit) -e|--edit)
if [ -z "$2" ]; then if [ -z "$2" ]; then
echo "Misssing argument for $1" exit 0
exit 1
fi fi
edit_entry "$2" edit_entry "$2"
exit 0 exit 0
;; ;;
-f|--fzf)
fzf_entry "$2" "$3"
exit 0
;;
-E|--export) -E|--export)
if [ -z "$2" ]; then if [ -z "$2" ]; then
echo "Misssing arguments for $1" echo "Misssing arguments for $1"
@ -201,7 +216,7 @@ while (( "$#" )); do
exit 1 exit 1
fi fi
NOTE_ID="$(echo $2 | cut -d " " -f 1)" NOTE_ID="$(echo $2 | cut -d " " -f 1)"
export_note "$NOTE_ID" "" export_note "$NOTE_ID" "" | fmt -w "$FZF_PREVIEW_COLUMNS"
exit 0 exit 0
;; ;;
-g|--graph) -g|--graph)