home *** CD-ROM | disk | FTP | other *** search
/ PC User 2001 August / APC_Aug2001_CD2.iso / features / web_dev / files / mwjpp516.exe / %MAINDIR% / Tools / Misc / gotoDelimiter.script < prev    next >
Encoding:
Text File  |  2001-06-19  |  1.2 KB  |  49 lines

  1. !!Script
  2. // Copyright ⌐ 1997-2000 - Modelworks Software
  3.  
  4. /**
  5. @Tool: gotoDelimiter~moves the caret to the matching 
  6. delimiter. If the delimiter is an open delimiter then it 
  7. will find the matching close delimiter and if the delimiter 
  8. is an close delimiter then it will find the matching open delimiter
  9. @EndTool: 
  10. @Summary: gotoDelimiter~moves the caret to the matching delimiter
  11. */
  12.  
  13. function DoCommand()
  14. {
  15.     var editor = getActiveEditor();
  16.     if (editor)
  17.     {
  18.         var range = editor.getSelection();
  19.         if (range.startLineIndex == range.endLineIndex &&
  20.             range.startCharIndex == range.endCharIndex)
  21.         {
  22.             range.endCharIndex += 1;
  23.             var delimiter = editor.copy(range);
  24.             var delimiterRange = editor.findMatchingDelimiter(range);
  25.             if (delimiterRange)
  26.             {
  27.                 if (delimiterRange.compare(range) < 0)
  28.                 {
  29.                     delimiterRange.endCharIndex = delimiterRange.startCharIndex;
  30.                 }
  31.                 else
  32.                 {
  33.                     if (delimiterRange.startCharIndex > 0)
  34.                     {
  35.                         delimiterRange.startCharIndex -= 1;
  36.                     }
  37.                     
  38.                     delimiterRange.endCharIndex = delimiterRange.startCharIndex;
  39.                 }
  40.                 editor.select(delimiterRange);
  41.                 editor.setActive();
  42.             }
  43.         }
  44.     }
  45. }
  46.  
  47. !!/Script
  48.  
  49.