Commit Graph
14 Commits
Author SHA1 Message Date
Marc Cornellà 142a6c7fd5 Fix pass zsh completion and autoloading
When autocompleting from `pass <TAB>', sometimes the following errors
appear:

  _values:compvalues:10: not enough arguments
  find: `/home/user/.password-store': No such file or directory
  _values:compvalues:10: not enough arguments
  find: `/home/user/.password-store': No such file or directory

The `_values' error happens when there is no password-store folder *or*
there are no passwords in pass; the `find' error only when there is no
password-store folder.

We can trace it back to line 108, which contains the only `_values'
statement that is executed when we autocomplete from pass. We confirm
this by following the trail of execution, which is

  _pass -> _pass_cmd_show -> _pass_complete_entries ->
        -> _pass_complete_entries_helper

If we try running the command inside `$()' on line 104, we see that it
returns nothing and the output is blank. This means that `_values' only
receives 1 of its 2 mandatory parameters, therefore the above error is
triggered (not enough arguments).

That is unless we don't have a password-store folder, in which case the
`find: [...] no such file or directory' error is *also* triggered.

We solve the first error by supplying a default value of "" if the
command outputs nothing, using the zsh construct ${var:-else}.

We solve the second error by redirecting the find command's stderr output
to /dev/null, so the error is effectively suppressed.

* * * *

This patch also fixes the first tab completion, which currently only
loads the completion function definition.

We do this by adding a `_pass' statement at the end of the file, which
runs the `_pass' completion function after loading its definition.
This is the standard way an autoloaded function works; for other examples
look at zsh's official completion files.
2014-08-29 00:39:33 +02:00
Marc Cornellà 17dd5792b4 Update pass completion to upstream
Conflicts:
	plugins/pass/_pass
2014-08-29 00:39:33 +02:00
Marc Cornellà 1e2abe5d4e Categories of issues in oh-my-zsh (work-in-progress) 2014-08-29 00:38:12 +02:00
Marc Cornellà 1aadd63cfc Add CONTRIBUTING.md file general structure 2014-08-29 00:38:12 +02:00
Marc Cornellàandncanceill 340da08b9a Add missing quotes to within-bundler-project function 2014-06-28 10:12:19 +02:00
Marc Cornellàandncanceill fbf4a78acf Show user prompt in gnzh theme regardless of UID
Fixes #2008.
2014-06-06 11:27:53 +02:00
Marc Cornellà fcfa323974 Use cache folder inside $ZSH, delete with unaliased rm 2014-04-18 17:07:23 +02:00
Marc Cornellà 5137e0e509 Escape % in $CMD variable
Fixes formatting on some rare cases when a percent ends up
in the $CMD variable, like these below:

- When assigning a variable, $CMD ends up with the second parameter;
in this case, $CMD will contain '+%s%N', messing with the syntax:

 $ a=`date +%s%N`

- A function (or command in general) that contains a percent symbol:

 $ to\%() { echo $(( $1 * 100 / $3))\% } # $CMD=to%()
 $ to% 2 of 10 # $CMD=to%
2014-03-25 21:14:20 +01:00
Marc CornellàandPhil Eichinger c0e3c553bc Fix export syntax of $GREP_OPTIONS
Fixes #2641, #2642
2014-03-25 16:47:58 +01:00
Marc Cornellà 12e30faaca Fix export syntax of $GREP_OPTIONS
Fixes #2641, #2642
2014-03-23 02:09:38 +01:00
Marc Cornellà a951600b4e Avoid 'title:parse error' with single quotes in $CMD
Fixes #2182
2014-02-21 22:16:12 +01:00
Marc Cornellà 3e5de21dc5 Revert previous commit, escape % 2014-02-21 22:16:12 +01:00
Marc Cornellà b73ced397f Use single quotes also in $LINE definiton 2014-02-21 22:16:12 +01:00
Marc Cornellà b0fbe0d11a Avoid evaluating special chars in $LINE on title command (fixes #2234) 2014-02-21 22:16:12 +01:00