|
@@ -92,6 +92,19 @@ shift $((OPTIND-1))
|
|
|
|
|
|
validate "$@"
|
|
validate "$@"
|
|
|
|
|
|
|
|
+fzf_rw0_inplace_preview () {
|
|
|
|
+ # NOTE: to preview and select captured command directories
|
|
|
|
+ fzf \
|
|
|
|
+ --read0 --print0 \
|
|
|
|
+ -m --no-sort \
|
|
|
|
+ "$@" \
|
|
|
|
+ -d / \
|
|
|
|
+ --nth 1,2,3 \
|
|
|
|
+ --preview-window="~2" \
|
|
|
|
+ --preview='cat {}/info; head -n "$LINES" {}/dat' \
|
|
|
|
+ && :
|
|
|
|
+}
|
|
|
|
+
|
|
if "$LIST_MODE"
|
|
if "$LIST_MODE"
|
|
then
|
|
then
|
|
fzf_query=()
|
|
fzf_query=()
|
|
@@ -113,7 +126,7 @@ then
|
|
-print0 \
|
|
-print0 \
|
|
| sort -zV \
|
|
| sort -zV \
|
|
| head -zn "${NUM:--0}" \
|
|
| head -zn "${NUM:--0}" \
|
|
- | fzf --read0 --print0 -m --no-sort "${fzf_query[@]}" -d / --nth 1,2,3 --preview='cat {}/info; head {}/dat' \
|
|
|
|
|
|
+ | fzf_rw0_inplace_preview \
|
|
| awk -v RS='\0' -v FS='/' -v OFS='/' -v ORS='\0' '{for (i=2; i<=NF; i++) printf "%s%s", $(i), (i<NF ? OFS : ORS)}' \
|
|
| awk -v RS='\0' -v FS='/' -v OFS='/' -v ORS='\0' '{for (i=2; i<=NF; i++) printf "%s%s", $(i), (i<NF ? OFS : ORS)}' \
|
|
| awk -v prefix="$LOG_ROOT/" -v RS='\0' -v ORS='\n' '{print prefix $0}' \
|
|
| awk -v prefix="$LOG_ROOT/" -v RS='\0' -v ORS='\n' '{print prefix $0}' \
|
|
&& : "TODO: allow configuring null terminated output"
|
|
&& : "TODO: allow configuring null terminated output"
|