Coder plugin (1)

Discuss and announce AkelPad plugins
Locked
  • Author
  • Message
Offline
Posts: 3
Joined: Wed Sep 07, 2011 1:16 pm

Post by Fuzz »

se7h
Спасибо!

Offline
Posts: 767
Joined: Mon Sep 28, 2009 10:03 am
Location: Minsk, Belarus

Post by se7h »

Fuzz
не забудьте поделиться результатом, он скорее всего войдёт в состав Coder'а

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

Post by VladSh »

Во Flags есть хорошая весчь "1 - case sensitive".
Прошу добавить, может быть доп. флаг, а может какую-то галку, которая будет не просто неподсвечивать текст, набранный не в том регистре, а насильно переводить его в нужный (указанный в *.coder-файле) регистр.
Думаю многие будут за это благодарны.

Offline
Posts: 366
Joined: Mon Jan 10, 2011 5:28 pm
Contact:

Post by Lenchik »

VladSh wrote:галку, которая будет не просто неподсвечивать текст, набранный не в том регистре, а насильно переводить его в нужный (указанный в *.coder-файле) регистр.
Что-то я не понял, как это должно работать и в каких случаях от такого польза будет.
Файлик раскраски будет определять каким регистром мне ваять нетленку?!
Конвертировать теги html в xhtml?

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

Post by VladSh »

Lenchik
В *.coder-файле я указываю как правильно будут писаться ключевые слова, так что это не просто файл раскраски, наоборот, раскраска - это дело второстепенное; вспомним, что Coder было слито 2 плага: автодополнений и подсветки, и точно определить, какой важнее, невозможно.

Пример: в настроечном файле я указал правильное написание ArrayGetIndex.
Сейчас, при установленном флаге case sensitive, если я напишу хоть одну букву не в том регистре, то слово не подсвечивается, тем самым "как бы намекает нам..." ©
Я же хочу, чтобы был флаг, который бы переводил неверно набранный регистр в верный.
Вернёмся к нашему примеру.
Вариант 1: набираю arrayge, плагин выводит окошко, и курсор установлен на ArrayGetIndex, я нажимаю Enter и у меня вместо того, что я набирал, подставилась правильная запись.
Вариант 2: набираю слово до конца, т.е. arraygetindex, жму пробел или Tab и слово автоматически преобразовывается в правильное, т.е. ArrayGetIndex.

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

Offline
Posts: 767
Joined: Mon Sep 28, 2009 10:03 am
Location: Minsk, Belarus

Post by se7h »

VladSh
поддерживаю твои предложения

Offline
Posts: 874
Joined: Sat Jan 16, 2010 2:03 pm

Post by opk44 »

Lenchik wrote:в каких случаях от такого польза будет
1. Например синтаксис VBScript НЕ case-sensitive (по умолчанию), а Jscript наоборот - case-sensitive.
VladSh wrote:Я же хочу, чтобы был флаг, который бы переводил неверно набранный регистр в верный.
2. В принципе понятно, но мне думается, что нечто подобное реализовано уже сейчас, а проблема иной раз в том, как "заставить" автокомплитер оставить "МОЙ" регистр в набранном, а не менять его на "СВОЙ" . Поясню (хоть, может, и сам-то в этом толком не разобрался) на искусственном примере. В "автокомплитере" есть три вида продолжений (см. настройку): с плюсиком (из документа), простое, и со звездочкой (из базы HighLight). Допустим в Jscript вы хотите вставить конструкцию "for..." но набор делаете с CapsLock. Набираете "FO". Выскакивают предложения: "Font/for/for*". 2й и 3й подходят. Выбрав 2й получаем шаблон всей конструкции с переводом набранного в нижний регистр. Выбрав 3-й получаем только само слово "for" но опять же с переводом в нижний регистр (разве вы не ЭТОГО хотели?).
Штука как раз в том, что если хотим получить слово FOR в верхнем регистре, то автокомплитер поможет в этом лишь в том случае, если ранее по тексту, его ручками сами напишем (и если включена опция "с плюсиком", т.е. брать из документа!). Как только это сделано, в списке появляется четвертый выбор: "Font/for/for*/FOR+"
3. В вашем примере (с ArrayGetIndex) именно это (опция "брать из документа") и будет как нельзя кстати (с оговоркой, что в первый раз написали сами ручками и так как надо). Не пробовали?
Здесь тоже есть одна неприятность - берется только первый из ваших вариантов, поэтому, если еще до того как вы написали "ArrayGetIndex" в тексте ранее встречается, например "aRRAYgETiNDEX" то именно он и будет вам предлагаться! Так что придется быть "тщетильнЕе".
Пример не очень наглядный. Но, допустим, что речь не о программном коде, а о составлении простого текста договора типа "поставки чего-либо". В нём слово "поставщик" вертится и так и эдак (ПОСТАВЩИК/поставщику/Поставщиком) и лень подсказывает, что неплохо бы середину слова "автокомплитить", и дописывать только окончание. Но если регистр при этом меняется, то накладные расходы на его затем исправление могут и превышать пользу от автокомплитера.
О чем еще можно пофантазировать. Допустим функция "Отметить" (контекстное меню) регистрозависимая лишь "по умолчанию", но установив в ее вызове CASE на 0 можем заставить отмечать все вхождения без учета регистра (For/for/FOR). Но "отметить" не значит "выделить". А было бы наверное соблазнительно применить к "отмеченному" функции смены регистра [Ctrl+0|6|7|8|9].
Ну это меня что-то в сторону уводит (типа "множественное выделение"). Так что "стоп". :)

Offline
Site Admin
Posts: 6403
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

VladSh
Как уже написал opk44, то о чем вы пишете уже реализовано (просто отметьте все галочки в настройках Coder::AutoComplete).

Offline
Posts: 767
Joined: Mon Sep 28, 2009 10:03 am
Location: Minsk, Belarus

Post by se7h »

Instructor
путаница из-за "+" "*" в списке, может всё-таки придумать другое логическое разделение?

Offline
Posts: 874
Joined: Sat Jan 16, 2010 2:03 pm

Post by opk44 »

se7h wrote:Instructor
путаница из-за "+" "*" в списке, может всё-таки придумать другое логическое разделение?
1) "вам шашечки или ехать?" :)
2) Предложите что-нибудь. Пока же не очевидно, чем это любой иной символ должен оказаться "логичнее" или "нелогичнее" этих двух.
"Ключевой вопрос математики: не все ли равно?" / Шендерович

Offline
Posts: 767
Joined: Mon Sep 28, 2009 10:03 am
Location: Minsk, Belarus

Post by se7h »


Offline
Posts: 874
Joined: Sat Jan 16, 2010 2:03 pm

Post by opk44 »

Публично извиняюсь. Считал что указанные символы не включаются в список автодополнения "в принципе", вероятно из-за того, что имею их в списке разделителей слов (например "Аванта+" автодополняется только до "Аванта" и "+" нужно вписывать вручную).

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

Post by Infocatcher »

Но лучше, конечно, иконки. :roll:
viewtopic.php?p=9215#p9215

Offline
Posts: 767
Joined: Mon Sep 28, 2009 10:03 am
Location: Minsk, Belarus

Post by se7h »

Infocatcher
согласен :)

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

Post by VladSh »

opk44, Instructor
Это не ствсем то.. вернее совсем не то, что я хочу. С другой стороны для того чтобы комфортно можно было работать вы предлагаете вначале написания кода открыть coder-файл, скопировать все слова оттуда и вставить в свой файл, чтобы оно подхватывалось из текста, а после окончания работы удалить вверху этот кусок, так что ли? Сомнительное удобство. Плюс ещё куча всякой хламотени, которая сбивает с толку; поэтому я не использую "слова из документа". Хотелось бы как раз чтобы отображались и вставлялись с нужным регистром только определённые мной слова. Для моих coder-файлов так все слова, которые там есть.
Спасибо за вариант, я его уже проходил, это не подходит.
Locked