Ignore:
Timestamp:
Apr 26, 2012, 9:51:00 AM (12 years ago)
Author:
rybkin
Message:

See C.L. 487

File:
1 edited

Legend:

Unmodified
Added
Removed
  • CMT/HEAD/source/cmt_parser.cxx

    r610 r612  
    43534353void Cmt::do_show_action (const ArgParser& ap)
    43544354{
    4355   cmt_string target;
    4356 
    4357   if (ap.arguments.size () > 0) target = ap.arguments[0];
    4358 
    4359   Symbol* symbol;
    4360 
    4361   set_standard_macros ();
    4362 
    4363   symbol = Symbol::find (target);
    4364 
    4365   if (symbol == 0)
    4366     {
    4367       cmt_string t (target);
    4368       t += " is not defined";
    4369 
    4370       CmtError::set (CmtError::symbol_not_found, t);
    4371 
    4372       return;
    4373     }
    4374   else
    4375     {
    4376       cmt_string t = target;
    4377       t += " is a ";
    4378 
    4379       if ((Me.m_action == action_show_action) ||
    4380           (Me.m_action == action_show_action_value))
    4381         {
    4382           if (symbol->type != Symbol::SymbolAction)
    4383             {
    4384               if (symbol->type == Symbol::SymbolMacro)
    4385                 {
    4386                   t += "macro";
    4387                 }
    4388               else if (symbol->type == Symbol::SymbolSet)
    4389                 {
    4390                   t += "set";
    4391                 }
    4392               else if (symbol->type == Symbol::SymbolPath)
    4393                 {
    4394                   t += "path";
    4395                 }
    4396               else if (symbol->type == Symbol::SymbolAlias)
    4397                 {
    4398                   t += "alias";
    4399                 }
    4400 
    4401               CmtError::set (CmtError::wrong_symbol_type, t);
    4402             }
    4403         }
    4404     }
    4405 
    4406   if (symbol->value_lists.size () < 1) return;
    4407 
    4408   symbol->show_macro (ap.mode);
     4355  do_show_macro (ap);
    44094356}
    44104357
     
    44314378//----------------------------------------------------------
    44324379void Cmt::do_show_actions (const ArgParser& ap)
     4380{
     4381  if (ap.arguments.size () > 0)
     4382    {
     4383      const cmt_string& pattern = ap.arguments[0];
     4384      print_macros (ap.mode, pattern);
     4385    }
     4386  else
     4387    {
     4388      print_macros (ap.mode);
     4389    }
     4390}
     4391
     4392//----------------------------------------------------------
     4393void Cmt::do_show_alias (const ArgParser& ap)
     4394{
     4395  do_show_macro (ap);
     4396}
     4397
     4398//----------------------------------------------------------
     4399void Cmt::do_show_alias_names (const ArgParser& ap)
     4400{
     4401  if (ap.arguments.size () > 0)
     4402    {
     4403      const cmt_string& pattern = ap.arguments[0];
     4404      print_symbol_names (ap.mode, pattern);
     4405    }
     4406  else
     4407    {
     4408      print_symbol_names (ap.mode);
     4409    }
     4410}
     4411
     4412//----------------------------------------------------------
     4413void Cmt::do_show_alias_value (const ArgParser& ap)
     4414{
     4415  do_show_macro (ap);
     4416}
     4417
     4418//----------------------------------------------------------
     4419void Cmt::do_show_aliases (const ArgParser& ap)
    44334420{
    44344421  if (ap.arguments.size () > 0)
     
    47174704    {
    47184705      cmt_string t = target;
    4719       t += " is a ";
     4706      t += " is ";
    47204707
    47214708      if ((Me.m_action == action_show_macro) ||
     
    47594746            }
    47604747        }
     4748      else if (
     4749               ((Me.m_action == action_show_action ||
     4750                 Me.m_action == action_show_action_value) &&
     4751                symbol->type != Symbol::SymbolAction)
     4752               ||
     4753               ((Me.m_action == action_show_alias ||
     4754                 Me.m_action == action_show_alias_value) &&
     4755                symbol->type != Symbol::SymbolAlias)
     4756               )
     4757        {
     4758          switch (symbol->type)
     4759            {
     4760            case Symbol::SymbolUndefined:
     4761              t += "undefined";
     4762              break;
     4763            case Symbol::SymbolAction:
     4764              t += "action";
     4765              break;
     4766            case Symbol::SymbolAlias:
     4767              t += "alias";
     4768              break;
     4769            case Symbol::SymbolMacro:
     4770              t += "macro";
     4771              break;
     4772            case Symbol::SymbolSetupScript:
     4773              t += "setup_script";
     4774              break;
     4775            case Symbol::SymbolCleanupScript:
     4776              t += "cleanup_script";
     4777              break;
     4778            case Symbol::SymbolSet:
     4779              t += "set";
     4780              break;
     4781            case Symbol::SymbolPath:
     4782              t += "path";
     4783              break;
     4784            default:
     4785              t += "unknown";
     4786              break;
     4787            }
     4788         
     4789          CmtError::set (CmtError::wrong_symbol_type, t);
     4790        }
    47614791    }
    47624792
     
    66056635    case action_show_action_value :
    66066636    case action_show_actions :
     6637    case action_show_alias :
     6638    case action_show_alias_names :
     6639    case action_show_alias_value :
     6640    case action_show_aliases :
    66076641    case action_show_all_tags :
    66086642    case action_show_applied_patterns :
     
    67246758    case action_show_action_value :
    67256759    case action_show_actions :
     6760    case action_show_alias :
     6761    case action_show_alias_names :
     6762    case action_show_alias_value :
     6763    case action_show_aliases :
    67266764    case action_show_all_tags :
    67276765    case action_show_applied_patterns :
     
    68326870    case action_show_action_value :
    68336871    case action_show_actions :
     6872    case action_show_alias :
     6873    case action_show_alias_names :
     6874    case action_show_alias_value :
     6875    case action_show_aliases :
    68346876    case action_show_all_tags :
    68356877    case action_show_applied_patterns :
     
    69807022          // case action_show_action_value :
    69817023          // case action_show_actions :
     7024          // case action_show_alias :
     7025          // case action_show_alias_names :
     7026          // case action_show_alias_value :
     7027          // case action_show_aliases :
    69827028          // case action_show_all_tags :
    69837029          // case action_show_applied_patterns :
     
    71937239          do_show_actions (ap);
    71947240          break;
     7241        case action_show_alias :
     7242          do_show_alias (ap);
     7243          break;
     7244        case action_show_alias_names :
     7245          do_show_alias_names (ap);
     7246          break;
     7247        case action_show_alias_value :
     7248          do_show_alias_value (ap);
     7249          break;
     7250        case action_show_aliases :
     7251          do_show_aliases (ap);
     7252          break;
    71957253        case action_show_all_tags :
    71967254          do_show_all_tags (ap);
     
    77607818      else if (Me.m_action == action_show_set_names)
    77617819        {
    7762           // Exclude macros.
     7820          // Exclude macros, actions.
    77637821          if ((symbol.type == Symbol::SymbolMacro) ||
    77647822              (symbol.type == Symbol::SymbolAction)) continue;
     
    77667824      else if (Me.m_action == action_show_action_names)
    77677825        {
    7768           // Exclude macros.
     7826          // Only keep actions.
    77697827          if (symbol.type != Symbol::SymbolAction) continue;
     7828        }
     7829      else if (Me.m_action == action_show_alias_names)
     7830        {
     7831          // Only keep aliases.
     7832          if (symbol.type != Symbol::SymbolAlias) continue;
    77707833        }
    77717834
     
    78277890        {
    78287891          if (symbol.type != Symbol::SymbolAction) continue;
     7892        }
     7893      else if (Me.m_action == action_show_aliases)
     7894        {
     7895          if (symbol.type != Symbol::SymbolAlias) continue;
    78297896        }
    78307897
Note: See TracChangeset for help on using the changeset viewer.