1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
|
# File 'lib/textbringer/buffer.rb', line 1146
def replace_regexp_forward(regexp, to_str)
result = 0
rest = substring(point, point_max)
composite_edit do
delete_region(point, point_max)
new_str = rest.gsub(new_regexp(regexp)) {
result += 1
m = Regexp.last_match
to_str.gsub(/\\(?:([0-9]+)|(&)|(\\))/) { |s|
case
when $1
m[$1.to_i]
when $2
m.to_s
when $3
"\\"
end
}
}
insert(new_str)
end
result
end
|