home *** CD-ROM | disk | FTP | other *** search
/ The Devil's Doorknob BBS Capture (1996-2003) / devilsdoorknobbbscapture1996-2003.iso / Dloads / OTHERUTI / TCPP30-3.ZIP / DOC.ZIP / CMACROS.TEM < prev    next >
Text File  |  1992-02-18  |  5KB  |  179 lines

  1. /******************************************************************
  2. This file contains a TEML script that is helpful to C and C++
  3. programmers.  To use the macros in this file run TEMC to compile
  4. it and add it to the appropriate tcconfig.tc file.  The syntax for
  5. this is:
  6.  
  7. TEMC cmacros.tem tcconfig.tc
  8.  
  9. This will add the macros and key definitions in cmacros.tem to what
  10. already exists in tcconfig.tc.
  11.  
  12. For more information on TEMC, please refer to the file UTIL.DOC.
  13.  
  14. ******************************************************************/
  15.  
  16. /******************************************************************
  17.  
  18. Macro:   Sample macro to comment a function
  19.  
  20. Use:     Put the cursor immediately after a function name which is
  21.             at the left of the screen, then press Alt-T. Do not include
  22.             the return type or parameters before using this macro.
  23.  
  24. ******************************************************************/
  25.  
  26. macro MakeFuncText
  27.      InsertText("\n\n");            /* add white space */
  28.      CursorUp;
  29.      CursorUp;
  30.      LeftOfLine;                    /* go before beginning of intended
  31.                                        function name */
  32.      SetBlockBeg;                   /* mark function name */
  33.      WordRight;
  34.      SetBlockEnd;
  35.      LeftOfLine;
  36.      CursorDown;
  37.      CopyBlock;                     /* copy for prototyping */
  38.      CursorUp;
  39.      LeftOfLine;
  40.      InsertText("\nFunction: ");     /* add "Function" to comment area */
  41.      RightOfLine;
  42.      CursorUp;                      /* put in comment lines before and
  43.                                                   after */
  44.      LeftOfLine;
  45.      InsertText("/*******************************************************");
  46.      CursorDown;
  47.      RightOfLine;
  48.      InsertText("\n\n");
  49.      LeftOfLine;
  50.      InsertText("Description:\n");
  51.      LeftOfLine;
  52.      InsertText("*******************************************************/\n");
  53.      CursorDown;                     /* go back to end of name */
  54.      RightOfLine;
  55. end;                                /* MakeFuncText */
  56.  
  57. /*******************************************************************
  58.  
  59. MACRO: MakeStub
  60.  
  61. DESCRIPTION:  Creates a stub, based on a user-entered function name.
  62.    It assumes the cursor is positioned immediately after the name,
  63.    and the name is at the left of the screen.
  64.  
  65. *******************************************************************/
  66.  
  67. macro MakeStub
  68.     LeftOfLine;           /* go before beginning of intended
  69.                              function name */
  70.     InsertText("void ");  /* void return type */
  71.     RightOfLine;
  72.     InsertText("( void )\n{\n");  /* void parameter */
  73.     InsertText("printf(\"This is ");
  74.     CursorUp;
  75.     CursorUp;
  76.     LeftofLine;
  77.     WordRight;
  78.     SetBlockBeg;
  79.     WordRight;
  80.     CursorLeft;
  81.     CursorLeft;
  82.     SetBlockEnd;
  83.     CursorDown;
  84.     CursorDown;
  85.     RightofLine;
  86.     InsertText(" ");
  87.     CopyBlock;
  88.     SetBlockBeg;
  89.     SetBlockEnd;
  90.     RightofLine;
  91.     InsertText("\\n\");");
  92.     InsertText("\n}");
  93. end;
  94.  
  95. /*******************************************************************
  96.  
  97. MACRO: MakeComment
  98.  
  99. DESCRIPTION:  Inserts comment bars
  100.  
  101. *******************************************************************/
  102.  
  103. macro MakeComment
  104.    InsertText("/******************************");
  105.    InsertText("*************************************\n\n");
  106.    InsertText("*******************************");
  107.    InsertText("************************************/\n");
  108.    CursorUp;
  109.    CursorUp;
  110. end;
  111.  
  112. /*******************************************************************
  113.  
  114. MACRO: MakeMain
  115.  
  116. DESCRIPTION:  Inserts outline of main program
  117.  
  118. *******************************************************************/
  119.  
  120. macro MakeMain
  121.    InsertText("int main(void)\n{\n\n  return 0;\n");
  122.    LeftOfLine;
  123.    InsertText("}");
  124.    CursorUp;
  125.    CursorUp;
  126.    CursorRight;
  127. end;
  128.  
  129. /*******************************************************************
  130.  
  131. MACRO: MainCppIO
  132.  
  133. DESCRIPTION:  Inserts outline of main program for C++ which uses
  134.    iostream.h.
  135.  
  136. *******************************************************************/
  137.  
  138. macro MainCppIO
  139.    InsertText("#include <iostream.h>\n\n");
  140.    InsertText("int main(void)\n{\n\n  return 0;\n");
  141.    LeftOfLine;
  142.    InsertText("}");
  143.    CursorUp;
  144.    CursorUp;
  145.    CursorRight;
  146. end;
  147.  
  148. /*******************************************************************
  149.  
  150. MACRO: MainCIO
  151.  
  152. DESCRIPTION:  Inserts outline of main program for C which uses
  153.   stdio.h
  154.  
  155. *******************************************************************/
  156.  
  157. macro MainCIO
  158.    InsertText("#include <stdio.h>\n\n");
  159.    InsertText("int main(void)\n{\n\n  return 0;\n");
  160.    LeftOfLine;
  161.    InsertText("}");
  162.    CursorUp;
  163.    CursorUp;
  164.    CursorRight;
  165. end;
  166.  
  167. /*******************************************************************
  168.  
  169. KEYBOARD ASSIGNMENTS:
  170.  
  171. *******************************************************************/
  172.  
  173. Alt-K : MakeComment;
  174. Alt-M : MakeMain;
  175. Alt-N : MainCPPIO;
  176. Alt-I : MainCIO;
  177. Alt-Z : MakeStub;
  178. Alt-T : MakeFuncText;
  179.