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  }