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); }
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); }
CMakeEditorFactory::CMakeEditorFactory() { setId(Constants::CMAKE_EDITOR_ID); setDisplayName(tr(Constants::CMAKE_EDITOR_DISPLAY_NAME)); addMimeType(Constants::CMAKEMIMETYPE); addMimeType(Constants::CMAKEPROJECTMIMETYPE); setEditorCreator([]() { return new CMakeEditor; }); setEditorWidgetCreator([]() { return new CMakeEditorWidget; }); setDocumentCreator([]() { return new CMakeDocument; }); setIndenterCreator([]() { return new CMakeIndenter; }); setUseGenericHighlighter(true); setCommentStyle(Utils::CommentDefinition::HashStyle); setCodeFoldingSupported(true); setCompletionAssistProvider(new CMakeFileCompletionAssistProvider); setAutoCompleterCreator([]() { return new CMakeAutoCompleter; }); setEditorActionHandlers(TextEditorActionHandler::UnCommentSelection | TextEditorActionHandler::JumpToFileUnderCursor | TextEditorActionHandler::Format); ActionContainer *contextMenu = ActionManager::createMenu(Constants::M_CONTEXT); contextMenu->addAction(ActionManager::command(TextEditor::Constants::JUMP_TO_FILE_UNDER_CURSOR)); contextMenu->addSeparator(Context(Constants::CMAKE_EDITOR_ID)); contextMenu->addAction(ActionManager::command(TextEditor::Constants::UN_COMMENT_SELECTION)); }
PlainTextEditorFactory::PlainTextEditorFactory() { QTC_CHECK(!m_instance); m_instance = this; setId(Core::Constants::K_DEFAULT_TEXT_EDITOR_ID); setDisplayName(qApp->translate("OpenWith::Editors", Core::Constants::K_DEFAULT_TEXT_EDITOR_DISPLAY_NAME)); addMimeType(QLatin1String(TextEditor::Constants::C_TEXTEDITOR_MIMETYPE_TEXT)); setDocumentCreator([]() { return new TextDocument(Core::Constants::K_DEFAULT_TEXT_EDITOR_ID); }); setEditorWidgetCreator([]() { return new PlainTextEditorWidget; }); setIndenterCreator([]() { return new NormalIndenter; }); setEditorActionHandlers(TextEditorActionHandler::Format | TextEditorActionHandler::UnCommentSelection | TextEditorActionHandler::UnCollapseAll); }
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); }