home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD1.iso / Editor / GED403R.LZX / Install / Install.run / GOLDEDDATA / arexx / func.ged < prev    next >
Encoding:
Text File  |  1996-07-26  |  3.5 KB  |  148 lines

  1. /* $VER: 1.0, ©1996 Dietmar Eilert. Insert empty function body         */
  2.  
  3. OPTIONS RESULTS                             /* enable return codes     */
  4.  
  5. arg doComment doFold                        /* set to TRUE/FALSE       */
  6.  
  7. OPTIONS RESULTS                             /* enable return codes     */
  8.  
  9. if (LEFT(ADDRESS(), 6) ~= "GOLDED") then    /* not started by GoldEd ? */
  10.     address 'GOLDED.1'
  11.  
  12. 'LOCK CURRENT RELEASE=4'                    /* lock GUI, gain access   */
  13. if (RC ~= 0) then
  14.     exit
  15.  
  16. OPTIONS FAILAT 6                            /* ignore warnings         */
  17. SIGNAL ON SYNTAX                            /* ensure clean exit       */
  18.  
  19. /* ------------------------- INSERT YOUR CODE HERE: ------------------ */
  20.  
  21. 'QUERY CAT'
  22.  
  23. if (RESULT = "deutsch") then do
  24.  
  25.     ASKNAME = "Funktionsname (z.B. main) ?"
  26.     ASKTYPE = "Funktionstyp"
  27.     FTYPES  = "!VOID|_int|_char **|_UWORD|_Anderer"
  28.  
  29.     COMMENT = " Kommentar:"
  30. end
  31. else if (RESULT = "français") then do
  32.     ASKNAME = "Nom de la fonction (ex: main) ?"
  33.     ASKTYPE = "Type de fonction"
  34.     FTYPES  = "!VOID|_int|_char **|_UWORD|_Autre"
  35.     COMMENT = " Commentaire:"
  36. end
  37. else do
  38.  
  39.     ASKNAME = "function name (e.g. main) ?" 
  40.     ASKTYPE = "function type"
  41.     FTYPES  = "!VOID|_int|_char **|_UWORD|_Other"
  42.     COMMENT = " Comment:"
  43. end
  44.  
  45. 'REQUEST TITLE "' || ASKNAME || '" STRING VAR NAME'
  46.  
  47. if (RC = 0) then do
  48.  
  49.     'REQUEST BODY="' || ASKTYPE || " " || NAME || '() ?" BUTTON="' || FTYPES || '"'
  50.  
  51.     if (RC = 0) then do
  52.  
  53.         TYPE = "void"
  54.  
  55.         if (RESULT = 0) then
  56.  
  57.             'REQUEST TITLE "' || ASKTYPE || ' ?" STRING VAR TYPE'
  58.  
  59.         else if (RESULT = 4) then
  60.  
  61.             TYPE = "UWORD"
  62.  
  63.         else if (RESULT = 3) then
  64.  
  65.             TYPE = "char *"
  66.  
  67.         else if (RESULT = 2) then
  68.  
  69.             TYPE = "int"
  70.  
  71.         /* replace single '*' by '**' (required by parser) */
  72.  
  73.         'FIX VAR=TYPE'
  74.  
  75.         if (RC = 0) then do
  76.  
  77.             'QUERY FOLDA VAR FOLDSTART'
  78.             'QUERY FOLDB VAR FOLDEND'
  79.  
  80.             'INSERT LINE'
  81.  
  82.             if (doComment = 'TRUE') then do
  83.  
  84.                HEAD  = '/** ' || CENTER(' ' || NAME || ' ', 77, '-')
  85.  
  86.                 if (doFold = 'TRUE') then do
  87.  
  88.                     'FIRST'
  89.                     'TEXT T="' || FOLDSTART || ' "'
  90.                      'TEXT T="*"' || NAME || '*""'
  91.                     'CR'
  92.                     'CR'
  93.                 end
  94.  
  95.                 'FIRST'
  96.                 'TEXT CR T="' || LEFT(HEAD, 81) || '"'
  97.                 'CR'
  98.                 'FIRST'
  99.                 'TEXT CR T="' || COMMENT || '"'
  100.                 'CR'
  101.                 'FIRST'
  102.                 'TEXT CR T="**/"'
  103.                 'CR'
  104.             end
  105.             else if (doFold = 'TRUE') then do
  106.  
  107.                 'FIRST'
  108.                 'TEXT T="' || FOLDSTART || ' "'
  109.                  'TEXT T="*"' || NAME || '*""'
  110.                 'CR'
  111.                 'CR'
  112.             end
  113.  
  114.             'FIRST'
  115.             'TEXT CR T="' || TYPE || '"'
  116.             'TEXT CR T="' || NAME || '()"'
  117.             'TEXT CR T={'
  118.             'FIRST'                                  
  119.             'TAB'
  120.             'PING SLOT 0'
  121.             'FIRST'
  122.             'DOWN'
  123.             'TEXT CR T=}'
  124.  
  125.             if (doFold = 'TRUE') then do
  126.  
  127.                 'CR'
  128.                 'FIRST'
  129.                 ' TEXT CR T="' || FOLDEND || '"'
  130.             end
  131.  
  132.             'PONG SLOT 0'
  133.         end
  134.     end
  135.  
  136. end
  137.  
  138. /* ---------------------------- END OF YOUR CODE ----------------------- */
  139.  
  140. 'UNLOCK' /* VERY important: unlock GUI */
  141. EXIT
  142.  
  143. SYNTAX:
  144.  
  145. SAY "Sorry, error line" SIGL ":" ERRORTEXT(RC) ":-("
  146. 'UNLOCK'
  147. EXIT
  148.