Module: Yatte::BracketMatch
- Defined in:
- lib/yatte/bracket_match.rb
Constant Summary collapse
- PAIRS =
{"(" => ")", "[" => "]", "{" => "}"}.freeze
- REVERSE =
PAIRS.invert.freeze
- ALL =
(PAIRS.keys + PAIRS.values).freeze
Class Method Summary collapse
Class Method Details
.find_match(buffer, row, col) ⇒ Object
9 10 11 12 13 14 15 16 17 18 |
# File 'lib/yatte/bracket_match.rb', line 9 def self.find_match(buffer, row, col) char = buffer.line_at(row)[col] return nil unless char && ALL.include?(char) if PAIRS.key?(char) scan_forward(buffer, row, col, char, PAIRS[char]) else scan_backward(buffer, row, col, REVERSE[char], char) end end |