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


Files:
;==========
;File types
;==========
*.pl
*.pm
*.plx
*.prl


;----------------------------------------------;
;                  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=1+4
5	3	${STR}	0	"'"	"'"	"\"	""	""	0	0
;1=1
1	3	${COMM}	0	"#"	""	""	""	""	0	0
;401=1+16+128+256
401	0	${VAR}	0	"$"	""	""	""	""	0	0
;401=1+16+128+256
401	0	${VAR}	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	(
1	0	${DEL1}	0	)
1	0	0	0	$
1	0	0	0	@
1	0	0	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	|
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	[
1	0	${DEL2}	0	]


Words:
;===========================================
;Flags  Font    Color   Color   Word  Parent
;       style   text    bkgrnd        ID
;===========================================
;syn
1	0	${OP}	0	match
;perlStatementStorage
1	0	${OP}	0	my
1	0	${OP}	0	local
1	0	${OP}	0	our
;perlStatementScalar
1	0	${OP}	0	chomp
1	0	${OP}	0	chop
1	0	${OP}	0	chr
1	0	${OP}	0	crypt
1	0	${OP}	0	index
1	0	${OP}	0	lc
1	0	${OP}	0	lcfirst
1	0	${OP}	0	length
1	0	${OP}	0	ord
1	0	${OP}	0	pack
1	0	${OP}	0	reverse
1	0	${OP}	0	rindex
1	0	${OP}	0	sprintf
1	0	${OP}	0	substr
1	0	${OP}	0	uc
1	0	${OP}	0	ucfirst
;perlQQ
1	0	${OP}	0	q
1	0	${OP}	0	qq
1	0	${OP}	0	qw
1	0	${OP}	0	qx
1	0	${OP}	0	qr
;perlStatementRegexp
1	0	${OP}	0	pos
1	0	${OP}	0	quotemeta
1	0	${OP}	0	split
1	0	${OP}	0	study
;perlStatementNumeric
1	0	${OP}	0	abs
1	0	${OP}	0	atan2
1	0	${OP}	0	cos
1	0	${OP}	0	exp
1	0	${OP}	0	hex
1	0	${OP}	0	int
1	0	${OP}	0	log
1	0	${OP}	0	oct
1	0	${OP}	0	rand
1	0	${OP}	0	sin
1	0	${OP}	0	sqrt
1	0	${OP}	0	srand
;perlStatementList
1	0	${OP}	0	splice
1	0	${OP}	0	unshift
1	0	${OP}	0	shift
1	0	${OP}	0	push
1	0	${OP}	0	pop
1	0	${OP}	0	split
1	0	${OP}	0	join
1	0	${OP}	0	reverse
1	0	${OP}	0	grep
1	0	${OP}	0	map
1	0	${OP}	0	sort
1	0	${OP}	0	unpack
;perlStatementHash
1	0	${OP}	0	each
1	0	${OP}	0	exists
1	0	${OP}	0	keys
1	0	${OP}	0	values
1	0	${OP}	0	tie
1	0	${OP}	0	tied
1	0	${OP}	0	untie
;perlStatementIOfunc
1	0	${OP}	0	carp
1	0	${OP}	0	confess
1	0	${OP}	0	croak
1	0	${OP}	0	dbmclose
1	0	${OP}	0	dbmopen
1	0	${OP}	0	die
1	0	${OP}	0	syscall
;perlStatementFiledesc
1	0	${OP}	0	binmode
1	0	${OP}	0	close
1	0	${OP}	0	closedir
1	0	${OP}	0	eof
1	0	${OP}	0	fileno
1	0	${OP}	0	getc
1	0	${OP}	0	lstat
1	0	${OP}	0	print
1	0	${OP}	0	printf
1	0	${OP}	0	readdir
1	0	${OP}	0	readline
1	0	${OP}	0	readpipe
1	0	${OP}	0	rewinddir
1	0	${OP}	0	select
1	0	${OP}	0	stat
1	0	${OP}	0	tell
1	0	${OP}	0	telldir
1	0	${OP}	0	write
;perlStatementFiledesc
1	0	${OP}	0	fcntl
1	0	${OP}	0	flock
1	0	${OP}	0	ioctl
1	0	${OP}	0	open
1	0	${OP}	0	opendir
1	0	${OP}	0	read
1	0	${OP}	0	seek
1	0	${OP}	0	seekdir
1	0	${OP}	0	sysopen
1	0	${OP}	0	sysread
1	0	${OP}	0	sysseek
1	0	${OP}	0	syswrite
1	0	${OP}	0	truncate
;perlStatementVector
1	0	${OP}	0	pack
1	0	${OP}	0	vec
;perlStatementFiles
1	0	${OP}	0	chdir
1	0	${OP}	0	chmod
1	0	${OP}	0	chown
1	0	${OP}	0	chroot
1	0	${OP}	0	glob
1	0	${OP}	0	link
1	0	${OP}	0	mkdir
1	0	${OP}	0	readlink
1	0	${OP}	0	rename
1	0	${OP}	0	rmdir
1	0	${OP}	0	symlink
1	0	${OP}	0	umask
1	0	${OP}	0	unlink
1	0	${OP}	0	utime
;perlStatementFlow
1	0	${OP}	0	caller
1	0	${OP}	0	die
1	0	${OP}	0	dump
1	0	${OP}	0	eval
1	0	${OP}	0	exit
1	0	${OP}	0	wantarray
;perlStatementInclude
1	0	${OP}	0	require
;perlStatementScope
1	0	${OP}	0	import
;perlStatementProc
1	0	${OP}	0	alarm
1	0	${OP}	0	exec
1	0	${OP}	0	fork
1	0	${OP}	0	getpgrp
1	0	${OP}	0	getppid
1	0	${OP}	0	getpriority
1	0	${OP}	0	kill
1	0	${OP}	0	pipe
1	0	${OP}	0	setpgrp
1	0	${OP}	0	setpriority
1	0	${OP}	0	sleep
1	0	${OP}	0	system
1	0	${OP}	0	times
1	0	${OP}	0	wait
1	0	${OP}	0	waitpid
;perlStatementSocket
1	0	${OP}	0	accept
1	0	${OP}	0	bind
1	0	${OP}	0	connect
1	0	${OP}	0	getpeername
1	0	${OP}	0	getsockname
1	0	${OP}	0	getsockopt
1	0	${OP}	0	listen
1	0	${OP}	0	recv
1	0	${OP}	0	send
1	0	${OP}	0	setsockopt
1	0	${OP}	0	shutdown
1	0	${OP}	0	socket
1	0	${OP}	0	socketpair
;perlStatementIPC
1	0	${OP}	0	msgctl
1	0	${OP}	0	msgget
1	0	${OP}	0	msgrcv
1	0	${OP}	0	msgsnd
1	0	${OP}	0	semctl
1	0	${OP}	0	semget
1	0	${OP}	0	semop
1	0	${OP}	0	shmctl
1	0	${OP}	0	shmget
1	0	${OP}	0	shmread
1	0	${OP}	0	shmwrite
;perlStatementNetwork
1	0	${OP}	0	endhostent
1	0	${OP}	0	endnetent
1	0	${OP}	0	endprotoent
1	0	${OP}	0	endservent
1	0	${OP}	0	gethostbyaddr
1	0	${OP}	0	gethostbyname
1	0	${OP}	0	gethostent
1	0	${OP}	0	getnetbyaddr
1	0	${OP}	0	getnetbyname
1	0	${OP}	0	getnetent
1	0	${OP}	0	getprotobyname
1	0	${OP}	0	getprotobynumber
1	0	${OP}	0	getprotoent
1	0	${OP}	0	getservbyname
1	0	${OP}	0	getservbyport
1	0	${OP}	0	getservent
1	0	${OP}	0	sethostent
1	0	${OP}	0	setnetent
1	0	${OP}	0	setprotoent
1	0	${OP}	0	setservent
;perlStatementPword
1	0	${OP}	0	getpwuid
1	0	${OP}	0	getpwnam
1	0	${OP}	0	getpwent
1	0	${OP}	0	setpwent
1	0	${OP}	0	endpwent
1	0	${OP}	0	getgrent
1	0	${OP}	0	getgrgid
1	0	${OP}	0	getlogin
1	0	${OP}	0	getgrnam
1	0	${OP}	0	setgrent
1	0	${OP}	0	endgrent
;perlStatementTime
1	0	${OP}	0	gmtime
1	0	${OP}	0	localtime
1	0	${OP}	0	time
1	0	${OP}	0	times
;perlStatementMisc
1	0	${OP}	0	warn
1	0	${OP}	0	formline
1	0	${OP}	0	reset
1	0	${OP}	0	scalar
1	0	${OP}	0	delete
1	0	${OP}	0	prototype
1	0	${OP}	0	lock
;perlStatementNew
1	0	${OP}	0	new
;perlFunction
1	0	${OP}	0	sub
;perlOperator
1	0	${OP}	0	defined
1	0	${OP}	0	undef
1	0	${OP}	0	and
1	0	${OP}	0	or
1	0	${OP}	0	not
1	0	${OP}	0	bless
1	0	${OP}	0	ref
;perlControl
1	0	${OP}	0	BEGIN
1	0	${OP}	0	END
1	0	${OP}	0	CHECK
1	0	${OP}	0	INIT
;perlDebugging
1	0	${OP}	0	__DATA__
1	0	${OP}	0	__END__
1	0	${OP}	0	__FILE__
1	0	${OP}	0	__LINE__
;perlConditional
1	2	${IF}	0	if
1	2	${IF}	0	elsif
1	2	${IF}	0	unless
1	2	${IF}	0	else
;perlStatementControl
1	2	${IF}	0	goto
1	2	${IF}	0	return
1	2	${IF}	0	last
1	2	${IF}	0	next
1	2	${IF}	0	redo
;perlRepeat
1	2	${IF}	0	while
1	2	${IF}	0	for
1	2	${IF}	0	foreach
1	2	${IF}	0	do
1	2	${IF}	0	until
1	2	${IF}	0	continue


;----------------------------------------------;
;                   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	"'"	"'"	"\"
1	"#"	""	""


Folds:
;===========================================================================
;Flags  Font    Color   Color   Fold    Fold    Deli    Parent  Rule    Rule
;       style   text    bkgrnd  start   end     miters  ID      ID      file
;===========================================================================
1	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.
;=============================================================================
$~foreach
foreach $[] ($[])
{
${AutoComplete_Indent}$[]
}

$~sub
sub $[]
{
${AutoComplete_Indent}$[]
}

$~class
class $[]
{
${AutoComplete_Indent}$[]
}

$~for
for ($[]; $[]; $[])
{
${AutoComplete_Indent}$[]
}

$~if
if ($[])
{
${AutoComplete_Indent}$[]
}

$~while
while ($[])
{
${AutoComplete_Indent}$[]
}
