docs: function func_help_cmd_help(arg_terminal_feature, arg_response, cmd, opd1, opd2, opd3)
  {
      arg_response.result.value = []
      if ( arg_terminal_feature && arg_terminal_feature.is_terminal_feature && arg_terminal_feature._terminal)
      {
          const features = arg_terminal_feature._terminal.get_features()
          const aliases = arg_terminal_feature._terminal.get_aliases()
  
          // SEARCH FEATURE NAME
          let feature_name = arg_terminal_feature._terminal.get_mode()
          let topic = undefined
          if (opd1 in features)
          {
              feature_name = opd1
              topic = opd2
          }
          else if (opd1 in aliases)
          {
              feature_name = aliases[opd].get_name()
              topic = opd2
          }
          if (! feature_name)
          {
              arg_response.result.value = features
              arg_response.result.str = 'type help feature with features is one of [' + features.join(',') + ']'
              arg_response.result.error = undefined
              return arg_response
          }
  
          // GET FEATURE INSTANCE
          const feature = (feature_name in features) ? features[feature_name] : undefined
          if (! feature)
          {
              arg_response.result.error = 'no feature found [' + feature_name + '] for command :[' + cmd + ']'
              return arg_response
          }
  
          // GET FEATURE COMMAND
          if (topic)
          {
              const command = feature.get_command(topic)
              if (command)
              {
                  arg_response.result.value =  command
                  arg_response.result.str =  func_help_format_command(command)
                  return arg_response
              }
          }
  
          // GET COMMANDS
          const commands = feature.get_commands()
          arg_response.result.value =  commands
          arg_response.result.str =  func_help_format_commands(commands)
      }
  }