Method: Textbringer::Buffer#re_search_forward

Defined in:
lib/textbringer/buffer.rb

#re_search_forward(s, raise_error: true, count: 1) ⇒ Object



1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
# File 'lib/textbringer/buffer.rb', line 1096

def re_search_forward(s, raise_error: true, count: 1)
  if count < 0
    return re_search_backward(s, raise_error: raise_error, count: -count)
  end
  re = new_regexp(s)
  pos = @point
  count.times do
    i = byteindex(true, re, pos)
    if i.nil?
      if raise_error
        raise SearchError, "Search failed"
      else
        return nil
      end
    end
    pos = match_end(0)
  end
  goto_char(pos)
end