1 # Prompt a file to open in PAGER, with an history. In less(1), 'v' to edit.
4 CACHE="${XDG_CACHE_HOME:-$HOME/.cache}"
11 printf '%s\n' "$(cd "${1%/*}"; pwd)/${1##*/}"
14 printf '#\n# Recent files\n'
15 [ -f "$CACHE/iomenu/files" ] &&
16 tac "$CACHE/iomenu/files"
18 printf '#\n# Current directory\n'
19 find "$PWD" -maxdepth 1 -type f
21 printf '#\n# All files\n'
22 find ~ -type f ! -path '*/.cache/*' ! -path '*/.git/*'
24 } | sed "s|$HOME|~|" | iomenu -l 256 -s '#' | sed "s|~|$HOME|"
26 fi | tee -a "$CACHE/iomenu/files"
32 sort "$CACHE/iomenu/files" | uniq -d | while IFS='' read -r f
35 grep -Fxv "$f" "$CACHE/iomenu/files"
36 )" "$f" > "$CACHE/iomenu/files"
39 printf '%s\n' "$(tail "$CACHE/iomenu/files")" > "$CACHE/iomenu/files"
45 mkdir -p "$CACHE/iomenu"
50 printf '\033]0;%s\007' "$(printf %s "$file" | sed "s|$HOME|~|")"
54 [ "$file" ] && [ -d "${file%/*}" ] && exec $EDITOR "$file"