QScintilla/MarkupProviders/__init__.py

changeset 5394
b2c6179184f6
child 5397
fee5485e67f4
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/QScintilla/MarkupProviders/__init__.py	Sun Jan 01 18:09:48 2017 +0100
@@ -0,0 +1,51 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2017 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Package providing various markup providers.
+"""
+
+from __future__ import unicode_literals
+
+import os
+
+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":
+            # TODO: implement this
+            pass
+        elif extension in \
+            Preferences.getEditor("PreviewMarkdownFileNameExtensions") or \
+                editor.getLanguage().lower() == "markdown":
+            from .MarkdownProvider import MarkdownProvider
+            return MarkdownProvider()
+        elif extension in \
+            Preferences.getEditor("PreviewRestFileNameExtensions") or \
+                editor.getLanguage().lower() == "restructuredtext":
+            # TODO: implement this
+            pass
+    
+    # no supported markup provider identified
+    from .MarkupBase import MarkupBase
+    return MarkupBase()

eric ide

mercurial