mirror of
https://git.sr.ht/~phw/scotty
synced 2025-04-29 21:27:05 +02:00
Basic TUI to add new service configuration
This commit is contained in:
parent
ce5cdceb1f
commit
ae5f1c5f26
8 changed files with 242 additions and 2 deletions
|
@ -19,6 +19,7 @@ package backends
|
|||
import (
|
||||
"fmt"
|
||||
"reflect"
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
"github.com/spf13/viper"
|
||||
|
@ -41,6 +42,24 @@ type BackendInfo struct {
|
|||
ImportCapabilities []Capability
|
||||
}
|
||||
|
||||
func (b BackendInfo) String() string {
|
||||
return b.Name
|
||||
}
|
||||
|
||||
type BackendList []BackendInfo
|
||||
|
||||
func (l BackendList) Len() int {
|
||||
return len(l)
|
||||
}
|
||||
|
||||
func (l BackendList) Less(i, j int) bool {
|
||||
return l[i].Name < l[j].Name
|
||||
}
|
||||
|
||||
func (l BackendList) Swap(i, j int) {
|
||||
l[i], l[j] = l[j], l[i]
|
||||
}
|
||||
|
||||
type Capability = string
|
||||
|
||||
func ResolveBackend[T interface{}](config *viper.Viper) (T, error) {
|
||||
|
@ -59,8 +78,8 @@ func ResolveBackend[T interface{}](config *viper.Viper) (T, error) {
|
|||
return result, err
|
||||
}
|
||||
|
||||
func GetBackends() []BackendInfo {
|
||||
backends := make([]BackendInfo, 0)
|
||||
func GetBackends() BackendList {
|
||||
backends := make(BackendList, 0)
|
||||
for name, backendFunc := range knownBackends {
|
||||
backend := backendFunc()
|
||||
info := BackendInfo{
|
||||
|
@ -71,6 +90,7 @@ func GetBackends() []BackendInfo {
|
|||
backends = append(backends, info)
|
||||
}
|
||||
|
||||
sort.Sort(backends)
|
||||
return backends
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue