src/eric7/QScintilla/MarkupProviders/__init__.py

Thu, 11 Jul 2024 14:21:34 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Thu, 11 Jul 2024 14:21:34 +0200
branch
eric7
changeset 10840
c8045d0dbaa7
parent 10439
21c28b0f9e41
child 11090
f5f5f5803935
permissions
-rw-r--r--

MicroPython
- Updated the list of known CircuitPython boards for CPy 9.1.0.
- Updated the list of known UF2 capable boards.

# -*- coding: utf-8 -*-

# Copyright (c) 2017 - 2024 Detlev Offenbach <detlev@die-offenbachs.de>
#

"""
Package providing various markup providers.
"""

import importlib
import os

from eric7 import Preferences


def getMarkupProvider(editor):
    """
    Public method to get a markup provider for the given editor.

    @param editor reference to the editor to get the markup provider for
    @type Editor
    @return markup provider
    @rtype MarkupBase
    """
    markupModule = ".MarkupBase"
    if editor is not None:
        fn = editor.getFileName()

        if fn:
            extension = os.path.normcase(os.path.splitext(fn)[1][1:])
        else:
            extension = ""
        if (
            extension in Preferences.getEditor("PreviewHtmlFileNameExtensions")
            or editor.getLanguage() == "HTML"
        ):
            markupModule = ".HtmlProvider"
        elif (
            extension in Preferences.getEditor("PreviewMarkdownFileNameExtensions")
            or editor.getLanguage().lower() == "markdown"
        ):
            markupModule = ".MarkdownProvider"
        elif (
            extension in Preferences.getEditor("PreviewRestFileNameExtensions")
            or editor.getLanguage().lower() == "restructuredtext"
        ):
            markupModule = ".RestructuredTextProvider"

    mod = importlib.import_module(markupModule, __package__)
    return mod.createProvider()

eric ide

mercurial