Class: OrPattern

Inherits:
PatternBase show all
Defined in:
lib/textmate_grammar/pattern_extensions/or_pattern.rb

Overview

Note:

OneOfPattern is likely just as powerful and less confusing

Provides alternation Either the previous pattern or provided pattern is accepted

Instance Attribute Summary

Attributes inherited from PatternBase

#arguments, #match, #next_pattern, #original_arguments

Instance Method Summary collapse

Methods inherited from PatternBase

#==, #__deep_clone__, #__deep_clone_self__, #add_capture_group_if_needed, #collect_group_attributes, #convert_group_attributes_to_captures, #convert_includes_to_patterns, #do_add_attributes, #do_collect_self_groups, #do_evaluate_self, #each, #eql?, #fixup_regex_references, #groupless, #groupless?, #hash, #initialize, #insert, #insert!, #inspect, #lookAheadFor, #lookAheadToAvoid, #lookAround, #lookBehindFor, #lookBehindToAvoid, #map, #map!, #map_includes!, #matchResultOf, #maybe, #name, #needs_to_capture?, #oneOf, #oneOrMoreOf, #optimize_outer_group?, #or, #placeholder, #raise_if_regex_has_capture_group, #reTag, #recursivelyMatch, #resolve, #run_self_tests, #run_tests, #self_scramble_references, #start_pattern, #then, #to_r, #to_s, #to_tag, #transform_includes, #transform_tag_as, #zeroOrMoreOf

Constructor Details

This class inherits a constructor from PatternBase

Instance Method Details

#do_get_to_s_name(top_level) ⇒ String

What is the name of the method that the user would call top_level is if a freestanding or chaining function is called called by #to_s

Parameters:

  • top_level (Boolean)

    is this top_level or chained

Returns:

  • (String)

    the name of the method



30
31
32
# File 'lib/textmate_grammar/pattern_extensions/or_pattern.rb', line 30

def do_get_to_s_name(top_level)
    top_level ? "or(" : ".or("
end

#evaluate(*_ignored) ⇒ void

This method returns an undefined value.

Raises an error to prevent use as initial type

Parameters:

  • _ignored

    ignored



25
26
27
# File 'lib/textmate_grammar/pattern_extensions/or_pattern.rb', line 25

def evaluate(*_ignored)
    raise "evaluate is not implemented for OrPattern"
end

#evaluate_operatorRegexOperator, AlternationOperator

Returns the operator to use when evaluating

Returns:



14
15
16
# File 'lib/textmate_grammar/pattern_extensions/or_pattern.rb', line 14

def evaluate_operator
    AlternationOperator.new
end

#single_entity?true

Returns:

  • (true)


36
37
38
# File 'lib/textmate_grammar/pattern_extensions/or_pattern.rb', line 36

def single_entity?
    true
end