After discussing this with the team, the `gh config` changes to display `accessible_colors` have been removed from this branch being outside of acceptance criteria. This will be moved to a separate issue along with any other work needed to finalize the public preview such as `gh help` entries for `GH_ACCESSIBLE_COLORS` environment variable.
List commands that use ColorScheme.Gray have been updated to use ColorScheme.Muted.
* Use the host name from the logged in server for codespace commands
* Fix existing tests
* Add tests for server url configuration
* Rename defaultApiUrl to defaultAPIURL and comment cleanup
* Switch to t.Setenv in codespaces api tests
* Switch to t.Setenv in other tests
* Support custom server in web flows for list and create
* Rename GetServerURL() to ServerURL()
* feat: add web flag to cs list subcommand
web flag only works with repo flag, because,
currently there only param for listing with repo_id
* feat: add web flag to cs crate subcommand
web flag used for creating codespace through web UI instead of terminal.
web flag cannot be used with display-name, idle-timeout,
or retention retention-period
because there's no option for that in the Web UI
* refactor: extract mutual excusive logic to PreRunE
- changed web flag mutual exclusive logic, using cmdutil
- extract that logic to PreRunE clause in createCmd
- move web flag up to make it close to PreRunE clause (for clarity)
- add new param to newCreateCmd fn to facilitate test logic
- apply new newCreateCmd fn to root.go
* fix: clarify flag desc and error message
- remove 'yet' from error messages that can cause misunderstanding
- clarify list web flag can only be used with repo flag
* fix: skip machine check when we use web flag ...
(..and no machine flag provided)
+ add test for this new case
+ adjust related test cases for this new change.
* refactor: move flag check logic to PreRunE
why: err on PreRunE or RunE will also print help if error happened
+ move web, repo, org, user mutual exclusive logic to PreRunE clause
+ move repo, org, user mutual exclusive logic to PreRunE
+ move limit check flag to PreRunE
+ modify newListCmd fn to facilitate test logic
+ apply new newListCmd to root.go
+ add test cases to check PreRunE clause
- remove mutual exclusive test cases from Test_AppList
* refactor: remove the opts equality checks
* fix: mutually exclusive misfires
because of wrong logic
+ refine test case too
* cleanup:removing useWeb check in fn getMachineName
because it's no longer needed
+ remove redundant test-case
* refactor: remove redundant ifs
* refactor: clarify test name
* re-clarify web flag desc in list.go
* refactor: break long lines, use more idiomatic err
* add test case for nonexistent/wrong machine
I always get tripped up whenever trying to list my codespaces, adding
`ls` as an alias to `list` feels natural enough.
Co-authored-by: Mislav Marohnić <mislav@github.com>
* Rework logging, showing progress, and printing from `codespace` commands
* Change rendering of the general progress indicator so that it's visible on both dark and light backgrounds
* The progress indicator now "spins" faster
Co-authored-by: Mislav Marohnić <mislav@github.com>
- Repo + branch is favored
- Codespace name is included to disambiguate between two codespaces
- Move Codespace model out of out API into its own package
- Update call sites and group behavior under codespace.Codespace