EditorEx () { final EditorEx editor = super.createEditor(); editor.setHorizontalScrollbarVisible(true); editor.setVerticalScrollbarVisible(true); final StructuralSearchProfile profile = StructuralSearchUtil.getProfileByFileType(myFileType); if (profile != null) { TemplateEditorUtil.setHighlighter(editor, UIUtil.getTemplateContextType(profile)); } SubstitutionShortInfoHandler.install(editor, myFilterPanel, variableName -> { if (variableName.endsWith(ReplaceConfiguration.REPLACEMENT_VARIABLE_SUFFIX)) { //noinspection AssignmentToLambdaParameter variableName = StringUtil.trimEnd(variableName, ReplaceConfiguration.REPLACEMENT_VARIABLE_SUFFIX); assert myReplace; myFilterPanel.initFilters(UIUtil.getOrAddReplacementVariable(variableName, myConfiguration)); } else{ myFilterPanel.initFilters(UIUtil.getOrAddVariableConstraint(variableName, myConfiguration)); } }, myDisposable, myReplace); editor.putUserData(SubstitutionShortInfoHandler.CURRENT_CONFIGURATION_KEY, myConfiguration); getDocument().putUserData(STRUCTURAL_SEARCH_ERROR_CALLBACK, () -> { if (getClientProperty("JComponent.outline") == null) initValidation(); }); TextCompletionUtil.installCompletionHint(editor); editor.putUserData(STRUCTURAL_SEARCH_DIALOG, StructuralSearchDialog.this); editor.setEmbeddedIntoDialogWrapper(true); editor.putUserData(IncrementalFindAction.SEARCH_DISABLED, Boolean.TRUE); return editor; }