Это возможно, но, вероятно, потребует от вас расширения или подкласса Curses::UI::TextEditor. Это связано с тем, что класс TextEditor отображает свое содержимое построчно.
Я немного повозился с методом draw_text
Curses::UI::TextEditor, чтобы доказать самому себе, что это можно сделать:
sub draw_text(;$)
{
# ...
for my $id (0 .. $this->canvasheight - 1)
{
my $line_number = sprintf( "%04d", $id );
$this->{-canvasscr}->attron( A_REVERSE );
$this->{-canvasscr}->addstr( $line_number );
$this->{-canvasscr}->attroff( A_REVERSE );
# ...
Это помещает обратный цветной блок с текущим номером строки в каждой строке. Конечно, это не ставит его в начало очереди, как я ожидал, но у меня было всего около 10 минут, чтобы поиграть. Вы могли бы иметь лучшие результаты с немного больше времени.
Так. Возможно? да. Легкий? Возможно, нет. По-прежнему существует проблема токенизации содержимого вашего редактора для выделения.
person
Brian Wisti
schedule
20.08.2013