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  ]}