github.com/lmorg/murex@v0.0.0-20240217211045-e081c89cd4ef/integrations/microk8s_any.mx (about) 1 !if { which: microk8s } then { 2 return 3 } 4 5 private autocomplete.microk8s { 6 # Top level completion results for microk8s 7 microk8s -> tabulate -> cast str 8 } 9 10 test: unit private autocomplete.microk8s { 11 "StdoutType": "str", 12 "StdoutBlock": ({ 13 -> len -> set len; 14 if { = len>0 } then { 15 out "Len greater than 0" 16 } else { 17 err "No elements returned" 18 } 19 }), 20 "StdoutIsArray": true 21 } 22 23 private autocomplete.microk8s.kubectl { 24 # Top level completion results for microk8s kubectl 25 microk8s kubectl help -> tabulate: --map 26 } 27 28 test: unit private autocomplete.microk8s.kubectl { 29 "StdoutType": "json", 30 "StdoutBlock": ({ 31 -> len -> set len; 32 if { = len>0 } then { 33 out "Len greater than 0" 34 } else { 35 err "No elements returned" 36 } 37 }), 38 "StdoutIsMap": true 39 } 40 41 private autocomplete.microk8s.kubectl.dyndesc { 42 # Dynamic completion for microk8s kubectl 43 microk8s kubectl help $ARGS[1] -> @[^Options..^Usage]re -> regexp "s/:/\t/" -> tabulate: --key-inc-hint --map --split-comma 44 } 45 46 autocomplete: set microk8s {[ 47 { 48 "Dynamic": ({ autocomplete.microk8s }), 49 "AllowMultiple": false, 50 "FlagValues": { 51 "kubectl": [ 52 { 53 "DynamicDesc": ({ autocomplete.microk8s.kubectl }), 54 "ListView": true, 55 "AllowMultiple": false, 56 "Optional": false 57 }, 58 { 59 #"DynamicDesc": ({ autocomplete.microk8s.kubectl.dyndesc $ARGS[2] }), 60 "Dynamic": ({ out @ARGS }), 61 "AllowMultiple": true, 62 "AnyValue": true 63 #"ListView": true 64 } 65 ] 66 } 67 } 68 ]} 69 70 autocomplete: set microk8s.kubectl {[ 71 { 72 "DynamicDesc": ({ autocomplete.microk8s.kubectl }), 73 "ListView": true, 74 "AllowMultiple": false, 75 "Optional": false 76 }, 77 { 78 "DynamicDesc": ({ autocomplete.microk8s.kubectl.dyndesc $ARGS[1] }), 79 #"Dynamic": ({ out @ARGS }), 80 "AllowMultiple": true, 81 "AnyValue": true, 82 "ListView": true 83 } 84 ]} 85 86 autocomplete: set kubectl {[ 87 { 88 "DynamicDesc": ({ autocomplete.microk8s.kubectl }), 89 "ListView": true, 90 "AllowMultiple": false, 91 "Optional": false 92 }, 93 { 94 "DynamicDesc": ({ autocomplete.microk8s.kubectl.dyndesc $ARGS[2] }), 95 #"Dynamic": ({ out @ARGS }), 96 "AllowMultiple": true, 97 "AnyValue": true, 98 "ListView": true 99 } 100 ]}