List<String> (@NotNull String regexp) { // short circuit for known built-in patterns, no need to spin up RegExp parser and its elements if ("\\btodo\\b.*".equals(regexp)) return singletonList("todo"); if ("\\bfixme\\b.*".equals(regexp)) return singletonList("fixme"); // TODO some datagrip tests are not passed with unknown reason (no exception in logs but it's) if (ApplicationManager.getApplication().isUnitTestMode() && PlatformUtils.isDataGrip()) { return Collections.emptyList(); } Project project = null; ProjectManager projectManager = ProjectManager.getInstanceIfCreated(); if (projectManager != null) { Project[] openProjects = projectManager.getOpenProjects(); if (openProjects.length == 1) { project = openProjects[0]; } } if (project == null) { project = ProjectManager.getInstance().getDefaultProject(); } String stringToFind = FindInProjectUtil.extractStringToFind(regexp, project); return StringUtil.getWordsIn(stringToFind); }