Package com.redcareditor.onig

Examples of com.redcareditor.onig.Range


    int max_cap2 = m2.numCaptures();
    int cap1_ix, cap1_el_ix, len1;
    int cap2_ix, cap2_el_ix, len2;
    for (int i = 0; i < Math.min(max_cap1, max_cap2); i++) {
      // first try element depth:
      Range capture1 = m1.getCapture(max_cap1 - 1 - i);
      Range capture2 = m2.getCapture(max_cap2 - 1 - i);
     
      cap1_ix = capture1.start;
      cap2_ix = capture2.start;
      cap1_el_ix = ScopeMatcher.sorted_ix(spaceIxs, cap1_ix);
      cap2_el_ix = ScopeMatcher.sorted_ix(spaceIxs, cap2_ix);
View Full Code Here


  public static Match getMatch(String selectorString, String scopeString) {
    Match m = match(selectorString, scopeString);
    if (m != null) {
//      System.out.printf("%d\n", m.numCaptures());
      Range firstCapture = m.getCapture(0);
//      System.out.printf("test_match('%s', '%s') == %d\n", selectorString, scopeString, firstCapture.start);
    } else {
//      System.out.printf("test_match('%s', '%s') == null\n", selectorString, scopeString);
    }
    return m;
View Full Code Here

  @Test
  public void testShouldMergeRanges() {
    rs.add(14, 16);
    assertEquals(rs.length(), 3);
    assertEquals(rs.get(0), new Range(1,3));
    assertEquals(rs.get(1), new Range(5,5));
    assertEquals(rs.get(2), new Range(10,16));
  }
View Full Code Here

  @Test
  public void testShouldMergeRanges2() {
    rs.add(7, 11);
    assertEquals(rs.length(), 3);
    assertEquals(rs.get(0), new Range(1,3));
    assertEquals(rs.get(1), new Range(5,5));
    assertEquals(rs.get(2), new Range(7,15));
  }
View Full Code Here

  @Test
  public void testShouldMergeTwoRanges() {
    rs.add(4, 11);
    assertEquals(rs.length(), 1);
    assertEquals(rs.get(0), new Range(1,15));
  }
View Full Code Here

  @Test
  public void testShouldMergeAllRanges() {
    rs.add(1, 20);
    assertEquals(rs.length(), 1);
    assertEquals(rs.get(0), new Range(1,20));
  }
View Full Code Here

  @Test
  public void testShouldMergeAdjacentRanges() {
    rs.add(16, 18);
    assertEquals(rs.length(), 3);
    assertEquals(rs.get(0), new Range(1,3));
    assertEquals(rs.get(1), new Range(5,5));
    assertEquals(rs.get(2), new Range(10,18));
  }
View Full Code Here

  @Test
  public void testShouldMergeTwoAdjacentRanges() {
    rs.add(4, 4);
    assertEquals(rs.length(), 2);
    assertEquals(rs.get(0), new Range(1,5));
    assertEquals(rs.get(1), new Range(10,15));
  }
View Full Code Here

public class RangeSet implements Iterable<Range> {
  List<Range> ranges = new ArrayList<Range>();

  public void add(int a, int b) {
    int insertAt = 0;
    Range range = new Range(a, b);

    while (insertAt < length() && ranges.get(insertAt).start < range.start) {
      insertAt++;
    }
View Full Code Here

  private void merge(int mergeAt, Range range) {
    ranges.add(mergeAt, range);

    if (mergeAt > 0) {
      Range beforeMerge = ranges.get(mergeAt - 1);
      if (range.isTouching(beforeMerge)) {
        ranges.remove(mergeAt);
        beforeMerge.end = Math.max(beforeMerge.end, range.end);
        mergeAt--;
        range = ranges.get(mergeAt);
      }
    }

    if (mergeAt + 1 < length()) {
      Range afterMerge = ranges.get(mergeAt + 1);
      while (mergeAt < length() - 1 && range.isTouching(afterMerge)) {
        range.start = Math.min(range.start, afterMerge.start);
        range.end = Math.max(range.end, afterMerge.end);
        ranges.remove(mergeAt + 1);
        if (mergeAt + 1 < length())
View Full Code Here

TOP

Related Classes of com.redcareditor.onig.Range

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.