mirror of
https://github.com/coder/coder.git
synced 2025-07-12 00:14:10 +00:00
* Add templates
* Move API structs to codersdk
* Back to green tests!
* It all works, but now with tea! 🧋
* It works!
* Add cancellation to provisionerd
* Tests pass!
* Add deletion of workspaces and projects
* Fix agent lock
* Add clog
* Fix linting errors
* Remove unused CLI tests
* Rename daemon to start
* Fix leaking command
* Fix promptui test
* Update agent connection frequency
* Skip login tests on Windows
* Increase tunnel connect timeout
* Fix templater
* Lower test requirements
* Fix embed
* Disable promptui tests for Windows
* Fix write newline
* Fix PTY write newline
* Fix CloseReader
* Fix compilation on Windows
* Fix linting error
* Remove bubbletea
* Cleanup readwriter
* Use embedded templates instead of serving over API
* Move templates to examples
* Improve workspace create flow
* Fix Windows build
* Fix tests
* Fix linting errors
* Fix untar with extracting max size
* Fix newline char
45 lines
1.0 KiB
Go
45 lines
1.0 KiB
Go
package cli
|
|
|
|
import (
|
|
"strings"
|
|
|
|
"github.com/spf13/cobra"
|
|
)
|
|
|
|
func workspaces() *cobra.Command {
|
|
cmd := &cobra.Command{
|
|
Use: "workspaces",
|
|
Aliases: []string{"ws"},
|
|
}
|
|
cmd.AddCommand(workspaceAgent())
|
|
cmd.AddCommand(workspaceCreate())
|
|
cmd.AddCommand(workspaceDelete())
|
|
cmd.AddCommand(workspaceList())
|
|
cmd.AddCommand(workspaceShow())
|
|
cmd.AddCommand(workspaceStop())
|
|
cmd.AddCommand(workspaceStart())
|
|
cmd.AddCommand(workspaceSSH())
|
|
cmd.AddCommand(workspaceUpdate())
|
|
|
|
return cmd
|
|
}
|
|
|
|
func validArgsWorkspaceName(cmd *cobra.Command, _ []string, toComplete string) ([]string, cobra.ShellCompDirective) {
|
|
client, err := createClient(cmd)
|
|
if err != nil {
|
|
return nil, cobra.ShellCompDirectiveError
|
|
}
|
|
workspaces, err := client.WorkspacesByUser(cmd.Context(), "")
|
|
if err != nil {
|
|
return nil, cobra.ShellCompDirectiveError
|
|
}
|
|
names := make([]string, 0)
|
|
for _, workspace := range workspaces {
|
|
if !strings.HasPrefix(workspace.Name, toComplete) {
|
|
continue
|
|
}
|
|
names = append(names, workspace.Name)
|
|
}
|
|
return names, cobra.ShellCompDirectiveDefault
|
|
}
|