mirror of
https://github.com/skoelle/kctl-tui.git
synced 2026-09-18 04:20:25 +00:00
Remove context-pair logic, superseded by env-template based context resolution
This commit is contained in:
@@ -1,35 +0,0 @@
|
|||||||
// Package kctl contains the core, non-interactive logic of kctl-tui.
|
|
||||||
// Functions here are pure (no kubectl/tmux side effects) so they can be
|
|
||||||
// unit tested without a live cluster.
|
|
||||||
package kctl
|
|
||||||
|
|
||||||
// ContextPair groups a set of related kubectl contexts that should be
|
|
||||||
// switchable via TAB while keeping the same namespace (e.g. staging/prod).
|
|
||||||
type ContextPair struct {
|
|
||||||
Name string `yaml:"name"`
|
|
||||||
Contexts []string `yaml:"contexts"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// FindNextContext returns the next context in the same pair/group as
|
|
||||||
// current, cycling through the group. Returns "", false if current is not
|
|
||||||
// part of any configured pair.
|
|
||||||
func FindNextContext(current string, pairs []ContextPair) (string, bool) {
|
|
||||||
for _, pair := range pairs {
|
|
||||||
idx := indexOf(pair.Contexts, current)
|
|
||||||
if idx == -1 {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
next := pair.Contexts[(idx+1)%len(pair.Contexts)]
|
|
||||||
return next, true
|
|
||||||
}
|
|
||||||
return "", false
|
|
||||||
}
|
|
||||||
|
|
||||||
func indexOf(items []string, target string) int {
|
|
||||||
for i, v := range items {
|
|
||||||
if v == target {
|
|
||||||
return i
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return -1
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user