;----------------------------------------------;
;           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.7 and higher
;https://github.com/Lenchik/Akelpad-syntax-highlighting/blob/master/winbuilder.coder - working version
;https://github.com/Lenchik/Akelpad-syntax-highlighting/blob/master/source_for_developers/winbuilder.utf8.coder - development version in UTF-8 for easier development on GitHub


Files:
;==========
;File types
;==========
*.script
*.project


;----------------------------------------------;
;                  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
;===================================================================================
;1+512
513	3	${COMM}	0	"//"	""	":"	""	""	0	0
513	3	${COMM}	0	"##"	""	":"	""	""	0	0
;517=1+4+512
517	2	0	0	"["	"]"	""	""	""	0	0
;773=1+4+256+512
773	0	${OP}	0	""	"="	""	""	"% "	0	0
;5=1+4
5	3	${STR}	0	`"`	`"`	"\"	""	""	0	0
;5=1+4
5	3	${STR}	0	"'"	"'"	"\"	""	""	0	0
;8197=1+4+8192
8197	0	${VAR}	0	"%"	"%"	""	""	""	0	0


QuotesRE:
;===========================================================================================
;Flags  Pattern         \BackRef=(FontStyle,ColorText,ColorBk) \BackRef=...  ParentID RuleID
;===========================================================================================
;Escape characters
0	"#\$(c|p|q|s|x|z)"	"\0=(2,${NUM},0)"	0	0
;Script Commands
;;;Retrieve Functions
0	"(Retrieve)(,)(FileVersion|FileSize|File|Dir|FolderSize|MD5)(,)"	"\1=(0,${OP},0) \2=(0,${DEL1},0) \3=(0,${OP},0) \4=(0,${DEL1},0)"	0	0
;;;Miscellaneous Commands
;;;;;;ShellExecute
0	"(ShellExecuteDelete|ShellExecuteEx|ShellExecute)(,)(Open|Hide|Print|Explore)(,)"	"\1=(0,${OP},0) \2=(0,${DEL1},0) \3=(3,${OP},0) \4=(0,${DEL1},0)"	0	0
;;;;;;System,<Action>
0	"(System)(,)(Comp80|Cursor|ErrorOff|FileRedirect|GetEnv|GetFreeDrive|GetFreeSpace|HasUAC|IsAdmin|IsTerminal|Log|OnBuildExit|OnScriptExit|RegRedirect|SaveLog|SplitParameters)(,)"	"\1=(3,${OP},0) \2=(0,${DEL1},0) \3=(3,${OP},0) \4=(0,${DEL1},0)"	0	0
0	"(System)(,)(ErrorOff|RebuildVars|RefreshInterface|ReScanScripts)"	"\1=(3,${OP},0) \2=(0,${DEL1},0) \3=(3,${OP},0)"	0	0
;Optional parameters
;;;Registry
;;;;;Registry KeyType
0	"(,)(HKEY_CURRENT_CONFIG|HKEY_USERS|HKLM|HKCU|HKCR)(,)([0-9x]++)(,)"	"\1=(0,${DEL1},0) \2=(0,${TYPE},0) \3=(0,${DEL1},0) \4=(0,${NUM},0) \5=(0,${DEL1},0)"	0	0
;Conditional & other
0	"^\s*+(If)(,)(ExistFile|ExistDir|ExistSection|ExistRegSection|ExistRegKey|ExistVar|ping|online|License|Question|ExistMacro|ExistRegMulti)(,)"	"\1=(0,${IF},0) \2=(0,${DEL1},0) \3=(3,${IF},0) \4=(0,${DEL1},0)"	0	0
0	"^\s*+(If)(,)(Not)(,)(ExistFile|ExistDir|ExistSection|ExistRegSection|ExistRegKey|ExistVar|ping|online|License|Question|ExistMacro|ExistRegMulti)(,)"	"\1=(0,${IF},0) \2=(0,${DEL1},0) \3=(0,${IF},0) \4=(0,${DEL1},0) \5=(3,${IF},0) \6=(0,${DEL1},0)"	0	0
0	"^\s*+(If)(,)(Not)(,)"	"\1=(0,${IF},0) \2=(0,${DEL1},0) \3=(0,${IF},0) \4=(0,${DEL1},0)"	0	0
;WinBuilder's Scripting API
0	"(Add)(,)(DesktopIni|Url|Shortcut)"	"\1=(0,${OP},0) \2=(0,${DEL1},0) \3=(0,${OP},0)"	0	0
0	"(ScriptInterface)(,)(Read|State|Write)"	"\1=(0,${OP},0) \2=(0,${DEL1},0) \3=(0,${OP},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	|


Words:
;===========================================
;Flags  Font    Color   Color   Word  Parent
;       style   text    bkgrnd        ID
;===========================================
;Script Commands
;;;Attachments
0	0	${OP}	0	ExtractFile
0	0	${OP}	0	ExtractAndRun
0	0	${OP}	0	ExtractAllFiles
0	0	${OP}	0	ExtractAllFilesIfNotExist
0	0	${OP}	0	Encode
;;;File Operations
0	0	${OP}	0	CopyOrExpand
0	0	${OP}	0	DirCopy
0	0	${OP}	0	DirDelete
0	0	${OP}	0	DirMove
0	0	${OP}	0	DirMake
0	0	${OP}	0	Expand
0	0	${OP}	0	FileCopy
0	0	${OP}	0	FileDelete
0	0	${OP}	0	FileRename
0	0	${OP}	0	FileCreateBlank
0	0	${OP}	0	FileByteExtract
;;;INI Manipulation
0	0	${OP}	0	IniWrite
0	0	${OP}	0	IniRead
0	0	${OP}	0	IniDelete
0	0	${OP}	0	IniAddSection
0	0	${OP}	0	IniDeleteSection
0	0	${OP}	0	IniWriteTextLine
0	0	${OP}	0	IniMerge
;;;Miscellaneous Commands
0	0	${OP}	0	AddVariables
0	0	${OP}	0	Beep
0	0	${OP}	0	Echo
0	0	${OP}	0	Exit
0	0	${OP}	0	GetParam
0	0	${OP}	0	Halt
0	0	${OP}	0	Loop
0	0	${OP}	0	Message
0	0	${OP}	0	PackParam
0	0	${OP}	0	Run
0	0	${OP}	0	Exec
0	0	${OP}	0	Call
0	0	${OP}	0	Set
0	0	${OP}	0	ShellExecute
0	0	${OP}	0	ShellExecuteDelete
0	0	${OP}	0	ShellExecuteEx
0	0	${OP}	0	Visible
0	0	${OP}	0	wait
;;;;;;System,<Action>
;
;;;Network Tools
0	0	${OP}	0	WebGet
0	0	${OP}	0	WebGetIfNotExist
;;;Registry Handling
0	0	${OP}	0	RegWrite
0	0	${OP}	0	RegRead
0	0	${OP}	0	RegDelete
0	0	${OP}	0	RegHiveLoad
0	0	${OP}	0	RegHiveUnload
0	0	${OP}	0	RegImport
0	0	${OP}	0	RegWriteBin
0	0	${OP}	0	RegWriteBinEx
0	0	${OP}	0	RegReadBin
0	0	${OP}	0	RegMulti
;;;Retrieve Functions - QuotesRE
;;;String Formatting
0	0	${OP}	0	StrFormat
;;;Text Files
0	0	${OP}	0	TxtAddline
0	0	${OP}	0	TxtReplace
0	0	${OP}	0	TxtDelLine
0	0	${OP}	0	TxtDelSpaces
0	0	${OP}	0	TxtDelEmptyLines
;Optional parameters & other
0	3	0	0	PRESERVE
0	3	0	0	NOWARN
0	3	0	0	SHOW
0	3	0	0	FAST
0	3	0	0	NOREC
0	3	0	0	APPEND
0	3	0	0	BREAK
;;;Network Tools
0	3	0	0	MD5
0	3	0	0	Ask
0	3	0	0	Timeout
;;;Registry
0	0	${TYPE}	0	HKLM
0	0	${TYPE}	0	HKCU
0	0	${TYPE}	0	HKCR
0	0	${TYPE}	0	HKEY_USERS
0	0	${TYPE}	0	HKEY_CURRENT_CONFIG
;;;;;;RegMulti
0	3	0	0	APPEND
0	3	0	0	PREPEND
0	3	0	0	BEFORE
0	3	0	0	BEHIND
0	3	0	0	PLACE
0	3	0	0	DELETE
0	3	0	0	INDEX
;;;AddVariables/Set
1024	3	0	0	GLOBAL
1024	3	0	0	PERMANENT
;;;TxtAddLine
0	3	0	0	PrePend
0	3	0	0	Append
0	3	0	0	Place
;;;System,<Action>
0	3	0	0	WAIT
0	3	0	0	NORMAL
0	3	0	0	ON
0	3	0	0	OFF
0	3	0	0	DONE
0	3	0	0	STOP
0	3	0	0	ERROR
0	3	0	0	COMMAND
0	3	0	0	EXCEPTION
0	3	0	0	INFORMATION
;Conditional & other
0	0	${IF}	0	Begin
512	0	${IF}	0	If
512	0	${IF}	0	End
512	0	${IF}	0	Else
0	0	${IF}	0	Not
0	3	${IF}	0	Equal
0	3	${IF}	0	NotEqual
0	3	${IF}	0	Smaller
0	3	${IF}	0	Bigger
0	0	${IF}	0	ExistFile
0	0	${IF}	0	ExistDir
0	0	${IF}	0	ExistSection
0	0	${IF}	0	ExistRegSection
0	0	${IF}	0	ExistRegKey
0	0	${IF}	0	ExistVar
0	0	${IF}	0	ping
0	0	${IF}	0	online
0	0	${IF}	0	License
0	0	${IF}	0	Question
0	0	${IF}	0	ExistMacro
0	0	${IF}	0	ExistRegMulti
0	2	0	0	True
0	2	0	0	False
;WinBuilder's Scripting API
0	0	${OP}	0	_Calculate
0	0	${OP}	0	Add_Asso
0	0	${OP}	0	Add_Pin
0	0	${OP}	0	Add_Shortcut
0	0	${OP}	0	AddAutoRun
0	0	${OP}	0	AddPostConfig
0	0	${OP}	0	AddPreConfig
0	0	${OP}	0	AddToPEShell
0	0	${OP}	0	Arch
0	0	${OP}	0	Ask_License
0	0	${OP}	0	Associate_File
0	0	${OP}	0	CopyProgram
0	0	${OP}	0	Hive_Load
0	0	${OP}	0	Hive_Unload
0	0	${OP}	0	Not_Compatible
0	0	${OP}	0	Process_Log
0	0	${OP}	0	ReadENV
0	0	${OP}	0	Reg_Add
0	0	${OP}	0	Reg_Del
0	0	${OP}	0	Reg_Import
0	0	${OP}	0	RegAddBoot
0	0	${OP}	0	Register_File
0	0	${OP}	0	Require_File
0	0	${OP}	0	Require_FileQ
0	0	${OP}	0	RequireSysFile
0	0	${OP}	0	RunFromCD
0	0	${OP}	0	RunFromRam
0	0	${OP}	0	Select_Case
0	0	${OP}	0	Unpack


;----------------------------------------------;
;                   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
;=============================
1	`"`	`"`	""
1	"'"	"'"	""
;9=1+8
9	"//"	""	":"
9	"##"	""	":"


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                 ;
;----------------------------------------------;

;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.
;=============================================================================
