Page 1 of 1

Как сделать собственную подсветку синтаксиса (htaccess, php)

Posted: Thu Jan 24, 2019 5:32 am
by Eskander88
Есть ли возможность в AkelPad сделать свою подсветку для синтаксиса произвольных типов файлов?

Если нет, то могу ли я например приспособить для этого схожие по стилю файлы конфигураций?

За основу взят файл конфигураций для подсветки ini-файлов, как более близкий: нужно настроить подсветку для некоторых ключевых слов .htaccess

Для начала хотелось бы сделать подсветку ключевых слов, например: RewriteEngine, RewriteBase и так далее. Пока этого было бы достаточно.

Как можно это реализовать?

  

Code: Select all

;----------------------------------------------;
;           Coder plugin syntax file           ;
;----------------------------------------------;

Files:
;==========
;File types
;==========
*.ini
*.inf
*.reg
*.url
*.properties
*.ipr
*.pls
*.htaccess
.htaccess


Font:
;=================================================================
;FontStyle             FontSize              FaceName
;=================================================================
${HighLight_FontStyle} ${HighLight_FontSize} ${HighLight_FaceName}


Colors:
;=============================================================================================================================================================================================================================================================================================================================================================================================================================
;BasicTextColor             BasicBkColor              SelTextColor              SelBkColor              LineTextColor              LineBkColor              LineBorderColor              AltTextColor              AltBkColor              AltBorderColor              ColumnColor              MarkerColor              CaretColor              UrlColor              ActiveUrlColor              VisitUrlColor
;=============================================================================================================================================================================================================================================================================================================================================================================================================================
${HighLight_BasicTextColor} ${HighLight_BasicBkColor} ${HighLight_SelTextColor} ${HighLight_SelBkColor} ${HighLight_LineTextColor} ${HighLight_LineBkColor} ${HighLight_LineBorderColor} ${HighLight_AltTextColor} ${HighLight_AltBkColor} ${HighLight_AltBorderColor} ${HighLight_ColumnColor} ${HighLight_MarkerColor} ${HighLight_CaretColor} ${HighLight_UrlColor} ${HighLight_ActiveUrlColor} ${HighLight_VisitUrlColor}


BkImage:
;==================================================
;BkImageFile              BkImageAlpha
;==================================================
${HighLight_BkImageFile}  ${HighLight_BkImageAlpha}


AutoMark:
;====================================================================================================================
;AutoMarkFlags             AutoMarkFontStyle              AutoMarkTextColor              AutoMarkBkColor
;====================================================================================================================
${HighLight_AutoMarkFlags} ${HighLight_AutoMarkFontStyle} ${HighLight_AutoMarkTextColor} ${HighLight_AutoMarkBkColor}


Quotes:
;===================================================================================
;Flags  Font    Color   Color   Quote   Quote   Escape  Quote   Quote   Parent  Rule
;       style   text    bkgrnd  start   end     char    include exclude ID      ID
;===================================================================================
;517=1+4+512
517	2	0	0	"["	"]"	""	""	""	0	0
;513=1+512
513	3	${COMM}	0	";"	""	""	""	""	0	0
;513=1+512
513	3	${COMM}	0	"#"	""	""	""	""	0	0
;773=1+4+256+512
773	0	${OP}	0	""	"="	""	""	""	0	0


QuotesRE:
;===========================================================================================
;Flags  Pattern         \BackRef=(FontStyle,ColorText,ColorBk) \BackRef=...  ParentID RuleID
;===========================================================================================


Delimiters:
;===============================================
;Flags  Font    Color   Color   Char(s)   Parent
;       style   text    bkgrnd            ID
;===============================================
1	0	0	0	" "
1	0	0	0	"	"
1	0	${DEL1}	0	=


Words:
;===========================================
;Flags  Font    Color   Color   Word  Parent
;       style   text    bkgrnd        ID
;===========================================




FoldPanel:
;=================================================================================================================================================================================================================================================================================================================================================================================================================================================================
;PanelFirstBkColor            PanelSecondBkColor             PanelNormalFoldColor             PanelActiveFoldColor             PanelNormalNodeOpenBkColor             PanelNormalNodeCloseBkColor             PanelActiveNodeOpenBkColor             PanelActiveNodeCloseBkColor             PanelNormalNodeOpenSignColor             PanelNormalNodeCloseSignColor             PanelActiveNodeOpenSignColor             PanelActiveNodeCloseSignColor
;=================================================================================================================================================================================================================================================================================================================================================================================================================================================================
${CodeFold_PanelFirstBkColor} ${CodeFold_PanelSecondBkColor} ${CodeFold_PanelNormalFoldColor} ${CodeFold_PanelActiveFoldColor} ${CodeFold_PanelNormalNodeOpenBkColor} ${CodeFold_PanelNormalNodeCloseBkColor} ${CodeFold_PanelActiveNodeOpenBkColor} ${CodeFold_PanelActiveNodeCloseBkColor} ${CodeFold_PanelNormalNodeOpenSignColor} ${CodeFold_PanelNormalNodeCloseSignColor} ${CodeFold_PanelActiveNodeOpenSignColor} ${CodeFold_PanelActiveNodeCloseSignColor}


FoldList:
;================================================
;ListTextColor            ListBkColor
;================================================
${CodeFold_ListTextColor} ${CodeFold_ListBkColor}


TagMark:
;============================================================================================================
;TagMarkFlags            TagMarkFontStyle             TagMarkTextColor             TagMarkBkColor
;============================================================================================================
${CodeFold_TagMarkFlags} ${CodeFold_TagMarkFontStyle} ${CodeFold_TagMarkTextColor} ${CodeFold_TagMarkBkColor}


Skips:
;=============================
;Flags  Skip    Skip    Escape
;       start   end     char
;=============================


Folds:
;===========================================================================
;Flags  Font    Color   Color   Fold    Fold   Deli     Parent  Rule    Rule
;       style   text    bkgrnd  start   end    miters   ID      ID      file
;===========================================================================
;173=1+4+8+32+128
173	0	0	0	"["     "["    ""       0	0


;----------------------------------------------;
;                 AutoComplete                 ;
;----------------------------------------------;


CompleteList:
;=====================================================================================================================================================================================================================================================================================================================================================================================================================================================================
;ListFontStyle                ListFontSize                 ListFaceName                 ListLineGap                 ListBlockIcon `"C:\1.dll", 0` ListBlockIconMargins "left;right"    ListHlBaseIcon `"C:\1.dll", 0` ListHlBaseIconMargins "left;right"    ListDocWordIcon `"C:\1.dll", 0` ListDocWordIconMargins "left;right"    ListBasicTextColor                 ListBasicBkColor                 ListSelTextColor                 ListSelBkColor
;=====================================================================================================================================================================================================================================================================================================================================================================================================================================================================
${AutoComplete_ListFontStyle} ${AutoComplete_ListFontSize} ${AutoComplete_ListFaceName} ${AutoComplete_ListLineGap} ${AutoComplete_ListBlockIcon} ${AutoComplete_ListBlockIconMargins} ${AutoComplete_ListHlBaseIcon} ${AutoComplete_ListHlBaseIconMargins} ${AutoComplete_ListDocWordIcon} ${AutoComplete_ListDocWordIconMargins} ${AutoComplete_ListBasicTextColor} ${AutoComplete_ListBasicBkColor} ${AutoComplete_ListSelTextColor} ${AutoComplete_ListSelBkColor}


Blocks:
;=============================================================================
;Abbreviations and blocks
;
; $~abbr         normal abbreviation.
; $(flags)~abbr  normal abbreviation with flags.
; $=abbr         exact abbreviation. May contain delimiters.
; $(flags)=abbr  exact abbreviation with flags. May contain delimiters.
; $[]            set caret to this position. Can be multiple (hot spots).
; $[text]        select text. Can be multiple (hot spots).
; $$             symbol $.
; $\]            escape symbol ]. Can be used in $[text] block: $[One [1$\] ].
; ${VAR}         variable assigned from Coder::Settings.
; $;             comment line.
;=============================================================================

$~RewriteEngine
RewriteEngine $[On]

$~RewriteBase
RewriteBase $[/]




 

Re: Как сделать собственную подсветку синтаксиса (eg: htacce

Posted: Thu Jan 24, 2019 8:12 am
by YuS
Eskander88 wrote:Есть ли возможность в AkelPad сделать свою подсветку для синтаксиса произвольных типов файлов?
Есть
Eskander88 wrote: Как можно это реализовать?
Для начала, почитать Coder-Rus.txt, затем можно взять за образец файл cpp-rus.coder и посмотреть, как это делается в нем.
Подсветка ключевых слов, обычно организована в секции Words:

Re: Как сделать собственную подсветку синтаксиса (eg: htacce

Posted: Thu Jan 24, 2019 8:30 am
by opk44
Eskander88 wrote:...нужно настроить подсветку для некоторых ключевых слов .htaccess

Для начала хотелось бы сделать подсветку ключевых слов, например: RewriteEngine, RewriteBase и так далее...  
YuS wrote:...затем можно взять за образец файл cpp-rus.coder и посмотреть, как это делается в нем.
Можно ещё упростить задачу и взять готовый htaccess.coder.

Re: Как сделать собственную подсветку синтаксиса (eg: htacce

Posted: Thu Jan 24, 2019 12:04 pm
by YuS
opk44 wrote: Можно ещё упростить задачу и взять готовый htaccess.coder.
Это было бы слишком просто. Не наш путь... :lol:
Потом понадобится сделать подсветку для нестандартных типов... и опять новую тему создавать, и опять заново объяснять, где и что читать, и куда бежать. :)
А так, да, всё значительно упрощается.

Re: Как сделать собственную подсветку синтаксиса (eg: htacce

Posted: Thu Jan 24, 2019 4:28 pm
by Eskander88
opk44 wrote: Можно ещё упростить задачу и взять готовый htaccess.coder.
opk44, спасибо за ссылку! То что надо :D

Про доки в курсе, но просто возникли сложности.. так то кастомизацию делал для *.html, *.js и т.п под свои нужды уже..

Всем спасибо за ответы ;)

Posted: Fri Feb 08, 2019 4:22 pm
by Eskander88
есть ли возможность в php.coder настроить Coder::Plugin, чтобы подсветка для php файлов воспринимала не только стандартные теги

Code: Select all

<?php /* code */ ?>
но работала и в коротких тегах

Code: Select all

<? /* code */ ?>

Posted: Tue Feb 12, 2019 10:56 am
by VladSh
Eskander88
Зачем Вы создаёте такие темы? Всё это обсуждается в теме Coder-плагина. И, кстати, большинство ответов есть там же, если поискать.

Posted: Wed Feb 13, 2019 5:17 am
by Eskander88
VladSH, потому что обсуждение по плагинам уже тема в несколько километров. Выделение тем удобнее для навигации пользователей и поиска по сайту.

Posted: Wed Feb 13, 2019 9:09 am
by VladSh
Eskander88
Ничего не удобнее, сейчас - это срач, т.к. размазано по разным темам и форумам.
А так всё в одной теме - открыл и читаешь.
Не надо плодить темы.

Posted: Wed Feb 13, 2019 4:19 pm
by Eskander88
VladSh,
не согласен. Да, возможно иногда можно было бы обойтись без создания темы. В других случаях проще обратить внимание на отдельную тему, чем отслеживать предмет разговора по длинной теме (учитывая ещё некоторые баги интерфейса форума).

И для чего сваливать всё в одну кучу, когда можно набрать:

Code: Select all

site:akelpad.sourceforge.net как открыть несколько экземпляров программы
и получить нужную инфу

Posted: Wed Feb 13, 2019 7:37 pm
by opk44
Eskander88
1. Тему можно прописать в самом сообщении. Там и строка специально для этого есть и искаться будет не хуже.
2. Что до багов интерфейса, то ни одной вашей записи в соответствующей теме не обнаружено. Поэтому непонятно что вы имеете в виду.

Posted: Thu Feb 14, 2019 7:39 am
by Eskander88
хорошо, учту.. в теме по ссылке отписался...

Posted: Fri Jun 07, 2019 5:03 pm
by Олег
Как можно сделать подсветку даты в txt.coder'е?
Пишу в секции QutesRE: ...(\d{2}\.\d{2}\.\d{4})
...\4=(0, #00FF00, 0)
не пашет... :(

Posted: Fri Jun 07, 2019 6:11 pm
by AZJIO
Олег
пиши полную строку, может ошибся в группах.
группа \0 если нет скобок
группа \1 если выделена одна группа скобок
(?:...) эта группа игнорируется для вывода
отсчёт групп ведётся от места их открытия в случае с многократным вложением групп.
Для даты можно ещё так
\d{2}\.\d{2}\.\d{2}
или
\d{2}\.\d{2}\.(?:\d{4}|\d{2})
или
(?:\d{2}\.\d{2}\.(?:\d{4}|\d{2})|(?:\d{4}|\d{2})\.\d{2}\.\d{2})

проверь у себя вместо \4 поставь \1, так как у тебя дата в скобках.

Code: Select all

QuotesRE:
1	"\d\d\.\d\d\.\d\d"	"\0=(0,#AFE7B3,0)"
можно тему создать или найти подходящую, причём тут txt.coder в php.coder'е