home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 November / CPNL0711.ISO / communic / email / Evolution-2.8.2-2.msi / Data1.cab / haskell.lang < prev    next >
Extensible Markup Language  |  2007-03-07  |  4KB  |  114 lines

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE language SYSTEM "language.dtd">
  3. <language _name="Haskell" version="1.0" _section="Sources" mimetypes="text/x-haskell">
  4.  
  5.     <escape-char>\</escape-char>
  6.  
  7.     <line-comment _name = "Line Comment" style= "Comment">
  8.         <start-regex>--</start-regex>
  9.     </line-comment>
  10.  
  11.     <block-comment _name = "Block Comment" style = "Comment">
  12.         <start-regex>\{-</start-regex>
  13.             <end-regex>-\}</end-regex>
  14.     </block-comment>
  15.  
  16.     <syntax-item _name = "Include/Pragma" style = "Preprocessor">
  17.         <start-regex>\{-#</start-regex>
  18.             <end-regex>#-\}</end-regex>
  19.     </syntax-item>
  20.  
  21.     <pattern-item _name = "Type or Constructor" style = "Data Type">
  22.         <regex>\b[A-Z][0-9a-zA-Z._]*('|#)*</regex>
  23.     </pattern-item>
  24.  
  25.     <pattern-item _name = "Keysymbol" style = "Keyword">
  26.         <regex>::|->|<-|=>|=|\||\\|@|~</regex>
  27.     </pattern-item>
  28. <!--
  29.     <pattern-item _name = "Operator" style = "Operators">
  30.                 <regex>[:!#$%&*+./>=<?@\\^|~\-]+</regex>
  31.     </pattern-item>
  32.  
  33.     <keyword-list _name="Keysymbol" style = "Keyword">
  34.         <keyword>::</keyword>
  35.         <keyword>-></keyword>
  36.         <keyword><-</keyword>
  37.         <keyword>=></keyword>
  38.         <keyword>=</keyword>
  39.         <keyword>|</keyword>`
  40.         <keyword>\</keyword>
  41.         <keyword>@</keyword>
  42.         <keyword>~</keyword>
  43.     </keyword-list>
  44. -->
  45.     <string _name = "String" style = "String" end-at-line-end = "true">
  46.         <start-regex>"</start-regex>
  47.         <end-regex>"</end-regex>
  48.     </string>
  49.  
  50.     <string _name = "Character Constant" style = "String" end-at-line-end = "true">
  51.         <start-regex>[^A-Za-z0-9]'</start-regex>
  52.         <end-regex>'</end-regex>
  53.     </string>
  54.  
  55.     <pattern-item _name = "Decimal" style = "Decimal">
  56.         <regex>\b[0-9]\b</regex>
  57.     </pattern-item>
  58.  
  59.     <pattern-item _name = "Floating Point Number" style = "Floating point">
  60.         <regex>\b([0-9]+.[0-9]+([eE][+-]?[0-9])?|[0-9][eE][+-]?[0-9])</regex>
  61.     </pattern-item>
  62.  
  63.     <pattern-item _name = "Octal Number" style = "Base-N Integer">
  64.                 <regex>\b[oO][0-7]+\b</regex>
  65.         </pattern-item>
  66.  
  67.     <pattern-item _name = "Hex Number" style = "Base-N Integer">
  68.         <regex>\b0[xX][0-9a-fA-F]+\b</regex>
  69.     </pattern-item>
  70.  
  71.     <keyword-list _name = "Keyword" style = "Keyword" case-sensitive="true">
  72.                 <keyword>as</keyword>
  73.                 <keyword>case</keyword>
  74.             <keyword>class</keyword>
  75.                 <keyword>data</keyword>
  76.                 <keyword>deriving</keyword>
  77.                 <keyword>do</keyword>
  78.                 <keyword>else</keyword>
  79.                 <keyword>forall</keyword> <!-- GHC extension -->
  80.                 <keyword>hiding</keyword>
  81.                 <keyword>if</keyword>
  82.                 <keyword>import</keyword>
  83.                 <keyword>in</keyword>
  84.                 <keyword>infix</keyword>
  85.                 <keyword>infixl</keyword>
  86.                 <keyword>infixr</keyword>
  87.                 <keyword>instance</keyword>
  88.                 <keyword>let</keyword>
  89.                 <keyword>module</keyword>
  90.                 <keyword>newtype</keyword>
  91.                 <keyword>of</keyword>
  92.                 <keyword>qualified</keyword>
  93.                 <keyword>then</keyword>
  94.                 <keyword>where</keyword>
  95.                 <keyword>with</keyword> <!-- GHC extension -->
  96.     </keyword-list>
  97.  
  98.     <keyword-list _name = "Preprocessor Definition" style = "Preprocessor" case-sensitive="true"
  99.         match-empty-string-at-beginning = "false"
  100.         match-empty-string-at-end = "true"
  101.         beginning-regex = "^[ \t]*#[ \t]*">
  102.         <keyword>if</keyword>
  103.         <keyword>ifdef</keyword>
  104.         <keyword>ifndef</keyword>
  105.         <keyword>else</keyword>
  106.         <keyword>elif</keyword>
  107.         <keyword>define</keyword>
  108.         <keyword>endif</keyword>
  109.         <keyword>undef</keyword>
  110.         <keyword>error</keyword>
  111.     </keyword-list>
  112.  
  113. </language>
  114.