diff options
-rw-r--r-- | hm/soispha/conf/lf/commands/default.nix | 6 | ||||
-rwxr-xr-x | hm/soispha/conf/lf/commands/scripts/view_file.sh | 26 | ||||
-rw-r--r-- | hm/soispha/conf/lf/keybindings/default.nix | 2 |
3 files changed, 30 insertions, 4 deletions
diff --git a/hm/soispha/conf/lf/commands/default.nix b/hm/soispha/conf/lf/commands/default.nix index 47bf0a12..6994f100 100644 --- a/hm/soispha/conf/lf/commands/default.nix +++ b/hm/soispha/conf/lf/commands/default.nix @@ -168,9 +168,9 @@ in { TO_BE_SHELL_LIBRARY_PATH = "%SHELL_LIBRARY_PATH"; # replacement is not recursive }; }; - open = shell { - name = "open"; - dependencies = builtins.attrValues {inherit (pkgs) file xdg-utils;}; + view_file = async { + name = "view_file"; + dependencies = builtins.attrValues {inherit (pkgs) file;}; }; go_project_base_directory = async { name = "go_project_root"; diff --git a/hm/soispha/conf/lf/commands/scripts/view_file.sh b/hm/soispha/conf/lf/commands/scripts/view_file.sh new file mode 100755 index 00000000..a7d7055d --- /dev/null +++ b/hm/soispha/conf/lf/commands/scripts/view_file.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env dash + +# shellcheck source=/dev/null +SHELL_LIBRARY_VERSION="2.0.13" . %SHELL_LIBRARY_PATH + +# shellcheck disable=SC2269 +f="$f" +# shellcheck disable=SC2269 +fx="$fx" +# shellcheck disable=SC2269 +fs="$fs" + +mime_type="$(file --mime-type --brief --dereference "$f")" +case "$mime_type" in +application/pdf) + "$READER" "$f" + ;; +image/*) + "$IVIEWER" "$f" + ;; +*) + die "Mime-Type: '$mime_type' not supported" + ;; +esac + +# vim: ft=sh diff --git a/hm/soispha/conf/lf/keybindings/default.nix b/hm/soispha/conf/lf/keybindings/default.nix index c95100c4..bed42822 100644 --- a/hm/soispha/conf/lf/keybindings/default.nix +++ b/hm/soispha/conf/lf/keybindings/default.nix @@ -17,7 +17,7 @@ in # File Openers ee = "\$\$EDITOR \"$f\""; es = "\$ nvim -S \"$f\""; - u = "%\$IVIEWER \"$f\""; + u = "view_file"; cc = "\$sudo -e \"$f\""; # Archive Mappings |