| View previous topic :: View next topic |
| Author |
Message |
DV
Joined: 16 Nov 2006 Posts: 734 Location: Kyiv, Ukraine
|
Posted: Wed Mar 12, 2008 6:56 pm Post subject: 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) из
выделенного текста.
Может быть полезно при выделении всей строки  |
|
| Back to top |
|
 |
VladSh
Joined: 29 Nov 2006 Posts: 2523 Location: Киев, Русь
|
Posted: Wed Mar 12, 2008 7:20 pm Post subject: |
|
|
Я хочу!!!!!!!!!!! Где это можно взять?! |
|
| Back to top |
|
 |
DV
Joined: 16 Nov 2006 Posts: 734 Location: Kyiv, Ukraine
|
Posted: Wed Mar 12, 2008 7:32 pm Post subject: |
|
|
| VladSh wrote: | Я хочу!!!!!!!!!!! Где это можно взять?! |
Наверное, что-то на сервере еще не успело обновиться. В ближайшие дни должно стать доступно. Я полагаю  |
|
| Back to top |
|
 |
Instructor Site Admin
Joined: 06 Jul 2006 Posts: 4680
|
|
| Back to top |
|
 |
VladSh
Joined: 29 Nov 2006 Posts: 2523 Location: Киев, Русь
|
Posted: Thu Mar 13, 2008 11:24 am Post subject: |
|
|
Предложения:
1. Не захватывать EOF.
2. Сделать опциональную возможность переходить в конец строки к последнему значащему символу, т.е. по аналогии со SmartHome (типа SmartEnd ). Т.е. при последовательном нажатии End чтобы курсор бегал то к последнему значащему символу, то к концу строки, но без EOL/EOF.
Вопрос: каков приоритет плагина? Т.е. будут ли корректно работать скрипты, которые написаны с учётом захвата EOL? |
|
| Back to top |
|
 |
DV
Joined: 16 Nov 2006 Posts: 734 Location: Kyiv, Ukraine
|
Posted: Fri Mar 14, 2008 9:31 am Post subject: |
|
|
| VladSh wrote: | | Не захватывать EOF. |
EOF захватывается для того, чтобы было явно видно, что при выделении до самого конца файла включается и последний перенос строки. Это, в свою очередь, следствие того, что по Ctrl+A выделяется весь текст полностью, включая последний знак переноса.
Если прочитать вышеизложенное несколько раз, то станет понятно
| VladSh wrote: | | Т.е. при последовательном нажатии End чтобы курсор бегал то к последнему значащему символу, то к концу строки, но без EOL/EOF. |
Значащий символ - это всё, кроме табов и пробелов? Это можно, но неохота возиться с диалогом настроек.
Хм, можно попробовать сделать ещё одну экспортируемую функцию плагина - NoSelEOL::SmartEnd - и, когда она загружена, перехватывать нажатия End. Я над этим подумаю.
| VladSh wrote: | | Вопрос: каков приоритет плагина? |
Насколько я понимаю, приоритет можно задать только из AkelPad.ini - а именно, расположить этот плагин до или после плагина Macros.
В смысле, до или после плагина Scripts. |
|
| Back to top |
|
 |
VladSh
Joined: 29 Nov 2006 Posts: 2523 Location: Киев, Русь
|
Posted: Fri Mar 14, 2008 11:42 am Post subject: |
|
|
| DV wrote: | | ... следствие того, что по Ctrl+A выделяется весь текст полностью, включая последний знак переноса. | Понятно; я как раз это и имел в виду - думал, что это глюк.
| DV wrote: | | Значащий символ - это всё, кроме табов и пробелов? | Да.
| DV wrote: | | ... и, когда она загружена, перехватывать нажатия End. Я над этим подумаю. | Было бы здорово!
Хорошо, когда есть надежда
| DV wrote: | | Насколько я понимаю, приоритет можно задать только из AkelPad.ini - а именно, расположить этот плагин до или после плагина ... Scripts. | Раньше стоял перед, сейчас поставил после, но эффекта всё равно никакого - результат работы некоторых скриптов весьма странен  |
|
| Back to top |
|
 |
DV
Joined: 16 Nov 2006 Posts: 734 Location: Kyiv, Ukraine
|
Posted: Sun Mar 16, 2008 11:05 am Post subject: |
|
|
| VladSh wrote: | | результат работы некоторых скриптов весьма странен |
А где бы мне взять эти скрипты, чтобы попробовать их вместе с плагином? |
|
| Back to top |
|
 |
VladSh
Joined: 29 Nov 2006 Posts: 2523 Location: Киев, Русь
|
Posted: Mon Mar 17, 2008 11:41 am Post subject: |
|
|
| DV, например CtrlDown. |
|
| Back to top |
|
 |
DV
Joined: 16 Nov 2006 Posts: 734 Location: Kyiv, Ukraine
|
Posted: Tue Mar 18, 2008 9:47 am Post subject: |
|
|
| VladSh wrote: | | например CtrlDown |
Насколько я понимаю, выполнение скрипта является в принципе внешним действием по отношению к AkelPad. Поэтому при вызове из скрипта следующего действия:
| Code: | | AkelPad.SetSel(nSelStart, nSelEnd); |
происходит примерно следующее: AkelPad обрабатывает сообщение EM_EXSETSEL, затем передает это сообщение на обработку плагинам (тут срабатывает NoSelEOL), и только теперь управление возвращается скрипту.
Таким образом, при работе NoSelEOL скрипт получает выделение уже без последнего символа переноса строки. |
|
| Back to top |
|
 |
DV
Joined: 16 Nov 2006 Posts: 734 Location: Kyiv, Ukraine
|
Posted: Tue Mar 18, 2008 3:10 pm Post subject: |
|
|
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. |
|
| Back to top |
|
 |
VladSh
Joined: 29 Nov 2006 Posts: 2523 Location: Киев, Русь
|
Posted: Tue Mar 18, 2008 5:25 pm Post subject: |
|
|
| DV wrote: | | NoSelEOL v.1.1... | Супер! Работает отлично!
Большое Вам спасибо!!!  |
|
| Back to top |
|
 |
VladSh
Joined: 29 Nov 2006 Posts: 2523 Location: Киев, Русь
|
Posted: Wed Apr 16, 2008 11:22 am Post subject: |
|
|
DV, мне неловко писать, т.к. выше говорит, что всё работает отлично.
Обнаружилась проблема со SmartEnd: иногда пишу и ставлю в конце пробел, а потом возвращаюсь в середину строки, чтобы откорректировать фразу, потом жму End и курсор становится перед пробелом. Т.е. приходится ставить пробел снова, в таком случае после завершения редактирования в конце каждого предложения образуется куча пробелов. Или при переходе в конец предложения приходится дважды жать End, чтобы проверить, есть ли там пробел. Как оказалось - это неудобно, напрягает.
Можно ли немного изменить алгоритм? Чтобы при нажатии End курсор устанавливался именно в конец строки, но перед переводом строки. При следующем нажатии End чтобы курсор прыгал в позицию после последнего значимого символа. Это будет удобнее, т.к. таких ситуаций, когда в конце пробелы или табуляции, на самом деле не так много. Также это даст то, что всегда будем знать, если ли пробелы/табуляции в конце предложения или нет (для этого не придётся ещё раз жать End).
Для того, чтобы удалить пробелы в конце м.б. после первого End нажать его ещё раз, а затем выделить их Shift+End и нажать Del или просто использовать функцию "Del trailing whitespaces". |
|
| Back to top |
|
 |
DV
Joined: 16 Nov 2006 Posts: 734 Location: Kyiv, Ukraine
|
Posted: Thu Apr 17, 2008 12:34 pm Post subject: |
|
|
| VladSh wrote: | | Чтобы при нажатии End курсор устанавливался именно в конец строки, но перед переводом строки. При следующем нажатии End чтобы курсор прыгал в позицию после последнего значимого символа. |
Посмотрю, что можно сделать. |
|
| Back to top |
|
 |
VladSh
Joined: 29 Nov 2006 Posts: 2523 Location: Киев, Русь
|
Posted: Thu Apr 17, 2008 4:56 pm Post subject: |
|
|
Да, посмотрите пожалуйста.
Я там наверное много написал и всё равно не очень понятно..
Просто нужно изменить алгоритм "прыгания" курсора по End на противоположный, т.е. не после знач.символа, а потом в конец, а наоборот - в конец, а потом после знач.символа. |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|