Implement the find command
Begin decrypting passwords via the show command
Add argument parsing and implement the ls command
A Haskell reimplementation of pass.
Build the Unix password manager pass
, but with type safety, unit tests, and other niceties.
This is mostly written as an excuse for learning Haskell, although hopefully it will end up being useful. Bash is a perfectly fine language, but with the complexity of pass
(700 lines at the time of this writing), it's nice to have the safety offered by implementing it in a compiled language.
Much like hledger
and ledger
, the eventual goal is to have two compatible implementations while still allowing for differences in taste and non-core features.
Here's a list of all of the commands listed in pass help
, along with the current status in hpass
.
pass init
: Not implemented.pass ls
pass
, this is the default behavior when no commands are passed.ls
with a subfolder lists the files in that directory if it exists, or prints an error message if it does not.pass
, ls
must (currently) be explicitly called if passing a subfolder. That is, pass Passwords
will list the contents of the directory Passwords
, while hpass Passwords
will complain about an unrecognized command.pass find
: Implemented as in pass
.pass [show]
pass show
with a password name shows the decrypted password.pass [password-name]
complains about an unrecognized argument instead of showing the decrypted password.-c/--clip
argument is not yet implemented.pass grep
: Not implemented.pass insert
: Not implemented.pass edit
: Not implemented.pass generate
: Not implemented.pass rm
: Not implemented.pass mv
: Not implemented.pass cp
: Not implemented.pass git
: Not implemented.pass help
: Not implemented.pass version
: Not implemented.Also, the --qrcode
flag is not implemented yet.