From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19763 invoked by alias); 13 Jun 2018 16:31:42 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: List-Unsubscribe: X-Seq: 43001 Received: (qmail 17016 invoked by uid 1010); 13 Jun 2018 16:31:42 -0000 X-Qmail-Scanner-Diagnostics: from mail-wm0-f47.google.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1. Clear:RC:0(74.125.82.47):SA:0(-1.9/5.0):. Processed in 1.676058 secs); 13 Jun 2018 16:31:42 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_PASS, T_DKIM_INVALID autolearn=ham autolearn_force=no version=3.4.1 X-Envelope-From: doron.behar@gmail.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id; bh=eXTikUeDla+byVz0r0DTE0+HLwCgBva+V+lLiZLXCVo=; b=jpDW/pcxr1ul0Ys6InBZ5BDDCTCfUP6VsOstr2CX/bAER1IOAtcOA6sNLH8NPmZxCP ALaiKktl3sEQ1EOYtIvudbWgtAph4P+UCJyoPotx3PF8J0dkEoBtDWqPk5vLm8H2Wsru 7SwwqVzvgg5owPvRon2pyHr6uj3ke2n8r1TPPyUNKHfh3d3ae32eurGIrB8pfEXsg/nA YdipeZ9C8OINLHciNJcwj6L6dYM+A/FOSQP5UFpsX8YIWdfHEw+CXXv4sEXnq09u9xmd y2Q3C+4lnz2cB6RYE86546pNMD0n0DMwYsRANfQLxM3rMdYinIxA0Eu4VR+clBZDHWAE 7WyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id; bh=eXTikUeDla+byVz0r0DTE0+HLwCgBva+V+lLiZLXCVo=; b=n0H5rlqA2BpEPodfI8yFkX34zoNyhCC93eEhven8/IuCBvi5Ri8T4RSZqxsRjR5mGw b0BLdjlp33reZ5T3LBVAfJe9mgQ2wFNDLkjbgSkL7/oYspruZO2W7Rhue2l3TxKElgAf lS+czh+uY5zgfVScKbXAxy5erw9m5ZEfDioPQBxN0tJPqb+MO4q7GhZJ4raMjIC7zZUd R0/wyUFgB3aec0rcobG61Q31l3fy/cHvvUCPX2Olfmegn+POXbBJ7mPa+khiED+BDMTe JpoJlcN0QI8jmcWxmPnHyOX2ms4W24jEfE5P6D6WpdvKeEWj9M1/ujnW5fsJnnoVMcUn PESQ== X-Gm-Message-State: APt69E3vIrhjFKDMVIKMdaPpy15r+3DON9pNpgVD3sQo3J3WLxMy19Ua FgY8Ngl/nXa+QFN3KZciteUPWaLb X-Google-Smtp-Source: ADUXVKLxlEonKkEqwi2Z9AaAwWbMOjKYp3xnbo5ZbDY7OzWuTJuvwI3TTTipqkl3LZ3CC356BbUE+Q== X-Received: by 2002:a1c:bfc8:: with SMTP id o69-v6mr4350526wmi.8.1528907496740; Wed, 13 Jun 2018 09:31:36 -0700 (PDT) From: doron.behar@gmail.com To: zsh-workers@zsh.org Subject: [PATCH] Add completion for zathura. Date: Wed, 13 Jun 2018 19:31:52 +0300 Message-Id: <20180613163152.28843-1-doron.behar@gmail.com> X-Mailer: git-send-email 2.17.1 From: Doron Behar Make it aware of the plugins installed on the machine. --- Completion/Unix/Type/_pspdf | 2 +- Completion/X/Command/_zathura | 45 +++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 Completion/X/Command/_zathura diff --git a/Completion/Unix/Type/_pspdf b/Completion/Unix/Type/_pspdf index 5bb8650b1..1df3f860c 100644 --- a/Completion/Unix/Type/_pspdf +++ b/Completion/Unix/Type/_pspdf @@ -1,4 +1,4 @@ -#compdef gsbj gsdj gsdj500 gslj gslp gsnd ps2ascii ghostview mgv pstoedit pstotgif zathura +#compdef gsbj gsdj gsdj500 gslj gslp gsnd ps2ascii ghostview mgv pstoedit pstotgif local expl ext diff --git a/Completion/X/Command/_zathura b/Completion/X/Command/_zathura new file mode 100644 index 000000000..9116d2471 --- /dev/null +++ b/Completion/X/Command/_zathura @@ -0,0 +1,45 @@ +#compdef zathura + +(( $+functions[_zathura_files] )) || +_zathura_files(){ + local -a plugin_files + for plugins_dir in "${opt_args[-p]}" "${opt_args[--plugins-dir]}" "/usr/lib/zathura" "/usr/local/lib/zathura" "/lib/zathura"; do + plugin_files=(${plugins_dir}/*.so) + if [[ -z "${plugin_files}" ]]; then + break + fi + done + if [[ -z "${plugin_files}" ]]; then + _files -g "*.pdf(-.)" + return + fi + local -a supported_filetypes + for pf in "${plugin_files[@]}"; do + if [[ $pf =~ "mupdf" ]]; then + supported_filetypes+="pdf" + supported_filetypes+="epub" + supported_filetypes+="xps" + elif [[ $pf =~ "poppler" ]]; then + supported_filetypes+="pdf" + else + supported_filetypes+="${${pf%.so}#${plugins_dir}/lib}" + fi + done + _files -g "*.(${(j.|.)supported_filetypes})(-.)" +} + +_arguments \ + {-e,--reparent=}'[Reparents to window specified by xid]:xid:_x_window' \ + {-c,--config-dir=}'[Path to the config directory]:path:{_files -/}' \ + {-d,--data-dir=}'[Path to the data directory]:path:{_files -/}' \ + {-p,--plugins-dir=}'[Path to the directory containing plugins]:path:{_files -/}' \ + {-w,--password=}"[The document's password]:password: " \ + {-P,--page=}'[Opens the document at the given page number]:number: ' \ + {-l,--log-level=}'[Set log level]:level:(debug info warning error)' \ + {-x,--synctex-editor-command=}'[Set the synctex editor command]:command:_cmdstring' \ + '--synctex-forward=[Jump to the given position]:input: ' \ + '--synctex-pid=[Instead of looking for an instance having the correct file opened, try only the instance with the given PID]:pid:_pids' \ + '--fork[Fork into background]' \ + '(- :)--version[Display version string and exit]' \ + '(- :)--help[Display help and exit]' \ + '*:file:_zathura_files' -- 2.17.1