Package org.eclipse.jface.text

Examples of org.eclipse.jface.text.FindReplaceDocumentAdapter


  }
 
  protected void parse(IDocument document) {

    try {
      FindReplaceDocumentAdapter frAdapter = new FindReplaceDocumentAdapter(document);
      // do the attributes
      IRegion region = frAdapter.find(0, ATTRIBUTE_REGEX, true, false, false, true);
      String attributeLabel = null;
      while (region != null){
        int offset = region.getOffset();
        int length = region.getLength();
        Position p = new Position(offset, length);
        document.addPosition(SEGMENTS, p);
        attributeLabel = document.get(region.getOffset(), region.getLength());
        Matcher sig = attributePattern.matcher(attributeLabel);
        if (sig.find()){
          attributeLabel = sig.group(2);
          fContent.add(new Segment(attributeLabel, p, makeIconString("attribute", sig.group(1))));
        }
        region = frAdapter.find(offset+length, ATTRIBUTE_REGEX, true, false, false, true);
      }
      // do the virtual attributes
      region = frAdapter.find(0, VIRTUAL_ATTRIBUTE_REGEX, true, false, false, true);
      attributeLabel = null;
      while (region != null){
        int offset = region.getOffset();
        int length = region.getLength();
        Position p = new Position(offset, length);
        document.addPosition(SEGMENTS, p);
        attributeLabel = document.get(region.getOffset(), region.getLength());
        Matcher sig = virtualAttributePattern.matcher(attributeLabel);
        if (sig.find()){
          attributeLabel = sig.group(2);
          fContent.add(new Segment(attributeLabel, p, makeIconString("virtual", sig.group(1))));
        }
        region = frAdapter.find(offset+length, VIRTUAL_ATTRIBUTE_REGEX, true, false, false, true);
      }
      // do the window attributes
      region = frAdapter.find(0, WINDOW_REGEX, true, false, false, true);
      attributeLabel = null;
      while (region != null){
        int offset = region.getOffset();
        int length = region.getLength();
        Position p = new Position(offset, length);
        document.addPosition(SEGMENTS, p);
        attributeLabel = document.get(region.getOffset(), region.getLength());
        Matcher sig = windowAttributePattern.matcher(attributeLabel);
        if (sig.find()){
          attributeLabel = sig.group(1);
          fContent.add(new Segment(attributeLabel, p, "icons/window_attribute.gif"));
        }
        region = frAdapter.find(offset+length, WINDOW_REGEX, true, false, false, true);
      }
      // do the class constants
      region = frAdapter.find(0, CONSTANT_REGEX, true, false, false, true);
      attributeLabel = null;
      while (region != null){
        int offset = region.getOffset();
        int length = region.getLength();
        Position p = new Position(offset, length);
        document.addPosition(SEGMENTS, p);
        attributeLabel = document.get(region.getOffset(), region.getLength());
        Matcher sig = constantPattern.matcher(attributeLabel);
        if (sig.find()){
          attributeLabel = sig.group(2);
          fContent.add(new Segment(attributeLabel, p, makeIconString("constant", sig.group(1))));
        }
        region = frAdapter.find(offset+length, CONSTANT_REGEX, true, false, false, true);
      }
      // do the method implementations
      region = frAdapter.find(0, CEX_SIGNATURE_REGEX, true, false, false, true);
      String methodSignature = null;
      while (region != null){
        int offset = region.getOffset();
        int length = region.getLength();
        Position p = new Position(offset, length);
        document.addPosition(SEGMENTS, p);
        methodSignature = document.get(region.getOffset(), region.getLength());
        Matcher sig = cexSignaturePattern.matcher(methodSignature);
        if (sig.find()){
          methodSignature = sig.group(1);
          fContent.add(new Segment(makeLabel(methodSignature), p, "icons/private_method.gif"));
        }
        region = frAdapter.find(offset+length, CEX_SIGNATURE_REGEX, true, false, false, true);
      }
//      // do the event handlers
//      region = frAdapter.find(0, ToolEventHandler.CEX_SIGNATURE_REGEX, true, false, false, true);
//      String ehSignature = null;
//      while (region != null){
View Full Code Here


    targetSignature = targetSignature.replaceAll("\\)", "\\\\)");
    targetSignature = ((ToolComponent)getParent()).getToolName() + "." + targetSignature;
    String startRegionRegex = "method\\s+" + targetSignature + "\\s*begin";
    String endRegionRegex = "(?s)(.+?)(?-s)end method;";
    try {
      FindReplaceDocumentAdapter frAdapter = new FindReplaceDocumentAdapter(document);
      IRegion startRegion = frAdapter.find(0, startRegionRegex, true, false, false, true);
     
      if (startRegion == null)
        return null; // no method implementation
     
      IRegion endRegion = frAdapter.find(startRegion.getOffset()+startRegion.getLength()+"begin".length(), endRegionRegex, true, false, false, true);
      IRegion sourceRegion = null;
      if (includeSignature){
        sourceRegion = new Region(startRegion.getOffset(), "begin".length()+startRegion.getLength()+endRegion.getLength());
      } else {
        sourceRegion = new Region(endRegion.getOffset(), endRegion.getLength()-"end method;".length());
View Full Code Here

    protected List<Segment> fContent = new ArrayList<Segment>(10);

    protected void parse(IDocument document) {

      try {
        FindReplaceDocumentAdapter frAdapter = new FindReplaceDocumentAdapter(document);
        // do the methods
        IRegion region = frAdapter.find(0, ToolMethod.CEX_SIGNATURE_REGEX, true, false, false, true);
        String methodSignature = null;
        while (region != null){
          int offset = region.getOffset();
          int length = region.getLength();
          Position p = new Position(offset, length);
          document.addPosition(SEGMENTS, p);
          methodSignature = document.get(region.getOffset(), region.getLength());
          Matcher sig = ToolMethod.cexSignaturePattern.matcher(methodSignature);
          if (sig.find()){
            methodSignature = sig.group(1);
            methodSignature = methodSignature.replaceAll("\\s","");
            methodSignature = methodSignature.substring(methodSignature.indexOf(".")+1);
            fContent.add(new Segment(methodSignature, p, "icons/private_method.gif"));
          }
          region = frAdapter.find(offset+length, ToolMethod.CEX_SIGNATURE_REGEX, true, false, false, true);
        }
        // do the event handlers
        region = frAdapter.find(0, ToolEventHandler.CEX_SIGNATURE_REGEX, true, false, false, true);
        String ehSignature = null;
        while (region != null){
          int offset = region.getOffset();
          int length = region.getLength();
          Position p = new Position(offset, length);
          document.addPosition(SEGMENTS, p);
          ehSignature = document.get(region.getOffset(), region.getLength());
          Matcher sig = ToolEventHandler.cexSignaturePattern.matcher(ehSignature);
          if (sig.find()){
            ehSignature = sig.group(1);
            ehSignature = ehSignature.replaceAll("\\s","");
            ehSignature = ehSignature.substring(ehSignature.indexOf(".")+1);
            fContent.add(new Segment(ehSignature, p, "icons/private_event_handler.gif"));
          }
          region = frAdapter.find(offset+length, ToolEventHandler.CEX_SIGNATURE_REGEX, true, false, false, true);
        }
        // do constants
        region = frAdapter.find(0, ToolConstant.PLAN_REGEX, true, false, false, true);
        String constText = null;
        while (region != null){
          int offset = region.getOffset();
          int length = region.getLength();
          Position p = new Position(offset, length);
          document.addPosition(SEGMENTS, p);
          constText = document.get(region.getOffset(), region.getLength());
          fContent.add(new Segment(constText, p, "icons/private_constant.gif"));
          region = frAdapter.find(offset+length, ToolConstant.PLAN_REGEX, true, false, false, true);
        }
        // do classes
        region = frAdapter.find(0, ToolClass.CLASS_REGEX, true, false, false, true);
        String classText = null;
        while (region != null){
          int offset = region.getOffset();
          int length = region.getLength();
          Position p = new Position(offset, length);
          document.addPosition(SEGMENTS, p);
          classText = document.get(region.getOffset(), region.getLength());
          fContent.add(new Segment(classText, p, "icons/class.gif"));
          region = frAdapter.find(offset+length, ToolClass.CLASS_REGEX, true, false, false, true);
        }
      } catch (BadLocationException e) {
      } catch (BadPositionCategoryException x) {
      }
     
View Full Code Here

    return null;
  }

  public static String getNamespacePrefix(final IDocument document) {
    Assert.isNotNull(document);
    FindReplaceDocumentAdapter frda = new FindReplaceDocumentAdapter(document);
    try {
      final IRegion dtd = frda.find(0, QWickieActivator.WICKET_DTD, true, false, false, false);
      if (dtd != null) {
        final IRegion li = document.getLineInformationOfOffset(dtd.getOffset());
        final String line = document.get(li.getOffset(), li.getLength());
        return getWicketNamespace(line);
      }
View Full Code Here

  }

  public void apply(final IDocument document) {
    try {
      if (marker != null) {
        FindReplaceDocumentAdapter frda = new FindReplaceDocumentAdapter(document);
        IRegion initMethodRegion = getMethodName().startsWith("constructor") ? findCTOR(frda) : findOnInitialize(frda);
        IRegion superRegion = findSuper(frda, initMethodRegion);
        String lineDelimiter = document.getLineDelimiter(document.getLineOfOffset(initMethodRegion.getOffset()));
        final String template = codeTemplate.get(htmlSnippet);
        if (template == null) {
          return;
        }
        String replace = (superRegion != null ? ";" : "{") + lineDelimiter + "add(new " + template + "(\"" + wicketId + "\"));";
        frda.replace(replace, false);
        marker.delete();
      }
    } catch (Exception e) {
    }
  }
View Full Code Here

                  break;
                }
              }
              if (jlc == -1) {
                final int widPos = sc + line.indexOf("\"" + wid + "\"") + 1;
                FindReplaceDocumentAdapter frda = new FindReplaceDocumentAdapter(document);
                IRegion tagBegin = frda.find(widPos, "<", false, true, false, false);
                IRegion tagEnd = frda.find(tagBegin.getOffset(), " ", true, true, false, false);
                String htmlTag = document.get(tagBegin.getOffset() + 1, tagEnd.getOffset() - tagBegin.getOffset() - 1);
                String htmlSnippet = htmlTag.toLowerCase();
                if (htmlFile != null && "input".equals(htmlSnippet)) {
                  tagEnd = frda.find(tagBegin.getOffset(), ">", true, true, false, false);
                  htmlSnippet = document.get(tagBegin.getOffset() + 1, tagEnd.getOffset() - tagBegin.getOffset() - 1).toLowerCase().trim();
                  if (htmlSnippet.contains("type")) {
                    final String[] hss = htmlSnippet.split(" ");
                    if (hss != null) {
                      for (int j = 0; j < hss.length; j++) {
View Full Code Here

    final IDocumentProvider provider = new TextFileDocumentProvider();
    try {
      provider.connect(javaFile);
      final IDocument document = provider.getDocument(javaFile);
      final String className = javaFile.getName().replaceAll(".java", "");
      final FindReplaceDocumentAdapter frda = new FindReplaceDocumentAdapter(document);
      final IRegion region = frda.find(0, "class " + className, true, true, true, false);
      if (region != null) {
        addMarker(javaFile, getErrorText(wid), wid, htmlSnippet, document.getLineOfOffset(region.getOffset()), region.getOffset() + 6,
            className.length());
      }
      provider.disconnect(javaFile);
View Full Code Here

            final ITextEditor textEditor = (ITextEditor) editor.getAdapter(ITextEditor.class);
            final IDocument document = ((textEditor).getDocumentProvider()).getDocument(editor.getEditorInput());
            Assert.isNotNull(document);

            final FindReplaceDocumentAdapter frda = new FindReplaceDocumentAdapter(document);
            try {
              if (JAVA.equals(extension)) {
                IRegion region = frda.find(0, '"' + wicketId + '"', true, true, false, false);
                if (region != null) {
                  while (region != null) {
                    final IRegion li = document.getLineInformationOfOffset(region.getOffset());
                    String line = document.get(li.getOffset(), li.getLength()).trim();
                    if (line.startsWith("*") || line.startsWith("/*") || line.startsWith("//")) {
                      region = frda.find(region.getOffset() + 1, '"' + wicketId + '"', true, true, false, false);
                    } else {
                      DocumentHelper.markOccurrence(textEditor, DocumentHelper.getStringConstantName(line));
                      textEditor.selectAndReveal(region.getOffset() + 1, wicketId.length());
                      found = true;
                      break;
                    }
                  }
                } else {
                  // wicket id not found in file, so search up in tree
                  final List<Object> supertypes = TypeHelper.getSupertypes(file);
                  if (supertypes.size() > 0) {
                    if (supertypes.get(0) instanceof IFile) {
                      final IEditorPart oe = IDE.openEditor(activePage, (IFile) supertypes.get(0), false);
                      open();
                      if (!found) {
                        activePage.closeEditor(oe, false);
                      }
                    }
                  }
                }
              } else if (HTML.equals(extension)) {
                String wid_const = DocumentHelper.getNamespacePrefix(document);
                final IRegion region = frda.find(0, wid_const + ":id=\"" + wicketId, true, true, true, false);
                if (region != null) {
                  textEditor.selectAndReveal(region.getOffset() + wid_const.length() + 5, wicketId.length());
                  break;
                }
              } else if (PROPERTIES.equals(extension)) {
                // for the wicket tags that use wicket:message
                if (wicketId.startsWith("value:")) {
                  wicketId = wicketId.substring(6);
                }
                final IRegion regionBegin = frda.find(0, wicketId, true, true, false, false);
                if (regionBegin != null) {
                  IRegion sr = frda.find(regionBegin.getOffset(), "\">", true, true, false, false);
                  if (sr == null) { // properties, select till eol
                    sr = frda.find(regionBegin.getOffset(), "=", true, true, false, false);
                    if (sr == null) {
                      activePage.closeEditor(editor, false);
                      continue;
                    }
                    final IRegion lineRegion = document.getLineInformationOfOffset(sr.getOffset());
                    final int selectionLength = lineRegion.getOffset() + lineRegion.getLength() - sr.getOffset();
                    textEditor.selectAndReveal(sr.getOffset() + 1, selectionLength - 1);
                    foundInPropertiesFile = true;
                    break;
                  } else { // xml, select till </
                    final IRegion selEnd = frda.find(regionBegin.getOffset(), "</", true, true, false, false);
                    textEditor.selectAndReveal(sr.getOffset() + 2, selEnd.getOffset() - sr.getOffset() - 2);
                    foundInPropertiesFile = true;
                    break;
                  }
                } else {
View Full Code Here

            IDocumentProvider documentProvider =
              textEditor.getDocumentProvider();
            IDocument document =
              documentProvider.getDocument(editor.getEditorInput());

            FindReplaceDocumentAdapter searchAdapter =
              new FindReplaceDocumentAdapter(document);

            try {
              IRegion region = searchAdapter.find(0,
                  searchText,
                  true /* forwardSearch */,
                  false /* caseSensitive */,
                  false /* wholeWord */,
                  true /* regExSearch */);
View Full Code Here

      super.setVisibleDocument(document);
      return;
    }

    // In projection mode we don't want to throw away the find/replace document adapter
    FindReplaceDocumentAdapter adapter= fFindReplaceDocumentAdapter;
    super.setVisibleDocument(document);
    fFindReplaceDocumentAdapter= adapter;
  }
View Full Code Here

TOP

Related Classes of org.eclipse.jface.text.FindReplaceDocumentAdapter

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.