9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
# File 'lib/seeing_is_believing/wrap_expressions.rb', line 9
def process
adjustment = 0
source = @source_buffer.source.dup
sorted_queue = @queue.sort_by.with_index do |action, index|
[action.range.begin_pos, index]
end
sorted_queue.each do |action|
begin_pos = action.range.begin_pos + adjustment
end_pos = begin_pos + action.range.length
source[begin_pos...end_pos] = action.replacement
adjustment += (action.replacement.length - action.range.length)
end
source
end
|