From: Duncan C. <dun...@us...> - 2004-05-17 00:14:10
|
Update of /cvsroot/gtk2hs/gtk2hs/demo/sourceview In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31441/demo/sourceview Modified Files: haskell.lang Log Message: updated syntax highlighting Index: haskell.lang =================================================================== RCS file: /cvsroot/gtk2hs/gtk2hs/demo/sourceview/haskell.lang,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- haskell.lang 11 Nov 2003 12:24:35 -0000 1.1 +++ haskell.lang 17 May 2004 00:13:56 -0000 1.2 @@ -13,29 +13,43 @@ <end-regex>-\}</end-regex> </block-comment> - <pattern-item _name = "Type or Constructor" style = "Data Type"> - <regex>\b[A-Z][0-9a-zA-Z]*'*</regex> + <syntax-item _name = "Pragma" style = "Preprocessor"> + <start-regex>\{-#</start-regex> + <end-regex>#-\}</end-regex> + </syntax-item> + + <pattern-item _name = "Data Type or Constructor" style = "Data Type"> + <regex>\b[A-Z][0-9a-zA-Z._]*('|#)*</regex> </pattern-item> -<!-- - <pattern-item _name = "Variable" style = "Variable"> - <regex>\b[a-z][0-9a-zA-Z]*'*</regex> - </pattern-item> ---> - <pattern-item _name = "Keysymbols" style = "Data Type"> - <regex>(::|->|<-|=>|=)</regex> + + <pattern-item _name = "Keysymbols" style = "Keyword"> + <regex>::|->|<-|=>|=|\||\\|@|~|\.\.</regex> </pattern-item> <!-- - <pattern-item _name = "Operators" style = "Data Type"> - <regex>[:*$+]+</regex> + <pattern-item _name = "Operators" style = "Operators"> + <regex>[:!#$%&*+./>=<?@\\^|~\-]+</regex> </pattern-item> ---> + + <keyword-list _name="Keysymbols" style = "Keyword"> + <keyword>::</keyword> + <keyword>-></keyword> + <keyword><-</keyword> + <keyword>=></keyword> + <keyword>=</keyword> + <keyword>|</keyword>` + <keyword>\</keyword> + <keyword>@</keyword> + <keyword>~</keyword> + <keyword>..</keyword> + </keyword-list> +--> <string _name = "String" style = "String" end-at-line-end = "true"> <start-regex>"</start-regex> <end-regex>"</end-regex> </string> <string _name = "Character Constant" style = "String" end-at-line-end = "true"> - <start-regex>[^A-Za-z]'</start-regex> + <start-regex>[^A-Za-z0-9]'</start-regex> <end-regex>'</end-regex> </string> @@ -43,40 +57,58 @@ <regex>\b[0-9]\b</regex> </pattern-item> - <pattern-item _name = "Floating Point Number" style = "Floating Point"> - <regex>\b([0-9]+[Ee][-]?[0-9]+|([0-9]*\.[0-9]+|[0-9]+\.)([Ee][-]?[0-9]+)?)</regex> + <pattern-item _name = "Floating Point Number" style = "Floating point"> + <regex>\b([0-9]+.[0-9]+([eE][+-]?[0-9])?|[0-9][eE][+-]?[0-9])</regex> </pattern-item> + <pattern-item _name = "Octal Number" style = "Base-N Integer"> + <regex>\b[oO][0-7]+\b</regex> + </pattern-item> + <pattern-item _name = "Hex Number" style = "Base-N Integer"> <regex>\b0[xX][0-9a-fA-F]+\b</regex> </pattern-item> <keyword-list _name = "Keywords" style = "Keyword" case-sensitive="true"> - <keyword>type</keyword> - <keyword>data</keyword> - <keyword>let</keyword> - <keyword>in</keyword> - <keyword>case</keyword> - <keyword>of</keyword> - <keyword>module</keyword> - <keyword>class</keyword> - <keyword>where</keyword> - <keyword>instance</keyword> - <keyword>import</keyword> - <keyword>qualified</keyword> - <keyword>as</keyword> - <keyword>do</keyword> - <keyword>deriving</keyword> + <keyword>as</keyword> + <keyword>case</keyword> + <keyword>class</keyword> + <keyword>data</keyword> + <keyword>deriving</keyword> + <keyword>do</keyword> + <keyword>else</keyword> + <keyword>forall</keyword> <!-- GHC extension --> + <keyword>hiding</keyword> + <keyword>if</keyword> + <keyword>import</keyword> + <keyword>in</keyword> + <keyword>infix</keyword> + <keyword>infixl</keyword> + <keyword>infixr</keyword> + <keyword>instance</keyword> + <keyword>let</keyword> + <keyword>module</keyword> + <keyword>newtype</keyword> + <keyword>of</keyword> + <keyword>qualified</keyword> + <keyword>then</keyword> + <keyword>where</keyword> + <keyword>with</keyword> <!-- GHC extension --> + </keyword-list> + + <keyword-list _name = "Preprocessor Definitions" style = "Preprocessor" case-sensitive="true" + match-empty-string-at-beginning = "false" + match-empty-string-at-end = "true" + beginning-regex = "^[ \t]*#[ \t]*"> <keyword>if</keyword> - <keyword>then</keyword> + <keyword>ifdef</keyword> + <keyword>ifndef</keyword> <keyword>else</keyword> - <keyword>newtype</keyword> - <keyword>hiding</keyword> - <keyword>infix</keyword> - <keyword>infixl</keyword> - <keyword>infixr</keyword> - <keyword>with</keyword> - <keyword>forall</keyword> + <keyword>elif</keyword> + <keyword>define</keyword> + <keyword>endif</keyword> + <keyword>undef</keyword> + <keyword>error</keyword> </keyword-list> </language> |