RefactoringRope/CodeAssistClient.py

Sun, 08 Oct 2017 19:11:45 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 08 Oct 2017 19:11:45 +0200
branch
server_client_variant
changeset 216
47fb0119f0be
parent 212
f05681349336
child 217
874115c79ca7
permissions
-rw-r--r--

Updated rope (for Python 2) to version 0.10.7.

196
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3 # Copyright (c) 2017 Detlev Offenbach <detlev@die-offenbachs.de>
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing the code assist client interface to rope.
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 from __future__ import unicode_literals
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 import sys
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13 import os
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 sys.path.insert(0, os.path.dirname(__file__))
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 if sys.version_info[0] >= 3:
216
47fb0119f0be Updated rope (for Python 2) to version 0.10.7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 212
diff changeset
17 # TODO: unify this
47fb0119f0be Updated rope (for Python 2) to version 0.10.7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 212
diff changeset
18 ## path = os.path.join(os.path.dirname(__file__), 'rope_py3')
47fb0119f0be Updated rope (for Python 2) to version 0.10.7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 212
diff changeset
19 path = os.path.join(os.path.dirname(__file__), 'rope_py2')
196
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 else:
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 path = os.path.join(os.path.dirname(__file__), 'rope_py2')
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 str = unicode # __IGNORE_WARNING__
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 sys.path.insert(0, path)
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 import rope.base.libutils
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 import rope.contrib.codeassist
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 from JsonClient import JsonClient
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 class CodeAssistClient(JsonClient):
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 """
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 Class implementing the code assist client interface to rope.
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 """
198
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
35 PictureIDs = {
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
36 "class": "?{0}".format(1), # Editor.ClassID
201
e677d82706d4 Extended the auto completions pictures supported by code assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 200
diff changeset
37 "_class": "?{0}".format(2), # Editor.ClassProtectedID
e677d82706d4 Extended the auto completions pictures supported by code assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 200
diff changeset
38 "__class": "?{0}".format(3), # Editor.ClassPrivateID
198
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
39 "instance": "?{0}".format(1), # Editor.ClassID
201
e677d82706d4 Extended the auto completions pictures supported by code assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 200
diff changeset
40 "_instance": "?{0}".format(2), # Editor.ClassProtectedID
e677d82706d4 Extended the auto completions pictures supported by code assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 200
diff changeset
41 "__instance": "?{0}".format(3), # Editor.ClassPrivateID
198
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
42 "function": "?{0}".format(4), # Editor.MethodID
201
e677d82706d4 Extended the auto completions pictures supported by code assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 200
diff changeset
43 "_function": "?{0}".format(5), # Editor.MethodProtectedID
e677d82706d4 Extended the auto completions pictures supported by code assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 200
diff changeset
44 "__function": "?{0}".format(6), # Editor.MethodPrivateID
198
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
45 "module": "?{0}".format(7), # Editor.AttributeID
201
e677d82706d4 Extended the auto completions pictures supported by code assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 200
diff changeset
46 "_module": "?{0}".format(8), # Editor.AttributeProtectedID
e677d82706d4 Extended the auto completions pictures supported by code assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 200
diff changeset
47 "__module": "?{0}".format(9), # Editor.AttributePrivateID
198
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
48 "None": "",
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
49 }
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
50 # The various ID values are a copy of the ones found in the Editor
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
51 # class in order to make this module/script independent from an
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
52 # installed eric
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
53
196
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 def __init__(self, host, port, idString, projectPath):
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 """
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 Constructor
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 @param host ip address the background service is listening
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 @type str
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 @param port port of the background service
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 @type int
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 @param idString assigned client id to be sent back to the server in
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 order to identify the connection
203
c38750e1bafd Performed some code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 201
diff changeset
64 @type str
196
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 @param projectPath path to the project
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 @type str
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 """
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 super(CodeAssistClient, self).__init__(host, port, idString)
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 self.__methodMapping = {
212
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
71 "getConfig": self.__getConfig,
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
72 "configChanged": self.__configChanged,
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
73 "closeProject": self.__closeProject,
198
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
74 "getCompletions": self.__getCompletions,
199
ae2ad82725b0 Implemented the distributed code assist calltips method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 198
diff changeset
75 "getCallTips": self.__getCallTips,
200
1584892147ef Implemented the distributed code assist "report changed" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 199
diff changeset
76 "reportChanged": self.__reportChanged,
196
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 }
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 self.__projectpath = projectPath
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 self.__project = rope.base.project.Project(self.__projectpath)
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 self.__project.validate(self.__project.root)
212
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
82
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
83 self.__id = idString
196
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 def handleCall(self, method, params):
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86 """
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 Public method to handle a method call from the server.
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 @param method requested method name
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90 @type str
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91 @param params dictionary with method specific parameters
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
92 @type dict
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
93 """
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
94 self.__methodMapping[method](params)
198
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
95
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
96 def __handleRopeError(self, err):
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
97 """
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
98 Private method to process a rope error.
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
99
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
100 @param err rope exception object
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
101 @type Exception
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
102 @return dictionary containing the error information
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
103 @rtype dict
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
104 """
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
105 ropeError = str(type(err)).split()[-1]
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
106 ropeError = ropeError[1:-2].split('.')[-1]
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
107 errorDict = {
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
108 "Error": ropeError,
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
109 "ErrorString": str(err),
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
110 }
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
111 if ropeError == 'ModuleSyntaxError':
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
112 errorDict["ErrorFile"] = err.filename
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
113 errorDict["ErrorLine"] = err.lineno
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
114
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
115 return errorDict
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
116
212
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
117 def __getConfig(self, params):
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
118 """
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
119 Private method to send some configuration data to the server.
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
120
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
121 @param params dictionary containing the method parameters sent by
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
122 the server
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
123 @type dict
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
124 """
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
125 result = {
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
126 "RopeFolderName": self.__project.ropefolder.real_path,
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
127 "Id": self.__id,
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
128 }
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
129
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
130 self.sendJson("Config", result)
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
131
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
132 def __configChanged(self, params):
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
133 """
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
134 Private method to handle a change of the configuration file.
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
135
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
136 @param params dictionary containing the method parameters sent by
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
137 the server
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
138 @type dict
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
139 """
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
140 self.__project.close()
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
141 self.__project = rope.base.project.Project(self.__projectpath)
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
142 self.__project.validate(self.__project.root)
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
143
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
144 def __closeProject(self, params):
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
145 """
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
146 Private slot to validate the project.
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
147
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
148 @param params dictionary containing the method parameters sent by
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
149 the server
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
150 @type dict
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
151 """
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
152 self.__project.close()
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
153
198
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
154 def __getCompletions(self, params):
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
155 """
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
156 Private method to calculate possible completions.
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
157
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
158 @param params dictionary containing the method parameters
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
159 @type dict
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
160 """
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
161 filename = params["FileName"]
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
162 source = params["Source"]
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
163 offset = params["Offset"]
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
164 maxfixes = params["MaxFixes"]
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
165
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
166 if filename:
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
167 resource = rope.base.libutils.path_to_resource(
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
168 self.__project, filename)
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
169 else:
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
170 resource = None
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
171
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
172 errorDict = {}
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
173 completions = []
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
174
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
175 try:
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
176 proposals = rope.contrib.codeassist.code_assist(
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
177 self.__project, source, offset, resource, maxfixes=maxfixes)
201
e677d82706d4 Extended the auto completions pictures supported by code assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 200
diff changeset
178 for proposal in proposals:
e677d82706d4 Extended the auto completions pictures supported by code assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 200
diff changeset
179 proposalType = proposal.type
e677d82706d4 Extended the auto completions pictures supported by code assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 200
diff changeset
180 if proposal.name.startswith("__"):
e677d82706d4 Extended the auto completions pictures supported by code assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 200
diff changeset
181 proposalType = "__" + proposalType
e677d82706d4 Extended the auto completions pictures supported by code assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 200
diff changeset
182 elif proposal.name.startswith("_"):
e677d82706d4 Extended the auto completions pictures supported by code assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 200
diff changeset
183 proposalType = "_" + proposalType
e677d82706d4 Extended the auto completions pictures supported by code assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 200
diff changeset
184 completions.append(
e677d82706d4 Extended the auto completions pictures supported by code assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 200
diff changeset
185 proposal.name + self.PictureIDs[proposalType])
198
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
186 except Exception as err:
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
187 errorDict = self.__handleRopeError(err)
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
188
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
189 result = {
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
190 "Completions": completions,
212
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
191 "CompletionText": params["CompletionText"],
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 209
diff changeset
192 "FileName": filename,
198
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
193 }
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
194 result.update(errorDict)
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
195
898d8b4187de IMplemented the distributed code assist completions method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 196
diff changeset
196 self.sendJson("CompletionsResult", result)
199
ae2ad82725b0 Implemented the distributed code assist calltips method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 198
diff changeset
197
ae2ad82725b0 Implemented the distributed code assist calltips method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 198
diff changeset
198 def __getCallTips(self, params):
ae2ad82725b0 Implemented the distributed code assist calltips method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 198
diff changeset
199 """
200
1584892147ef Implemented the distributed code assist "report changed" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 199
diff changeset
200 Private method to calculate possible calltips.
199
ae2ad82725b0 Implemented the distributed code assist calltips method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 198
diff changeset
201
ae2ad82725b0 Implemented the distributed code assist calltips method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 198
diff changeset
202 @param params dictionary containing the method parameters
ae2ad82725b0 Implemented the distributed code assist calltips method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 198
diff changeset
203 @type dict
ae2ad82725b0 Implemented the distributed code assist calltips method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 198
diff changeset
204 """
ae2ad82725b0 Implemented the distributed code assist calltips method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 198
diff changeset
205 filename = params["FileName"]
ae2ad82725b0 Implemented the distributed code assist calltips method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 198
diff changeset
206 source = params["Source"]
ae2ad82725b0 Implemented the distributed code assist calltips method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 198
diff changeset
207 offset = params["Offset"]
ae2ad82725b0 Implemented the distributed code assist calltips method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 198
diff changeset
208 maxfixes = params["MaxFixes"]
ae2ad82725b0 Implemented the distributed code assist calltips method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 198
diff changeset
209
ae2ad82725b0 Implemented the distributed code assist calltips method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 198
diff changeset
210 if filename:
ae2ad82725b0 Implemented the distributed code assist calltips method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 198
diff changeset
211 resource = rope.base.libutils.path_to_resource(
ae2ad82725b0 Implemented the distributed code assist calltips method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 198
diff changeset
212 self.__project, filename)
ae2ad82725b0 Implemented the distributed code assist calltips method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 198
diff changeset
213 else:
ae2ad82725b0 Implemented the distributed code assist calltips method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 198
diff changeset
214 resource = None
ae2ad82725b0 Implemented the distributed code assist calltips method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 198
diff changeset
215
ae2ad82725b0 Implemented the distributed code assist calltips method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 198
diff changeset
216 errorDict = {}
ae2ad82725b0 Implemented the distributed code assist calltips method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 198
diff changeset
217 calltips = []
ae2ad82725b0 Implemented the distributed code assist calltips method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 198
diff changeset
218
ae2ad82725b0 Implemented the distributed code assist calltips method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 198
diff changeset
219 try:
ae2ad82725b0 Implemented the distributed code assist calltips method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 198
diff changeset
220 cts = rope.contrib.codeassist.get_calltip(
ae2ad82725b0 Implemented the distributed code assist calltips method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 198
diff changeset
221 self.__project, source, offset, resource, maxfixes=maxfixes,
ae2ad82725b0 Implemented the distributed code assist calltips method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 198
diff changeset
222 remove_self=True)
ae2ad82725b0 Implemented the distributed code assist calltips method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 198
diff changeset
223 if cts is not None:
ae2ad82725b0 Implemented the distributed code assist calltips method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 198
diff changeset
224 calltips = [cts]
ae2ad82725b0 Implemented the distributed code assist calltips method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 198
diff changeset
225 except Exception as err:
ae2ad82725b0 Implemented the distributed code assist calltips method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 198
diff changeset
226 errorDict = self.__handleRopeError(err)
ae2ad82725b0 Implemented the distributed code assist calltips method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 198
diff changeset
227
ae2ad82725b0 Implemented the distributed code assist calltips method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 198
diff changeset
228 result = {
ae2ad82725b0 Implemented the distributed code assist calltips method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 198
diff changeset
229 "CallTips": calltips,
ae2ad82725b0 Implemented the distributed code assist calltips method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 198
diff changeset
230 }
ae2ad82725b0 Implemented the distributed code assist calltips method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 198
diff changeset
231 result.update(errorDict)
ae2ad82725b0 Implemented the distributed code assist calltips method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 198
diff changeset
232
ae2ad82725b0 Implemented the distributed code assist calltips method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 198
diff changeset
233 self.sendJson("CallTipsResult", result)
200
1584892147ef Implemented the distributed code assist "report changed" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 199
diff changeset
234
1584892147ef Implemented the distributed code assist "report changed" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 199
diff changeset
235 def __reportChanged(self, params):
1584892147ef Implemented the distributed code assist "report changed" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 199
diff changeset
236 """
1584892147ef Implemented the distributed code assist "report changed" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 199
diff changeset
237 Private method to register some changed sources.
1584892147ef Implemented the distributed code assist "report changed" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 199
diff changeset
238
1584892147ef Implemented the distributed code assist "report changed" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 199
diff changeset
239 @param params dictionary containing the method parameters sent by
1584892147ef Implemented the distributed code assist "report changed" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 199
diff changeset
240 the server
1584892147ef Implemented the distributed code assist "report changed" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 199
diff changeset
241 @type dict
1584892147ef Implemented the distributed code assist "report changed" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 199
diff changeset
242 """
1584892147ef Implemented the distributed code assist "report changed" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 199
diff changeset
243 filename = params["FileName"]
1584892147ef Implemented the distributed code assist "report changed" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 199
diff changeset
244 oldSource = params["OldSource"]
1584892147ef Implemented the distributed code assist "report changed" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 199
diff changeset
245
1584892147ef Implemented the distributed code assist "report changed" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 199
diff changeset
246 try:
1584892147ef Implemented the distributed code assist "report changed" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 199
diff changeset
247 rope.base.libutils.report_change(
1584892147ef Implemented the distributed code assist "report changed" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 199
diff changeset
248 self.__project, filename, oldSource)
1584892147ef Implemented the distributed code assist "report changed" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 199
diff changeset
249 except Exception:
1584892147ef Implemented the distributed code assist "report changed" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 199
diff changeset
250 # simply ignore it
1584892147ef Implemented the distributed code assist "report changed" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 199
diff changeset
251 pass
196
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
252
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
253
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
254 if __name__ == '__main__':
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
255 if len(sys.argv) != 5:
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
256 print('Host, port, id and project path parameters are missing. Abort.')
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
257 sys.exit(1)
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
258
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
259 host, port, idString, projectPath = sys.argv[1:]
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
260
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
261 # Create a Qt4/5 application object in order to allow the processing of
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
262 # modules containing Qt stuff.
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
263 try:
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
264 from PyQt5.QtCore import QCoreApplication
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
265 except ImportError:
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
266 try:
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
267 from PyQt4.QtCore import QCoreApplication
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
268 except ImportError:
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
269 QCoreApplication = None
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
270 if QCoreApplication is not None:
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
271 app = QCoreApplication(sys.argv)
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
272
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
273 client = CodeAssistClient(host, int(port), idString, projectPath)
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
274 # Start the main loop
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
275 client.run()
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
276
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
277 sys.exit(0)
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
278
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
279 #
26986d285975 Added the new code assist client.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
280 # eflag: noqa = M801

eric ide

mercurial