RefactoringRope/CodeAssistServer.py

branch
eric7
changeset 414
af1d72eccf91
parent 413
a4cba20ad7ab
child 420
fa31c3a0df1d
diff -r a4cba20ad7ab -r af1d72eccf91 RefactoringRope/CodeAssistServer.py
--- a/RefactoringRope/CodeAssistServer.py	Sat Dec 23 17:58:35 2023 +0100
+++ b/RefactoringRope/CodeAssistServer.py	Wed Jan 03 16:43:37 2024 +0100
@@ -19,7 +19,6 @@
 from eric7.EricNetwork.EricJsonServer import EricJsonServer
 from eric7.EricWidgets import EricMessageBox
 from eric7.EricWidgets.EricApplication import ericApp
-from eric7.QScintilla.Editor import Editor
 
 try:
     from eric7.SystemUtilities.PythonUtilities import (
@@ -30,13 +29,27 @@
     # imports for eric < 23.1
     from eric7.Globals import getPythonExecutable, getPythonLibraryDirectory
 
+try:
+    from eric7.QScintilla.Editor import EditorIconId
 
-class CodeAssistServer(EricJsonServer):
-    """
-    Class implementing the autocompletion interface to rope.
-    """
-
-    IdProject = "Project"
+    PictureIDs = {
+        "class": "?{0}".format(EditorIconId.Class),
+        "_class": "?{0}".format(EditorIconId.ClassProtected),
+        "__class": "?{0}".format(EditorIconId.ClassPrivate),
+        "instance": "?{0}".format(EditorIconId.Class),
+        "_instance": "?{0}".format(EditorIconId.ClassProtected),
+        "__instance": "?{0}".format(EditorIconId.ClassPrivate),
+        "function": "?{0}".format(EditorIconId.Method),
+        "_function": "?{0}".format(EditorIconId.MethodProtected),
+        "__function": "?{0}".format(EditorIconId.MethodPrivate),
+        "module": "?{0}".format(EditorIconId.Module),
+        "_module": "?{0}".format(EditorIconId.Module),
+        "__module": "?{0}".format(EditorIconId.Module),
+        "None": "",
+    }
+except ImportError:
+    # backward compatibility for eric < 24.2
+    from eric7.QScintilla.Editor import Editor
 
     PictureIDs = {
         "class": "?{0}".format(Editor.ClassID),
@@ -54,6 +67,14 @@
         "None": "",
     }
 
+
+class CodeAssistServer(EricJsonServer):
+    """
+    Class implementing the autocompletion interface to rope.
+    """
+
+    IdProject = "Project"
+
     def __init__(self, plugin, parent=None):
         """
         Constructor
@@ -327,8 +348,7 @@
         names = []
         for completion in result["Completions"]:
             name = completion["Name"]
-
-            name += CodeAssistServer.PictureIDs.get(completion["CompletionType"], "")
+            name += PictureIDs.get(completion["CompletionType"], "")
             names.append(name)
 
         if "Error" not in result:

eric ide

mercurial