Package org.eclipse.jface.text

Examples of org.eclipse.jface.text.DefaultLineTracker


      }
    }
 
    // 4 - add the content prefix (@see JavaDocRegion#postprocessCodeSnippet)
    this.codeSnippetBuffer.setLength(0);
    ILineTracker tracker = new DefaultLineTracker();
    this.column = 1;
    printIndentationIfNecessary(this.codeSnippetBuffer); // append indentation
    this.codeSnippetBuffer.append(BLOCK_LINE_PREFIX);
    String linePrefix = this.codeSnippetBuffer.toString();
    this.codeSnippetBuffer.setLength(0);
    String replacement = formattedSnippet;
    tracker.set(formattedSnippet);
    int numberOfLines = tracker.getNumberOfLines();
    if (numberOfLines > 1) {
      int lastLineOffset = -1;
      for (int i=0; i<numberOfLines-1; i++) {
        if (i>0) this.codeSnippetBuffer.append(linePrefix);
        try {
          lastLineOffset = tracker.getLineOffset(i+1);
          this.codeSnippetBuffer.append(formattedSnippet.substring(tracker.getLineOffset(i), lastLineOffset));
        } catch (BadLocationException e) {
          // should not happen
          CommentFormatterUtil.log(e);
          return;
        }
View Full Code Here


    if (tabWidth < 0 || indentWidth < 0 || code == null || indentUnitsToRemove < 0 || newIndentString == null || lineDelim == null) {
      throw new IllegalArgumentException();
    }

    try {
      ILineTracker tracker= new DefaultLineTracker();
      tracker.set(code);
      int nLines= tracker.getNumberOfLines();
      if (nLines == 1) {
        return code;
      }

      StringBuffer buf= new StringBuffer();

      for (int i= 0; i < nLines; i++) {
        IRegion region= tracker.getLineInformation(i);
        int start= region.getOffset();
        int end= start + region.getLength();
        String line= code.substring(start, end);

        if (i == 0) {  // no indent for first line (contained in the formatted string)
View Full Code Here

      throw new IllegalArgumentException();
    }

    ArrayList result= new ArrayList();
    try {
      ILineTracker tracker= new DefaultLineTracker();
      tracker.set(source);
      int nLines= tracker.getNumberOfLines();
      if (nLines == 1)
        return (ReplaceEdit[])result.toArray(new ReplaceEdit[result.size()]);
      for (int i= 1; i < nLines; i++) {
        IRegion region= tracker.getLineInformation(i);
        int offset= region.getOffset();
        String line= source.substring(offset, offset + region.getLength());
        int length= indexOfIndent(line, indentUnitsToRemove, tabWidth, indentWidth);
        if (length >= 0) {
          result.add(new ReplaceEdit(offset, length, newIndentString));
View Full Code Here

    fMasterDocument.addPositionUpdater(fFragmentsUpdater);

    fMapping= new ProjectionMapping(masterDocument, fFragmentsCategory, this, fSegmentsCategory);

    ITextStore s= new ProjectionTextStore(masterDocument, fMapping);
    ILineTracker tracker= new DefaultLineTracker();

    setTextStore(s);
    setLineTracker(tracker);

    completeInitialization();

    initializeProjection();
    tracker.set(s.get(0, s.getLength()));
  }
View Full Code Here

  protected void installTabsToSpacesConverter() {
    SourceViewerConfiguration config= getSourceViewerConfiguration();
    if (config != null && fSourceViewer instanceof ITextViewerExtension7) {
      int tabWidth= config.getTabWidth(fSourceViewer);
      TabsToSpacesConverter tabToSpacesConverter= new TabsToSpacesConverter();
      tabToSpacesConverter.setLineTracker(new DefaultLineTracker());
      tabToSpacesConverter.setNumberOfSpacesPerTab(tabWidth);
      ((ITextViewerExtension7)fSourceViewer).setTabsToSpacesConverter(tabToSpacesConverter);
      updateIndentPrefixes();
    }
  }
View Full Code Here

    if (tabWidth < 0 || indentWidth < 0 || code == null || indentUnitsToRemove < 0 || newIndentString == null || lineDelim == null) {
      throw new IllegalArgumentException();
    }

    try {
      ILineTracker tracker= new DefaultLineTracker();
      tracker.set(code);
      int nLines= tracker.getNumberOfLines();
      if (nLines == 1) {
        return code;
      }

      StringBuffer buf= new StringBuffer();

      for (int i= 0; i < nLines; i++) {
        IRegion region= tracker.getLineInformation(i);
        int start= region.getOffset();
        int end= start + region.getLength();
        String line= code.substring(start, end);

        if (i == 0) {  // no indent for first line (contained in the formatted string)
View Full Code Here

      throw new IllegalArgumentException();
    }

    ArrayList result= new ArrayList();
    try {
      ILineTracker tracker= new DefaultLineTracker();
      tracker.set(source);
      int nLines= tracker.getNumberOfLines();
      if (nLines == 1)
        return (ReplaceEdit[])result.toArray(new ReplaceEdit[result.size()]);
      for (int i= 1; i < nLines; i++) {
        IRegion region= tracker.getLineInformation(i);
        int offset= region.getOffset();
        String line= source.substring(offset, offset + region.getLength());
        int length= indexOfIndent(line, indentUnitsToRemove, tabWidth, indentWidth);
        if (length >= 0) {
          result.add(new ReplaceEdit(offset, length, newIndentString));
View Full Code Here

      }
    }
 
    // 4 - add the content prefix (@see JavaDocRegion#postprocessCodeSnippet)
    this.codeSnippetBuffer.setLength(0);
    ILineTracker tracker = new DefaultLineTracker();
    this.column = 1;
    printIndentationIfNecessary(this.codeSnippetBuffer); // append indentation
    this.codeSnippetBuffer.append(BLOCK_LINE_PREFIX);
    String linePrefix = this.codeSnippetBuffer.toString();
    this.codeSnippetBuffer.setLength(0);
    String replacement = formattedSnippet;
    tracker.set(formattedSnippet);
    int numberOfLines = tracker.getNumberOfLines();
    if (numberOfLines > 1) {
      int lastLineOffset = -1;
      for (int i=0; i<numberOfLines-1; i++) {
        if (i>0) this.codeSnippetBuffer.append(linePrefix);
        try {
          lastLineOffset = tracker.getLineOffset(i+1);
          this.codeSnippetBuffer.append(formattedSnippet.substring(tracker.getLineOffset(i), lastLineOffset));
        } catch (BadLocationException e) {
          // should not happen
          CommentFormatterUtil.log(e);
          return;
        }
View Full Code Here

      }
      fLegalLineDelimiters = existingDelimiters;

    }

    DefaultLineTracker tracker = new DefaultLineTracker();
    tracker.set(contents);

    int lines = tracker.getNumberOfLines();
    if (lines <= 1)
      return;

    for (int i = 0; i < lines; i++) {
      try {
        String curr = tracker.getLineDelimiter(i);
        if (curr != null && !fLegalLineDelimiters.contains(curr)) {
          StringBuffer buf = new StringBuffer(
              "New line delimiter added to new code: "); //$NON-NLS-1$
          for (int k = 0; k < curr.length(); k++) {
            buf.append(String.valueOf((int) curr.charAt(k)));
View Full Code Here

    return buffer;
  }

  private static String changeLineDelimiter(String code, String lineDelim) {
    try {
      ILineTracker tracker = new DefaultLineTracker();
      tracker.set(code);
      int nLines = tracker.getNumberOfLines();
      if (nLines == 1) {
        return code;
      }

      StringBuffer buf = new StringBuffer();
      for (int i = 0; i < nLines; i++) {
        if (i != 0) {
          buf.append(lineDelim);
        }
        IRegion region = tracker.getLineInformation(i);
        String line = code.substring(region.getOffset(), region
            .getOffset()
            + region.getLength());
        buf.append(line);
      }
View Full Code Here

TOP

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

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.