NoSelEOL plugin
- Author
- Message
-
Offline
- Posts: 1250
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
NoSelEOL plugin
NoSelEOL плагин был замещен SmartSel плагином.
NoSelEOL plugin was superseded by SmartSel plugin.
This plugin excludes last end-of-line (EOL) symbol from selected text.
May be usefull when a whole text line is selected
Этот плагин исключает последний символ перевода строки (EOL) из
выделенного текста.
Может быть полезно при выделении всей строки
NoSelEOL plugin was superseded by SmartSel plugin.
This plugin excludes last end-of-line (EOL) symbol from selected text.
May be usefull when a whole text line is selected
Этот плагин исключает последний символ перевода строки (EOL) из
выделенного текста.
Может быть полезно при выделении всей строки
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
Предложения:
1. Не захватывать EOF.
2. Сделать опциональную возможность переходить в конец строки к последнему значащему символу, т.е. по аналогии со SmartHome (типа SmartEnd ). Т.е. при последовательном нажатии End чтобы курсор бегал то к последнему значащему символу, то к концу строки, но без EOL/EOF.
Вопрос: каков приоритет плагина? Т.е. будут ли корректно работать скрипты, которые написаны с учётом захвата EOL?
1. Не захватывать EOF.
2. Сделать опциональную возможность переходить в конец строки к последнему значащему символу, т.е. по аналогии со SmartHome (типа SmartEnd ). Т.е. при последовательном нажатии End чтобы курсор бегал то к последнему значащему символу, то к концу строки, но без EOL/EOF.
Вопрос: каков приоритет плагина? Т.е. будут ли корректно работать скрипты, которые написаны с учётом захвата EOL?
-
Offline
- Posts: 1250
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
EOF захватывается для того, чтобы было явно видно, что при выделении до самого конца файла включается и последний перенос строки. Это, в свою очередь, следствие того, что по Ctrl+A выделяется весь текст полностью, включая последний знак переноса.VladSh wrote:Не захватывать EOF.
Если прочитать вышеизложенное несколько раз, то станет понятно
Значащий символ - это всё, кроме табов и пробелов? Это можно, но неохота возиться с диалогом настроек.VladSh wrote:Т.е. при последовательном нажатии End чтобы курсор бегал то к последнему значащему символу, то к концу строки, но без EOL/EOF.
Хм, можно попробовать сделать ещё одну экспортируемую функцию плагина - NoSelEOL::SmartEnd - и, когда она загружена, перехватывать нажатия End. Я над этим подумаю.
Насколько я понимаю, приоритет можно задать только из AkelPad.ini - а именно, расположить этот плагин до или после плагина Macros.VladSh wrote:Вопрос: каков приоритет плагина?
В смысле, до или после плагина Scripts.
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
Понятно; я как раз это и имел в виду - думал, что это глюк.DV wrote:... следствие того, что по Ctrl+A выделяется весь текст полностью, включая последний знак переноса.
Да.DV wrote:Значащий символ - это всё, кроме табов и пробелов?
Было бы здорово!DV wrote:... и, когда она загружена, перехватывать нажатия End. Я над этим подумаю.
Хорошо, когда есть надежда
Раньше стоял перед, сейчас поставил после, но эффекта всё равно никакого - результат работы некоторых скриптов весьма страненDV wrote:Насколько я понимаю, приоритет можно задать только из AkelPad.ini - а именно, расположить этот плагин до или после плагина ... Scripts.
-
Offline
- Posts: 1250
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
Насколько я понимаю, выполнение скрипта является в принципе внешним действием по отношению к AkelPad. Поэтому при вызове из скрипта следующего действия:VladSh wrote:например CtrlDown
Code: Select all
AkelPad.SetSel(nSelStart, nSelEnd);
Таким образом, при работе NoSelEOL скрипт получает выделение уже без последнего символа переноса строки.
-
Offline
- Posts: 1250
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
NoSelEOL v.1.1
========================
NoSelEOL::Main
* исключает последний символ перевода строки (EOL) из выделенного текста.
NoSelEOL::SmartEnd
* нажатие клавиши End перемещает курсор на последний символ в строке,
который не является пробелом или табуляцией.
* повторное нажатие клавиши End перемещает курсор в конец строки.
* последовательное нажатие End, Shift+End позволяет выделить все
символы пробела и табуляции в конце строки.
========================
NoSelEOL::Main
* excludes last end-of-line (EOL) symbol from selected text.
NoSelEOL::SmartEnd
* when End key is pressed, cursor jumps to last non-space/non-tab character.
* when End key is pressed again, cursor jumps to the end of the line.
* key sequence End, Shift+End allows to select all trailing spaces/tabs.
========================
NoSelEOL::Main
* исключает последний символ перевода строки (EOL) из выделенного текста.
NoSelEOL::SmartEnd
* нажатие клавиши End перемещает курсор на последний символ в строке,
который не является пробелом или табуляцией.
* повторное нажатие клавиши End перемещает курсор в конец строки.
* последовательное нажатие End, Shift+End позволяет выделить все
символы пробела и табуляции в конце строки.
========================
NoSelEOL::Main
* excludes last end-of-line (EOL) symbol from selected text.
NoSelEOL::SmartEnd
* when End key is pressed, cursor jumps to last non-space/non-tab character.
* when End key is pressed again, cursor jumps to the end of the line.
* key sequence End, Shift+End allows to select all trailing spaces/tabs.
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
DV, мне неловко писать, т.к. выше говорит, что всё работает отлично.
Обнаружилась проблема со SmartEnd: иногда пишу и ставлю в конце пробел, а потом возвращаюсь в середину строки, чтобы откорректировать фразу, потом жму End и курсор становится перед пробелом. Т.е. приходится ставить пробел снова, в таком случае после завершения редактирования в конце каждого предложения образуется куча пробелов. Или при переходе в конец предложения приходится дважды жать End, чтобы проверить, есть ли там пробел. Как оказалось - это неудобно, напрягает.
Можно ли немного изменить алгоритм? Чтобы при нажатии End курсор устанавливался именно в конец строки, но перед переводом строки. При следующем нажатии End чтобы курсор прыгал в позицию после последнего значимого символа. Это будет удобнее, т.к. таких ситуаций, когда в конце пробелы или табуляции, на самом деле не так много. Также это даст то, что всегда будем знать, если ли пробелы/табуляции в конце предложения или нет (для этого не придётся ещё раз жать End).
Для того, чтобы удалить пробелы в конце м.б. после первого End нажать его ещё раз, а затем выделить их Shift+End и нажать Del или просто использовать функцию "Del trailing whitespaces".
Обнаружилась проблема со SmartEnd: иногда пишу и ставлю в конце пробел, а потом возвращаюсь в середину строки, чтобы откорректировать фразу, потом жму End и курсор становится перед пробелом. Т.е. приходится ставить пробел снова, в таком случае после завершения редактирования в конце каждого предложения образуется куча пробелов. Или при переходе в конец предложения приходится дважды жать End, чтобы проверить, есть ли там пробел. Как оказалось - это неудобно, напрягает.
Можно ли немного изменить алгоритм? Чтобы при нажатии End курсор устанавливался именно в конец строки, но перед переводом строки. При следующем нажатии End чтобы курсор прыгал в позицию после последнего значимого символа. Это будет удобнее, т.к. таких ситуаций, когда в конце пробелы или табуляции, на самом деле не так много. Также это даст то, что всегда будем знать, если ли пробелы/табуляции в конце предложения или нет (для этого не придётся ещё раз жать End).
Для того, чтобы удалить пробелы в конце м.б. после первого End нажать его ещё раз, а затем выделить их Shift+End и нажать Del или просто использовать функцию "Del trailing whitespaces".
-
Offline
- Posts: 1250
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact: