devlog 17
🐢 We are progressing towards adding all store completions. In the meantime, I switched to nushell from zsh. Completions for nushell require a different crate and it doesn’t have dynamic completions yet.
🐇 We can just complete the completions for this version and add JSON output for all commands to use in nushell. In the meantime, dynamic completions support for nushell is likely to be added.
🐢 Umm, yep. Then we’ll continue to run tests with zsh for the current version.
🐇 run-tests is a zsh file, and
we will continue to use it. We can switch to nushell eventually as we add more
compatibility with it, but let’s not do this now.
🐢 Where were we the last time for completions?
🐇 We added xvc_path_completers. Let’s check the TODO list now.
🐢 We still need tracked_targets completions in a few places.
🐇 Added those.
🐢 Now we have some strum completers. Let’s finish these up as well.
🐇 Ok. They are done as well.
🐢 Now, let’s start adding a storage_identifier completer. It should read all
XvcStorage records and list their names.
🐇 Added a storage_identifier completer. Let’s add it to all places where we use
storage_identifiers.
🐢 Now, we need completers for pipeline and step names. These are straightforward.
🐇 Added these. Let’s fill up where they are needed.
🐢 I want to skip some of the fine-grained completions in this version. We can
have a specific completer for --params options for files and params inside,
for example. Or a special completer for directories.
🐇 Let’s not forget these. Reading YAML files and extracting hyperparameter keys for the prompt would be a really good feature for the user.
🐢 I agree. These are good features in general, but we need to ship the current version as soon as possible.
🐇 Let’s check the TODO comments once more.
$ rg 'TODO:'
...
- ✅ pipeline/src/pipeline/api/update.rs: /// TODO: Add a repository_dirs completer (11:08)
- ✅ file/src/remove/mod.rs: /// TODO: Add a storage_identifier completer (11:08)
- ✅ file/src/bring/mod.rs: /// TODO: Add a storage_identifier completer (11:08)
...
🦊 We can use xvc_path_completer for the tracked directory completer for the
time being. For pipeline update, we can use a ValueHint instead. It’s not
necessary to use a custom completion.
🐢 For the xvc file copy destination, we can have a file or a directory that we
track and is not available, or we don’t track and is available. It’s a similar situation
to xvc_path_completer, but we also need to check the local paths. It requires
some more care.
🐇 Now we can begin to run the tests.
🐢 Is this building?
🐇 It should.
🐢 We also have one bug. xvc shouldn’t print help text when the COMPLETE
environment variable is set.
🐇 Umm, yeah, that’s a blocker.
🐢 Fixed it. We can bump the version and push the changes.