edit (passes each as an argument to $EDITOR -- vim handles this nicely using buffers)
publish
start
stop
Notes
Added a CmdResult type to utils/utils.go in order to aggregate errors as we iterate through VMs. This way, one failed iteration won't cancel the remainder.
Added a check to skip duplicate names (e.g. alpine publish foo foo will only publish once).
Removed VM already stopped error from qemu/ops.go:Stop() to avoid weirdness. This now just fails silently/is idempotent.
AutoCompleteVMNames() is already ready for multiple VMs, works as intended.
Additional note
During testing, I ran launch many times. One time, I got a really unfortunate VM name from the randomizer. So, I went through the dictionaries (adjectives.txt and nouns.txt) and manually cleaned them up. No guarantee that I did a perfect job, but it should help mitigate issues in the future. In summary:
Removed explicit or explicit-adjacent words
Removed words that are very negatively constructed and may cause confusion/concern
Removed words that specify individual people (person, girl, boyfriend, etc)
Removed words with various systems meanings to avoid confusion (error, data, etc)
I didn't add a ParseVMNames helper function because Tags are still WIP. I'll roll up this functionality and de-duplicate it across the commands, and add tag support, all in the next/final Tags PR.
Add support for multiple VM arguments.
Commands
delete
edit
(passes each as an argument to$EDITOR
-- vim handles this nicely using buffers)publish
start
stop
Notes
CmdResult
type toutils/utils.go
in order to aggregate errors as we iterate through VMs. This way, one failed iteration won't cancel the remainder.alpine publish foo foo
will only publish once).VM already stopped
error fromqemu/ops.go:Stop()
to avoid weirdness. This now just fails silently/is idempotent.AutoCompleteVMNames()
is already ready for multiple VMs, works as intended.Additional note
During testing, I ran
launch
many times. One time, I got a really unfortunate VM name from the randomizer. So, I went through the dictionaries (adjectives.txt
andnouns.txt
) and manually cleaned them up. No guarantee that I did a perfect job, but it should help mitigate issues in the future. In summary:person
,girl
,boyfriend
, etc)error
,data
, etc)Closes #87 Closes #88 Closes #89 Closes #91