private Result matchFileName()

in src/java/org/jetbrains/plugins/clojure/runner/console/ClojureFilter.java [46:73]


  private Result matchFileName(String line, int entireLength) {
    try {
      final Matcher matcher = FILE_PATTERN.matcher(line);
      if (matcher.matches()) {
        final String fileName = matcher.group(1);
        final int lineNumber = Integer.parseInt(matcher.group(2));
        String colGroup = matcher.group(4);
        boolean hasColumn = !StringUtil.isEmpty(colGroup);

        final int textStartOffset = entireLength - line.length();

        final PsiFile[] psiFiles = FilenameIndex.getFilesByName(myProject, fileName, GlobalSearchScope.allScope(myProject));
        if (psiFiles.length == 0) return null;


        final HyperlinkInfo info = psiFiles.length == 1 ?
            new OpenFileHyperlinkInfo(myProject, psiFiles[0].getVirtualFile(), lineNumber - 1, hasColumn ? Integer.parseInt(colGroup) - 1 : 0) :
            new MyHyperlinkInfo(psiFiles);

        return new Result(textStartOffset + matcher.start(1), textStartOffset + matcher.end(hasColumn ? 4 : 2), info);
      }
    }
    catch (NumberFormatException e) {
      LOG.debug(e);
    }

    return null;
  }