CppEditorFactory() { setId(Constants::CPPEDITOR_ID); setDisplayName(qApp->translate("OpenWith::Editors", Constants::CPPEDITOR_DISPLAY_NAME)); addMimeType(Constants::C_SOURCE_MIMETYPE); addMimeType(Constants::C_HEADER_MIMETYPE); addMimeType(Constants::CPP_SOURCE_MIMETYPE); addMimeType(Constants::CPP_HEADER_MIMETYPE); setDocumentCreator([]() { return new CppEditorDocument; }); setEditorWidgetCreator([]() { return new CppEditorWidget; }); setEditorCreator([]() { return new CppEditor; }); setAutoCompleterCreator([]() { return new CppAutoCompleter; }); setCommentStyle(Utils::CommentDefinition::CppStyle); setCodeFoldingSupported(true); setMarksVisible(true); setParenthesesMatchingEnabled(true); setEditorActionHandlers(TextEditorActionHandler::Format | TextEditorActionHandler::UnCommentSelection | TextEditorActionHandler::UnCollapseAll | TextEditorActionHandler::FollowSymbolUnderCursor); addHoverHandler(new CppHoverHandler); if (!Utils::HostOsInfo::isMacHost() && !Utils::HostOsInfo::isWindowsHost()) { FileIconProvider::registerIconOverlayForMimeType(creatorTheme()->iconOverlay(Theme::CppSourceMimetype).toLatin1().data(), Constants::CPP_SOURCE_MIMETYPE); FileIconProvider::registerIconOverlayForMimeType(creatorTheme()->iconOverlay(Theme::CSourceMimetype).toLatin1().data(), Constants::C_SOURCE_MIMETYPE); FileIconProvider::registerIconOverlayForMimeType(creatorTheme()->iconOverlay(Theme::CppHeaderMimetype).toLatin1().data(), Constants::CPP_HEADER_MIMETYPE); } }
EditorFactory::EditorFactory() { setId(Constants::EditorId); setDisplayName(qApp->translate("OpenWith::Editors", Constants::EditorDisplayName)); addMimeType(Constants::MimeType); addMimeType(Constants::ProjectMimeType); setDocumentCreator([]() { return new TextEditor::TextDocument(Constants::EditorId); }); setIndenterCreator([]() { return new Indenter; }); setEditorWidgetCreator([]() { return new EditorWidget; }); setEditorCreator([]() { return new Editor; }); setAutoCompleterCreator([]() { return new AutoCompleter; }); setCompletionAssistProvider(new CompletionAssistProvider); setSyntaxHighlighterCreator([]() { return new Highlighter; }); setCommentStyle(Utils::CommentDefinition::HashStyle); setParenthesesMatchingEnabled(true); setCodeFoldingSupported(true); setMarksVisible(true); addHoverHandler(new HoverHandler); setEditorActionHandlers(TextEditor::TextEditorActionHandler::Format | TextEditor::TextEditorActionHandler::UnCommentSelection | TextEditor::TextEditorActionHandler::UnCollapseAll | TextEditor::TextEditorActionHandler::FollowSymbolUnderCursor); }
NimEditorFactory::NimEditorFactory() { setId(Constants::C_NIMEDITOR_ID); setDisplayName(tr(Nim::Constants::C_EDITOR_DISPLAY_NAME)); addMimeType(QLatin1String(Nim::Constants::C_NIM_MIMETYPE)); addMimeType(QLatin1String(Nim::Constants::C_NIM_SCRIPT_MIMETYPE)); setEditorActionHandlers(TextEditorActionHandler::Format | TextEditorActionHandler::UnCommentSelection | TextEditorActionHandler::UnCollapseAll); setEditorWidgetCreator([]{ auto result = new TextEditorWidget(); result->setLanguageSettingsId(Nim::Constants::C_NIMLANGUAGE_ID); return result; }); setDocumentCreator([]() { return new TextDocument(Constants::C_NIMEDITOR_ID); }); setIndenterCreator([](QTextDocument *doc) { return new NimIndenter(doc); }); setSyntaxHighlighterCreator([]() { return new NimHighlighter; }); setCompletionAssistProvider(new NimCompletionAssistProvider()); setCommentDefinition(CommentDefinition::HashStyle); setParenthesesMatchingEnabled(true); setCodeFoldingSupported(true); }
EditorWidget::EditorWidget(QWidget *parent) :TextEditor::BaseTextEditorWidget(parent) { m_commentDefinition.multiLineStart.clear(); m_commentDefinition.multiLineEnd.clear(); m_commentDefinition.singleLine = QLatin1Char('#'); setParenthesesMatchingEnabled(true); setMarksVisible(true); setCodeFoldingSupported(true); setIndenter(new PythonIndenter()); new PythonHighlighter(baseTextDocument().data()); }
PythonEditorFactory::PythonEditorFactory() { setId(Constants::C_PYTHONEDITOR_ID); setDisplayName(tr(Constants::C_EDITOR_DISPLAY_NAME)); addMimeType(QLatin1String(Constants::C_PY_MIMETYPE)); setEditorActionHandlers(TextEditorActionHandler::Format | TextEditorActionHandler::UnCommentSelection | TextEditorActionHandler::UnCollapseAll); setDocumentCreator([]() { return new TextDocument(Constants::C_PYTHONEDITOR_ID); }); setIndenterCreator([]() { return new PythonIndenter; }); setSyntaxHighlighterCreator([]() { return new PythonHighlighter; }); setCommentStyle(Utils::CommentDefinition::HashStyle); setParenthesesMatchingEnabled(true); setMarksVisible(true); setCodeFoldingSupported(true); }