src/eric7/QScintilla/MarkupProviders/__init__.py

Mon, 07 Nov 2022 17:19:58 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Mon, 07 Nov 2022 17:19:58 +0100
branch
eric7
changeset 9482
a2bc06a54d9d
parent 9413
80c06d472826
child 9494
0b38ab887b0d
permissions
-rw-r--r--

Corrected/acknowledged some bad import style and removed some obsolete code.

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

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

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

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
    """
    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"
        ):
            from .HtmlProvider import HtmlProvider  # __IGNORE_WARNING_I101__

            return HtmlProvider()
        elif (
            extension in Preferences.getEditor("PreviewMarkdownFileNameExtensions")
            or editor.getLanguage().lower() == "markdown"
        ):
            from .MarkdownProvider import MarkdownProvider  # __IGNORE_WARNING_I101__

            return MarkdownProvider()
        elif (
            extension in Preferences.getEditor("PreviewRestFileNameExtensions")
            or editor.getLanguage().lower() == "restructuredtext"
        ):
            from .RestructuredTextProvider import (  # __IGNORE_WARNING_I101__
                RestructuredTextProvider,
            )

            return RestructuredTextProvider()

    # no supported markup provider identified
    from .MarkupBase import MarkupBase  # __IGNORE_WARNING_I101__

    return MarkupBase()

eric ide

mercurial