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