home *** CD-ROM | disk | FTP | other *** search
/ Gold Fish 3 / goldfish_volume_3.bin / files / text / edit / macro / amigae / ged_reqguideref.rexx < prev    next >
OS/2 REXX Batch file  |  1994-10-09  |  3KB  |  100 lines

  1. /* $VER: 0.9, ©1994 BURGHARD Eric.                  */
  2. /*   Find reference of requested word under GOLDED  */
  3.  
  4. options results                             /* enable return codes     */
  5.                                             /* not started by GoldEd ? */
  6. if (left(address(), 6) ~= "GOLDED") then address 'GOLDED.1'
  7. 'LOCK CURRENT QUIET'                        /* lock GUI, gain access   */
  8. if rc then exit
  9. options failat 6                            /* ignore warnings         */
  10. signal on syntax                            /* ensure clean exit       */
  11.  
  12. if exists("ENV:OldFunc") then do
  13.   ok=open(readhandle,"ENV:OldFunc","read")
  14.   oldfunc=readln(readhandle)
  15.   ok=close(readhandle)
  16. end
  17. else oldfunc=""
  18. 'REQUEST TITLE="Autodocs Help" BODY="Type searched name" BUTTON="Search|Cancel" STRING OLD="'oldfunc'" VAR WORD'
  19. if rc~==0 then do
  20.   'UNLOCK'
  21.   exit
  22. end
  23.  
  24. address command 'SetEnv OldFunc 'result''
  25.  
  26. if word = '' then do
  27.     'UNLOCK'
  28.     exit
  29. end
  30.  
  31. if word='main' then address command 'Run >NIL: AmigaGuide Autodocs.guide'
  32. else do
  33.  
  34.   if ~show('L','amigaguide.library') then call addlib('amigaguide.library',0,-30)
  35.  
  36.   xrfline = GetXRef("OpenWindow()")
  37.   if xrfline = 10 then do
  38.      'REQUEST STATUS=" Loading Autodocs.xref... Please Wait"'
  39.      ok = LoadXRef(autodocs.xref)
  40.      'REQUEST STATUS=""'
  41.   end
  42.  
  43.   xref = 0
  44.   symbol = ""
  45.   node = ""
  46.   line = 0
  47.   function = word
  48.  
  49.   xrfline = GetXRef(function)
  50.   if xrfline = 10 then do
  51.     function = word||"()"
  52.     xrfline = GetXRef(function)
  53.     if xrfline = 10 then do
  54.        function = word
  55.     end
  56.     else do
  57.         parse var xrfline '"' symbol '" "' node '" ' type ' ' line
  58.         xref = 1
  59.     end
  60.   end
  61.   else do
  62.       parse var xrfline '"' symbol '" "' node '" ' type ' ' line
  63.       xref = 1
  64.   end
  65.  
  66.   if ~show('P','AUTODOCS') then do
  67.     if xref = 0 then do
  68.       if Exists('GUIDEDEVICE:AutoDocs/'function'') then cmd = 'Run >NIL: AmigaGuide 'function' PORTNAME AUTODOCS'
  69.       else do
  70.         'REQUEST STATUS="'||word||' is not referenced"'
  71.         'UNLOCK'
  72.         exit
  73.       end
  74.     end
  75.     else cmd = 'Run >NIL: AmigaGuide DOCUMENT 'function' PORTNAME AUTODOCS LINE 'line''
  76.     ADDRESS COMMAND cmd
  77.   end
  78.   else do
  79.     if xref = 0 then do
  80.       if exists('GUIDEDEVICE:AutoDocs/'function'') then cmd = 'Link 'function'/main 'line''
  81.       else do
  82.         'REQUEST STATUS="'||word||' is not referenced"'
  83.         'UNLOCK'
  84.         exit
  85.       end
  86.     end
  87.     else cmd = "Link 'function' 'line'"
  88.     ADDRESS AUTODOCS cmd
  89.     ADDRESS AUTODOCS 'windowtofront'
  90.   end
  91. end
  92. 'UNLOCK'
  93. exit
  94.  
  95. SYNTAX:
  96. say "Sorry, error line" SIGL ":" ERRORTEXT(RC) ":-("
  97. 'UNLOCK'
  98. exit
  99.  
  100.