#! /bin/bash

awk -v opt=$1 '
{
  if($1=="case" && match($2,"^cmd_.*:")){
    i++;
    enum[i]=$2;
    sub(":","",enum[i]);
    string[i]=$2;
    sub(":","",string[i]);
    sub("^cmd_","",string[i]);
  }
  }END{
  n=i;
  if(opt=="enum"){
    for(i=1;i<=n;i++){
      comma=",";
      if(i==n) comma="";
      printf("%s%s\n",enum[i],comma);
    }
  } else if(opt=="map"){
    for(i=1;i<=n;i++) {
      comma=",";
      if(i==n) comma="";
      printf("  {\"%s\",%s}%s\n",string[i],enum[i],comma);
    }
  }
  }'


