void (@NotNull Editor editor, @NotNull Project project) { if (!editor.getSelectionModel().hasSelection()) return; final String text = editor.getSelectionModel().getSelectedText(); if (text == null) return; if (editor instanceof EditorWindow) { // highlight selection in the whole editor, not injected fragment only editor = ((EditorWindow)editor).getDelegate(); } EditorSearchSession oldSearch = EditorSearchSession.get(editor); if (oldSearch != null) { if (oldSearch.hasMatches()) { String oldText = oldSearch.getTextInField(); if (!oldSearch.getFindModel().isRegularExpressions()) { oldText = StringUtil.escapeToRegexp(oldText); oldSearch.getFindModel().setRegularExpressions(true); } String newText = oldText + '|' + StringUtil.escapeToRegexp(text); oldSearch.setTextInField(newText); return; } } EditorSearchSession.start(editor, project).getFindModel().setRegularExpressions(false); }