Share via


TriggerClass Enumeration

Specifies an IntelliSense trigger to be applied to the specified character in a Babel Package language service.

enum DefaultTriggerClass 
{ 
   TriggerNone         = 0,
   TriggerMemberSelect = 0x01,
   TriggerMatchBraces  = 0x02,
   TriggerMethodTip    = 0xf0,
   TriggerParamStart   = 0x10,
   TriggerParamNext    = 0x20,
   TriggerParamEnd     = 0x40,
   TriggerParam        = 0x80
};
typedef long TriggerClass;

Elements

  • TriggerNone = 0
    No trigger (the default value).

  • TriggerMemberSelect = 0x01
    Token is a member selection character; for example, in C++, this could be '.' or the '>' in "->".

    Display a list of members in response to this trigger.

  • TriggerMatchBraces = 0x02
    Token is a language pair value; for example, '{' and '}', '(' and ')', or '<' and '>'.

    Find and highlight the matching language pair in response to this trigger.

  • TriggerMethodTip = 0xf0
    This is a mask used to isolate the TriggerParamXX values.

  • TriggerParamStart = 0x10
    Token is the first character of a method parameter list; for example '(' in C++.

    Find all method signatures matching the identifier before the parameter list start character and show those signatures in an IntelliSense Parameter Info ToolTip in response to this trigger.

  • TriggerParamNext = 0x20
    Token is the separator between parameters in a method parameter list; for example, ',' in C++.

    Update the IntelliSense Parameter info ToolTip in response to this trigger.

  • TriggerParamEnd = 0x40
    Token is the closing character of a method parameter list; for example, ')' in C++.

    Remove the IntelliSense Parameter Info ToolTip in response to this trigger.

  • TriggerParam = 0x80
    Token represents the start of a parameter in a method parameter list. It is strongly recommended that you use TriggerParamStart instead of this trigger.

Remarks

Triggers exist for speed purposes. The (fast) lexer determines when a (slow) parse might be necessary. The TriggerMethodTip value is subdivided into the TriggerParamStart, TriggerParamNext, TriggerParamEnd, and TriggerParam values. It is the best to be as specific as possible when using these values. For example, it is better to return TriggerParamStart than TriggerParam.

You can add additional triggers starting with values 0x0100 (triggers are bit fields).

Trigger values are set for each character on a line in the IColorSink::Colorize Method.

Requirements

Header: Babelservice.idl

See Also

Reference

IColorSink::Colorize Method

Other Resources

Babel Enumerations