# Define SciTE settings for Bash files.

file.patterns.bash=*.sh;*.bsh;configure;*.ksh

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

shbang.sh=sh
shbang.bash=sh

filter.bash=Bash (sh bsh)|$(file.patterns.bash)|

*filter.bash=$(filter.bash)

*language.shell=Shell|sh||

lexer.$(file.patterns.bash)=bash

# generic keywords
bash_keywords1=alias \
ar asa awk banner basename bash bc bdiff break \
bunzip2 bzip2 cal calendar case cat cc cd chmod cksum \
clear cmp col comm compress continue cp cpio crypt \
csplit ctags cut date dc dd declare deroff dev df diff diff3 \
dircmp dirname dirs do done du echo ed egrep elif else env \
esac eval ex exec exit expand export expr false fc \
fgrep fi file find fmt fold for function functions \
getconf getopt getopts grep gres hash head help \
history iconv id if in integer jobs join kill local lc \
let line ln logname look ls m4 mail mailx make \
man mkdir more mt mv newgrp nl nm nohup ntps od \
pack paste patch pathchk pax pcat perl pg popd pr print \
printf ps pushd pwd read readonly red return rev rm rmdir \
sed select set sh shift size sleep sort spell \
split start stop strings strip stty sum suspend \
sync tail tar tee test then time times touch tr \
trap true tsort tty type typeset ulimit umask unalias \
uname uncompress unexpand uniq unpack unset until \
uudecode uuencode vi vim vpax wait wc whence which \
while who wpaste wstart xargs zcat

# additional keywords from coreutils
bash_keywords2=chgrp chown chroot dir dircolors \
factor groups hostid install link md5sum mkfifo \
mknod nice pinky printenv ptx readlink seq \
sha1sum shred stat su tac unlink users vdir whoami yes

keywords.$(file.patterns.bash)=$(bash_keywords1) $(bash_keywords2)

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

comment.block.bash=#~

#lexer.bash.styling.inside.string=1
#lexer.bash.styling.inside.backticks=1
#lexer.bash.styling.inside.parameter=1
#lexer.bash.styling.inside.heredoc=1
#lexer.bash.command.substitution=2

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

# Bash styles
# The bash styles are set to lots of different foreground and background colours as an
# aid to debugging SciTE's Bash lexer - not because this is a good way to display Bash.
style.bash.32=
# White space
style.bash.0=fore:#808080,$(font.base)
# Error
style.bash.1=$(colour.error)
# Comment
style.bash.2=$(colour.code.comment.box),$(font.code.comment.box)
# Number
style.bash.3=$(colour.number)
# Keyword
style.bash.4=$(colour.keyword),bold
# Double quoted string
style.bash.5=$(colour.string),$(font.monospace)
# Single quoted string
style.bash.6=$(colour.char),$(font.monospace)
# Operators
style.bash.7=$(colour.operator),bold
# Identifiers (functions, etc.)
style.bash.8=fore:#000000
# Scalars: $var
style.bash.9=fore:#000000,back:#FFE0E0
# Parameter expansion: ${var}
style.bash.10=fore:#000000,back:#FFFFE0
# Back Ticks
style.bash.11=fore:#FFFF00,back:#A08080
# Here-doc (delimiter)
style.bash.12=fore:#000000,back:#DDD0DD
# Here-doc (single quoted, q)
style.bash.13=fore:#7F007F,back:#DDD0DD,eolfilled,notbold
# Braces are only matched in operator style
braces.bash.style=7

command.go.$(file.patterns.bash)=bash "$(FileNameExt)"
