home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / VSCPPv7.zip / VACPP / IBMCPP / macros / CODE / C.LXL next >
Text File  |  1995-05-08  |  4KB  |  128 lines

  1. /* C.LXL - IBM LPEX language-sensitive editor profile for C/C++. */
  2. TRACE OFF
  3.  
  4. /* C/C++ document */
  5. 'SET DOCTYPE C'
  6.  
  7. /* C/C++ classes - DO NOT MODIFY!! */
  8. 'SET CLASSES CODE SPACE ',
  9. 'FWDLINK BWDLINK SEMICOLON FUNCTION BRACE ERROR COMMENT CONTROL CXXCLASS'
  10.  
  11. /* create our own menu items */
  12. MENU.1  = "~Options.Automatic_~indenting..."
  13. MENU.2  = "~Options.~Language_editing."
  14. MENU.3  = "~Options.~Language_editing.~Token_highlighting"
  15. MENU.4  = "~Options.~Language_editing.Automatic_~indenting"
  16. MENU.12 = "~View." || 'SEPARATOR'
  17. MENU.13 = "~View.F~unctions\tCtrl+C"
  18. MENU.14 = "~View.~Outline_logic"
  19. MENU.15 = "~View.~Errors"
  20. MENU.16 = "~Help.C_~help"
  21. MENU.17 = "~Options.~Language_editing.~Lexical_errors"
  22. MENUITEMS = 17
  23.  
  24. MENUCMD.   = ''
  25. MENUCMD.1  = '2 EVFEC370 AIDLG'
  26. MENUCMD.2  = '5'
  27. MENUCMD.3  = 'EVFEC370 TOKOPT'
  28. MENUCMD.4  = 'EVFEC370 AIOPT'
  29. MENUCMD.12 = '2'
  30. MENUCMD.13 = '3 ;SET INCLUDE FUNCTION;SET EXCLUDE;SET VIEWNAME Functions'
  31. MENUCMD.14 = '4 ;SET INCLUDE FUNCTION BRACE CONTROL;SET EXCLUDE'
  32. MENUCMD.15 = '5 ;SET INCLUDE ERROR;SET EXCLUDE'
  33. MENUCMD.16 = '6 EVFEC370 LANGHELP'
  34. MENUCMD.17 = 'EVFEC370 LEOPT'
  35.  
  36. HELPID.   = 0
  37. HELPID.1  = 16093
  38. HELPID.2  = 16099
  39. HELPID.3  = 16100
  40. HELPID.4  = 16101
  41. HELPID.13 = 16057
  42. HELPID.14 = 16057
  43. HELPID.15 = 16057
  44. HELPID.16 = 16137
  45. HELPID.17 = 16108
  46.  
  47. GROUPS. = ''
  48. GROUPS.13 = 'FUNCTION'
  49. GROUPS.14 = 'FUNCTION BRACE CONTROL'
  50. GROUPS.15 = 'ERROR'
  51.  
  52. DO I = 1 TO MENUITEMS
  53.    IF MENUCMD.I <> '' THEN DO
  54.       'SET ACTIONBAR.' || MENU.I MENUCMD.I
  55.       IF HELPID.I > 0 THEN
  56.          'SET HELP.' HELPID.I
  57.       IF GROUPS.I <> '' THEN
  58.          'SET GROUP.' GROUPS.I
  59.    END
  60. END
  61.  
  62. MENUIDSTR = ' ACTIONBARID.' || MENU.3  'INTO ID3',    /* menu IDs for options */
  63.             ' ACTIONBARID.' || MENU.4  'INTO ID4',
  64.             ' ACTIONBARID.' || MENU.16 'INTO ID16',
  65.             ' ACTIONBARID.' || MENU.17 'INTO ID17'
  66. 'EXTRACT' MENUIDSTR
  67. MENUIDSTR = ID3 ID4 ID16 ID17
  68.  
  69. DROP MENU. MENUCMD. HELPID. MENUITEMS I GROUPS.         /* free excess memory */
  70. DROP ID3 ID4 ID16 ID17
  71.  
  72. 'SET ACTION.C-C ;SET INCLUDE FUNCTION;SET EXCLUDE;SET VIEWNAME Functions'
  73.  
  74. /* set up full & incremental parse */
  75. 'SET FULLPARSE EVFEC370 ALL'
  76. 'SET PARSER    EVFEC370 PARSE'
  77.  
  78. /* auto-indent */
  79. 'SET SYNONYM.NEWLINE EVFEC370 AIEXIST'
  80. 'SET SYNONYM.SPLITLINE MULT ;SPLITJOIN SPLIT;EVFEC370 AIEXIST'
  81. 'SET SYNONYM.OPENLINE MULT ;INSERT;EVFEC370 AINEW'
  82. 'SET ACTION.ENTER SPLITLINE'
  83. 'SET ACTION.C-ENTER OPENLINE'
  84.  
  85. /* bracket matching */
  86. 'SET ACTION.C-M MATCH'
  87.  
  88. /* template insertion (first character = new line) */
  89. 'SET GLOBAL.PROTO.C.if /if (?) {//   }/else {//   }'
  90. 'SET GLOBAL.PROTO.C.for _for (?; ?; ?) {__   }'
  91. 'SET GLOBAL.PROTO.C.while /while (?) {//   }'
  92. 'SET GLOBAL.PROTO.C.do /do {/   ?/   } while (?);'
  93. 'SET GLOBAL.PROTO.C.switch /switch (?) {/   case ?://      break;/   default://   }'
  94. 'SET GLOBAL.PROTO.C.case /case ?://   break;'
  95. 'SET GLOBAL.PROTO.C.main /main(int argc, char *argv[], char *envp)/{/   ? /}'
  96. 'SET ACTION.C-R PROTO PROTO.C.'
  97.  
  98. /* initial fonts settings */
  99. 'SET FONT.!  BLACK/WHITE                  "Default style"'
  100. 'SET FONT._  BLACK/WHITE                  "Layout blanks"'
  101. 'SET FONT.K  BRIGHT BLUE/WHITE            "Keyword"'
  102. 'SET FONT.X  BRIGHT BLUE/WHITE            "OS/2 keyword"'
  103. 'SET FONT.I  BLACK/WHITE                  "Identifier"'
  104. 'SET FONT.N  RED/WHITE                    "Constant"'
  105. 'SET FONT.Q  PINK/WHITE                   "String literal"'
  106. 'SET FONT.O  BLACK/WHITE                  "Operator"'
  107. 'SET FONT.P  BLACK/WHITE                  "Punctuator"'
  108. 'SET FONT.M  BLACK/WHITE                  "Continuation character"'
  109. 'SET FONT.C  CYAN/WHITE                   "Comment"'
  110. 'SET FONT.F  BLUE/WHITE                   "C library function"'
  111. 'SET FONT.B  BLACK/WHITE                  "Brace"'
  112. 'SET FONT.H  UNDERLINE BRIGHT BLUE/WHITE  "CPP directive"'
  113. 'SET FONT.E  REVERSE BRIGHT RED/WHITE     "Lexical error"'
  114. 'SET BASEFONT !'                          /* default style */
  115.  
  116. 'SET TABS 4 7 10 13 16 19 42 EVERY 3'
  117.  
  118. /* init LS component: INIT HELP <default help id> <help lib> <LSX> <menu ids> */
  119. 'EVFEC370 INIT HELP 37001 EVFECLSH.HLP C.LSX' MENUIDSTR
  120. /* OR init LS component: INIT NDX <C Help INF> <NDX API> <LSX> <menu ids> */
  121. /*    'EVFEC370 INIT NDX CPPLNG DDE4TRIB C.LSX' MENUIDSTR                 */
  122. 'SET ACTION.F1 EVFEC370 HELP'
  123.  
  124. /* do a full parse */
  125. 'TRIGGER FULLPARSE'
  126.  
  127. 'MACRO NAVIG.LX'
  128.