Skip to content

Commit 81a7e84

Browse files
authored
Improve os config swap options argument (non-)completions (#561)
1 parent d596799 commit 81a7e84

1 file changed

Lines changed: 11 additions & 1 deletion

File tree

cmd/os_config_swap_options.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package cmd
22

33
import (
44
"fmt"
5+
"strconv"
56
helper "github.com/home-assistant/cli/client"
67
log "github.com/sirupsen/logrus"
78
"github.com/spf13/cobra"
@@ -46,8 +47,17 @@ This command allows you to override how the Home Assistant OS uses swap.`,
4647
}
4748

4849
func init() {
50+
const maxSwappiness = 200
4951
osConfigSwapOptionsCmd.Flags().String("swap-size", "", "Swap size in bytes with optional units (K/M/G)")
50-
osConfigSwapOptionsCmd.Flags().Int("swappiness", 1, "Kernel swappiness value (0-200)")
52+
osConfigSwapOptionsCmd.Flags().Int("swappiness", 1, fmt.Sprintf("Kernel swappiness value (0-%d)", maxSwappiness))
53+
osConfigSwapOptionsCmd.RegisterFlagCompletionFunc("swap-size", cobra.NoFileCompletions)
54+
osConfigSwapOptionsCmd.RegisterFlagCompletionFunc("swappiness", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
55+
v := make([]string, maxSwappiness+1)
56+
for i := range len(v) {
57+
v[i] = strconv.Itoa(i)
58+
}
59+
return v, cobra.ShellCompDirectiveNoFileComp
60+
})
5161

5262
osConfigSwapCmd.AddCommand(osConfigSwapOptionsCmd)
5363
}

0 commit comments

Comments
 (0)