AkelPad Forum Index AkelPad
Support forum
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Coder plugin (2)
Goto page Previous  1, 2, 3 ... 96, 97, 98, 99  Next
 
Post new topic   This topic is locked: you cannot edit posts or make replies.    AkelPad Forum Index -> Plugins
View previous topic :: View next topic  
Author Message
YuS



Joined: 15 Sep 2013
Posts: 424

PostPosted: Wed Oct 28, 2015 8:20 pm    Post subject: Reply with quote

Skif_off wrote:

Идеи приветствуются.

Тут супер идей, наверное, не будет, но можно упростить до одной строки:
Code:
0   "(^(?>[a-f\d]{128}|[a-f\d]{64}|[a-f\d]{40}|[a-f\d]{32})(?=[ \t])|(?<=[ \t])[a-f\d]{8}$)"   "\1=(0,${OP},0)"   0   0

-имхо, так даже чуток менее ресурсоемко будет...
Back to top
View user's profile Send private message
Skif_off



Joined: 20 Oct 2013
Posts: 1096

PostPosted: Wed Oct 28, 2015 9:21 pm    Post subject: Reply with quote

YuS
Спасибо, новое подлиньше и поточнее за счёт "[ \t](\*)", кажется, уловил, как работает, получится так:
Code:
0   "(^(?>[a-f\d]{128}|[a-f\d]{96}|[a-f\d]{64}|[a-f\d]{48}|[a-f\d]{40}|[a-f\d]{32}|[a-f\d]{8})(?=[ \t]\*)|(?<=[ \t])([a-f\d]{8})$)"   "\1=(0,${IF},0) \2=(2,${DEL1},0)"   0   0

?
YuS wrote:
имхо, так даже чуток менее ресурсоемко будет...

А почему? То, что поиск с флагом 1 пошустрее - помню, поэтому нагромоздил [A-Fa-f], а \d убрал для наглядности (плохо всё-таки ещё понимаю).
Back to top
View user's profile Send private message
YuS



Joined: 15 Sep 2013
Posts: 424

PostPosted: Wed Oct 28, 2015 10:14 pm    Post subject: Reply with quote

Skif_off wrote:
YuS
Спасибо, новое подлиньше и поточнее за счёт "[ \t](\*)"

Да, если наличие "*" обязательно, то так, конечно, точнее и правильнее... не будут "случайно" подсвечены crazy-name файлов. Smile

Skif_off wrote:

YuS wrote:
имхо, так даже чуток менее ресурсоемко будет...

А почему? То, что поиск с флагом 1 пошустрее - помню, поэтому нагромоздил [A-Fa-f], а \d убрал для наглядности (плохо всё-таки ещё понимаю).

А я, кстати, не помню о том, что регистрозависимый парсинг шустрее... если так, то лучше его и использовать, в шаблоне это не критично.
А ресурсоемкость уменьшена за счет использования атомарной группы и удаления захватывающей группы (^.+) (которая, по сути, не используется и большого смысла в ней нет) .

Если необходима различающаяся раскраска, то лучше так:
Code:
0   "(^(?>[a-f\d]{128}|[a-f\d]{96}|[a-f\d]{64}|[a-f\d]{48}|[a-f\d]{40}|[a-f\d]{32}|[a-f\d]{8})(?=[ \t]\*))|((?<=[ \t])[a-f\d]{8}$)"   "\1=(0,${IF},0) \2=(2,${DEL1},0)"   0   0

- либо изменить на регистрозависимость флаг и шаблон
Back to top
View user's profile Send private message
Skif_off



Joined: 20 Oct 2013
Posts: 1096

PostPosted: Wed Oct 28, 2015 11:08 pm    Post subject: Reply with quote

YuS wrote:
Если необходима различающаяся раскраска, то лучше так:
Code:
0   "(^(?>[a-f\d]{128}|[a-f\d]{96}|[a-f\d]{64}|[a-f\d]{48}|[a-f\d]{40}|[a-f\d]{32}|[a-f\d]{8})(?=[ \t]\*))|((?<=[ \t])[a-f\d]{8}$)"   "\1=(0,${IF},0) \2=(2,${DEL1},0)"   0   0

- либо изменить на регистрозависимость флаг и шаблон

Так получается не совсем то:
Quote:
8cf939b33a4ece35116acc236489d3c4 *filename
filename c0590b9b

а нужно
Quote:
8cf939b33a4ece35116acc236489d3c4 *filename
filename c0590b9b

Немного смущает, что вместе со звёздочкой "*" захватывается и "[ \t]":
Code:
0   "...(?=[ \t]\*)..."   "... \2=(2,${DEL1},0)"   0   0

но, думаю, не страшно Smile
YuS wrote:
А я, кстати, не помню о том, что регистрозависимый парсинг шустрее... если так, то лучше его и использовать, в шаблоне это не критично.

Чуть не плюнул, но всё-таки сумел найти http://akelpad.sourceforge.net/forum/viewtopic.php?p=27595#27595
Back to top
View user's profile Send private message
YuS



Joined: 15 Sep 2013
Posts: 424

PostPosted: Thu Oct 29, 2015 3:22 am    Post subject: Reply with quote

Skif_off wrote:

Так получается не совсем то:
...
а нужно
...

Так в моем, первоначальном варианте, так и было... а различная окраска - из Вашего варианта. Итоговый шаблон чуть ниже:

Skif_off wrote:

Немного смущает, что вместе со звёздочкой "*" захватывается и "[ \t]":
Code:
0   "...(?=[ \t]\*)..."   "... \2=(2,${DEL1},0)"   0   0

но, думаю, не страшно Smile

Это "positive lookahead", он работает только как условие, при этом ничего не захватывая.

Skif_off wrote:

Чуть не плюнул, но всё-таки сумел найти http://akelpad.sourceforge.net/forum/viewtopic.php?p=27595#27595

Сделал себе памятку. Smile
Итого:
Code:
1   "(^(?>[A-Fa-f\d]{128}|[A-Fa-f\d]{96}|[A-Fa-f\d]{64}|[A-Fa-f\d]{48}|[A-Fa-f\d]{40}|[A-Fa-f\d]{32}|[A-Fa-f\d]{8})(?=[ \t]\*)|(?<=[ \t])[A-Fa-f\d]{8}$)"   "\1=(0,${IF},0)"   0   0
Back to top
View user's profile Send private message
Infocatcher



Joined: 06 Aug 2007
Posts: 1763

PostPosted: Thu Oct 29, 2015 10:07 am    Post subject: Reply with quote

Skif_off wrote:
первое правило в Quotes закомментировал

А что с ним не так?
Как вот тут, когда имя с пробелами?
И в каком формате Double Commander записывает?
Back to top
View user's profile Send private message Visit poster's website
Skif_off



Joined: 20 Oct 2013
Posts: 1096

PostPosted: Thu Oct 29, 2015 10:54 am    Post subject: Reply with quote

Infocatcher wrote:
А что с ним не так?
Как вот тут, когда имя с пробелами?

Да, если имя начинается с [a-f0-9] и потом есть пробел.
Infocatcher wrote:
И в каком формате Double Commander записывает?

Все вместе с учётом регистра>>>

Code:
TC:
;*.md5
[a-f\d]{32} *name
;*.sfv
name [A-F\d]{8}
;*.sha
[a-f\d]{40} *name
;*.sha256
[a-f\d]{64} *name
;*.sha512
[a-f\d]{128} *name

DC:
;*.blake2s
[a-f\d]{64} *name
;*.blake2sp
[a-f\d]{64} *name
;*.crc32
[a-f\d]{8} *name
;*.haval
[a-f\d]{64} *name
;*.md4
[a-f\d]{32} *name
;*.md5
[a-f\d]{32} *name
;*.ripemd128
[a-f\d]{32} *name
;*.ripemd160
[a-f\d]{40} *name
;*.sfv
name [a-f\d]{8}
;*.sha
[a-f\d]{40} *name
;*.sha256
[a-f\d]{64} *name
;*.sha384
[a-f\d]{96} *name
;*.sha512
[a-f\d]{128} *name
;*.tiger
[a-f\d]{48} *name
, по идее только ТС в *.sfv пишет "a-f" в верхнем регистре, наверное, я перестраховался? С другой стороны - есть и другой софт...
Back to top
View user's profile Send private message
Infocatcher



Joined: 06 Aug 2007
Posts: 1763

PostPosted: Thu Oct 29, 2015 4:07 pm    Post subject: Reply with quote

Skif_off
Я пока сделал вот такой фокус:
Code:
768   0   ${OP}   0   ""   "*"   ""   "0123456789abcdef    "   ""

Так оно попроще. На валидатор не потянет, но подсвечивать должно как надо.
https://github.com/Infocatcher/AkelPad_coder/commits/8e2148a0fdd2c6fa7691bce0d2098a9ad150ad87/_hashsum.coder
(ну да подробности изменений в веб-интерфейсе, увы, не видно)
Back to top
View user's profile Send private message Visit poster's website
Skif_off



Joined: 20 Oct 2013
Posts: 1096

PostPosted: Thu Oct 29, 2015 6:16 pm    Post subject: Reply with quote

Infocatcher
Ага, попроще, надо подумать. Попутная валидация - штука не вредная.
Пробежался по утилитам, с RHash есть проблема: с ключом --sfv получается канонiчный вывод в файл, а с остальными в качестве разделителя не пробел и звёздочка " *", а два пробела " ". Ключами вроде не изменить, может, напишу разработчику. Подумываю прикрутить к файловым менеджерам, очень уж шустрая, пожалуй, самая.

P.S. По поводу изменений: Lenchik удобно сделал здесь, просто копия в UTF-8, можно обойтись без WinMerge Smile

Добавлено:
Про RHash беру свои слова взад, решается просто >>>

Code:
; для всех файлов в каталоге, рекурсивно, с полным путём к файлу
; CRC32 в традиционный *.sfv:
rhash --crc32 --recursive --output=path\file.sfv --sfv path\*.*
; остальные:
rhash [othet hash sums options] --recursive --output=path\file.ext --printf="[hash sum] *%p\r\n" path\*.*
; например, md5:
rhash --md5 --recursive --output=path\file.md5 --printf="%m *%p\r\n" path\*.*


Last edited by Skif_off on Thu Oct 29, 2015 7:57 pm; edited 1 time in total
Back to top
View user's profile Send private message
Lenchik



Joined: 10 Jan 2011
Posts: 366

PostPosted: Thu Oct 29, 2015 7:03 pm    Post subject: Reply with quote

Skif_off wrote:
P.S. По поводу изменений: Lenchik удобно сделал здесь, просто копия в UTF-8, можно обойтись без WinMerge Smile

Instructor здорово помог это автоматизировать: LenchikGithub.js
Back to top
View user's profile Send private message Visit poster's website
San_dr



Joined: 06 Dec 2010
Posts: 173
Location: г.Харьков, Русь

PostPosted: Thu Oct 29, 2015 7:54 pm    Post subject: Reply with quote

Lenchik, скачал несколько твоих кодеров на пробу и заметил, что с ними перестаёт работать возможность в плагине coder сменить цветовую тему (по причине плохого зрения часто пользуюсь - ищу более контрастный вид). Скачал txt.coder, bibtex.coder, cue.coder - на всех невозможно изменить тему - это зачем?
----------------
AkelPad.exe 4.9.6.0
Coder.dll 19.1.0.0
"7"х64
Back to top
View user's profile Send private message
Skif_off



Joined: 20 Oct 2013
Posts: 1096

PostPosted: Thu Oct 29, 2015 8:03 pm    Post subject: Reply with quote

San_dr
Ничего подобного не наблюдаю, темы переключаются и сохраняются и в диалоге настроек плагина, и через меню с вызовом
Code:
Call("Coder::Settings", 5, "name")

ОСь та же, проверил AkelPad х64 на всякий случай - никаких проблем.
В чём выражается "невозможность"? Сообщение об ошибке? Молчаливое игнорирование нажатия кнопки "Применить"?
Back to top
View user's profile Send private message
Kley



Joined: 28 Mar 2015
Posts: 202
Location: Russia

PostPosted: Thu Oct 29, 2015 8:48 pm    Post subject: Reply with quote

Instructor
Небольшой недочет:
Coder-Rus.txt wrote:
*** Описание переменных, не применяющихся в *.coder файлах ***
...
HighLight_AutoMarkFlags
HighLight_AutoMarkFontStyle
HighLight_AutoMarkTextColor
HighLight_AutoMarkBkColor

*.coder wrote:
AutoMark:
;====================================================================================================================
;AutoMarkFlags AutoMarkFontStyle AutoMarkTextColor AutoMarkBkColor
;====================================================================================================================
${HighLight_AutoMarkFlags} ${HighLight_AutoMarkFontStyle} ${HighLight_AutoMarkTextColor} ${HighLight_AutoMarkBkColor}
Back to top
View user's profile Send private message
San_dr



Joined: 06 Dec 2010
Posts: 173
Location: г.Харьков, Русь

PostPosted: Thu Oct 29, 2015 10:38 pm    Post subject: Reply with quote

Skif_off wrote:

В чём выражается "невозможность"? Сообщение об ошибке? Молчаливое игнорирование нажатия кнопки "Применить"?


Да, молчит и не отрабатывает. И если была включена темная тема, то при открытии файла именно с твоим кодером тема сама меняется на светлую и не реагирует на изменения

вот для опытов http://rghost.ru/7lgfXWqgL

(там сейчас не твои кодеры.)
Back to top
View user's profile Send private message
Skif_off



Joined: 20 Oct 2013
Posts: 1096

PostPosted: Fri Oct 30, 2015 12:46 am    Post subject: Reply with quote

San_dr
Не удаётся воспроизвести, грохнул папку Coder и заменил на свою - выбранная тема так же сохраняется и не меняется.
Сделайте, пожалуйста, скрины/видео, если есть возможность, может быть, просто не понял, что вы имеете ввиду?

P.S. Проверьте кодировки:
matlab.coder - ANSI;
bib.coder - UTF-32LE и при этом рядом более свежий bibtex.coder под оригинальным именем;
ahk.coder - UTF-32BE;
cue.coder - UTF-32BE.
Везде должна быть UTF-16LE, лучше обновить файлы, а не пересохранять: matlab.coder, например, убит.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   This topic is locked: you cannot edit posts or make replies.    AkelPad Forum Index -> Plugins All times are GMT
Goto page Previous  1, 2, 3 ... 96, 97, 98, 99  Next
Page 97 of 99

 
Jump to:  
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


SourceForge.net Logo Powered by phpBB © 2001, 2005 phpBB Group