# Define SciTE settings for Perl and Bash files.

file.patterns.perl=*.pl;*.pm;*.cgi;*.pod
file.patterns.bash=*.sh;*.bsh

filter.perl=Perl (pl pm)|$(file.patterns.perl)|

lexer.$(file.patterns.perl)=perl
lexer.$(file.patterns.bash)=perl

keywords.$(file.patterns.perl)=\
NULL __FILE__ __LINE__ __PACKAGE__ __DATA__ __END__ AUTOLOAD \
BEGIN CORE DESTROY END EQ GE GT INIT LE LT NE CHECK abs accept \
alarm and atan2 bind binmode bless caller chdir chmod chomp chop \
chown chr chroot close closedir cmp connect continue cos crypt \
dbmclose dbmopen defined delete die do dump each else elsif endgrent \
endhostent endnetent endprotoent endpwent endservent eof eq eval \
exec exists exit exp fcntl fileno 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 glob gmtime goto grep gt hex if index \
int ioctl join keys kill last lc lcfirst le length link listen \
local localtime lock log lstat lt m map mkdir msgctl msgget msgrcv \
msgsnd my ne next no not oct open opendir or ord our pack package \
pipe pop pos print printf prototype push q qq qr quotemeta qu \
qw qx rand read readdir readline readlink readpipe recv redo \
ref rename require reset return reverse rewinddir rindex rmdir \
s scalar seek seekdir select semctl semget semop send setgrent \
sethostent setnetent setpgrp setpriority setprotoent setpwent \
setservent setsockopt shift shmctl shmget shmread shmwrite shutdown \
sin sleep socket socketpair sort splice split sprintf sqrt srand \
stat study sub substr symlink syscall sysopen sysread sysseek \
system syswrite tell telldir tie tied time times tr truncate \
uc ucfirst umask undef unless unlink unpack unshift untie until \
use utime values vec wait waitpid wantarray warn while write \
x xor y

keywords.$(file.patterns.bash)=alias break case continue do \
done elif else esac exit export fi for if in return set then unalias \
unset while /C2 halt ifconfig init initlog insmod linuxconf lsmod \
modprobe reboot rmmod route shutdown traceroute /C3 awk \
basename cat cp echo egrep fgrep gawk grep gzip kill killall \
less md mkdir mv nice pidof ps rd read rm rmdir sed sleep test \
touch ulimit uname usleep zcat zless

word.characters.$(file.patterns.perl)=$(chars.alpha)$(chars.numeric)_$@%&

comment.block.perl=#~

#colour.perl.heredoc=fore:#7F007F,back:#80FFE0
colour.perl.heredoc=$(colour.embedded.comment)

# 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=size:10
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.character),$(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
# 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=fore:#FFFF00,back:#A08080
# 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)
# Braces are only matched in operator style
braces.perl.style=10

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)

