Open Turiok opened 1 year ago
I added another correction for listing cipher. open ssl version :
$>openssl version
OpenSSL 3.0.9 30 May 2023 (Library: OpenSSL 3.0.9 30 May 2023)
The result :
$>transcrypt --cipher=<TAB>
-- available ciphers --
aes-128-cbc aes-128-ecb aes-192-cbc aes-192-ecb aria-192-cfb8 aria-192-ctr aria-192-ecb aria-192-ofb camellia-256-ecb des-ede des-ede-cbc des-ede-cfb
aes-256-cbc aes-256-ecb aria-128-cbc aria-128-cfb aria-256-cbc aria-256-cfb aria-256-cfb1 aria-256-cfb8 des-ede3-ofb des3 sm4-cbc sm4-cfb
aria-128-cfb1 aria-128-cfb8 aria-128-ctr aria-128-ecb aria-256-ctr aria-256-ecb aria-256-ofb camellia-128-cbc des-ede-ofb des-ede3 des-ede3-cbc des-ede3-cfb
aria-128-ofb aria-192-cbc aria-192-cfb aria-192-cfb1 camellia-128-ecb camellia-192-cbc camellia-192-ecb camellia-256-cbc sm4-ctr sm4-ecb sm4-ofb
Hi @Turiok thanks for working to improve the zsh completions, this looks like it could be great.
However I haven't been able to get it to work to test it myself before I merge your improvements. Can you describe how you installed/activated the improved completions to test them?
I have tried these commands from the documentation you linked, but when I try different completions in my zsh I only get a local file list, or nothing.
This is what I have tried, on macOS 14.1.1:
zsh --version
# zsh 5.9 (arm-apple-darwin21.3.0)
openssl version
# OpenSSL 3.1.4 24 Oct 2023 (Library: OpenSSL 3.1.4 24 Oct 2023)
# Try to add repository completions file to 'fpath' to load completions
fpath=(~/x/y/z/transcrypt/contrib/zsh $fpath)
# Try to trigger reload/activation of completions in repository
unfunction _transcrypt
autoload -U _transcrypt
After what I assume is a successful load of the repository's completions (no errors from autoload -U
):
transcrypt --cipher=<TAB>
# Nothing
transcrypt --<TAB>
# Nothing
transcrypt <TAB>
# Select from files in current working directory
Hi @jmurty
In my computer, I use zinit to handle my zsh https://github.com/zdharma-continuum/zinit.
I tried with a clean zsh and your solution and it didn't work :
$> zsh --version
zsh 5.9 (x86_64-pc-linux-gnu)
$> zsh -s -f -i
# To have a clean zsh
$> transcrypt -<TAB><TAB>
# Display nothing
$> fpath=$HOME/.zinit/plugins/elasticdog---transcrypt/contrib/zsh
# Display nothing
$> unfunction _transcrypt
unfunction: no such hash table element: _transcrypt
$> autoload -U _transcrypt
# Display nothing
$> transcrypt -<TAB><TAB>
# Display nothing
Finally I search another solution without zinit and it works if you can try? :
$> zsh -s -f -i
# To have a clean zsh
$> fpath=(~/.zinit/plugins/elasticdog---transcrypt/contrib/zsh $fpath)
$> autoload -U compinit; compinit
$> transcrypt -<TAB><TAB>
--cipher -c -- specify encryption cipher
--display -d -- display current credentials
--export-gpg -e -- export config to gpg recipient
--flush-credentials -f -- flush cached credentials
--force -F -- ignore repository clean state
--help -h -- view help message
--import-gpg -i -- import config from gpg file
--list -l -- list encrypted files
--password -p -- specify encryption password
--rekey -r -- rekey all encrypted files
--set-openssl-path -- use OpenSSL at this path
--show-raw -s -- show raw file
--uninstall -u -- uninstall transcrypt
--upgrade -- upgrade transcrypt
--version -v -- print version
--yes -y -- assume yes and accept defaults
$> transcrypt --cipher=<TAB><TAB>
aes-128-cbc aes-128-ecb aes-192-cbc aes-192-ecb aria-192-cfb8 aria-192-ctr aria-192-ecb aria-192-ofb camellia-256-ecb des-ede des-ede-cbc des-ede-cfb
aes-256-cbc aes-256-ecb aria-128-cbc aria-128-cfb aria-256-cbc aria-256-cfb aria-256-cfb1 aria-256-cfb8 des-ede3-ofb des3 sm4-cbc sm4-cfb
aria-128-cfb1 aria-128-cfb8 aria-128-ctr aria-128-ecb aria-256-ctr aria-256-ecb aria-256-ofb camellia-128-cbc des-ede-ofb des-ede3 des-ede3-cbc des-ede3-cfb
aria-128-ofb aria-192-cbc aria-192-cfb aria-192-cfb1 camellia-128-ecb camellia-192-cbc camellia-192-ecb camellia-256-cbc sm4-ctr sm4-ecb sm4-ofb
I'm new to completion. I read this https://github.com/zsh-users/zsh-completions/blob/master/zsh-completions-howto.org to understand ZSH completion.
It seems to work now :
and with the option "--set-openssl-path" it display folder tree for the path. I'm just not sure why when this option is used, the other can't be? the other options :
Try to correct #176