diff options
author | Ruixi-rebirth <ruixirebirth@gmail.com> | 2023-05-27 20:49:55 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-27 22:49:55 -0400 |
commit | 20d51cf17a5e93cc20373423efeca72fd7c100d5 (patch) | |
tree | dca1d1be6cc5a31192c8a8acccef974649e1acce /config/preview_file.sh | |
parent | 493af3185092036cbbae81ae620b101f66cf4e9a (diff) |
Add flake support (#297)
Add flake support
Diffstat (limited to 'config/preview_file.sh')
-rwxr-xr-x | config/preview_file.sh | 124 |
1 files changed, 62 insertions, 62 deletions
diff --git a/config/preview_file.sh b/config/preview_file.sh index 368ea3b..a6940c6 100755 --- a/config/preview_file.sh +++ b/config/preview_file.sh @@ -8,7 +8,7 @@ ## preview_script = "~/.config/joshuto/preview_file.sh" ## ``` ## Joshuto will call this script for each file when first hovered by the cursor. -## If this script returns with an exit code 0, the stdout of this script will be +## If this script returns with an exit code 0, the stdout of this script will be ## the file's preview text in Joshuto's right panel. ## The preview text will be cached by Joshuto and only renewed on reload. ## ANSI color codes are supported if Joshuto is build with the `syntax_highlight` @@ -42,41 +42,41 @@ PREVIEW_WIDTH=10 PREVIEW_HEIGHT=10 while [ "$#" -gt 0 ]; do - case "$1" in - "--path") - shift - FILE_PATH="$1" - ;; - "--preview-width") - shift - PREVIEW_WIDTH="$1" - ;; - "--preview-height") - shift - PREVIEW_HEIGHT="$1" - ;; - esac - shift + case "$1" in + "--path") + shift + FILE_PATH="$1" + ;; + "--preview-width") + shift + PREVIEW_WIDTH="$1" + ;; + "--preview-height") + shift + PREVIEW_HEIGHT="$1" + ;; + esac + shift done handle_extension() { case "${FILE_EXTENSION_LOWER}" in - ## Archive - a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|\ - rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip) + ## Archive + a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|\ + rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip) atool --list -- "${FILE_PATH}" && exit 0 bsdtar --list --file "${FILE_PATH}" && exit 0 - exit 1;; + exit 1 ;; rar) ## Avoid password prompt by providing empty password unrar lt -p- -- "${FILE_PATH}" && exit 0 - exit 1;; + exit 1 ;; 7z) ## Avoid password prompt by providing empty password 7z l -p -- "${FILE_PATH}" && exit 0 - exit 1;; + exit 1 ;; - ## PDF + ## PDF pdf) ## Preview as text conversion pdftotext -l 10 -nopgbrk -q -- "${FILE_PATH}" - | \ @@ -84,29 +84,29 @@ handle_extension() { mutool draw -F txt -i -- "${FILE_PATH}" 1-10 | \ fmt -w "${PREVIEW_WIDTH}" && exit 0 exiftool "${FILE_PATH}" && exit 0 - exit 1;; + exit 1 ;; - ## BitTorrent + ## BitTorrent torrent) transmission-show -- "${FILE_PATH}" && exit 0 - exit 1;; + exit 1 ;; - ## OpenDocument + ## OpenDocument odt|ods|odp|sxw) ## Preview as text conversion odt2txt "${FILE_PATH}" && exit 0 ## Preview as markdown conversion pandoc -s -t markdown -- "${FILE_PATH}" && exit 0 - exit 1;; + exit 1 ;; - ## XLSX + ## XLSX xlsx) ## Preview as csv conversion ## Uses: https://github.com/dilshod/xlsx2csv xlsx2csv -- "${FILE_PATH}" && exit 0 - exit 1;; + exit 1 ;; - ## HTML + ## HTML htm|html|xhtml) ## Preview as text conversion w3m -dump "${FILE_PATH}" && exit 0 @@ -115,14 +115,14 @@ handle_extension() { pandoc -s -t markdown -- "${FILE_PATH}" && exit 0 ;; - ## JSON + ## JSON json|ipynb) jq --color-output . "${FILE_PATH}" && exit 0 python -m json.tool -- "${FILE_PATH}" && exit 0 ;; - ## Direct Stream Digital/Transfer (DSDIFF) and wavpack aren't detected - ## by file(1). + ## Direct Stream Digital/Transfer (DSDIFF) and wavpack aren't detected + ## by file(1). dff|dsf|wv|wvc) mediainfo "${FILE_PATH}" && exit 0 exiftool "${FILE_PATH}" && exit 0 @@ -131,69 +131,69 @@ handle_extension() { } handle_mime() { - local mimetype="${1}" + local mimetype="${1}" - case "${mimetype}" in - ## RTF and DOC + case "${mimetype}" in + ## RTF and DOC text/rtf|*msword) ## Preview as text conversion ## note: catdoc does not always work for .doc files ## catdoc: http://www.wagner.pp.ru/~vitus/software/catdoc/ catdoc -- "${FILE_PATH}" && exit 0 - exit 1;; + exit 1 ;; - ## DOCX, ePub, FB2 (using markdown) - ## You might want to remove "|epub" and/or "|fb2" below if you have - ## uncommented other methods to preview those formats + ## DOCX, ePub, FB2 (using markdown) + ## You might want to remove "|epub" and/or "|fb2" below if you have + ## uncommented other methods to preview those formats *wordprocessingml.document|*/epub+zip|*/x-fictionbook+xml) ## Preview as markdown conversion pandoc -s -t markdown -- "${FILE_PATH}" | bat -l markdown \ --color=always --paging=never \ - --style=plain \ - --terminal-width="${PREVIEW_WIDTH}" && exit 0 - exit 1;; + --style=plain \ + --terminal-width="${PREVIEW_WIDTH}" && exit 0 + exit 1 ;; - ## E-mails - message/rfc822) - ## Parsing performed by mu: https://github.com/djcb/mu - mu view -- "${FILE_PATH}" && exit 0 - exit 1;; + ## E-mails + message/rfc822) + ## Parsing performed by mu: https://github.com/djcb/mu + mu view -- "${FILE_PATH}" && exit 0 + exit 1 ;; - ## XLS + ## XLS *ms-excel) ## Preview as csv conversion ## xls2csv comes with catdoc: ## http://www.wagner.pp.ru/~vitus/software/catdoc/ xls2csv -- "${FILE_PATH}" && exit 0 - exit 1;; + exit 1 ;; - ## Text + ## Text text/* | */xml) bat --color=always --paging=never \ - --style=plain \ - --terminal-width="${PREVIEW_WIDTH}" \ - "${FILE_PATH}" && exit 0 + --style=plain \ + --terminal-width="${PREVIEW_WIDTH}" \ + "${FILE_PATH}" && exit 0 cat "${FILE_PATH}" && exit 0 - exit 1;; + exit 1 ;; - ## DjVu + ## DjVu image/vnd.djvu) ## Preview as text conversion (requires djvulibre) djvutxt "${FILE_PATH}" | fmt -w "${PREVIEW_WIDTH}" && exit 0 exiftool "${FILE_PATH}" && exit 0 - exit 1;; + exit 1 ;; - ## Image + ## Image image/*) ## Preview as text conversion exiftool "${FILE_PATH}" && exit 0 - exit 1;; + exit 1 ;; - ## Video and audio + ## Video and audio video/* | audio/*) mediainfo "${FILE_PATH}" && exit 0 exiftool "${FILE_PATH}" && exit 0 - exit 1;; + exit 1 ;; esac } |