eric6/QScintilla/MarkupProviders/__init__.py

changeset 6942
2602857055c5
parent 6645
ad476851d7e0
child 7229
53054eb5b15a
equal deleted inserted replaced
6941:f99d60d6b59b 6942:2602857055c5
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2017 - 2019 Detlev Offenbach <detlev@die-offenbachs.de>
4 #
5
6 """
7 Package providing various markup providers.
8 """
9
10 from __future__ import unicode_literals
11
12 import os
13
14 import Preferences
15
16
17 def getMarkupProvider(editor):
18 """
19 Public method to get a markup provider for the given editor.
20
21 @param editor reference to the editor to get the markup provider for
22 @type Editor
23 @return markup provider
24 @rtype MarkupBase
25 """
26 if editor is not None:
27 fn = editor.getFileName()
28
29 if fn:
30 extension = os.path.normcase(os.path.splitext(fn)[1][1:])
31 else:
32 extension = ""
33 if extension in \
34 Preferences.getEditor("PreviewHtmlFileNameExtensions") or \
35 editor.getLanguage() == "HTML":
36 from .HtmlProvider import HtmlProvider
37 return HtmlProvider()
38 elif extension in \
39 Preferences.getEditor("PreviewMarkdownFileNameExtensions") or \
40 editor.getLanguage().lower() == "markdown":
41 from .MarkdownProvider import MarkdownProvider
42 return MarkdownProvider()
43 elif extension in \
44 Preferences.getEditor("PreviewRestFileNameExtensions") or \
45 editor.getLanguage().lower() == "restructuredtext":
46 from .RestructuredTextProvider import RestructuredTextProvider
47 return RestructuredTextProvider()
48
49 # no supported markup provider identified
50 from .MarkupBase import MarkupBase
51 return MarkupBase()

eric ide

mercurial