# Define SciTE settings for Perl and AWK files.

file.patterns.perl=*.pl;*.pm;*.pod
file.patterns.awk=*.awk

*source.patterns.perl=$(file.patterns.perl);

shbang.perl=pl

shbang.gawk=awk
shbang.nawk=awk
shbang.mawk=awk

filter.perl=Perl (pl pm)|$(file.patterns.perl)|
filter.awk=GAWK  (awk)|$(file.patterns.awk)|

*filter.perl=$(filter.perl)

*language.perl=Pe&rl|pl||

lexer.$(file.patterns.perl)=perl
lexer.$(file.patterns.awk)=perl

keywords.$(file.patterns.perl)=\
ADJUST AUTOLOAD BEGIN CHECK CORE DESTROY END EQ GE GT INIT LE LT NE NULL \
UNITCHECK __CLASS__ __DATA__ __END__ __FILE__ __LINE__ __PACKAGE__ \
__SUB__ abs accept alarm all and any atan2 attributes autodie autouse \
base bigfloat bigint bignum bigrat bind binmode bless blib break builtin \
bytes caller catch charnames chdir chmod chomp chop chown chr chroot \
class close closedir cmp connect constant continue cos crypt dbmclose \
dbmopen default defer defined delete deprecate diagnostics die do dump \
each else elseif elsif encoding endgrent endhostent endnetent \
endprotoent endpwent endservent eof eq eval evalbytes exec exists exit \
exp experimental fc fcntl feature field fields fileno filetest finally \
flock for foreach fork format formline ge getc getgrent getgrgid \
getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr \
getnetbyname getnetent getpeername getpgrp getppid getpriority \
getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid \
getservbyname getservbyport getservent getsockname getsockopt given glob \
gmtime goto grep gt hex if import index int integer ioctl isa join keys \
kill last lc lcfirst le length less lib link listen local locale \
localtime lock log lstat lt map meta_notation method mkdir mro msgctl \
msgget msgrcv msgsnd my ne next no not oct ok open opendir ops or ord \
our overload overloading pack package parent perlfaq pipe pop pos print \
printf prototype push qu quotemeta rand re read readdir readline \
readlink readpipe recv redo ref rename require reset return reverse \
rewinddir rindex rmdir say scalar seek seekdir select semctl semget \
semop send setgrent sethostent setnetent setpgrp setpriority setprotoent \
setpwent setservent setsockopt shift shmctl shmget shmread shmwrite \
shutdown sigtrap sin size sleep socket socketpair sort splice split \
sprintf sqrt srand stable stat state strict study sub subs substr \
symlink syscall sysopen sysread sysseek system syswrite tell telldir \
threads tie tied time times truncate try uc ucfirst umask undef unless \
unlink unpack unshift untie until use utf8 utime values vars vec version \
vmsish wait waitpid wantarray warn warnings when while write xor

keywords.$(file.patterns.awk)=\
BEGIN END \
if else while do for in break continue delete exit function return \
print printf sprintf \
system close getline next nextfile fflush \
atan2 cos exp int log rand sin sqrt srand \
asort asorti gensub sub gsub index length match split \
strtonum substr tolower toupper \
mktime strftime systime \
and compl lshift or rshift xor \
bindtextdomain dcgettext dcngettext \
ARGC ARGIND ARGV BINMODE CONVFMT ENVIRON ERRNO FIELDWIDTHS \
FILENAME FNR FS IGNORECASE LINT NF NR OFMT OFS ORS PROCINFO \
RS RT RSTART RLENGTH SUBSEP TEXTDOMAIN


comment.block.awk=#~
block.start.$(file.patterns.awk)=10 {
block.end.$(file.patterns.awk)=10 }


word.characters.$(file.patterns.perl)=$(chars.alpha)$(chars.numeric)_$@%&

comment.block.perl=#~
block.start.$(file.patterns.perl)=10 {
block.end.$(file.patterns.perl)=10 }

colour.perl.heredoc=$(colour.embedded.comment)

#fold.perl.package=1
#fold.perl.pod=1

#fold.perl.at.else=1
#fold.perl.comment.explicit=0

# Perl styles
# The perl styles are set to lots of different foreground and background colours as an
# aid to debugging SciTE's Perl lexer - not because this is a good way to display Perl.
style.perl.32=
# White space
style.perl.0=fore:#808080,$(font.base)
# Error
style.perl.1=$(colour.error)
# Comment
style.perl.2=$(colour.code.comment.box),$(font.code.comment.box)
# POD: = at beginning of line
style.perl.3=fore:#004000,back:#E0FFE0,$(font.text),eolfilled
# Number
style.perl.4=$(colour.number)
# Keyword
style.perl.5=$(colour.keyword),bold
# Double quoted string
style.perl.6=$(colour.string),$(font.monospace)
# Single quoted string
style.perl.7=$(colour.char),$(font.monospace)
# Symbols / Punctuation. Currently not used by LexPerl.
style.perl.8=$(colour.notused),$(font.notused)
# Preprocessor. Currently not used by LexPerl.
style.perl.9=$(colour.notused),$(font.notused)
# Operators
style.perl.10=$(colour.operator),bold
# Identifiers (functions, etc.)
style.perl.11=fore:#000000
# Scalars: $var
style.perl.12=fore:#000000,back:#FFE0E0
# Array: @var
style.perl.13=fore:#000000,back:#FFFFE0
# Hash: %var
style.perl.14=fore:#000000,back:#FFE0FF
# Symbol table: *var
style.perl.15=fore:#000000,back:#E0E0E0
# SCE_PL_VARIABLE_INDEXER allocated but unused
style.perl.16=back:#FF0000
# Regex: /re/ or m{re}
style.perl.17=fore:#000000,back:#A0FFA0
# Substitution: s/re/ore/
style.perl.18=fore:#000000,back:#F0E080
# Long Quote (qq, qr, qw, qx) -- obsolete: replaced by qq, qx, qr, qw
style.perl.19=fore:#FFFF00,back:#8080A0
# Back Ticks
style.perl.20=$(style.perl.6),back:#90FFFF
# Data Section: __DATA__ or __END__ at beginning of line
style.perl.21=fore:#600000,back:#FFF0D8,eolfilled
# Here-doc (delimiter)
style.perl.22=fore:#000000,back:#DDD0DD
# Here-doc (single quoted, q)
style.perl.23=fore:#7F007F,back:#DDD0DD,eolfilled,notbold
# Here-doc (double quoted, qq)
style.perl.24=fore:#7F007F,back:#DDD0DD,eolfilled,bold
# Here-doc (back ticks, qx)
style.perl.25=fore:#7F007F,back:#DDD0DD,eolfilled,italics
# Single quoted string, generic
style.perl.26=fore:#7F007F,$(font.monospace),notbold
# qq = Double quoted string
style.perl.27=$(style.perl.6)
# qx = Back ticks
style.perl.28=$(style.perl.20)
# qr = Regex
style.perl.29=$(style.perl.17)
# qw = Array
style.perl.30=$(style.perl.13)
# POD: verbatim paragraphs
style.perl.31=fore:#004000,back:#C0FFC0,$(font.monospace),eolfilled
# subroutine prototype
style.perl.40=$(style.perl.10),italics
# format identifier
style.perl.41=fore:#C000C0,bold
# format body
style.perl.42=fore:#C000C0,back:#FFF0FF,eolfilled
# translation: tr{}{} y{}{}
style.perl.44=$(style.perl.18)

# Double quoted string (interpolated variable)
style.perl.43=$(style.perl.6),fore:#D00000,bold
# Regex: /re/ or m{re} (interpolated variable)
style.perl.54=$(style.perl.17),fore:#D00000,bold
# Substitution: s/re/ore/ (interpolated variable)
style.perl.55=$(style.perl.18),fore:#D00000,bold
# Back Ticks (interpolated variable)
style.perl.57=$(style.perl.20),fore:#D00000,bold
# Here-doc (double quoted, qq) (interpolated variable)
style.perl.61=$(style.perl.24),fore:#D00000,bold
# Here-doc (back ticks, qx) (interpolated variable)
style.perl.62=$(style.perl.61)
# qq = Double quoted string (interpolated variable)
style.perl.64=$(style.perl.43)
# qx = Back ticks (interpolated variable)
style.perl.65=$(style.perl.57)
# qr = Regex (interpolated variable)
style.perl.66=$(style.perl.54)

# Braces are only matched in operator style
braces.perl.style=10

command.go.$(file.patterns.awk)=gawk -f "$(FileNameExt)"

command.go.$(file.patterns.perl)=perl -w "$(FileNameExt)"

command.compile.$(file.patterns.perl)=perl -c -w "$(FileNameExt)"
command.name.0.$(file.patterns.perl)=Lint
command.0.$(file.patterns.perl)=perl -MO=Lint,all "$(FileNameExt)"

command.name.1.$(file.patterns.perl)=Check Syntax
command.1.$(file.patterns.perl)=perl -cw "$(FileNameExt)"

command.name.2.$(file.patterns.perl)=Code Profiler
command.2.$(file.patterns.perl)=perl -d:DProf "$(FileNameExt)"

command.name.3.$(file.patterns.perl)=Profiler Parser
command.3.$(file.patterns.perl)=C:\Perl\bin\dprofpp.bat "$(FileDir)\tmon.out"
