;----------------------------------------------;
;           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-04-16)
;AkelPad 4.9.7 and higher
;https://github.com/Lenchik/Akelpad-syntax-highlighting/blob/master/ipxe.coder - working version
;https://github.com/Lenchik/Akelpad-syntax-highlighting/blob/master/source_for_developers/ipxe.utf8.coder - development version in UTF-8 for easier development on GitHub
;iPXE: http://ipxe.org/scripting


Files:
;==========
;File types
;==========
*.ipxe


;----------------------------------------------;
;                  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
;===================================================================================
;5=1+4
5	3	${STR}	0	`"`		`"`	""	""	""	0	0
5	3	${STR}	0	"'"		"'"	""	""	""	0	0
;1	3	${COMM}	0	"#"		""	""	""	""	0	0
;Variables
;5	0	${VAR}	0	"${"		"}"	""	""	""	0	0
; Labels
;785=1+16+256+512
785	2	0	0	":"		""	""	""	""	0	0
;fcels
;129=1+128
129	0	0	0	"fcels "	""	""	""	""	0	2
;item
;32773=1+4+32768
32773	0	${DEL1}	0	"--"		"default"	""	""	""	3	0
32773	0	${DEL1}	0	"--"		"gap"		""	""	""	3	0
32773	0	${DEL1}	0	"--"		"key"		""	""	""	3	0
32773	0	${DEL1}	0	"--"		"menu"		""	""	""	3	0
;129=1+128
129	1	0	0	"item "		""		""	""	""	0	3


QuotesRE:
;===========================================================================================
;Flags  Pattern         \BackRef=(FontStyle,ColorText,ColorBk) \BackRef=...  ParentID RuleID
;===========================================================================================
;--Comment #--
1	"^#.*?|(?<=[ \t])#.*?|(?<=\[)#.*?"	"\0=(3,${COMM},0)"	0	0
;Line breaks
1	" (\\)$"				"\1=(2,${VAR},0)"	0	0
;gdbstub
1	"(gdbstub) (serial|udp)"		"\1=(0,${OP},0) \2=(0,${DEL1},0)"	0	0
;goto:
1	"(goto)[ \t]++([A-Za-z0-9_\-]++)"	"\1=(0,${OP},0) \2=(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	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	(
1	0	${DEL2}	0	)
1	0	${DEL2}	0	{
1	0	${DEL2}	0	}
;1	0	${DEL2}	0	[
;1	0	${DEL2}	0	]


Words:
;===========================================
;Flags  Font    Color   Color   Word  Parent
;       style   text    bkgrnd        ID
;===========================================
;Commands
;;Boot commands
1	0	${OP}	0	autoboot
;;Network interface commands
1	0	${OP}	0	ifstat
1	0	${OP}	0	ifopen
1	0	${OP}	0	ifclose
1	0	${OP}	0	ifconf
1	0	${OP}	0	dhcp
1	0	${OP}	0	route
1	0	${OP}	0	nstat
1	0	${OP}	0	ipstat
1	0	${OP}	0	vcreate
1	0	${OP}	0	vdestroy
;;Image management commands
1	0	${OP}	0	imgstat
1	0	${OP}	0	chain
1	0	${OP}	0	imgexec
1	0	${OP}	0	boot
1	0	${OP}	0	imgfetch
1	0	${OP}	0	module
1	0	${OP}	0	initrd
1	0	${OP}	0	kernel
1	0	${OP}	0	imgselect
1	0	${OP}	0	imgload
1	0	${OP}	0	imgfree
1	0	${OP}	0	imgargs
1	0	${OP}	0	imgtrust
1	0	${OP}	0	imgverify
;;SAN commands
1	0	${OP}	0	sanhook
1	0	${OP}	0	sanboot
1	0	${OP}	0	sanunhook
1	0	${OP}	0	fcstat
1	0	${OP}	0	fcels
;;Configuration setting commands
1	0	${OP}	0	config
1	0	${OP}	0	show
1	0	${OP}	0	set
1	0	${OP}	0	clear
1	0	${OP}	0	read
1	0	${OP}	0	inc
1	0	${OP}	0	login
;;Flow control commands
1	0	${IF}	0	isset
1	0	${IF}	0	iseq
1	0	${IF}	0	goto
1	0	${IF}	0	exit
;;Menu commands
1	0	${OP}	0	menu
1	0	${OP}	0	item
1	0	${OP}	0	choose
;;Certificate management commands
1	0	${OP}	0	certstat
1	0	${OP}	0	certstore
1	0	${OP}	0	certfree
;;Console management commands
1	0	${OP}	0	console
1	0	${OP}	0	colour
1	0	${OP}	0	cpair
;;Form parameter commands
1	0	${OP}	0	params
1	0	${OP}	0	param
;;Miscellaneous commands
1	0	${OP}	0	echo
1	0	${OP}	0	prompt
1	0	${OP}	0	shell
1	0	${OP}	0	help
1	0	${OP}	0	sleep
1	0	${OP}	0	reboot
1	0	${OP}	0	poweroff
1	0	${OP}	0	cpuid
1	0	${OP}	0	sync
1	0	${OP}	0	nslookup
1	0	${OP}	0	ping
1	0	${OP}	0	ntp
1	0	${OP}	0	pciscan
;;Obscure commands
1	0	${OP}	0	lotest
1	0	${OP}	0	pxebs
1	0	${OP}	0	time
1	0	${OP}	0	gdbstub
1	0	${OP}	0	profstat
;Options
;;ifconf
1	0	${DEL1}	0	--configurator
;;vcreate
1	0	${DEL1}	0	--tag
1	0	${DEL1}	0	--priority
;;chain, imgexec, boot
1	0	${DEL1}	0	--name
1	0	${DEL1}	0	--timeout
;;imgfetch, module, initrd
;1	0	${DEL1}	0	--name
;1	0	${DEL1}	0	--timeout
;;kernel, imgselect, imgload
;1	0	${DEL1}	0	--name
;1	0	${DEL1}	0	--timeout
;;imgargs
;1	0	${DEL1}	0	--name
;;imgtrust
1	0	${DEL1}	0	--allow
1	0	${DEL1}	0	--permanent
;;imgverify
1	0	${DEL1}	0	--signer
1	0	${DEL1}	0	--keep
;;sanhook
1	0	${DEL1}	0	--drive
1	0	${DEL1}	0	--no-describe
;;sanboot
;1	0	${DEL1}	0	--drive
1	0	${DEL1}	0	--filename
;1	0	${DEL1}	0	--no-describe
;1	0	${DEL1}	0	--keep
;;sanunhook
;1	0	${DEL1}	0	--drive
;;fcels
1	0	${DEL1}	0	--port
1	0	${DEL1}	0	--id
;;menu
;1	0	${DEL1}	0	--name
1	0	${DEL1}	0	--delete
;;item
1	0	${DEL1}	0	--menu
1	0	${DEL1}	0	--key
1	0	${DEL1}	0	--default
1	0	${DEL1}	0	--gap
;;choose
;1	0	${DEL1}	0	--menu
;1	0	${DEL1}	0	--default
;1	0	${DEL1}	0	--timeout
;1	0	${DEL1}	0	--keep
;;certstat
1	0	${DEL1}	0	--subject
;;certstore
;1	0	${DEL1}	0	--subject
;1	0	${DEL1}	0	--keep
;;certfree
;1	0	${DEL1}	0	--subject
;;console
1	0	${DEL1}	0	--x
1	0	${DEL1}	0	--y
1	0	${DEL1}	0	--left
1	0	${DEL1}	0	--right
1	0	${DEL1}	0	--top
1	0	${DEL1}	0	--bottom
1	0	${DEL1}	0	--depth
1	0	${DEL1}	0	--picture
;1	0	${DEL1}	0	--keep
;;colour
1	0	${DEL1}	0	--basic
1	0	${DEL1}	0	--rgb
;;cpair
1	0	${DEL1}	0	--foreground
1	0	${DEL1}	0	--background
;;params
;1	0	${DEL1}	0	--name
;1	0	${DEL1}	0	--delete
;;param
1	0	${DEL1}	0	--params
;;echo
1	0	${DEL1}	0	-n
;;prompt
;1	0	${DEL1}	0	--key
;1	0	${DEL1}	0	--timeout
;;cpuid
1	0	${DEL1}	0	--ext
1	0	${DEL1}	0	--ecx
;;sync
;1	0	${DEL1}	0	--timeout
;;ping
1	0	${DEL1}	0	--size
;1	0	${DEL1}	0	--timeout
;;lotest
1	0	${DEL1}	0	--broadcast
1	0	${DEL1}	0	--mtu
;Other
;fcels (requests)
1	0	${ATTR}	0	flogi		2
1	0	${ATTR}	0	plogi		2
1	0	${ATTR}	0	prli-fcp	2
1	0	${ATTR}	0	logo		2
1	0	${ATTR}	0	echo		2
;Settings
;;Network device settings
1	0	0	0	mac
1	0	0	0	bustype
1	0	0	0	busloc
1	0	0	0	busid
1	0	0	0	chip
1	0	0	0	ssid
1	0	0	0	active-scan
1	0	0	0	key
;;IPv4 settings
1	0	0	0	ip
1	0	0	0	netmask
1	0	0	0	gateway
1	0	0	0	dns
1	0	0	0	domain
;;Boot settings
1	0	0	0	filename
1	0	0	0	next-server
1	0	0	0	root-path
1	0	0	0	san-filename
1	0	0	0	initiator-iqn
1	0	0	0	keep-san
1	0	0	0	skip-san-boot
;;Host settings
1	0	0	0	hostname
1	0	0	0	uuid
1	0	0	0	user-class
1	0	0	0	manufacturer
1	0	0	0	product
1	0	0	0	serial
1	0	0	0	asset
;;Authentication settings
1	0	0	0	username
1	0	0	0	password
1	0	0	0	reverse-username
1	0	0	0	reverse-password
;;Cryptography settings
1	0	0	0	crosscert
1	0	0	0	trust
1	0	0	0	cert
1	0	0	0	privkey
;;Miscellaneous settings
1	0	0	0	buildarch
1	0	0	0	dhcp-server
1	0	0	0	platform
1	0	0	0	priority
1	0	0	0	scriptlet
1	0	0	0	syslog
1	0	0	0	syslogs
1	0	0	0	unixtime
1	0	0	0	use-cached
1	0	0	0	version
1	0	0	0	vram


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


Folds:
;===========================================================================
;Flags  Font    Color   Color   Fold   Fold   Deli      Parent  Rule    Rule
;       style   text    bkgrnd  start  end    miters    ID      ID      file
;===========================================================================
;Sha-bang
;3146313=1+8+64+512+1048576+2097152
3146313	2	${COMM}	0	"\A#!ipxe"	"$"	""	0	0
;Variables
;266241=1+4096+262144
266241	0	${VAR}	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.
;=============================================================================
