Commit graph

37 commits

Author SHA1 Message Date
Mislav Marohnić
683d847dd2 Merge remote-tracking branch 'origin' into cli-migration 2021-09-21 17:38:41 +02:00
Alan Donovan
9e08b7477d delete: reject position args 2021-09-20 13:40:45 -04:00
Mislav Marohnić
836075215d Merge remote-tracking branch 'origin' into cli-migration 2021-09-20 13:59:32 +02:00
Alan Donovan
67a6f0a85d Merge pull request #168 from github/restore-delete-r-confirm
Restore confirmation to delete -r, lost in botched merge
2021-09-17 11:48:02 -04:00
Mislav Marohnić
8c0c7a8e19 Make GITHUB_TOKEN configurable through Go member
Co-authored-by: Jose Garcia <josebalius@github.com>
2021-09-17 16:29:35 +02:00
Mislav Marohnić
c2f3537a32 Separate "main" package from "ghcs" package
To make "ghcs" importable, this separates out the `main()` function into
its own package that lives under "cmd/ghcs/main". Typically the main
package would be called "cmd/ghcs", but we wanted to leave the current
ghcs implementation where it is to avoid causing conflicts with current
work in progress.

Co-authored-by: Jose Garcia <josebalius@github.com>
2021-09-17 16:26:20 +02:00
Alan Donovan
d23eca8c5f remove "list" operation from "delete -r" command 2021-09-17 09:51:11 -04:00
Alan Donovan
747d7e7173 Restore confirmation to delete -r, lost in botched merge 2021-09-17 09:49:46 -04:00
Alan Donovan
610ab89c3d Merge branch 'main' into delete-parallel 2021-09-17 09:32:56 -04:00
Alan Donovan
4de4572813 add comment 2021-09-17 09:31:05 -04:00
Alan Donovan
fb197c8e75 Merge branch 'main' into delete-parallel 2021-09-17 09:30:48 -04:00
Max Beizer
a4f1fa076b Fix up all the static-check warnings (#162) 2021-09-17 13:10:37 +02:00
Alan Donovan
bc74c4aafa make delete --repo parallel 2021-09-16 18:29:19 -04:00
Christian Gregg
cc1b86461e Confirm deletion of codespaces with unpushed/uncommited changes (#129)
Adds a confirmation dialog on `ghcs delete` if the codespace in question
has unpushed or uncommited changes.

This confirmation can be skipped using the `--force` or `-f` flag.

Closes: #84
Closes: #10
2021-09-16 13:47:15 +01:00
Mislav Marohnić
dbb4e0c177 Merge remote-tracking branch 'origin' into ruleguard 2021-09-16 11:46:50 +02:00
Alan Donovan
06719866c9 move api to internal/ 2021-09-15 13:13:10 -04:00
Mislav Marohnić
fb5a35568c Ensure original errors are wrapped with "%w" instead of "%v" 2021-09-15 13:58:41 +02:00
Jose Garcia
f5adc9e3a7 remove all deprecation messages and deprecated functionality 2021-09-13 10:58:00 -04:00
Jose Garcia
34e52ba24a deprecate subcommands 2021-09-10 14:11:50 -04:00
Alan Donovan
cbb8253544 consolidate survey functions 2021-09-09 11:57:37 -04:00
Alan Donovan
49ccdd3d21 use correct correct spelling of codespace 2021-09-01 17:26:26 -04:00
Alan Donovan
bbcf2dd321 spell product names (Codespaces, Live Share) correctly 2021-08-31 11:15:26 -04:00
Alan Donovan
38ff786a7d cmd/ghcs: style tweaks 2021-08-27 12:03:20 -04:00
Issy Long
28a3644a07 cmd/ghcs/delete: I learnt about strings.EqualFold - thanks, linter! 2021-08-18 18:15:15 +01:00
Issy Long
5af1cccb73 cmd/ghcs/delete: When matching repos to delete, standardize casing
- It was possible to delete Codespaces for repo `SomePerson/foo` but not
  `someperson/foo`, despite the fact that the GitHub APIs don't actually
  care about casing - `SomePerson` and `someperson` is the same account.
- This fixes that by lowercasing both the user-provided repo name, and
  the repository that is attached to the Codespace for a match.
- Fixes #76.
2021-08-18 18:11:11 +01:00
Mislav Marohnić
517aae2805 Merge remote-tracking branch 'origin' into docs 2021-08-17 14:42:09 +02:00
Mislav Marohnić
5e472bc0e5 Improve command descriptions and argument assertions 2021-08-16 23:24:11 +02:00
Mislav Marohnić
20d75f0ff9 Normalize logging, output, and error reporting
- Return errors as errors, not print to stdout and return nil
- Ensure errors and warnings are always written to stderr, not stout
- Do not print progress to stdout unless stdout is a terminal
2021-08-12 14:37:23 +02:00
Mislav Marohnić
7a9d1fc331 Merge remote-tracking branch 'origin/main' into output-formats 2021-08-11 12:13:09 +02:00
Issy Long
4362b0b241 cmd/ghcs/delete: Display the interactive menu when there are no args
- Currently the flow to delete a single Codespace is `gh cs list`, copy
  and paste the Codespace name onto the end of `gh cs delete`.
- This improves consistency with other commands by letting the user
  choose which Codespace they want to delete, interactively. A Codespace
  name on the command-line still works too.
2021-08-05 15:00:18 +01:00
Mislav Marohnić
140a54a009 Add machine-readable output formats
- Default table output (when stdout is attached to a terminal) stays the same;
- When stdout is redirected, output tab-separated values and no header line;
- With `--json` flag, output structured JSON data.

Example:

    $ ghcs list --json
    [
      {
        "Branch": "main",
        "Created At": "2021-06-10T15:04:46+02:00",
        "Name": "mislav-playground-jvqj",
        "Repository": "mislav/playground",
        "State": "Shutdown"
      },
      {
        "Branch": "master",
        "Created At": "2021-07-15T15:51:08+02:00",
        "Name": "mislav-github-github-pwgg365xv",
        "Repository": "github/github",
        "State": "Shutdown"
      }
    ]
2021-08-04 15:58:27 +02:00
CamiloGarciaLaRotta
2f467e3ddc Merge branch 'main' into feat/richer-delete 2021-07-22 09:55:20 -04:00
Issy Long
b66d65379f cmd/ghcs/*.go: Better short descriptions of what commands do
- I ran `--help` on `ghcs code` and saw `ghcs code` and that was it,
  which was surprising. I expected a description.
- Here's a fix for all of the commands thus far to give them longer
  descriptions.
- I've only done "short" descriptions in Cobra terms, and removed the
  "long" descriptions as they seemed like they needed to be
  unnecessarily verbose.

Before:

```
❯ ghcs --help
Codespaces

Usage:
  ghcs [command]

Available Commands:
  code        code
  create      Create
  delete      delete
  help        Help about any command
  list        list
  ports       ports
  ssh         ssh

Flags:
  -h, --help      help for ghcs
  -v, --version   version for ghcs

Use "ghcs [command] --help" for more information about a command.

❯ ghcs ssh --help
ssh

Usage:
  ghcs ssh [flags]

Flags:
  -h, --help              help for ssh
      --profile string    SSH Profile
      --server-port int   SSH Server Port
```

After:

```
❯ ./ghcs --help
Codespaces

Usage:
  ghcs [command]

Available Commands:
  code        Open a GitHub Codespace in VSCode.
  create      Create a GitHub Codespace.
  delete      Delete a GitHub Codespace.
  help        Help about any command
  list        List GitHub Codespaces you have on your account.
  ports       Forward ports from a GitHub Codespace.
  ssh         SSH into a GitHub Codespace, for use with running tests/editing in vim, etc.

Flags:
  -h, --help      help for ghcs
  -v, --version   version for ghcs

Use "ghcs [command] --help" for more information about a command.

❯ ./ghcs ssh --help
SSH into a GitHub Codespace, for use with running tests/editing in vim, etc.

Usage:
  ghcs ssh [flags]

Flags:
  -h, --help              help for ssh
      --profile string    SSH Profile
      --server-port int   SSH Server Port
```
2021-07-22 11:07:23 +01:00
Camilo Garcia La Rotta
5ca2fa5562 feat: ghcs delete repo REPO_NAME 2021-07-21 18:13:36 -04:00
Camilo Garcia La Rotta
7a0a8fa39c feat: ghcs delete all 2021-07-21 18:02:50 -04:00
Jose Garcia
798413848b Portfowarding private/public/forward now supported 2021-07-17 20:32:47 -04:00
Jose Garcia
4a0eaa3da5 Latest and greatest 2021-07-14 16:12:30 -04:00