| View previous topic :: View next topic |
| Author |
Message |
Instructor Site Admin
Joined: 06 Jul 2006 Posts: 4650
|
Posted: Sat Jun 19, 2010 7:46 am Post subject: SmartSel plugin |
|
|
- Исключает последний символ перевода строки (EOL) из выделенного текста.
- При нажатии на клавишу HOME курсор перемещается на первый не пробельный символ.
- Нажатие клавиши End перемещает курсор на последний символ в строке, который не является пробелом или табуляцией.
- Excludes last end-of-line (EOL) symbol from selected text.
- HOME key goes to first non-space character.
- When End key is pressed, cursor jumps to last non-space/non-tab character
<< Download>> |
|
| Back to top |
|
 |
ccaid
Joined: 15 Jun 2009 Posts: 35
|
Posted: Wed Jul 14, 2010 3:07 pm Post subject: |
|
|
| выход каретки за края строк разрешен, SmartEnd активен — если каретка находится за краем строки, то нажатие End не приводит к её переходу к концу строки. отключение SmartEnd решает проблему, но хотелось бы продолжать им пользоваться. |
|
| Back to top |
|
 |
VladSh
Joined: 29 Nov 2006 Posts: 2510 Location: Киев, Русь
|
Posted: Thu Jul 22, 2010 10:31 am Post subject: |
|
|
Instructor
Есть некторые неприятные "мелочи" у NoSelEOL, хотел бы их фикса...
1. Тройной клик на предложении.
Иногда почему-то не выделяется всё предложение.
Поиск верхней части текста производится правильно, а поиск нижней иногда сбивается, т.е. оказывается в текущей позиции курсора.
Почему это происходит я так и не понял. Сначала думал, что делаю 3-й клик чуть быстрее, но и при быстром нажатии иногда текст выделяется правильно.
Никаких хитрых символов в файле нет...
2. Странное поведение выделения на последних 4-х строках файла.
Это можно посмотреть на примере ShiftVerticaly.js (ver. 1.2).
Как воспроизвести:
| Code: | последняя-4
последняя-3
последняя-2
последняя-1
Последняя строка ФАЙЛА | двигать последнюю вверх, и при перемещении предпоследней на место последней-2 у предпоследней "съедается" последний символ.
То же самое происходит, если двигать строку сверху вниз.
Т.е. есть на строках последняя-1, последняя-2 и последняя-3 у редактора (возможно у AkleEdit'а, а может быть у функции NoSelEOL) явные проблемы.
На самом деле то, что мы видим на примере выше - это мой обход ещё большего трабла с расползанием выделения, который можно увидеть если закоментировать строки
| Code: | if (!bSelEOL)
{
//код
} | в обоих направлениях, т.е. и когда nMoveDirection < 0 и когда else.
Для того, чтобы увидеть трабл выделения подготовьте файл, чтобы в нём была только последняя строка, а перед ней 4 строки пустые:
| Code: |
Последняя строка ФАЙЛА | подвигать 4-5 строк вверх, а потом вниз, и посмотреть что происходит с выделением.
Причём, если протестить предыдущий файл (где все эти строки заполнены), то такого трабла не будет.
Суть бага - выделение разъезжается только тогда, когда в строке, перед выделением, нет содержимого, т.е. просто идёт перевод строки.
Я с чем-то подобным встречался уже давно, ещё при написании CtrlDown.js, но там не дошло до подробного воспроизведения, т.к. выделять строки, на котором уже установлено выделение, проще и не так видны эти траблы.
Хотелось бы чтобы на всех строках редактор вёл себя одинаково.
Last edited by VladSh on Thu Jul 22, 2010 4:30 pm; edited 1 time in total |
|
| Back to top |
|
 |
Instructor Site Admin
Joined: 06 Jul 2006 Posts: 4650
|
Posted: Thu Jul 22, 2010 11:14 am Post subject: |
|
|
VladSh
Почему вопрос адресован мне?  |
|
| Back to top |
|
 |
VladSh
Joined: 29 Nov 2006 Posts: 2510 Location: Киев, Русь
|
Posted: Thu Jul 22, 2010 11:29 am Post subject: |
|
|
Instructor
Я просто не знаю кому
Сначала эти функции писал DV, но потом Вы их объединили со SmartHome, вот я и подумал, что "все права, включая права на баги" принадлежат теперь Вам
Если вопрос не по адресу, скажите, в чём проблема? Это проблема реализации функции?
И кто тогда её поддерживает? |
|
| Back to top |
|
 |
KDJ
Joined: 06 Mar 2010 Posts: 1069 Location: Poland
|
Posted: Thu Jul 22, 2010 11:39 am Post subject: |
|
|
| VladSh wrote: |
1. Тройной клик на предложении.
Иногда почему-то не выделяется всё предложение.
|
When turned on "SmartSel:NoSelEOL", you need to click three times very quickly. |
|
| Back to top |
|
 |
KDJ
Joined: 06 Mar 2010 Posts: 1069 Location: Poland
|
Posted: Thu Jul 22, 2010 12:00 pm Post subject: |
|
|
Function "SmartSel:NoSelEOL" work like that:
When the cursor is in the first column, and press Shift+Down, then selects current row without EOL.
If you press Shift+Up, then selects the previous line with EOL.
Perhaps in the latter case, the function should not select EOL. |
|
| Back to top |
|
 |
VladSh
Joined: 29 Nov 2006 Posts: 2510 Location: Киев, Русь
|
Posted: Thu Jul 22, 2010 12:14 pm Post subject: |
|
|
KDJ
Thank you!  |
|
| Back to top |
|
 |
KDJ
Joined: 06 Mar 2010 Posts: 1069 Location: Poland
|
Posted: Thu Jul 22, 2010 12:17 pm Post subject: |
|
|
VladSh
In the script ShiftVerticaly.js, you may unnecessarily check, whether the function SmartSel:NoSelEOL" is enabled.
It probably does not matter.
How do you write "var bSelEOL = true", the script works well. |
|
| Back to top |
|
 |
VladSh
Joined: 29 Nov 2006 Posts: 2510 Location: Киев, Русь
|
Posted: Thu Jul 22, 2010 12:38 pm Post subject: |
|
|
KDJ
And what about those users, where this feature is enabled?
The script even with the "var bSelEOL = true" does not work very well, as I wrote above.
Last edited by VladSh on Thu Jul 22, 2010 2:35 pm; edited 1 time in total |
|
| Back to top |
|
 |
KDJ
Joined: 06 Mar 2010 Posts: 1069 Location: Poland
|
Posted: Thu Jul 22, 2010 12:53 pm Post subject: |
|
|
| VladSh wrote: | KDJ
The script even with the "var bSelEOL = true" does not work very well, as I wrote above. |
I entered
"var bSelEOL = true;"
instead of
"bSelEOL var = (! AkelPad.IsPluginRunning ("SmartSel:NoSelEOL"));"
And for me it works well. |
|
| Back to top |
|
 |
VladSh
Joined: 29 Nov 2006 Posts: 2510 Location: Киев, Русь
|
Posted: Thu Jul 22, 2010 1:09 pm Post subject: |
|
|
KDJ
Both variants work the same when NoSelEOL is NOT enabled.
If NoSelEOL is off the script works correctly.
The condition is correct, I will not remove it. |
|
| Back to top |
|
 |
KDJ
Joined: 06 Mar 2010 Posts: 1069 Location: Poland
|
Posted: Thu Jul 22, 2010 1:58 pm Post subject: |
|
|
VladSh
Well, actually, now I see it.
LinesMoveUpDown.js script also has a similar problem. |
|
| Back to top |
|
 |
FeyFre
Joined: 07 Aug 2007 Posts: 1893 Location: Vinnitsa, Ukraine
|
Posted: Tue Sep 28, 2010 7:18 pm Post subject: |
|
|
| С включеным SmartSel::noSelEol не выполняется замена на текст, заканчивающийся переносом. |
|
| Back to top |
|
 |
DV
Joined: 16 Nov 2006 Posts: 726 Location: Kyiv, Ukraine
|
Posted: Thu Sep 30, 2010 7:16 am Post subject: |
|
|
| FeyFre wrote: | | С включеным SmartSel::noSelEol не выполняется замена на текст, заканчивающийся переносом. |
Замена на текст, заканчивающийся переносом, работает (пример: заменить "()" на "[]\n").
А замена текста, который заканчивается переносом, на что-то другое не работает, да (пример: заменить "()\n" на "[]"). В данном случае название функции оправдывает себя: для подобной замены AkelPad сначала выделяет текст, который он хочет заменить, и noSelEol при этом не даёт выделить последний символ переноса. |
|
| 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
|