src/eric7/QScintilla/TypingCompleters/__init__.py

branch
eric7
changeset 9209
b99e7fd55fd3
parent 8881
54e42bc2437a
child 9221
bf71ee032bb4
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/QScintilla/TypingCompleters/__init__.py	Thu Jul 07 11:23:56 2022 +0200
@@ -0,0 +1,33 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2007 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Package implementing lexers for the various supported programming languages.
+"""
+
+
+def getCompleter(language, editor, parent=None):
+    """
+    Module function to instantiate a lexer object for a given language.
+    
+    @param language language of the lexer (string)
+    @param editor reference to the editor object (QScintilla.Editor)
+    @param parent reference to the parent object (QObject)
+    @return reference to the instanciated lexer object (QsciLexer)
+    """
+    try:
+        if language in ["Python", "Python3", "MicroPython", "Cython"]:
+            from .CompleterPython import CompleterPython
+            return CompleterPython(editor, parent)
+        elif language == "Ruby":
+            from .CompleterRuby import CompleterRuby
+            return CompleterRuby(editor, parent)
+        elif language == "YAML":
+            from .CompleterYaml import CompleterYaml
+            return CompleterYaml(editor, parent)
+        else:
+            return None
+    except ImportError:
+        return None

eric ide

mercurial