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

  1. /********************************************************
  2. * PLIVM.LXL - load macro for PL/I files                 *
  3. *                                                       *
  4. * This macro is invoked by LPEX when a file with an     *
  5. * extension of .PLI is edited                           *
  6. *                                                       *
  7. ********************************************************/
  8. /* call default 370 VM profile */
  9. 'LXR DFTVM.LXL'
  10.  
  11. /* this is a PLI file */
  12. 'SET DOCTYPE PLI'
  13.  
  14. /* Space is deliberately first. Thus it takes over the default class of DATA. */
  15. 'SET CLASSES SPACE COMMENT CODE ERROR FLOW COMMENTONLY PROC PERCENT INCLUDE EXTENSION EXEC'
  16.  
  17. /* Set up new items in the ActionBar. */
  18. 'SET ACTIONBAR.~Options.Automatic_~indenting... 2 EVFPPRS AIDLG'
  19. 'SET HELP. 16093'
  20. 'SET ACTIONBAR.~Options.~Language_editing. 5'
  21. 'SET HELP. 16099'
  22. 'SET ACTIONBAR.~Options.~Language_editing.~Token_highlighting  EVFPPRS TOKOPT'
  23. 'SET HELP. 16100'
  24. 'SET ACTIONBAR.~Options.~Language_editing.Automatic_~indenting EVFPPRS AIOPT'
  25. 'SET HELP. 16101'
  26. 'SET ACTIONBAR.~Options.~Language_editing.~Syntax_assist   EVFPPRS  SYNAOPT'
  27. 'SET HELP. 16088'
  28. 'SET ACTIONBAR.~Actions.SEPARATOR 1'
  29. 'SET ACTIONBAR.~Actions.C~ompile. 2'
  30. 'SET HELP. 16084'
  31. 'SET ACTIONBAR.~Actions.C~ompile.~Prompt... 0 SAVEALL PROMPT START EVFLCLES "%FILENAME%"'
  32. 'SET HELP. 16084'
  33. 'SET ACTIONBAR.~Actions.C~ompile.~No_prompt\tCtrl+C 1 SAVEALL PROMPT START EVFLCLES "%FILENAME%" /P N'
  34. 'SET HELP. 16084'
  35. 'SET GROUP. REMOTE'
  36. 'SET ACTIONBAR.~Actions.~Debug\tCtrl+D 3 START CODEDT'
  37. 'SET HELP. 16086'
  38.  
  39. /* Now extract the menu id's for these two items. Later in this macro */
  40. /* they are sent into the parser so that it can check and uncheck them. */
  41. 'EXTRACT ACTIONBARID.~Options.~Language_editing.~Token_highlighting  INTO ID_TOKEN_HIGHLIGHTING'
  42. 'EXTRACT ACTIONBARID.~Options.~Language_editing.Automatic_~indenting INTO ID_AUTOMATIC_INDENTING'
  43. 'EXTRACT ACTIONBARID.~Options.~Language_editing.~Syntax_assist       INTO ID_SYNTAX_ASSIST'
  44.  
  45. /* Set up the subsetting views on the View pull down. */
  46.  
  47. /* This is a bit contrived. Uncheck will uncheck all of the menu items whose id's are mentioned in the global variable constructed from set global.doc' || docnum || '.menu_ids' */
  48. /* Mnucheck will check the named item. The name MUST EXACTLY match the set actionbar value. OR IT WON'T WORK. */
  49. 'SET ACTIONBAR.~View.SEPARATOR 2'
  50. 'SET ACTIONBAR.~View.~All 3 ;UNCHECK DOC ;MNUCHECK ~View.~All ;SET INCLUDE ;SET EXCLUDE ;VIEWNAME  '
  51. 'SET HELP. 16059'
  52. 'SET ACTIONBAR.~View.~Errors 4 ;UNCHECK DOC ;MNUCHECK ~View.~Errors ;SET INCLUDE ERROR ;SET EXCLUDE ;VIEWNAME Errors'
  53. 'SET HELP. 16059'
  54. 'SET GROUP. ERROR'
  55. 'SET ACTIONBAR.~View.~Procedures 5 ;UNCHECK DOC ;MNUCHECK ~View.~Procedures ;INCLUDE PROC ;SET EXCLUDE ;VIEWNAME Procedures'
  56. 'SET HELP. 16059'
  57. 'SET GROUP. PROC'
  58. 'SET ACTIONBAR.~View.~Outline_Logic_(Flow) 6 ;UNCHECK DOC ;MNUCHECK ~View.~Outline_Logic_(Flow) ;INCLUDE FLOW ;SET EXCLUDE ;VIEWNAME Outline'
  59. 'SET HELP. 16059'
  60. 'SET GROUP. FLOW'
  61. 'SET ACTIONBAR.~View.~Compress_Spaces 7 ;UNCHECK DOC ;MNUCHECK ~View.~Compress_Spaces ;SET INCLUDE ;SET EXCLUDE SPACE ;VIEWNAME Compress'
  62. 'SET HELP. 16059'
  63. 'SET ACTIONBAR.~View.C~omments 8 ;UNCHECK DOC ;MNUCHECK ~View.C~omments ;SET INCLUDE COMMENTONLY COMMENT ;SET EXCLUDE ;VIEWNAME Comments'
  64. 'SET HELP. 16059'
  65. 'SET GROUP. COMMENTONLY COMMENT'
  66. 'SET ACTIONBAR.~View.~Block_Comments_only 9 ;UNCHECK DOC ;MNUCHECK ~View.~Block_Comments_only ;SET INCLUDE COMMENTONLY ;SET EXCLUDE ;VIEWNAME Block_Comments'
  67. 'SET HELP. 16059'
  68. 'SET GROUP. COMMENTONLY'
  69. 'SET ACTIONBAR.~View.Preprocessor_only 10 ;UNCHECK DOC ;MNUCHECK ~View.Preprocessor_only ;SET INCLUDE PERCENT ;SET EXCLUDE ;VIEWNAME Preprocessor'
  70. 'SET HELP. 16059'
  71. 'SET GROUP. PERCENT'
  72. 'SET ACTIONBAR.~View.~Includes 11 ;UNCHECK DOC ;MNUCHECK ~View.~Includes ;SET INCLUDE INCLUDE ;SET EXCLUDE ;VIEWNAME Includes'
  73. 'SET HELP. 16059'
  74. 'SET GROUP. INCLUDE'
  75. 'SET ACTIONBAR.~View.E~xtensions 12 ;UNCHECK DOC ;MNUCHECK ~View.E~xtensions ;SET INCLUDE EXTENSION ;SET EXCLUDE ;VIEWNAME Extensions'
  76. 'SET HELP. 16059'
  77. 'SET GROUP. EXTENSION'
  78. 'SET ACTIONBAR.~View.~SQL/CICS 13 ;UNCHECK DOC ;MNUCHECK ~View.~SQL/CICS ;SET INCLUDE EXEC ;SET EXCLUDE ;VIEWNAME EXEC'
  79. 'SET HELP. 16059'
  80. 'SET GROUP. EXEC'
  81.  
  82. /* Initially we see the Document view, check the View/All menu item. */
  83. 'MNUCHECK ~View.~All'
  84.  
  85. /* Now extract the menu-id's for all those things and save them in a global
  86. related to the docnum. */
  87. /* The UNCHECK macro will use them to uncheck all of the view menu items. */
  88. /* Again the names MUST EXACTLY match the set actionbar value. OR IT WON'T WORK.
  89. */
  90.  
  91. MENU_IDS = '' ;
  92. 'EXTRACT ACTIONBARID.~View.~All                    INTO ID'
  93. MENU_IDS = MENU_IDS || ' ' || ID ;
  94. 'EXTRACT ACTIONBARID.~View.~Errors                 INTO ID'
  95. MENU_IDS = MENU_IDS || ' ' || ID ;
  96. 'EXTRACT ACTIONBARID.~View.~Procedures             INTO ID'
  97. MENU_IDS = MENU_IDS || ' ' || ID ;
  98. 'EXTRACT ACTIONBARID.~View.~Outline_Logic_(Flow)   INTO ID'
  99. MENU_IDS = MENU_IDS || ' ' || ID ;
  100. 'EXTRACT ACTIONBARID.~View.~Compress_Spaces        INTO ID'
  101. MENU_IDS = MENU_IDS || ' ' || ID ;
  102. 'EXTRACT ACTIONBARID.~View.C~omments               INTO ID'
  103. MENU_IDS = MENU_IDS || ' ' || ID ;
  104. 'EXTRACT ACTIONBARID.~View.~Block_Comments_only    INTO ID'
  105. MENU_IDS = MENU_IDS || ' ' || ID ;
  106. 'EXTRACT ACTIONBARID.~View.Preprocessor_only       INTO ID'
  107. MENU_IDS = MENU_IDS || ' ' || ID ;
  108. 'EXTRACT ACTIONBARID.~View.~Includes               INTO ID'
  109. MENU_IDS = MENU_IDS || ' ' || ID ;
  110. 'EXTRACT ACTIONBARID.~View.E~xtensions             INTO ID'
  111. MENU_IDS = MENU_IDS || ' ' || ID ;
  112. 'EXTRACT ACTIONBARID.~View.~SQL/CICS               INTO ID'
  113. MENU_IDS = MENU_IDS || ' ' || ID ;
  114.  
  115. 'EXTRACT DOCNUM INTO DOCNUM'
  116. 'SET GLOBAL.DOC' || DOCNUM || '.MENU_IDS' MENU_IDS ;
  117. DROP MENU_IDS DOCNUM ;
  118.  
  119. /* set fonts for PL/I parser */
  120. /*'LOADFONTS LPEXFNTS'             * load the Italic, Bold and Smallcaps fonts */
  121.                                   /* a no-op if already loaded this session */
  122.                                   /*
  123. 'SET FACE.ITALIC LPEXFONTS ITALIC'       /* create the italic logical font */
  124. 'SET FACE.BOLD   LPEXFONTS BOLD'         /* and the bold one */
  125. 'SET FACE.SMALLCAPS LPEXFONTS SMALLCAPS' /* and the smallcaps one */
  126.                                   */
  127.  
  128. /* Set Symbolic Fonts */
  129. 'SET FONT.A BLACK/WHITE                  "Variable and Procedure names"'
  130. 'SET FONT.B BRIGHT PINK/WHITE            "Built in functions"'
  131. 'SET FONT.C CYAN/WHITE                   "Comments"'
  132. 'SET FONT.E WHITE/BRIGHT RED             "Errors"'
  133. 'SET FONT.F BRIGHT BLUE/WHITE            "Flow of control keywords"'
  134. 'SET FONT.G GREY/WHITE                   "Words not available at this language level"'
  135. 'SET FONT.I UNDERLINE BRIGHT BLUE/WHITE  "Include keyword"'
  136. 'SET FONT.K BRIGHT BLUE/WHITE            "Key words"'
  137. 'SET FONT.L GREEN/WHITE                  "Literals"'
  138. 'SET FONT.N RED/WHITE                    "Numbers"'
  139. 'SET FONT.P BRIGHT BLUE/WHITE            "Proc and Entry keywords"'
  140. 'SET FONT.S BLUE/WHITE                   "Language symbols"'
  141. 'SET FONT._ BLACK/WHITE                  "Layout spaces"'
  142. 'SET FONT.?  BRIGHT GREEN/GREEN          "Outside margins"'
  143. 'SET FONT.Q UNDERLINE BRIGHT BLUE/WHITE  "Preprocessor keywords"'
  144. 'SET FONT.R UNDERLINE        BLUE/WHITE  "Preprocessor semicolons and '?'"'
  145. 'SET FONT.T BRIGHT BLUE/WHITE            "exec, cics and sql keywords"'
  146. 'SET FONT.U black/white                  "Proc, and Entry labels"'
  147. 'SET FONT.X CYAN/WHITE                   "SQL reserved words"'
  148. 'SET FONT.! black/white                  "Default for unscanned text"'
  149.  
  150.  /* Assume mainframe margins of 2 and 72. */
  151.  
  152. 'SET GLOBAL.OPTIONS.PLI MAXTOKENS(600),MARGINS(2,72,1),OR(''|''),NOT(''~^''),NAMES(''L#@$''),LANGLVL(SAA2),INCLUDE ( EXT ( ''  '' INC , PLI COP ) )'
  153. /*t = time('R') ; */
  154. 'EVFPPRS ALL'                               /* do an initial parse */
  155. /*t = time('E') ;*/
  156. /*say 'Initial parse took' t 'seconds'*/
  157. 'SET PARSER EVFPPRS CURRENT'                /* set up the parser for future changes */
  158.  
  159. /* Send the tokeniser the menu id's it needs for checking and unchecking items. */
  160. 'EVFPPRS INIT' ID_TOKEN_HIGHLIGHTING  ID_AUTOMATIC_INDENTING ID_SYNTAX_ASSIST
  161.  
  162. /* Conserve memory - these are no longer needed. */
  163. DROP ID_TOKEN_HIGHLIGHTING  ID_AUTOMATIC_INDENTING ID_SYNTAX_ASSIST
  164.  
  165.  
  166.                      /* set up rest of syntax assist */
  167.  
  168. 'GLOBAL.PIF /If ? /Then/   Do ;//   End ;/Else/   Do ;//   End ;'
  169. 'GLOBAL.PDO /Do ? ;/   /End;'
  170. 'GLOBAL.PSELECT /Select ( ? ) ;//When ( ? )/   Do ;/   /   End ;//Otherwise/   Do ;/   /   End ;//End ;'
  171.  
  172. /* Assistance for some specific routines. */
  173. 'GLOBAL.PXN11 \XN11SDTE = Start_Date ;\XN11EDTE = End_Date ;\XN11SPAN = The_period ;\XN11UNIT = ''Y'' ;\CALL XN11 ( XN11PARAM ) ;\IF XN11UNIT = '' ''\THEN CALL XN202 ( ''FAILURE IN DATE ARITHMETIC'' ) ;\'
  174. 'GLOBAL.PXN151 \CALL XN151 ( ''Valid_Status'' , GU   , PcbPtr , ADDR( Ioarea )\           , ADDR ( Ssa1 )\           , ADDR ( Ssa2 )\           ) ;\'
  175.                   /*  End of code extracted from assistpl.lx  */
  176.  
  177. 'SET ACTION.C-M EVFPMAT' ;
  178.  
  179. 'SET ACTION.C-X PROTO P' ;
  180. 'SET ACTION.C-S-N NEXT CLASS PROC' ;
  181. 'SET ACTION.C-S-P PREV CLASS PROC' ;
  182.  
  183. 'SET ACTION.C-UP SCROLL UP 5' ;
  184. 'SET ACTION.C-DOWN SCROLL DOWN 5' ;
  185.  
  186. 'SET TABS 2 EVERY 3' ;
  187.  
  188. 'SET ACTION.C-A-LEFT  BLOCK SHIFT LEFT  3'
  189. 'SET ACTION.C-A-RIGHT BLOCK SHIFT RIGHT 3'
  190.  
  191. /* Set up context sensitive help. */
  192. 'SET ACTION.F1 LXR EVFPPRS HELP'
  193.  
  194. /* Set up automatic indentation. */
  195. 'SET SYNONYM.OPENLINE MULT ;INSERT ;EVFPPRS AINEW'
  196.  
  197. /* Set up one key include opening */
  198. 'SET ACTION.A-O  EVFPPRS OPENINC'
  199.  
  200. /* Compile accelerator key */
  201. 'SET ACTION.C-C SAVEALL PROMPT START EVFLCLES "%FILENAME%" /P N'
  202. /* Debug accelerator key */
  203. 'SET ACTION.C-D START CODEDT'
  204.  
  205. 'LXR NAVIG.LX'
  206.