Coder plugin (2)
- Author
- Message
-
Offline
- Posts: 1161
- Joined: Sun Oct 20, 2013 11:44 am
Ага, уже дошло, но на практике - возился в виртуалке, заодно скомпилил (одно удовольствие компилить AkelPad )
Спасибо, еще возник вопрос пару дней назад: как сказывается на производительности/скорости работы большое количество регулярных выражений в QuotesRE и слов в секции Words? Или лучше так: существует ли какое-то разумное ограничение (теоретическое или практически найденное) для, скажем так, слабых и средних компов? Наверное, не очень корректный вопрос - вероятно, есть зависимость от размера файла...
Спасибо, еще возник вопрос пару дней назад: как сказывается на производительности/скорости работы большое количество регулярных выражений в QuotesRE и слов в секции Words? Или лучше так: существует ли какое-то разумное ограничение (теоретическое или практически найденное) для, скажем так, слабых и средних компов? Наверное, не очень корректный вопрос - вероятно, есть зависимость от размера файла...
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
Скорость подсветки от размера файла не зависит (только от длины строк). Зависимость скорости от количества правил проверяется эмпирически на конкретном оборудовании и конкретных настройках программы.Skif_off wrote:Наверное, не очень корректный вопрос - вероятно, есть зависимость от размера файла...
Abat.mf
Загружено.
-
Offline
- Posts: 1161
- Joined: Sun Oct 20, 2013 11:44 am
Instructor
Понял, спасибо, css.coder - ~400, ahk.coder - чуть более 1000, ps1.coder - почти 3000, наверное, верхней планкой оставлю первый.
Уточненный kixtart.coder (без UDF), офсайт вместе с документацией лежал, когда делал первый, использовал инфу со сторонних ресурсов (опечатка в названии функции в офдокументации - это ппц).
Понял, спасибо, css.coder - ~400, ahk.coder - чуть более 1000, ps1.coder - почти 3000, наверное, верхней планкой оставлю первый.
Уточненный kixtart.coder (без UDF), офсайт вместе с документацией лежал, когда делал первый, использовал инфу со сторонних ресурсов (опечатка в названии функции в офдокументации - это ппц).
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
Добавлено: возможность использовать шрифт окна редактирования для списка (Coder::CodeFold).
Добавлено: флаг 32768 в секцию "Quotes:" - диапазон является пустым, т.е. не содержит символов.
Added: possibility to use edit window font for a list (Coder::CodeFold).
Added: flag 32768 in section "Quotes:" - quote is empty, i.e. doesn't contain any character.
Coder plugin v12.0
Добавлено: флаг 32768 в секцию "Quotes:" - диапазон является пустым, т.е. не содержит символов.
Added: possibility to use edit window font for a list (Coder::CodeFold).
Added: flag 32768 in section "Quotes:" - quote is empty, i.e. doesn't contain any character.
Coder plugin v12.0
-
Offline
- Posts: 670
- Joined: Thu Jun 03, 2010 8:47 am
- Location: Сочи, Хоста
- Contact:
Instructor
Можно ли улучшить окно автодополнения:
1. Автоматическое определение ширины окна. К примеру в списке максимальная длина слов 10, а ширина окна для 100... (от предыдущего растягивания). + задавать максимальную ширину, если длина слов (фраз в списке) большая, при этом добавлять вертикальную прокрутку.
2. Настройка прозрачности окна.
3. Настройка цвета списка.
4. Настройка цвета активной строки.
5. Настройка цвета фона окна.
6. Настройка шрифта списка.
Можно ли улучшить окно автодополнения:
1. Автоматическое определение ширины окна. К примеру в списке максимальная длина слов 10, а ширина окна для 100... (от предыдущего растягивания). + задавать максимальную ширину, если длина слов (фраз в списке) большая, при этом добавлять вертикальную прокрутку.
2. Настройка прозрачности окна.
3. Настройка цвета списка.
4. Настройка цвета активной строки.
5. Настройка цвета фона окна.
6. Настройка шрифта списка.
-
Offline
- Posts: 1161
- Joined: Sun Oct 20, 2013 11:44 am
Здесь
VladSh, случайно не допиливаете log.coder Infocatcher? Если так, можете поделиться добавленным? У себя добавил в QuotesRE: , думаю что еще добавить.VladSh wrote:Ребята, подскажите, можно ли в секции Words настроить флагами чтобы отбирались все вхождения? Чтобы указать, к примеру:вместо:Code: Select all
? 2 ${WARN} 0 некорректн
и т.д.Code: Select all
0 2 ${WARN} 0 некорректная 0 2 ${WARN} 0 некорректно 0 2 ${WARN} 0 некорректное
Было бы удобно.
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
-
Offline
- Posts: 1161
- Joined: Sun Oct 20, 2013 11:44 am
VladSh
Спасибо, добавил. В регулярных выражениях только осваиваюсь, файл cache, кажется, самый часто перезаписываемый в ОС Вообще, уже не уверен, что стоит подсвечивать время.
Для удобства просмотра файлов с контрольными суммами (по умолчанию стоит txt.coder, но разный цвет для цифр и латинских букв немного напрягает) добавил _hashsum.coder Infocatcher и добавил в него подсветку в файлах SFV (CRC32), возможно кому-нибудь будет интересно:
Т.к. у себя заменил Font style для файлов с 3 на 0, то для сохранения единообразия с оригиналом Infocatcher нужно заменить "\1=(0,0,0)" на "\1=(3,0,0)".
Проверялось на *.sfv-файлах, созданных в Total Commander (из-за него же в Files: добавлены *.sha256 и *.sha512).
Спасибо, добавил. В регулярных выражениях только осваиваюсь, файл cache, кажется, самый часто перезаписываемый в ОС Вообще, уже не уверен, что стоит подсвечивать время.
Для удобства просмотра файлов с контрольными суммами (по умолчанию стоит txt.coder, но разный цвет для цифр и латинских букв немного напрягает) добавил _hashsum.coder Infocatcher и добавил в него подсветку в файлах SFV (CRC32), возможно кому-нибудь будет интересно:
Code: Select all
Files:
*.sfv
Quotes:
;513=1+512
513 3 ${COMM} 0 ";" "" "" "" ""
QuotesRE:
; For SFV (CRC32)
0 "(^.*)([ \t]{1})([a-f\d]{8})$" "\1=(0,0,0) \3=(0,${OP},0)"
Проверялось на *.sfv-файлах, созданных в Total Commander (из-за него же в Files: добавлены *.sha256 и *.sha512).
-
Offline
- Posts: 1161
- Joined: Sun Oct 20, 2013 11:44 am
Что-то я затупил с разделителями, объясните, пожалуйста:
для подсветки IP-адреса использую конструкцию вида "\b(.*)\b", в итоге выглядит так:
IP 1.1.1.1
IP1.1.1.1
IP(1.1.1.1)
попробовал подобное для аргументов в bat.coder и получаю лингам:
cd /d
cd/d
cd(/d)
Почему так?
для подсветки IP-адреса использую конструкцию вида "\b(.*)\b", в итоге выглядит так:
IP 1.1.1.1
IP1.1.1.1
IP(1.1.1.1)
попробовал подобное для аргументов в bat.coder
Code: Select all
"\b((/[a-z\d]+)|(\-[a-z\d]+))\b"
cd /d
cd/d
cd(/d)
Почему так?
-
Offline
- Posts: 3
- Joined: Thu Dec 05, 2013 1:06 pm
- Location: Saint-Petersburg
Предлагаю фолдинг в bat.coder
Извиняюсь если уже было но не нашёл.
Code: Select all
;Folds:
;=========================================================
;Flags Font Color Color Fold Fold Delimiters
; style text bkgrnd start end
;=========================================================
2049=1+2048
2049 0 0 0 "rem </" "" ""
;5=1+4
5 0 0 0 "rem <?" "rem ?>" ""
;4101=1+4+4096
4101 0 0 0 "rem <" "rem </" ""
;4101=1+4+4096
4101 0 0 0 "rem <" "rem />" ""
-
Offline
- Posts: 1862
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
Спасибо, обновил (жаль только, diff файлов в utf-16 через веб-интерфейс не показывает).VladSh wrote:Допилил под свои нужды, но хотел, чтобы Infocatcher добавил к себе.
[...]
log.coder
Спасибо, это тоже добавил.Skif_off wrote:[...] добавил _hashsum.coder Infocatcher и добавил в него подсветку в файлах SFV (CRC32)
Last edited by Infocatcher on Thu Dec 12, 2013 10:35 am, edited 1 time in total.
-
Offline
- Posts: 582
- Joined: Mon Apr 08, 2013 9:50 pm
- Location: Win7SP1x64, APx64
Instructor,
а можно ли сделать ещё 1 шаг в сторону превращения .coder в универсальную IDE?
а именно: приделать в автозавершение поддержку переключения между статичными атрибутами.
Что я под этим имею в виду - проще всего объяснить на примере.
Возьмём всё ту же команду WinGet из AutoHotkey: 2-ой атрибут у неё это "cmd" который может принимать строго 1 из 14 возможных значений, иначе в коде будет ошибка.
Хотелось бы добавить все эти 14 значений в список ассоциированный со 2-ым атрибутом команды WinGet, чтобы потом когда я используя автозавершение для WinGet - при переключении на 2-ой атрибут мог выбрать значение из списка.
Если честно, то я не знаю как это можно реализовать, но добавление этого - стало бы огромным шагом по превращению AkelPad в интеллектуальную среду разработки.
Сейчас в .coder для WinGet правило автозавершения записано так:
Я же прошу чтобы оно поддерживало нечто вроде
в группе $[Cmd$ID$IDLast$PID$ProcessName$ProcessPath$Count$List$MinMax$ControlList$ControlListHwnd$Transparent$TransColor$Style$ExStyle] перечислены все возможные значения для атрибута Cmd, само название атрибута в списке идёт первым и именно оно отображается в списке автозавершения, когда пользователь пишет "WinGe".
И ещё: пожалуйста, добавьте в правила автозавершения плагина .coder какой-то спец.символ, отвечающий за пробел:
в коде что я предоставил выше - после каждой запятой у меня идёт не пробел, а символ Alt+255, который лишь выглядит как пробел, но не является даже пробельным символом. Если же вместо него использовать пробел - то правило не будет работать.
EDIT:
предложенный мной синтаксис, наверно, неверный: список $[Cmd$ID$IDLast$PID$ProcessName$ProcessPath$Count$List$MinMax$ControlList$ControlListHwnd$Transparent$TransColor$Style$ExStyle]
должен бы идти не в верхней строке правила, а в нижней. Но сам атрибут Cmd не является обязательным, поэтому не знаю как бы правильно это учесть.
Видимо, потребуется добавить ещё и поддержку необязательности кусков текста из правила автозавершения.
а можно ли сделать ещё 1 шаг в сторону превращения .coder в универсальную IDE?
а именно: приделать в автозавершение поддержку переключения между статичными атрибутами.
Что я под этим имею в виду - проще всего объяснить на примере.
Возьмём всё ту же команду WinGet из AutoHotkey: 2-ой атрибут у неё это "cmd" который может принимать строго 1 из 14 возможных значений, иначе в коде будет ошибка.
Хотелось бы добавить все эти 14 значений в список ассоциированный со 2-ым атрибутом команды WinGet, чтобы потом когда я используя автозавершение для WinGet - при переключении на 2-ой атрибут мог выбрать значение из списка.
Если честно, то я не знаю как это можно реализовать, но добавление этого - стало бы огромным шагом по превращению AkelPad в интеллектуальную среду разработки.
Сейчас в .coder для WinGet правило автозавершения записано так:
Code: Select all
$~WinGet, OutputVar [, Cmd, WinTitle, WinText, ExcludeTitle, ExcludeText]
WinGet, $[OutputVar]
Code: Select all
$~WinGet, OutputVar [, $[Cmd$ID$IDLast$PID$ProcessName$ProcessPath$Count$List$MinMax$ControlList$ControlListHwnd$Transparent$TransColor$Style$ExStyle], WinTitle, WinText, ExcludeTitle, ExcludeText]
WinGet, $[OutputVar]
И ещё: пожалуйста, добавьте в правила автозавершения плагина .coder какой-то спец.символ, отвечающий за пробел:
в коде что я предоставил выше - после каждой запятой у меня идёт не пробел, а символ Alt+255, который лишь выглядит как пробел, но не является даже пробельным символом. Если же вместо него использовать пробел - то правило не будет работать.
EDIT:
предложенный мной синтаксис, наверно, неверный: список $[Cmd$ID$IDLast$PID$ProcessName$ProcessPath$Count$List$MinMax$ControlList$ControlListHwnd$Transparent$TransColor$Style$ExStyle]
должен бы идти не в верхней строке правила, а в нижней. Но сам атрибут Cmd не является обязательным, поэтому не знаю как бы правильно это учесть.
Видимо, потребуется добавить ещё и поддержку необязательности кусков текста из правила автозавершения.
-
Offline
- Posts: 1161
- Joined: Sun Oct 20, 2013 11:44 am
Понял, спасибо, еще пара вопросов родились (не знаю, как найти в теме, если обсуждалось, и, так понимаю, плагин и файлы синтаксиса менялись - нужно найти место, с которого плагин стал таким, какой он сейчас):Instructor wrote:\b - это граница между разделителем и не разделителем. Т.к. "/" является разделитем, то "\b/" найдет выражение только, если перед "/" будет не разделитель.
1. В сеции Delimiters обе записи
Code: Select all
1 0 ${OP} 0 [
1 0 ${OP} 0 "["
2. Пилю txt.coder (стоит основной темой), xочу перенести буквы из секции Delimiters в секцию Words, в таком виде:
Code: Select all
2 0 ${IF} 0 "abcdefghijklmnopqrstuvwxyz"
"x" explorer.exe
"x"explorer.exe
как можно исправить?
Точка и кавычка " есть в секции Delimiters и в Quotes есть
Code: Select all
5 3 ${STR} 0 `"` `"` "" "" ""
-
Offline
- Posts: 366
- Joined: Mon Jan 10, 2011 5:28 pm
- Contact:
А что не работает при текущей записи букв в Delimiters?Skif_off wrote:xочу перенести буквы из секции Delimiters в секцию Words, в таком виде
На гитхаб зальёте потом?
У меня в текущий txt.coder по ссылке выше добавлены греческие буквы и
Code: Select all
Quotes:
;======================================================================
;Flags Font Color Color Quote Quote Escape Quote Quote
; style text bkgrnd start end char include exclude
;======================================================================
5 1 ${STR} 0 `"` `"` "" "" ""
5 1 ${STR} 0 `“` `”` "" "" ""
5 1 ${STR} 0 `«` `»` "" "" ""
1 3 ${COMM} 0 ">" "" "" "" ""
Code: Select all
"x" explorer.exe
"x"explorer.exe