diff options
author | jluehrs2 <jluehrs2@uiuc.edu> | 2008-05-22 14:26:57 -0500 |
---|---|---|
committer | jluehrs2 <jluehrs2@uiuc.edu> | 2008-05-22 14:26:57 -0500 |
commit | 0cdc4de86d2cea46aa6981427d7c23a5b0dad909 (patch) | |
tree | ac4d622261c1f81bbf42e6ac9df450e36de744db /lib/Language/TECO.pm | |
parent | e70442358c76101e546f1233f62d7e8c4ee5cea8 (diff) | |
download | language-teco-0cdc4de86d2cea46aa6981427d7c23a5b0dad909.tar.gz language-teco-0cdc4de86d2cea46aa6981427d7c23a5b0dad909.zip |
refactor getting buffer offsets by line into a method on the buffer object
Diffstat (limited to 'lib/Language/TECO.pm')
-rw-r--r-- | lib/Language/TECO.pm | 16 |
1 files changed, 1 insertions, 15 deletions
diff --git a/lib/Language/TECO.pm b/lib/Language/TECO.pm index 46f0918..ff11e4f 100644 --- a/lib/Language/TECO.pm +++ b/lib/Language/TECO.pm @@ -191,21 +191,7 @@ sub execute { $self->num(1); } my $num = $self->num; - if ($num > 0) { - my $regex = "(?:.*(?:\n|\$)){$num}"; - pos $self->{buffer}->{buffer} = $self->{buffer}->{pointer}; - $self->{buffer}->{buffer} =~ /$regex/g; - $self->{buffer}->print($self->{buffer}->{pointer}, - $+[0]); - } - else { - $num = -$num; - my $rev = reverse $self->{buffer}->{buffer}; - my $regex = ".*?(?:\n.*?){$num}(?=\n|\$)"; - pos $rev = length($self->{buffer}->{buffer}) - $self->{buffer}->{pointer}; - $rev =~ /$regex/sg; - $self->{buffer}->print(length($self->{buffer}->{buffer}) - $+[0], $self->{buffer}->{pointer}); - } + $self->{buffer}->print($self->{buffer}->get_line_offset($num)); } }); } |