diff --git a/ChangeLog b/ChangeLog index f185f9d3b..34920411e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2004-10-16 Roland Illig + + * syntax/eiffel.syntax: Add syntax highlighting rules for the + Eiffel programming language. + * syntax/Syntax: Bind *.e with eiffel.syntax. + * syntax/Makefile.am: Added syntax.eiffel. + + From Daniel F Moisset + 2004-10-12 Pavel S. Shirshov * syntax/sql.syntax: Improve sql.syntax file and added several diff --git a/syntax/Makefile.am b/syntax/Makefile.am index ccefe4ed6..52855ba78 100644 --- a/syntax/Makefile.am +++ b/syntax/Makefile.am @@ -8,6 +8,7 @@ syntax_DATA = \ changelog.syntax \ diff.syntax \ dos.syntax \ + eiffel.syntax \ fortran.syntax \ html.syntax \ java.syntax \ diff --git a/syntax/Syntax b/syntax/Syntax index 9bbae988a..41e1a3b5f 100644 --- a/syntax/Syntax +++ b/syntax/Syntax @@ -20,6 +20,9 @@ file [Ss]yntax$ Syntax\sHighlighting\sdefinitions ^#\ssyntax\srules\sversion\s include syntax.syntax +file ..\*\\.(e)$ Eiffel\sSource\sFile +include eiffel.syntax + file ..\*\\.(diff|rej|patch)$ Diff\sOutput ^(diff|Index:)\s include diff.syntax diff --git a/syntax/eiffel.syntax b/syntax/eiffel.syntax new file mode 100644 index 000000000..7249cf08f --- /dev/null +++ b/syntax/eiffel.syntax @@ -0,0 +1,115 @@ +# Sytnax highlighting for Eiffel +# Daniel F Moisset - dmoisset@grulic.org.ar +# Based on mc's pascal.syntax + +context default yellow/24 + + keyword whole agent white/24 + keyword whole alias white/24 + keyword whole as white/24 + keyword whole check white/24 + keyword whole class white/24 + keyword whole create white/24 + keyword whole creation white/24 + keyword whole debug white/24 + keyword whole deferred white/24 + keyword whole do white/24 + keyword whole else white/24 + keyword whole elseif white/24 + keyword whole end white/24 + keyword whole ensure white/24 + keyword whole expanded white/24 + keyword whole export white/24 + keyword whole external white/24 + keyword whole feature white/24 + keyword whole from white/24 + keyword whole if white/24 + keyword whole is white/24 + keyword whole indexing white/24 + keyword whole inherit white/24 + keyword whole inspect white/24 + keyword whole invariant white/24 + keyword whole like white/24 + keyword whole local white/24 + keyword whole loop white/24 + keyword whole obsolete white/24 + keyword whole old white/24 + keyword whole once white/24 + keyword whole redefine white/24 + keyword whole reference white/24 + keyword whole rename white/24 + keyword whole require white/24 + keyword whole rescue white/24 + keyword whole retry white/24 + keyword whole select white/24 + keyword whole then white/24 + keyword whole undefine white/24 + keyword whole unique white/24 + keyword whole until white/24 + keyword whole variant white/24 + keyword whole when white/24 + + keyword whole Current brightmagenta/23 + keyword whole Precursor brightmagenta/23 + keyword whole Result brightmagenta/23 + keyword whole Void brightmagenta/23 + +# prevents - keyword from interfering with comment + keyword -- lightgray/22 + + keyword := brightcyan/6 + keyword ?= brightcyan/6 + keyword ! brightcyan/6 + keyword : brightcyan/6 + keyword ; brightcyan/6 + keyword ( brightcyan/6 + keyword ) brightcyan/6 + keyword [ brightcyan/6 + keyword ] brightcyan/6 + + keyword {*} brightred/6 + + keyword \+ cyan/14 + keyword - cyan/14 + keyword \* cyan/14 + keyword / cyan/14 + keyword > cyan/14 + keyword < cyan/14 + keyword = cyan/14 + keyword ^ cyan/14 + keyword \\ cyan/14 + keyword @ cyan/14 + keyword | cyan/14 + keyword whole and cyan/14 + keyword whole implies cyan/14 + keyword whole not cyan/14 + keyword whole xor cyan/14 + keyword whole or cyan/14 + +# Uncomment this to highlight tabs and trailing spaces +# keyword \t yellow/24 red/6 +# keyword \s\[\s\]\n yellow/24 red/6 + +# Comments +context exclusive -- \n lightgray/22 + keyword `*' brown/22 + +# Strings and characters +context " " green/green + keyword %N brightgreen/6 + keyword %R brightgreen/6 + keyword %U brightgreen/6 + keyword %" brightgreen/6 + keyword %' brightgreen/6 + keyword %% brightgreen/6 + keyword %/\[0123456789\]/ brightgreen/6 + +context ' ' green/green + keyword %N brightgreen/6 + keyword %R brightgreen/6 + keyword %U brightgreen/6 + keyword %" brightgreen/6 + keyword %' brightgreen/6 + keyword %% brightgreen/6 + keyword %/\[0123456789\]/ brightgreen/6 + \ No newline at end of file