Posted: Tue Nov 19, 2019 1:31 am
Сделал описание пока 2-х вкладок автозавершения
Поскольку ни старых ни поправленных настроек вы не предоставили, то и у нас шансов нет.фдуч wrote:Я так и не понял, почему
Открою вам страшную тайну - они там уже есть! Все записи вида "<Название-плагина>::Settings" - это и есть "ссылки на их настройку".фдуч wrote:Кстати — предлагаю, по возможности, в "Настройки - Плагины" добавить ссылки на их настройку.
Это будет естественно, и простные смертные пользователи легче сами найдут ответы на такие вопросы.
По моему для данного случая какими бы не были настройки автозавершение (при отмеченном "Наследовать регистр введённых символов") 28PX не могло произойти, если только цифры не определились как верхний регистр. Теоретически алгоритм ищет слева первый символ, у которого можно определить регистр и при ненайденности должен вставить как есть в списке автозавершения. Я произвёл тест (в пустом файле и в не пустом), ввёл 28px, в новой строке ввёл 28, выбрал из списка 28px, получил 28PX.opk44 wrote:Поскольку ни старых ни поправленных настроек вы не предоставили, то и у нас шансов нет.
Try some monospaced font. For example: https://dejavu-fonts.github.ioDiamen wrote:How can I avoid it?
Code: Select all
"\b_\S+:?\b"
Code: Select all
"\b\.\S+:?\b"
Тогда как же правильно составить регулярку?YuS wrote: "\b" - граница слова
"\." - не является словом, это разделитель.
Code: Select all
"(?<=[ \t\\*+-])\.\S+:?\b"
"(?<!\w)\.\S+:?\b"
AkelPad ругается на первую строчку, а вторая - да, работает. Спасибо.AZJIO wrote:W0LF
както так:Code: Select all
"(?<=[ \t\\*+-])\.\S+:?\b" "(?<!\w)\.\S+:?\b"
Правильность составления шаблона зависит от того, что именно требуется найти (что должен захватить шаблон), а что исключить из результатов поиска...W0LF wrote: Тогда как же правильно составить регулярку?
ini.coder
*.cfg
_syslinux.coder
syslinux.cfg
_grub2.coder
grub.cfg
У меня с cfg была проблема, пришлось указывать *.cfg1 *.cfg2 *.cfg3 в разных чтобы не мешали друг-другу, а в ini.coder пришлось делать так:*.txt
txt.coder
7zsfxconfig.coder
*config.txt
Code: Select all
3145733 0 0 0 "(?i)\A(?=.*menu label)" "\Z" "" 0 0 "_syslinux.coder"
3145733 0 0 0 "(?i)\A(?=.*menuentry)" "\Z" "" 0 0 "_grub2.coder"
Code: Select all
"Grub2 AZJIO" Call("Coder::Settings", 1, "cfg1")
"Grub2 Skif_off" Call("Coder::Settings", 1, "cfg3")
"syslinux" Call("Coder::Settings", 1, "cfg2")
Code: Select all
Call("Coder::Settings", 1, "EXTENSION")
Call("Coder::Settings", 6, "ALIAS")
Code: Select all
Func FuncName(...)
...
EndFunc
Procedure FuncName(...)
...
EndProcedure
Code: Select all
40 0 0 0 "Procedure" "EndProcedure" " " 0 0
40 0 0 0 "Func" "EndFunc" " " 0 0
; 1048576 0 0 0 "(?<=Func[ \t])\w+" "EndFunc" " " 0 0
а надо только имя FuncName(). Попробовал регулярное выражение, оно добавляет в список только имя, а выделяет начало и конец не Func-EndFunc, а FuncName-EndFunc (который маркер CodeFold_TagMark), что не совсем идеально.Procedure FuncName()
Func _FuncName()
Code: Select all
; параметр = значение (3 варианта значений: число, шестнадцатеричное число, текст)
1 "^(.+?)(=)(?:(-?\d+$)|(#?[\da-fA-F]+$)|([^\r\n]+$))" "\1=(0,#AAAAAA,0) \2=(0,#FF8080,0) \3=(0,#F666FF,0) \4=(0,#6588F7,0) \5=(0,#C0AD72,0)"
Code: Select all
3145733 0 0 0 "\A(?=.*\[(?:[a-z]{3,7}=|\[/[a-z]{3,7}\]))" "\Z" "" 0 0 "bbcode.coder"
3.;NOTE1: Don't rename file!
;ПРИМЕЧАНИЕ1: Не переименовывать файл!
Использовать \w по крайней мере в данном случае плохая идея, потому что \w не равно [A-Za-z0-9_], со всеми вытекающими.au3.coder (AutoIt3, 3741 элементов автозавершения, оптимизированный поиск всех имён функций включая UDF и собственные по наличию открывающей скобки)