From f9e8eff2656b6ea2621d0e82578b5e07bfd409d9 Mon Sep 17 00:00:00 2001 From: Yan Lin Date: Tue, 29 Jul 2025 23:04:39 +0200 Subject: [PATCH] Update papis alias --- modules/papis.nix | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/modules/papis.nix b/modules/papis.nix index 366ea20..de58aae 100644 --- a/modules/papis.nix +++ b/modules/papis.nix @@ -52,8 +52,10 @@ pals = "papis list --template \"$HOME/Library/Application Support/papis/templates/bibitem.template\""; # File operations - pafile = "papis addto -f ~/Downloads/"; paurl = "papis addto -u"; + + # Open documents + paopen = "papis open"; }; # Shell functions for papis workflow @@ -68,5 +70,37 @@ return 1 fi } + + # Papis add file function - add file to existing document with proper parameter handling + pafile() { + if [ $# -lt 1 ]; then + echo "Usage: pafile [query]" + echo "Example: pafile paper.pdf # Interactive selection" + echo "Example: pafile paper.pdf \"einstein relativity\" # Direct match" + echo "Example: pafile /path/to/paper.pdf \"quantum\" # Absolute path" + return 1 + fi + + local filename="$1" + shift # Remove first argument + local query="$*" # All remaining arguments as query (empty if none) + + # Check if filename is absolute path or relative to Downloads + if [[ "$filename" == /* ]]; then + # Absolute path + if [ -n "$query" ]; then + papis addto -f "$filename" "$query" + else + papis addto -f "$filename" + fi + else + # Relative to Downloads + if [ -n "$query" ]; then + papis addto -f "$HOME/Downloads/$filename" "$query" + else + papis addto -f "$HOME/Downloads/$filename" + fi + fi + } ''; }