SmartSel plugin

Discuss and announce AkelPad plugins
  • Author
  • Message
Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Instructor wrote:Для скриптов и плагинов наличие/отсутствие данного параметра никакой роли играть не будет.
и из темы Format-плагина:
Instructor wrote:После:
AkelPad 4.6.4 (01.08.2011)
--------------------------
Добавлено: ручной параметр для "MouseOptions" со значением 16 - не выделять новую строку при тройном клике, а также при клике в зону левого отступа.
в "SmartSel::NoSelEOL" нет необходимости.
Я, когда говорил по поводу скриптов, то имел ввиду ситуацию, когда курсор установлен вначале строки, жмёшь с шифтом стрелку вниз, выделяется строка, ставшая предыдущей, и захватывается символ новой строки. Так вот NoSelEOL всегда отбрасывал символ переноса каретки, и в этом его польза - меньше телодвижений при написании скриптов.

Offline
Posts: 381
Joined: Wed Sep 28, 2011 3:05 pm

Post by Cuprum »

Можно ли при выделении строки по тройному клику не учитывать табуляции и пробелы в начале строки, когда включена "Умная клавиша home"?

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Cuprum wrote:Можно ли при выделении строки по тройному клику не учитывать табуляции и пробелы в начале строки, когда включена "Умная клавиша home"?
А если кому-то нужно с лидирующими пробелами и табуляциями?
Если делать, то например анализировать дополнительно зажатую Ctrl или Shift, т.к. наличие включения "Умная клавиша home", по моему, не предполагает однозначного отказа от лидирующих пустых символов при копировании.

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

DV
Обращаюсь к Вам, т.к. NoSelOEL вроде Ваш))

Хотелось бы всё-таки его откорректировать.
Есть ошибки - он влияет на Scroll-плагин - на некоторых операциях (что точно знаю - при Отмене) он перестаёт работать, хотя в непрокручиваемых операциях для NoScrol галки установлены.
Ещё баг:
yozhic wrote:Что-то происходит с закладками. В диалоге настроек отмечен пункт Remember bookmarks, но иногда они теряются. Воспроизводить не всегда удается, через три на четвертый раз открываю файл – закладок нет.
Еще после замен во всем документе (Replace All) закладки слетают и появляется одна на последней строке. Воспроизводится опять же через три раза, на четвертый.
Ещё нужно было бы его чуть упростить, выше, на прошлой странице, об этом говорили, - кое что реализовано в самой программе.
Ещё можно упразднить поведение SmartEnd без altSmartEnd, т.к. я не знаю, кто бы таким странным поведением пользовался.

DV
Offline
Posts: 1250
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

VladSh wrote:NoSelOEL хотелось бы всё-таки откорректировать.
А для каких целей сейчас используется NoSelOEL? Только при клике слева от строки (= выделение всей строки) или при тройном клике на строке (= выделение всей строки) ?
Собственно, этот вопрос определяет то, что оставить, а что выкинуть из NoSelOEL.
VladSh wrote:Ещё можно упразднить поведение SmartEnd без altSmartEnd, т.к. я не знаю, кто бы таким странным поведением пользовался.
Протестую! Если SmartHome при нажатии Home прыгает к первому непробельному символу, то, по аналогии, SmartEnd при нажатии End должен прыгать на последний (т.е. первый с конца) непробельный символ.

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

DV wrote:при клике слева от строки (= выделение всей строки)
Сейчас выключил NoSelOEL и оказалось, что при выделении последующей строки, то ли Акел это не отрабатывает, то ли не знаю.. я чего-то думал, что это уже реализовано штатно. Вроде инфа даже проскакивала, что доп. флаг в ini действует и на это.
Значит эту штуку надо оставить и работу с клавиатурой, т.е. реакцию на захват перевода строки с помощью Shift+Right и Shift+Down (возможно и PgDn).
Причём было бы здорово, если выделение с захватом перевода строки, установленное скриптами, не корректировалось бы. Я не знаю, можно ли такое сделать, но сильно очень облегчило бы нам жизнь (вспоминая о жути, при реализации сдвига слов/предложений по вертикали и т.п.).

По второму вопросу: это источник появления в конце каждой из строк кучи пробелов (об этом когда-то говорили). Но не настаиваю :)

DV
Offline
Posts: 1250
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

VladSh wrote:Значит эту штуку надо оставить и работу с клавиатурой, т.е. реакцию на захват перевода строки с помощью Shift+Right и Shift+Down (возможно и PgDn). (...)
Буду посмотреть при случае. Похоже, что придётся переписать почти весь NoSelEOL. Предположительно, в добавок к клику слева от строки и к тройному клику, NoSelEOL будет реагировать только на нажатие и отпускание кнопки Shift и левой кнопки мышки - что соответствует выделению с помощью клавиатуры или мыши.

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

DV
Если это возможно сделать, то не просто реакцию на "на нажатие и отпускание кнопки Shift и левой кнопки мышки", а когда при этом курсор перескакивает на новую строку, так наверное будет лучше.
DV wrote:в добавок к клику слева от строки и к тройному клику
Как раз это не нужно, т.к. реализовано в самой программе.
В программе нет того, что клацнул слева и тянешь мышь вниз, выделяя несколько строк. Вот это нужно.

И ещё было бы здорово такая штука - если пользователь всеми этими методами (мышью слева или клавиатурой) выделил один перевод строк и продолжает выделять второй и третий, то это значит, что он специально хочет выделить текст с переводами, в этом случае (когда выделено 2 и более перевода строк) выделение корректировать не нужно, пусть остаётся с выделенными переводами. Иногда нужно выделить и с переводами, а сейчас такой возможности нет - выделяешь блок текста хоть несколькими переводами строк, а он все их "подчищает". Т.е. пожелание, чтобы функция корректировала только "ошибочный" первый захват (следующее значит не ошибочное).

Всё вместе было бы здорово.

Спасибо за Ваше неравнодушие к проблеме!

DV
Offline
Posts: 1250
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

Спешите! Акция!!! Только в течение ближайших нескольких дней - пробная версия SmartSel, абсолютно бесплатно!! Поторопитесь, количество ограничено!
* полностью переработан механизм NoSelEOL
* как следствие, влияние на скрипты должно исчезнуть
* при выделении снизу вверх (справа налево), как и раньше, нижний (правый) перенос строки в выделении остаётся
http://rghost.ru/38833495
Жду отзывов :)

KDJ
Offline
Posts: 1949
Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland

Post by KDJ »

DV
Do you provide a prize for the first tester? :D

Offline
Posts: 1862
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

DV
Если выделять построчно снизу вверх (то есть кликнуть в область слева и тащить вверх), то каретку из начала выделения перебрасывает в конец. Хотя при этом вообще ничего делать не нужно.

Если выделить длинную строку, не помещающуюся на экран, то произойдет прокрутка вправо к каретке. С этим можно что-нибудь сделать? По-моему, неудобно.
(Кажется, я именно поэтому не пользовался плагином, а потом – так и вовсе привык к стандартному поведению :D)

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

DV
Интересно, успел я на бесплатное? :D

ShiftVerticaly.js с закоментированным передёргиванием NoSelEOL работает.

Всё работает как надо, кроме:
VladSh wrote:И ещё было бы здорово такая штука - если пользователь всеми этими методами (мышью слева или клавиатурой) выделил один перевод строк и продолжает выделять второй и третий, то это значит, что он специально хочет выделить текст с переводами, в этом случае (когда выделено 2 и более перевода строк) выделение корректировать не нужно, пусть остаётся с выделенными переводами. Иногда нужно выделить и с переводами, а сейчас такой возможности нет - выделяешь блок текста хоть несколькими переводами строк, а он все их "подчищает". Т.е. пожелание, чтобы функция корректировала только "ошибочный" первый захват (следующее значит не ошибочное).
похоже, что это не реализовано.

Ну а что касается скрола, проверить не смог, т.к. не помню, как у меня сбоило (возвращаться на старый плаг не хочется, т.к. этот, похоже, даже быстрее работает :)). Вроде бы работает верно.
Короче на 90% 3 зелёных свистка вверх!) Остальное, думаю, дотестим уже на практике.

И, да. - Спасибо! 8)

DV
Offline
Posts: 1250
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

Infocatcher wrote:Если выделять построчно снизу вверх (то есть кликнуть в область слева и тащить вверх), то каретку из начала выделения перебрасывает в конец.
Если выделить длинную строку, не помещающуюся на экран, то произойдет прокрутка вправо к каретке.
С первой проблемой, вроде, разобрался. По второй жду совета от Instructorа.
VladSh wrote:в этом случае (когда выделено 2 и более перевода строк) выделение корректировать не нужно.
Думал об этом, но что же останется от NoSelEOL в этом случае?

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

DV wrote:Думал об этом, но что же останется от NoSelEOL в этом случае?
Останется описанный функционал :D
Можно сделать по аналогии с altSmartEnd, т.е. функцию, которая бы использовала первую, но чуток корректировала с этим последним правилом.

DV
Offline
Posts: 1250
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

В связи с новыми поступлениями на склад, акция продлена!
Теперь в SmartSel
* должны быть исправлены упомянутые выше недочёты в NoSelEOL
* обновлена документация: просьба просмотреть на предмет ошибок или опечаток
http://rghost.ru/38878819
Post Reply