Project: aptanastudio
Issue APSTUD-4590: Add support for union, intersection, and grouping operators to scope selectors
TextMate scope syntax supports '&', '|', and parenthesis to create more explicit scope selectors. Our current implementation supports "descendant selector", ',', and '-' (negative lookahead). In order to support these new operators, we will need to create a true parser. We should be able to use existing ISelectorNode (the AST nodes); however, there is a subtle difference between a descendant selector and the & operator. A descendant selector can match any segment from the current position within the scope to the end of the scope. The & operator is used for intersection, so it will need its own node type. Additionally, we will need a node for parenthesis to make it easier to reverse an AST back to source. We use the source for some types of equality testing. One reference: * http://lists.macromates.com/textmate/2008-June/025964.html
Story points: 13