read from an instance of GnuPG

This commit is contained in:
kalmenn 2026-02-02 08:40:49 +01:00
parent 6aa7e23872
commit a844ec48a4
Signed by: kalmenn
GPG key ID: F500055C44BC3834
8 changed files with 1267 additions and 35 deletions

21
TODO.md
View file

@ -3,17 +3,7 @@
## import
Import an identity from a gpg key.
Relevant crates:
```Cargo.toml
# For finding the cache directory in which to store the SSH keys exported from GPG and identities
dirs = "6.0.0"
# For importing GPG keys
gpgme = "0.11.0"
# For reading/writing identities' files
serde = { version = "1.0.228", features = ["derive"] }
toml = "0.9.11"
```
We still need to save it somewhere
## use
Set the identity of the current git repo
@ -37,9 +27,12 @@ List all saved identities
Interactively edit a saved identity (or in a text editor when using a specific flag)
# User input
[inquire](https://docs.rs/inquire/latest/inquire/) seems simple enough. But
[dialoguer](https://docs.rs/dialoguer/latest/dialoguer/) is the one use by tauri which seems much
more complete.
Currently, dialoguer (which uses the console crate) doesn't reset the terminal state properly when
the user exists using ctrl-c. Most importantly, the cursor remains hidden even after the program
exited.
Maybe switching to [inquire](https://docs.rs/inquire/latest/inquire/) would fix this. If not, we
might need to check if console emits `std::io::ErrorKind::Interrupted` like it seems to me it does
and whether or not we can react to it easily.
# Completions
clap_complete does that statically. It will be able to do it dynamically once the