home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / fte0827.zip / config / m_4gl.fte < prev    next >
Text File  |  1999-05-16  |  6KB  |  262 lines

  1. # GL mode
  2.  
  3. colorize GL {
  4. #    SyntaxParser = 'C';
  5.     SyntaxParser = 'SIMPLE';
  6.  
  7.     color {
  8.         { 'Normal',        'Editor_Default' },
  9.         { 'Number',        'Lang_DecimalNumber' },
  10.         { 'HexNumber',     'Lang_HexNumber' },
  11.         { 'Punctuation',   'Lang_Punctuation' },
  12.         { 'String',        'Lang_String' },
  13.         { 'Comment',       'Lang_Comment' },
  14.         { 'Function',      'Lang_Function' },
  15.         { 'Keyword',       'Editor_Keywords' },
  16. #       { 'CPreprocessor', 'Lang_Preprocessor' },
  17. #       { 'Label',         'Lang_Label' },
  18.     };
  19.  
  20.     keyword 'Editor_Keywords' { # any missing ?
  21.         'ABSOLUTE',
  22.         'AFTER',
  23.         'ALTER',
  24.         'AND',
  25.         'ARRAY',
  26.         'AT',
  27.         'ATTRIBUTE',
  28.         'AUTONEXT',
  29.         'BEFORE',
  30.         'BEGIN',
  31.         'BOTTOM',
  32.         'BY',
  33.         'CASE',
  34.         'CHAR',
  35.         'CHARACTER',
  36.         'CLEAR',
  37.         'CLIPPED',
  38.         'CLOSE',
  39.         'COLUMNS',
  40.         'COMMIT',
  41.         'CONSTRUCT',
  42.         'CONTINUE',
  43.         'CREATE',
  44.         'CURRENT', 
  45.         'CURSOR',
  46.         'DATABASE',
  47.         'DATE',
  48.         'DATETIME',
  49.         'DEC',
  50.         'DECIMAL',
  51.         'DECLARE',
  52.         'DEFAULTS',
  53.         'DEFER',
  54.         'DEFINE',
  55.         'DELETE',
  56.         'DISPLAY',
  57.         'DOUBLE PRECISION',
  58.         'DROP',
  59.         'ELSE',
  60.         'END',
  61.         'ERROR',
  62.         'EVERY',
  63.         'EXECUTE',
  64.         'EXIT',
  65.         'FETCH',
  66.         'FIELD',
  67.         'FINISH',
  68.         'FIRST',
  69.         'FLOAT',
  70.         'FLUSH',
  71.         'FOR',
  72.         'FOREACH',
  73.         'FORM',
  74.         'FORMAT',
  75.         'FREE',
  76.         'FROM',
  77.         'GLOBALS',
  78.         'GOTO',
  79.         'GRANT',
  80.         'IF',
  81.         'INITIALIZE',
  82.         'INPUT',
  83.         'INSERT',
  84.         'INT',
  85.         'INTEGER',
  86.         'INTERVAL',
  87.         'INTO',
  88.         'IS',
  89.         'KEY',
  90.         'LABEL',
  91.         'LAST',
  92.         'LEFT',
  93.         'LENGTH',
  94.         'LET',
  95.         'LIKE',
  96.         'LINE',
  97.         'LOAD',
  98.         'LOCATE',
  99.         'LOCK',
  100.         'MAIN',
  101.         'MARGIN',
  102.         'MENU',
  103.         'MESSAGE',
  104.         'MONEY',
  105.         'NEXT',
  106.         'NOT',
  107.         'NUMERIC',
  108.         'ON',
  109.         'OPEN',
  110.         'OPTIONS',
  111.         'OR',
  112.         'OTHERWISE',
  113.         'OUTPUT',
  114.         'PAGE',
  115.         'PREPARE',
  116.         'PREVIOUS',
  117.         'PRINT',
  118.         'PRINTER',
  119.         'PROGRAM',
  120.         'PROMPT',
  121.         'PUT',
  122.         'REAL',
  123.         'RECORD',
  124.         'RECOVER',
  125.         'RENAME',
  126.         'REPORT',
  127.         'RETURN',
  128.         'RETURNING',
  129.         'REVOKE',
  130.         'RIGHT',
  131.         'ROLLBACK',
  132.         'ROLLFORWARD',
  133.         'ROW',
  134.         'ROWS',
  135.         'RUN',
  136.         'SCROLL',
  137.         'SELECT',
  138.         'SERIAL',
  139.         'SET',
  140.         'SLEEP',
  141.         'SMALLFLOAT',
  142.         'SMALLINT',
  143.         'START',
  144.         'THEN',
  145.         'TO',
  146.         'TOP',
  147.         'UNION',
  148.         'UNLOAD',
  149.         'UNLOCK',
  150.         'UPDATE',
  151.         'UPSHIFT',
  152.         'VALIDATE',
  153.         'WHEN',
  154.         'WHENEVER',
  155.         'WHERE',
  156.         'WHILE',
  157.         'WINDOW',
  158.         'WITH',
  159.         'WITHOUT',
  160.         'WRAP',
  161.         #'FUNCTION', 'CALL',
  162.     };
  163.  
  164.     keyword 'Editor_Keywords2' {
  165.         'BORDER',
  166.         'DATE',
  167.         'FALSE',
  168.         'INT_FLAG',
  169.         'NOTFOUND',
  170.         'NULL',
  171.         'QUIT_FLAG',
  172.         'REVERSE',
  173.         'STATUS',
  174.         'TIME',
  175.         'TODAY',
  176.         'TRUE',
  177.     };
  178.  
  179.     keyword 'Editor_Keywords3' {
  180.         'FGL_GETENV',
  181.         'FGL_KEYVAL',
  182.         'FGL_LASTKEY',
  183.         'FIELD_TOUCHED',
  184.         'GET_FLDBUF',
  185.     };
  186.  
  187.     h_state 0 { 'Normal' }
  188.     h_trans {1, '<', '#', 'Comment' }
  189.     h_trans {2, '<', '{', 'Comment' }
  190.     h_trans {3, '<', '"', 'String' }
  191.     h_trans {4, '<', '\'', 'String' }
  192.     h_trans {5, '<', '0x', 'HexNumber' }
  193.     h_trans {6, '<s', '0-9', 'Number'}
  194.     h_trans {0, 'S', '_a-zA-Z0-9', 'Punctuation' }
  195.     h_trans {7, '<', 'CALL', 'Keyword' }
  196.     h_trans {7, '<', 'FUNCTION', 'Keyword' }
  197.     h_trans {8, '-s', 'a-zA-Z_', 'Normal' }
  198.  
  199.     h_state 1 { 'Comment'}
  200.     h_trans {0, '$', '', 'Comment' }
  201.  
  202.     h_state 2 { 'Comment' }
  203.     h_trans { 0, '>', '}', 'Comment' }
  204.  
  205.     h_state 3 { 'String' }
  206.     h_trans {0, '>', '"', 'String'}
  207.  
  208.     h_state 4 { 'String' }
  209.     h_trans {0, '>', '\'', 'String'}
  210.  
  211.     h_state 5 { 'HexNumber' }
  212.     h_trans { 0, '-S', '0-9A-Fa-f', 'Normal' }
  213.     h_trans { 0, '$', '', 'Normal' }
  214.  
  215.     h_state 6 { 'Number' }
  216.     h_trans { 0, 'S', '0-9', 'Normal' }
  217.     h_trans { 0, '$', '', 'Normal' }
  218.  
  219.     h_state 7 { 'Function' }
  220.     h_trans { 0, '->', '(', 'Normal' }
  221.     h_trans { 0, '$', '', 'Normal' }
  222.  
  223.     h_state 8 { 'Normal' }
  224.     h_trans { 0, '$', '', 'Normal' }
  225.     h_wtype { 0, 0, 0, 'S', 'a-zA-Z0-9_' }
  226.  
  227. }
  228.  
  229. mode GL: PLAIN {      # 4GL Mode
  230.     FileNameRx          = /\.\c{4GL}|{4BL}$/;
  231.     HilitOn             = 1;
  232.     Colorizer           = 'GL';
  233.     AutoIndent          = 1;
  234.     IndentMode          = 'PLAIN';
  235.     TabSize             = 8; # think twice before changing this, historically
  236.                              # it's been known to cause a mess in sources ;-)
  237.     SpaceTabs           = 0;
  238. #    MatchCase          = 1;
  239.     Trim                = 1;
  240.     MultiLineHilit      = 1;
  241.     AutoHilitParen      = 1;
  242.  
  243. #    RoutineRegexp       = /FUNCTION/;
  244. #    RoutineRegexp       = /^\w[\w_:*&~]+[\w\s_:*&~]@\([^;]*$/;
  245. #    RoutineRegexp       = /[\w\s_:*&~]@\(*/;
  246. #       RoutineRx      ^\w[\w_:*&]+[\w\s_:*&]@\(
  247. #       RoutineRx      ^{[a-zA-Z0-9_:*&]#\s*}+\(
  248.  
  249.     SaveFolds           = 2;      # save fold info at end of line
  250.     CommentStart        = ' {';
  251.     CommentEnd          = '}';
  252.  
  253.     CursorThroughTabs = 0;
  254.     DeleteKillTab = 1;
  255.     DeleteKillBlock = 1;
  256.     BackSpKillTab = 1;
  257.     Abbreviations = 1;
  258. #    IndentWithTabs = 1;
  259. #    BackSpUnindents = 0;
  260. #    SpaceTabs = 0;
  261. }
  262.