* chore: update to stable toolchain. apply clippy fixes & rustfmt
* Bump MSRV
* Try MSRV without the patch version
* fix: pin toolchain to MSRV
* trying again
* fix dead code warning
---------
Co-authored-by: Dan Sully <dsully@users.noreply.github.com>
* feat: initial i18n setup
* style: fmt
* feat: i18n support for new steps
* fix: build on Linux
* fix: build on Linux
* refactor: rm unused translation keys
---------
Co-authored-by: Steve Lau <stevelauc@outlook.com>
* feat: tmux session attach mode
* feat: example config update
* feat: move the comment down to be relevant
* feat: fix tmux not attaching from non-tmux env when using create_and_switch_client
* feat: make matching on tmux modes as described in suggestions
* feat: make tmux_session_attach_mode private
* feat: remove tmux mode cli option
* feat: wrap default value in quotation marks for tmux session mode
* feat: renames for tmux session management options
* feat: try to make tmux session mode description better
* Use global lazy HOME_DIR
* Remove unused base_dirs
* Use `etcetera` instead of `directories`
---------
Co-authored-by: Thomas Schönauer <37108907+DottoDev@users.noreply.github.com>
Fix `tmux` sessions
This will create a new session named `topgrade`, `topgrade-1`,
`topgrade-2`, using the first nonexistent session name it finds. That
session will have a window in it named `topgrade` in which `topgrade` is
run. If `topgrade --tmux` is being run from within tmux, it won't attach
to the new tmux session. If the user is not currently in tmux, it will
attach to the newly-created session.
Co-authored-by: Thomas Schönauer <37108907+DottoDev@users.noreply.github.com>
* Quote arguments when executing in a shell
Fixes#107
* Parse quotes in `tmux_arguments`
This makes it possible to encode spaces in arguments. Maybe the config
value should be an array instead?
* Print error causes
Co-authored-by: Thomas Schönauer <37108907+DottoDev@users.noreply.github.com>