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

;Colors
; Color need to be in #RRGGBB or #RGB format.
; If color equal to zero, then color ignored.
;
;Font styles
; 0  ignored.
; 1  normal.
; 2  bold.
; 3  italic.
; 4  bold italic.
;
;For comfort file viewing/editing set tab size to 8.

;Author: Skif_off (2017-05-21)
;AkelPad 4.9.6 and higher
;https://github.com/Lenchik/Akelpad-syntax-highlighting/blob/master/7zsfxconfig.coder - working version
;https://github.com/Lenchik/Akelpad-syntax-highlighting/blob/master/source_for_developers/7zsfxconfig.utf8.coder - development version in UTF-8 for easier development on GitHub
;Configuration files modified module 7z SFX (http://7zsfx.info/en/ or http://7zsfx.info/ru/)
;1.6.2.3888 stable (2016.03.20) & 1.7.0.3900 develop (2016.04.01)
;Default SFX-modules 7-Zip is support too.


Files:
;==========
;File types
;==========
*config.txt
;+1.7.0.3888 develop
*.sfx.config
;+1.7.0.3900 develop
*.sfx.config.*


;----------------------------------------------;
;                  HighLight                   ;
;----------------------------------------------;

;Flags (sum of the members)
;     1  case sensitive.
;     2  word is a composition of characters ("Words:" section only). Example: "0123456789" - highlight words that contain only digits.
;     4  quote end required ("Quotes:" section only).
;     8  quote start string is ignored and last meet delimiter used as quote start ("Quotes:" section only).
;    16  quote end string is ignored and first meet delimiter used as quote end ("Quotes:" section only).
;    32  don't highlight quote start ("Quotes:" section only).
;    64  don't highlight quote end ("Quotes:" section only).
;   128  don't catch and don't highlight quote start ("Quotes:" section only).
;   256  don't catch and don't highlight quote end ("Quotes:" section only).
;   512  quote start, delimiter or word located at line start.
;  1024  quote end, delimiter or word located at line end.
;  2048  quote start is surrounded with delimiters ("Quotes:" section only).
;  4096  quote end is surrounded with delimiters ("Quotes:" section only).
;  8192  quote doesn't contain delimiters ("Quotes:" section only).
; 16384  only quote start string is catched ("Quotes:" section only).
; 32768  quote doesn't contain any character ("Quotes:" section only).


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
;===================================================================================
;513=1+512
513	4	${COMM}	0	";!@Install@!"		""	""	""	""	0	0
513	4	${COMM}	0	";!@InstallEnd@"	""	""	""	""	0	0
513	3	${COMM}	0	";"			""	""	""	""	0	0
;773=1+4+256+512
773	0	${OP}	0	""	"="	""	""	""	0	0
;Module variables
;32773=1+4+32768
32773	2	${VAR}	0	"%%"	"M"	""	""	""	0	0
32773	2	${VAR}	0	"%%"	"P"	""	""	""	0	0
32773	2	${VAR}	0	"%%"	"S"	""	""	""	0	0
32773	2	${VAR}	0	"%%"	"T"	""	""	""	0	0
;Module environment variables
;32772=4+32768
32772	3	${VAR}	0	"%Common"	"Desktop%"		""	""	""	0	0
32772	3	${VAR}	0	"%Common"	"Documents%"		""	""	""	0	0
32772	3	${VAR}	0	"%My"		"Documents%"		""	""	""	0	0
32772	3	${VAR}	0	"%My"		"Docs%"			""	""	""	0	0
32772	3	${VAR}	0	"%User"		"Desktop%"		""	""	""	0	0
;;1.6.0.2518 develop (2012.06.19) and higher
32772	3	${VAR}	0	"%SfxVar"	"ApiPath%"		""	""	""	0	0
32772	3	${VAR}	0	"%SfxVar"	"CmdLine0%"		""	""	""	0	0
32772	3	${VAR}	0	"%SfxVar"	"CmdLine1%"		""	""	""	0	0
32772	3	${VAR}	0	"%SfxVar"	"CmdLine2%"		""	""	""	0	0
32772	3	${VAR}	0	"%SfxVar"	"ModulePlatform%"	""	""	""	0	0
32772	3	${VAR}	0	"%SfxVar"	"SystemLanguage%"	""	""	""	0	0
32772	3	${VAR}	0	"%SfxVar"	"SystemPlatform%"	""	""	""	0	0
;;8196=4+8192
8196	0	${VAR}	0	"%SfxFolder"	"%"	""	"0123456789"	""	0	0
;;Old (for legacy backward compatibility)
32772	3	${VAR}	0	"%7zSfxVar"	"ApiPath%"		""	""	""	0	0
32772	3	${VAR}	0	"%7zSfxVar"	"CmdLine0%"		""	""	""	0	0
32772	3	${VAR}	0	"%7zSfxVar"	"CmdLine1%"		""	""	""	0	0
32772	3	${VAR}	0	"%7zSfxVar"	"CmdLine2%"		""	""	""	0	0
32772	3	${VAR}	0	"%7zSfxVar"	"ModulePlatform%"	""	""	""	0	0
32772	3	${VAR}	0	"%7zSfxVar"	"SystemLanguage%"	""	""	""	0	0
32772	3	${VAR}	0	"%7zSfxVar"	"SystemPlatform%"	""	""	""	0	0
;;8196=4+8192
8196	0	${VAR}	0	"%7zSfxFolder"	"%"	""	"0123456789"	""	0	0
;Variables
;8197=1+4+8192
8197	0	${VAR}	0	"%"	"%"	""	""	""	0	0
;Caret return & Tabulation (TAB)
;32773=1+4+32768
32773	0	${DEL2}	0	"\"	"n"	""	""	""	0	0
32773	0	${DEL2}	0	"\"	"t"	""	""	""	0	0
32773	0	${DEL2}	0	"\"	`"`	""	""	""	0	0


QuotesRE:
;===========================================================================================
;Flags  Pattern         \BackRef=(FontStyle,ColorText,ColorBk) \BackRef=...  ParentID RuleID
;===========================================================================================
;Module environment variables
;0	"%SfxFolder[0-9]{2}%"	"\0=(3,${VAR},0)"	0	0
;Prefixes for the execution commands
0	"(forcenowait|hidcon|nowait|waitall|x64|x86):"	"\0=(2,0,0)"	0	0
0	"(del|shc)[0-1]:"	"\0=(2,0,0)"	0	0
0	"fm[0-9]{1,3}+:"	"\0=(2,0,0)"	0	0
0	"(fm)(%[^%\r\n]++%)(:)"	"\1=(2,0,0) \2=(0,${VAR},0) \3=(2,0,0)"	0	0


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


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


;----------------------------------------------;
;                   CodeFold                   ;
;----------------------------------------------;

;Flags (sum of the members)
;       1  case sensitive.
;       2  force get fold name for function list from left at the fold start ("Folds:" section only).
;       4  force get fold name for function list from right at the fold start, including fold start ("Folds:" section only).
;       8  fold start ("Folds:" section) or skip start ("Skips:" section) located at line start.
;      16  fold start ("Folds:" section) or skip start ("Skips:" section) located at line end.
;      32  fold end ("Folds:" section) or skip end ("Skips:" section) located at line start.
;      64  fold end ("Folds:" section) or skip end ("Skips:" section) located at line end.
;     128  don't catch fold end ("Folds:" section) or skip end ("Skips:" section).
;     256  additional to 128 flag - more priority is given to sibling level instead of parent level ("Folds:" section only).
;     512  comment fold - fold ignore any other folds and skips inside ("Folds:" section only).
;    1024  reserved.
;    2048  deny fold - founded fold will be ignored ("Folds:" section only).
;    4096  xml fold - "<tag" and "</tag>", "<single" and "/>", "<single" and ">" ("Folds:" section only).
;    8192  don't check delimiters from left of fold start ("Folds:" section only).
;   16384  don't check delimiters from right of fold start ("Folds:" section only).
;   32768  don't check delimiters from left of fold end ("Folds:" section only).
;   65536  don't check delimiters from right of fold end ("Folds:" section only).
;  131072  deny delimiters ("Folds:" section only).
;  262144  don't show fold in list ("Folds:" section only).
; 1048576  regular expression in fold start ("Folds:" section) or skip start ("Skips:" section).
; 2097152  regular expression in fold end ("Folds:" section) or skip end ("Skips:" section). Backreference \101 matches \1 in fold start, \102 matches \2 and so on.


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
;=============================
;9=1+8
9	";"	""	""


Folds:
;===========================================================================
;Flags  Font    Color   Color   Fold   Fold   Deli      Parent  Rule    Rule
;       style   text    bkgrnd  start  end    miters    ID      ID      file
;===========================================================================
;Main
;45=1+4+8+32
45	0	0	0	";!@Install@!UTF-8!"	";!@InstallEnd@!"	""	0	0
;Platform
;45=1+4+8+32
45	0	0	0	";!@Install@!UTF-8:x86!"	";!@InstallEnd@:x86!"	""	0	0
45	0	0	0	";!@Install@!UTF-8:x64!"	";!@InstallEnd@:x64!"	""	0	0
45	0	0	0	";!@Install@!UTF-8:amd64!"	";!@InstallEnd@:amd64!"	""	0	0
;Lang
;3145773=1+4+8+32+1048576+2097152
3145773	0	0	0	";!@Install@!UTF-8:Language:\d{4}+!"	";!@InstallEnd@:Language:\d{4}+!"	""	0	0
;Platform + Lang
;3145773=1+4+8+32+1048576+2097152
3145773	0	0	0	";!@Install@!UTF-8:x86:Language:\d{4}+!"	";!@InstallEnd@:x86:Language:\d{4}+!"	""	0	0
3145773	0	0	0	";!@Install@!UTF-8:x64:Language:\d{4}+!"	";!@InstallEnd@:x64:Language:\d{4}+!"	""	0	0
3145773	0	0	0	";!@Install@!UTF-8:amd64:Language:\d{4}+!"	";!@InstallEnd@:amd64:Language:\d{4}+!"	""	0	0


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

;Flags (sum of the members)
;  1  force case sensitive.
;  2  force case insensitive.
;  4  regular expression (only for "$="). Scan starts from caret line beginning and metacharacters \a or \z specified caret position.
;  8  Don't show in listbox.


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.
;=============================================================================
$;Extraction and execution (commands and paths)
$(1)~AutoInstall="command_auto_install"
AutoInstall="$[command_auto_install]"

$(1)~AutoInstallX="command_auto_install"
AutoInstall$[0-9A-Za-z]="$[command_auto_install]"

$(1)~Delete="file_or_folder_name"
Delete="$[file_or_folder_name]"

$(1)~DeleteX="file_or_folder_name"
Delete$[0-9A-Za-z]="$[file_or_folder_name]"

$(1)~Directory="path_to_command"
Directory="$[path_to_command]"

$(1)~ExecuteFile="command_for_executing"
ExecuteFile="$[command_for_executing]"

$(1)~ExecuteOnLoad="command_executing"
ExecuteFile="$[command_executing]"

$(1)~ExecuteParameters="keys_command"
ExecuteParameters="$[keys_command]"

$(1)~ExtractMaskExclude="mask"
ExtractMaskExclude="$[mask]"

$(1)~ExtractMaskInclude="mask"
ExtractMaskInclude="$[mask]"

$(1)~InstallPath="path_to_extract"
InstallPath="$[path_to_extract]"

$(1)~OverwriteMode="x"
OverwriteMode="$[0, 1, 2 +8]"

$(1)~PreExtract="command_executing"
PreExtract="$[command_executing]"

$(1)~PreExtractX="command_executing"
PreExtract$[0-9A-Za-z]="$[command_executing]"

$(1)~RunProgram="command_executing"
RunProgram="$[command_executing]"

$(1)~SelfDelete="1"
SelfDelete="1"

$(1)~SetEnvironment="variable=string"
SetEnvironment="$[variable]=$[string]"

$(1)~Shortcut="type,{src_file_path}"...required...values...only
Shortcut="$[type D, S, P, T +u],{$[src_file_path]}"

$(1)~Shortcut="type,{src_file_path}"...all...values
Shortcut="$[type D, S, P, T +u],{$[src_file_path]},{$[command_line_for_file]},{$[folder_for_shortcut]},{$[decription]},{$[shortcut_name]},{$[working_directory]},{$[icon_file]},{$[icon_index]}"

$(1)~ShortcutX="type,{src_file_path}"...required...values...only
Shortcut$[0-9A-Za-z]="$[type D, S, P, T +u],{$[src_file_path]}"

$(1)~ShortcutX="type,{src_file_path}"...all...values
Shortcut$[0-9A-Za-z]="$[type D, S, P, T +u],{$[src_file_path]},{$[command_line_for_file]},{$[folder_for_shortcut]},{$[decription]},{$[shortcut_name]},{$[working_directory]},{$[icon_file]},{$[icon_index]}"

$(1)~VolumeNameStyle="x"
VolumeNameStyle="$[x]"

$;Appearance
$(1)~ExtractDialogWidth="x"
ExtractDialogWidth="$[x]"

$(1)~ExtractPathWidth="x"
ExtractPathWidth="$[x]"

$(1)~GUIFlags="x"
GUIFlags="$[x]"

$(1)~GUIMode="x"
GUIMode="$[0, 1, 2]"

$(1)~MiscFlags="x"
MiscFlags="$[x]"

$(1)~Progress="x"
Progress="$[x]"

$;Text
$(1)~Title="new_title"
Title="$[new_title]"

$(1)~BeginPrompt="some_text"
BeginPrompt="$[some_text]"

$(1)~BeginPromptTimeout="x"
BeginPromptTimeout="$[0, 1...999, -1...-999]"

$(1)~ExtractPathText="some_text"
ExtractPathText="$[some_text]"

$(1)~ExtractPathTitle="title_text"
ExtractPathTitle="$[title_text]"

$(1)~ExtractTitle="new_title"
ExtractTitle="$[new_title]"

$(1)~ExtractDialogText="text"
ExtractDialogText="$[text]"

$(1)~ExtractCancelText="button_text"
ExtractCancelText="$[button_text]"

$(1)~PasswordTitle="new_title"
PasswordTitle="$[new_title]"

$(1)~PasswordText="text"
PasswordText="$[text]"

$(1)~CancelPrompt="cancel_dialog_text"
CancelPrompt="$[cancel_dialog_text]"

$(1)~WarningTitle="title_for_warnings"
WarningTitle="$[title_for_warnings]"

$(1)~ErrorTitle="title_for_errors"
ErrorTitle="$[title_for_errors]"

$(1)~FinishMessage="finish_message"
FinishMessage="$[finish_message]"

$(1)~HelpText="some_text"
HelpText="$[some_text]"

$;Prefixes for the execution commands
$~del[0 or 1]:
del$[0 or 1]:

$~fm[0...999]:
fm$[0, 1, 2...999]:

$~forcenowait:
forcenowait:

$~hidcon:
hidcon:

$~nowait:
nowait:

$~shc[0 or 1]:
shc$[0 or 1]:

$~waitall:
waitall:

$~x64:
x64:

$~x86:
x86:

$;Variables
$; only in the module parameters
$(1)~%%M
%%M

$(1)~%%P
%%P

$(1)~%%S
%%S

$(1)~%%T
%%T

$; other
$~%CommonDesktop%
%CommonDesktop%

$~%CommonDocuments%
%CommonDocuments%

$~%MyDocuments%
%MyDocuments%

$~%MyDocs%
%MyDocs%

$~%UserDesktop%
%UserDesktop%

$~%SfxFolderXX%
%SfxFolder$[00...61]%

$~%SfxVarApiPath%
%SfxVarApiPath%

$~%SfxVarCmdLine0%
%SfxVarCmdLine0%

$~%SfxVarCmdLine1%
%SfxVarCmdLine1%

$~%SfxVarCmdLine2%
%SfxVarCmdLine2%

$~%SfxVarModulePlatform%
%SfxVarModulePlatform%

$~%SfxVarSystemLanguage%
%SfxVarSystemLanguage%

$~%SfxVarSystemPlatform%
%SfxVarSystemPlatform%
