Fork me on GitHub
#cursive
<
2016-12-23
>
cfleming00:12:59

@sandbags In that case you’ll need stubs, or a proper extension API. Both in the works.

jasongilman01:12:08

I noticed cursive uses namespace abbreviation in tabs. Is there a library that provides that behavior? I've been looking around and I've see things in Java logging packages but not separated out.

cfleming01:12:45

@jasongilman No, it’s something I wrote myself

cfleming01:12:54

@jasongilman:

private static String truncatedName(String nsName) {
    String[] segments = nsName.split("\\.");
    for (int i = 0; i < segments.length; i++) {
      String candidate = joinSegments(segments, i);
      if (candidate.length() <= MAX_TRUNCATED_LENGTH) {
        return candidate;
      }
    }
    return joinSegments(segments, segments.length - 1);
  }

  private static String joinSegments(String[] segments, int fullAfter) {
    String separator = "";
    StringBuilder builder = new StringBuilder();
    for (int i = 0; i < segments.length; i++) {
      String segment = segments[i];
      builder.append(separator);
      if (i < fullAfter) {
        builder.append(segment.charAt(0));
      } else {
        builder.append(segment);
      }
      separator = ".";
    }

    return builder.toString();
  }

cfleming01:12:28

MAX_TRUNCATED_LENGTH is 16 by default

moizsj05:12:36

@cfleming cant see the 1.4.2 update. any ideas?