MCPcopy Index your code
hub / github.com/coder/coder / normalizeWorkspaceInput

Function normalizeWorkspaceInput

cli/ssh.go:1764–1785  ·  view source on GitHub ↗

Converts workspace name input to owner/workspace.agent format Possible valid input formats: workspace workspace.agent owner/workspace owner--workspace owner/workspace--agent owner/workspace.agent owner--workspace--agent owner--workspace.agent agent.workspace.owner - for parity with Coder Connect

(input string)

Source from the content-addressed store, hash-verified

1762// owner--workspace.agent
1763// agent.workspace.owner - for parity with Coder Connect
1764func normalizeWorkspaceInput(input string) string {
1765 // Split on "/", "--", and "."
1766 parts := workspaceNameRe.Split(input, -1)
1767
1768 switch len(parts) {
1769 case 1:
1770 return input // "workspace"
1771 case 2:
1772 if strings.Contains(input, ".") {
1773 return fmt.Sprintf("%s.%s", parts[0], parts[1]) // "workspace.agent"
1774 }
1775 return fmt.Sprintf("%s/%s", parts[0], parts[1]) // "owner/workspace"
1776 case 3:
1777 // If the only separator is a dot, it's the Coder Connect format
1778 if !strings.Contains(input, "/") && !strings.Contains(input, "--") {
1779 return fmt.Sprintf("%s/%s.%s", parts[2], parts[1], parts[0]) // "owner/workspace.agent"
1780 }
1781 return fmt.Sprintf("%s/%s.%s", parts[0], parts[1], parts[2]) // "owner/workspace.agent"
1782 default:
1783 return input // Fallback
1784 }
1785}

Callers 1

Calls 1

ContainsMethod · 0.45

Tested by

no test coverage detected