PluginRefactoringRope.py

Tue, 10 Dec 2024 15:49:01 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 10 Dec 2024 15:49:01 +0100
branch
eric7
changeset 426
7592a1c052e8
parent 422
f98253eed7f0
permissions
-rw-r--r--

Updated copyright for 2025.

1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
1 # -*- coding: utf-8 -*-
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
2
426
7592a1c052e8 Updated copyright for 2025.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 422
diff changeset
3 # Copyright (c) 2010 - 2025 Detlev Offenbach <detlev@die-offenbachs.de>
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
4 #
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
5
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
6 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
7 Module implementing the Rope refactoring plugin.
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
8 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
9
409
65153bf17e8d Fixed a bug and resorted the imports with isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 406
diff changeset
10 import contextlib
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
11 import os
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
12
409
65153bf17e8d Fixed a bug and resorted the imports with isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 406
diff changeset
13 from PyQt6.QtCore import QCoreApplication, QObject, Qt, QTranslator
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
14 from PyQt6.QtGui import QPalette
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
15
396
933b8fcd854f Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 394
diff changeset
16 from eric7 import Preferences, Utilities
933b8fcd854f Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 394
diff changeset
17 from eric7.EricWidgets.EricApplication import ericApp
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
18
416
45159308166f Fixed an issue related to 'eric-ide' server use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 414
diff changeset
19 try:
45159308166f Fixed an issue related to 'eric-ide' server use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 414
diff changeset
20 from eric7.SystemUtilities.FileSystemUtilities import isRemoteFileName
45159308166f Fixed an issue related to 'eric-ide' server use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 414
diff changeset
21 except ImportError:
45159308166f Fixed an issue related to 'eric-ide' server use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 414
diff changeset
22 from .RefactoringRope.RopeUtilities import isRemoteFileName
45159308166f Fixed an issue related to 'eric-ide' server use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 414
diff changeset
23
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
24 # Start-Of-Header
422
f98253eed7f0 - change to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 420
diff changeset
25 __header__ = {
f98253eed7f0 - change to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 420
diff changeset
26 "name": "Refactoring Rope Plugin",
f98253eed7f0 - change to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 420
diff changeset
27 "author": "Detlev Offenbach <detlev@die-offenbachs.de>",
f98253eed7f0 - change to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 420
diff changeset
28 "autoactivate": True,
f98253eed7f0 - change to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 420
diff changeset
29 "deactivateable": True,
f98253eed7f0 - change to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 420
diff changeset
30 "version": "10.7.4",
f98253eed7f0 - change to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 420
diff changeset
31 "className": "RefactoringRopePlugin",
f98253eed7f0 - change to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 420
diff changeset
32 "packageName": "RefactoringRope",
f98253eed7f0 - change to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 420
diff changeset
33 "shortDescription": "Refactoring and Code Assist using the Rope library.",
f98253eed7f0 - change to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 420
diff changeset
34 "longDescription": (
f98253eed7f0 - change to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 420
diff changeset
35 """This plug-in implements refactoring functionality using the Rope"""
f98253eed7f0 - change to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 420
diff changeset
36 """ refactoring library. Additionally it implements an auto-completion,"""
f98253eed7f0 - change to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 420
diff changeset
37 """ call-tips and code documentation provider as well as a mouse"""
f98253eed7f0 - change to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 420
diff changeset
38 """ click handler."""
f98253eed7f0 - change to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 420
diff changeset
39 ),
f98253eed7f0 - change to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 420
diff changeset
40 "hasCompiledForms": True,
f98253eed7f0 - change to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 420
diff changeset
41 "pyqtApi": 2,
f98253eed7f0 - change to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 420
diff changeset
42 "doNotCompile": True,
f98253eed7f0 - change to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 420
diff changeset
43 }
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
44 # End-Of-Header
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
45
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
46 error = ""
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
47
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
48 refactoringRopePluginObject = None
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
49
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
50
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
51 def createAutoCompletionPage(configDlg): # noqa: U100
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
52 """
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
53 Module function to create the autocompletion configuration page.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
54
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
55 @param configDlg reference to the configuration dialog
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 362
diff changeset
56 @type ConfigurationWidget
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
57 @return reference to the configuration page
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 362
diff changeset
58 @rtype AutoCompletionRopePage
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
59 """
320
91b171fdd85f Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 319
diff changeset
60 from RefactoringRope.ConfigurationPage.AutoCompletionRopePage import (
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
61 AutoCompletionRopePage,
320
91b171fdd85f Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 319
diff changeset
62 )
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
63
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
64 global refactoringRopePluginObject
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
65
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
66 page = AutoCompletionRopePage(refactoringRopePluginObject)
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
67 return page
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
68
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
69
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
70 def createCallTipsPage(configDlg): # noqa: U100
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
71 """
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
72 Module function to create the calltips configuration page.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
73
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
74 @param configDlg reference to the configuration dialog
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 362
diff changeset
75 @type ConfigurationWidget
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
76 @return reference to the configuration page
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 362
diff changeset
77 @rtype CallTipsRopePage
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
78 """
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
79 from RefactoringRope.ConfigurationPage.CallTipsRopePage import CallTipsRopePage
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
80
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
81 global refactoringRopePluginObject
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
82
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
83 page = CallTipsRopePage(refactoringRopePluginObject)
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
84 return page
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
85
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
86
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
87 def createMouseClickHandlerPage(configDlg): # noqa: U100
129
23ee57a96ea3 Added capability to go to the definition of a class or function by clicking on it (while holding the Ctrl key or another configurable modifier sequence) (needs eric 6.1.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 127
diff changeset
88 """
23ee57a96ea3 Added capability to go to the definition of a class or function by clicking on it (while holding the Ctrl key or another configurable modifier sequence) (needs eric 6.1.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 127
diff changeset
89 Module function to create the mouse click handler configuration page.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
90
129
23ee57a96ea3 Added capability to go to the definition of a class or function by clicking on it (while holding the Ctrl key or another configurable modifier sequence) (needs eric 6.1.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 127
diff changeset
91 @param configDlg reference to the configuration dialog
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 362
diff changeset
92 @type ConfigurationWidget
129
23ee57a96ea3 Added capability to go to the definition of a class or function by clicking on it (while holding the Ctrl key or another configurable modifier sequence) (needs eric 6.1.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 127
diff changeset
93 @return reference to the configuration page
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 362
diff changeset
94 @rtype MouseClickHandlerRopePage
129
23ee57a96ea3 Added capability to go to the definition of a class or function by clicking on it (while holding the Ctrl key or another configurable modifier sequence) (needs eric 6.1.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 127
diff changeset
95 """
320
91b171fdd85f Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 319
diff changeset
96 from RefactoringRope.ConfigurationPage.MouseClickHandlerRopePage import (
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
97 MouseClickHandlerRopePage,
320
91b171fdd85f Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 319
diff changeset
98 )
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
99
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
100 global refactoringRopePluginObject
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
101
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
102 page = MouseClickHandlerRopePage(refactoringRopePluginObject)
129
23ee57a96ea3 Added capability to go to the definition of a class or function by clicking on it (while holding the Ctrl key or another configurable modifier sequence) (needs eric 6.1.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 127
diff changeset
103 return page
23ee57a96ea3 Added capability to go to the definition of a class or function by clicking on it (while holding the Ctrl key or another configurable modifier sequence) (needs eric 6.1.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 127
diff changeset
104
23ee57a96ea3 Added capability to go to the definition of a class or function by clicking on it (while holding the Ctrl key or another configurable modifier sequence) (needs eric 6.1.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 127
diff changeset
105
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
106 def getConfigData():
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
107 """
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
108 Module function returning data as required by the configuration dialog.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
109
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
110 @return dictionary containing the relevant data
201
e677d82706d4 Extended the auto completions pictures supported by code assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 200
diff changeset
111 @rtype dict
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
112 """
327
473fd642982e Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 326
diff changeset
113 try:
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 362
diff changeset
114 usesDarkPalette = ericApp().usesDarkPalette()
327
473fd642982e Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 326
diff changeset
115 except AttributeError:
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 362
diff changeset
116 palette = ericApp().palette()
327
473fd642982e Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 326
diff changeset
117 lightness = palette.color(QPalette.Window).lightness()
473fd642982e Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 326
diff changeset
118 usesDarkPalette = lightness <= 128
354
a967ff16629a - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 351
diff changeset
119 iconSuffix = "dark" if usesDarkPalette else "light"
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
120
129
23ee57a96ea3 Added capability to go to the definition of a class or function by clicking on it (while holding the Ctrl key or another configurable modifier sequence) (needs eric 6.1.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 127
diff changeset
121 data = {
118
d242ba11a04c Fixed a few code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 116
diff changeset
122 "ropeAutoCompletionPage": [
d242ba11a04c Fixed a few code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 116
diff changeset
123 QCoreApplication.translate("RefactoringRopePlugin", "Rope"),
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
124 os.path.join(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
125 "RefactoringRope",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
126 "ConfigurationPage",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
127 "preferences-refactoring-{0}".format(iconSuffix),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
128 ),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
129 createAutoCompletionPage,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
130 "1editorAutocompletionPage",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
131 None,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
132 ],
118
d242ba11a04c Fixed a few code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 116
diff changeset
133 "ropeCallTipsPage": [
d242ba11a04c Fixed a few code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 116
diff changeset
134 QCoreApplication.translate("RefactoringRopePlugin", "Rope"),
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
135 os.path.join(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
136 "RefactoringRope",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
137 "ConfigurationPage",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
138 "preferences-refactoring-{0}".format(iconSuffix),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
139 ),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
140 createCallTipsPage,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
141 "1editorCalltipsPage",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
142 None,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
143 ],
191
2af42804bca2 Did some code refactoring and removed backward compatability code for eric < 6.1.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 189
diff changeset
144 "ropeMouseClickHandlerPage": [
129
23ee57a96ea3 Added capability to go to the definition of a class or function by clicking on it (while holding the Ctrl key or another configurable modifier sequence) (needs eric 6.1.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 127
diff changeset
145 QCoreApplication.translate("RefactoringRopePlugin", "Rope"),
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
146 os.path.join(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
147 "RefactoringRope",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
148 "ConfigurationPage",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
149 "preferences-refactoring-{0}".format(iconSuffix),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
150 ),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
151 createMouseClickHandlerPage,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
152 "1editorMouseClickHandlers",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
153 None,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
154 ],
191
2af42804bca2 Did some code refactoring and removed backward compatability code for eric < 6.1.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 189
diff changeset
155 }
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
156
129
23ee57a96ea3 Added capability to go to the definition of a class or function by clicking on it (while holding the Ctrl key or another configurable modifier sequence) (needs eric 6.1.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 127
diff changeset
157 return data
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
158
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
159
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
160 def prepareUninstall():
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
161 """
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
162 Module function to prepare for an uninstallation.
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
163 """
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
164 Preferences.Prefs.settings.remove(RefactoringRopePlugin.PreferencesKey)
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
165
20
83b71483e198 Made the code PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
166
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
167 class RefactoringRopePlugin(QObject):
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
168 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
169 Class implementing the Rope refactoring plugin.
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
170 """
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
171
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
172 PreferencesKey = "RefactoringRope"
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
173
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
174 def __init__(self, ui):
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
175 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
176 Constructor
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
177
201
e677d82706d4 Extended the auto completions pictures supported by code assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 200
diff changeset
178 @param ui reference to the user interface object
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 362
diff changeset
179 @type UserInterface
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
180 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
181 QObject.__init__(self, ui)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
182 self.__ui = ui
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
183 self.__initialize()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
184
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
185 self.__defaults = {
118
d242ba11a04c Fixed a few code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 116
diff changeset
186 "CodeAssistEnabled": False,
d242ba11a04c Fixed a few code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 116
diff changeset
187 "MaxFixes": 10,
d242ba11a04c Fixed a few code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 116
diff changeset
188 "CodeAssistCalltipsEnabled": False,
d242ba11a04c Fixed a few code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 116
diff changeset
189 "CalltipsMaxFixes": 10,
129
23ee57a96ea3 Added capability to go to the definition of a class or function by clicking on it (while holding the Ctrl key or another configurable modifier sequence) (needs eric 6.1.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 127
diff changeset
190 "MouseClickEnabled": True,
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 362
diff changeset
191 "MouseClickGotoModifiers": (
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
192 Qt.KeyboardModifier.ControlModifier | Qt.KeyboardModifier.AltModifier
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 362
diff changeset
193 ),
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 362
diff changeset
194 "MouseClickGotoButton": Qt.MouseButton.LeftButton,
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
195 }
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
196
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
197 self.__translator = None
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
198 self.__loadTranslator()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
199
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
200 def __initialize(self):
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
201 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
202 Private slot to (re)initialize the plugin.
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
203 """
191
2af42804bca2 Did some code refactoring and removed backward compatability code for eric < 6.1.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 189
diff changeset
204 self.__refactoringServer = None
195
5d614a567be3 Continued implementing the distributed Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
205 self.__codeAssistServer = None
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
206
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
207 self.__editors = []
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
208
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
209 self.__currentEditor = None
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
210 self.__savedEditorName = None
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
211 self.__oldEditorText = ""
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
212
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
213 def activate(self):
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
214 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
215 Public method to activate this plugin.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
216
201
e677d82706d4 Extended the auto completions pictures supported by code assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 200
diff changeset
217 @return tuple of None and activation status
e677d82706d4 Extended the auto completions pictures supported by code assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 200
diff changeset
218 @rtype tuple of (None, bool)
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
219 """
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
220 from RefactoringRope.CodeAssistServer import CodeAssistServer
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
221 from RefactoringRope.RefactoringServer import RefactoringServer
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
222
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
223 global refactoringRopePluginObject
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
224 refactoringRopePluginObject = self
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
225
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
226 ericApp().getObject("PluginManager").shutdown.connect(self.__shutdown)
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
227
420
fa31c3a0df1d Adjusted code for eric7 24.10 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 418
diff changeset
228 self.__codeAssistServer = CodeAssistServer(self, parent=self.__ui)
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: 203
diff changeset
229 self.__codeAssistServer.activate()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
230
420
fa31c3a0df1d Adjusted code for eric7 24.10 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 418
diff changeset
231 self.__refactoringServer = RefactoringServer(self, parent=self.__ui)
191
2af42804bca2 Did some code refactoring and removed backward compatability code for eric < 6.1.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 189
diff changeset
232 self.__refactoringServer.activate()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
233
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
234 ericApp().getObject("PluginManager").shutdown.connect(self.__shutdown)
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
235 ericApp().getObject("ViewManager").editorOpenedEd.connect(self.__editorOpened)
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
236 ericApp().getObject("ViewManager").editorClosedEd.connect(self.__editorClosed)
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
237
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 362
diff changeset
238 for editor in ericApp().getObject("ViewManager").getOpenEditors():
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: 203
diff changeset
239 self.__editorOpened(editor)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
240
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
241 return None, True
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
242
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
243 def deactivate(self):
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
244 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
245 Public method to deactivate this plugin.
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
246 """
222
5771e459f94c Fixed an issue deactivating the rope plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 217
diff changeset
247 if self.__refactoringServer:
5771e459f94c Fixed an issue deactivating the rope plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 217
diff changeset
248 self.__refactoringServer.deactivate()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
249
222
5771e459f94c Fixed an issue deactivating the rope plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 217
diff changeset
250 if self.__codeAssistServer:
5771e459f94c Fixed an issue deactivating the rope plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 217
diff changeset
251 self.__codeAssistServer.deactivate()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
252
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
253 ericApp().getObject("PluginManager").shutdown.disconnect(self.__shutdown)
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 362
diff changeset
254 ericApp().getObject("ViewManager").editorOpenedEd.disconnect(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
255 self.__editorOpened
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
256 )
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 362
diff changeset
257 ericApp().getObject("ViewManager").editorClosedEd.disconnect(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
258 self.__editorClosed
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
259 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
260
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
261 for editor in self.__editors[:]:
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
262 self.__editorClosed(editor)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
263
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
264 self.__initialize()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
265
197
7046ac1bcb4b Continued implementing the distributed Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 195
diff changeset
266 def __shutdown(self):
7046ac1bcb4b Continued implementing the distributed Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 195
diff changeset
267 """
7046ac1bcb4b Continued implementing the distributed Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 195
diff changeset
268 Private slot handling the shutdown signal of the plug-in manager.
7046ac1bcb4b Continued implementing the distributed Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 195
diff changeset
269 """
7046ac1bcb4b Continued implementing the distributed Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 195
diff changeset
270 if self.__codeAssistServer:
7046ac1bcb4b Continued implementing the distributed Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 195
diff changeset
271 self.__codeAssistServer.deactivate()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
272
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
273 def __loadTranslator(self):
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
274 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
275 Private method to load the translation file.
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
276 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
277 if self.__ui is not None:
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
278 loc = self.__ui.getLocale()
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
279 if loc and loc != "C":
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
280 locale_dir = os.path.join(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
281 os.path.dirname(__file__), "RefactoringRope", "i18n"
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
282 )
151
5260100b6700 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 148
diff changeset
283 translation = "rope_{0}".format(loc)
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
284 translator = QTranslator(None)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
285 loaded = translator.load(translation, locale_dir)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
286 if loaded:
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
287 self.__translator = translator
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 362
diff changeset
288 ericApp().installTranslator(self.__translator)
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
289 else:
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
290 print(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
291 "Warning: translation file '{0}' could not"
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
292 " be loaded.".format(translation)
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
293 )
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
294 print("Using default.")
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
295
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
296 def getPreferences(self, key):
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
297 """
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
298 Public method to retrieve the various refactoring settings.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
299
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
300 @param key the key of the value to get
201
e677d82706d4 Extended the auto completions pictures supported by code assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 200
diff changeset
301 @type str
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
302 @return the requested refactoring setting
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 362
diff changeset
303 @rtype Any
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
304 """
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
305 if key in [
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
306 "CodeAssistEnabled",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
307 "CodeAssistCalltipsEnabled",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
308 "MouseClickEnabled",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
309 ]:
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
310 return Preferences.toBool(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
311 Preferences.Prefs.settings.value(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
312 self.PreferencesKey + "/" + key, self.__defaults[key]
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
313 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
314 )
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 362
diff changeset
315 elif key in ["CalltipsMaxFixes", "MaxFixes"]:
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
316 return int(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
317 Preferences.Prefs.settings.value(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
318 self.PreferencesKey + "/" + key, self.__defaults[key]
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
319 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
320 )
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 362
diff changeset
321 else:
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 362
diff changeset
322 return Preferences.Prefs.settings.value(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
323 self.PreferencesKey + "/" + key, self.__defaults[key]
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
324 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
325
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
326 def setPreferences(self, key, value):
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
327 """
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
328 Public method to store the various refactoring settings.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
329
201
e677d82706d4 Extended the auto completions pictures supported by code assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 200
diff changeset
330 @param key the key of the setting to be set
e677d82706d4 Extended the auto completions pictures supported by code assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 200
diff changeset
331 @type str
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
332 @param value the value to be set
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 362
diff changeset
333 @type Any
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
334 """
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
335 Preferences.Prefs.settings.setValue(self.PreferencesKey + "/" + key, value)
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
336
293
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
337 if key in ["MouseClickGotoModifiers", "MouseClickGotoButton"]:
129
23ee57a96ea3 Added capability to go to the definition of a class or function by clicking on it (while holding the Ctrl key or another configurable modifier sequence) (needs eric 6.1.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 127
diff changeset
338 for editor in self.__editors:
293
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
339 self.__disconnectMouseClickHandler(editor)
416
45159308166f Fixed an issue related to 'eric-ide' server use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 414
diff changeset
340 if not isRemoteFileName(editor.getFileName()):
45159308166f Fixed an issue related to 'eric-ide' server use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 414
diff changeset
341 self.__connectMouseClickHandler(editor)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
342
293
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
343 def __determineLanguage(self):
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
344 """
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
345 Private method to determine the valid language strings.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
346
293
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
347 @return list of valid language strings
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
348 @rtype list of str
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
349 """
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
350 return [
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
351 "Python3",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
352 "MicroPython",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
353 "Pygments|Python",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
354 "Pygments|Python 2.x",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
355 "Cython",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
356 ]
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
357
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
358 def __editorOpened(self, editor):
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
359 """
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
360 Private slot called, when a new editor was opened.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
361
202
a111134b5dc7 Started correcting the source code documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 201
diff changeset
362 @param editor reference to the new editor
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 362
diff changeset
363 @type Editor
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
364 """
416
45159308166f Fixed an issue related to 'eric-ide' server use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 414
diff changeset
365 if not isRemoteFileName(editor.getFileName()):
45159308166f Fixed an issue related to 'eric-ide' server use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 414
diff changeset
366 languages = self.__determineLanguage()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
367
416
45159308166f Fixed an issue related to 'eric-ide' server use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 414
diff changeset
368 if editor.getLanguage() in languages:
45159308166f Fixed an issue related to 'eric-ide' server use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 414
diff changeset
369 self.__connectEditor(editor)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
370
416
45159308166f Fixed an issue related to 'eric-ide' server use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 414
diff changeset
371 editor.languageChanged.connect(self.__editorLanguageChanged)
45159308166f Fixed an issue related to 'eric-ide' server use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 414
diff changeset
372 self.__editors.append(editor)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
373
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
374 def __editorClosed(self, editor):
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
375 """
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
376 Private slot called, when an editor was closed.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
377
202
a111134b5dc7 Started correcting the source code documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 201
diff changeset
378 @param editor reference to the editor
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 362
diff changeset
379 @type Editor
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
380 """
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
381 if editor in self.__editors:
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
382 editor.languageChanged.disconnect(self.__editorLanguageChanged)
101
5098ad8960ed Fixed issues connecting/disconnecting editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 100
diff changeset
383 self.__disconnectEditor(editor)
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
384 self.__editors.remove(editor)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
385
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
386 def __editorLanguageChanged(self, language):
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
387 """
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
388 Private slot to handle the language change of an editor.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
389
202
a111134b5dc7 Started correcting the source code documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 201
diff changeset
390 @param language programming language of the editor
a111134b5dc7 Started correcting the source code documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 201
diff changeset
391 @type str
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
392 """
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
393 editor = self.sender()
416
45159308166f Fixed an issue related to 'eric-ide' server use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 414
diff changeset
394 if not isRemoteFileName(editor.getFileName()):
45159308166f Fixed an issue related to 'eric-ide' server use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 414
diff changeset
395 languages = self.__determineLanguage()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
396
416
45159308166f Fixed an issue related to 'eric-ide' server use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 414
diff changeset
397 self.__disconnectEditor(editor)
45159308166f Fixed an issue related to 'eric-ide' server use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 414
diff changeset
398 if language in languages:
45159308166f Fixed an issue related to 'eric-ide' server use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 414
diff changeset
399 self.__connectEditor(editor)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
400
101
5098ad8960ed Fixed issues connecting/disconnecting editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 100
diff changeset
401 def __connectEditor(self, editor):
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
402 """
101
5098ad8960ed Fixed issues connecting/disconnecting editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 100
diff changeset
403 Private method to connect an editor.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
404
202
a111134b5dc7 Started correcting the source code documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 201
diff changeset
405 @param editor reference to the editor
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 362
diff changeset
406 @type Editor
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
407 """
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
408 editor.editorAboutToBeSaved.connect(self.__editorAboutToBeSaved)
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
409 editor.editorSaved.connect(self.__editorSaved)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
410
293
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
411 self.__setAutoCompletionHook(editor)
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
412 self.__setCalltipsHook(editor)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
413
293
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
414 self.__connectMouseClickHandler(editor)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
415
101
5098ad8960ed Fixed issues connecting/disconnecting editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 100
diff changeset
416 def __disconnectEditor(self, editor):
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
417 """
101
5098ad8960ed Fixed issues connecting/disconnecting editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 100
diff changeset
418 Private method to disconnect an editor.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
419
202
a111134b5dc7 Started correcting the source code documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 201
diff changeset
420 @param editor reference to the editor
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 362
diff changeset
421 @type Editor
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
422 """
354
a967ff16629a - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 351
diff changeset
423 with contextlib.suppress(TypeError):
101
5098ad8960ed Fixed issues connecting/disconnecting editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 100
diff changeset
424 editor.editorAboutToBeSaved.disconnect(self.__editorAboutToBeSaved)
5098ad8960ed Fixed issues connecting/disconnecting editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 100
diff changeset
425 editor.editorSaved.disconnect(self.__editorSaved)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
426
293
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
427 self.__unsetAutoCompletionHook(editor)
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
428 self.__unsetCalltipsHook(editor)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
429
293
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
430 self.__disconnectMouseClickHandler(editor)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
431
293
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
432 def __connectMouseClickHandler(self, editor):
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
433 """
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
434 Private method to connect the mouse click handler to an editor.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
435
293
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
436 @param editor reference to the editor
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 362
diff changeset
437 @type Editor
293
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
438 """
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
439 if self.getPreferences("MouseClickGotoButton"):
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
440 editor.setMouseClickHandler(
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
441 "rope",
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
442 self.getPreferences("MouseClickGotoModifiers"),
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
443 self.getPreferences("MouseClickGotoButton"),
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
444 self.__codeAssistServer.gotoDefinition,
293
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
445 )
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
446
293
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
447 def __disconnectMouseClickHandler(self, editor):
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
448 """
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
449 Private method to disconnect the mouse click handler from an editor.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
450
293
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
451 @param editor reference to the editor
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 362
diff changeset
452 @type Editor
293
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
453 """
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
454 editor.removeMouseClickHandlers("rope")
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
455
293
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
456 def __setAutoCompletionHook(self, editor):
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
457 """
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
458 Private method to set the autocompletion hook.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
459
293
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
460 @param editor reference to the editor
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 362
diff changeset
461 @type Editor
293
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
462 """
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 362
diff changeset
463 editor.addCompletionListHook(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
464 "rope", self.__codeAssistServer.requestCompletions, True
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
465 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
466
293
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
467 def __unsetAutoCompletionHook(self, editor):
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
468 """
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
469 Private method to unset the autocompletion hook.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
470
293
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
471 @param editor reference to the editor
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 362
diff changeset
472 @type Editor
293
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
473 """
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
474 editor.removeCompletionListHook("rope")
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
475
293
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
476 def __setCalltipsHook(self, editor):
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
477 """
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
478 Private method to set the calltip hook.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
479
293
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
480 @param editor reference to the editor
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 362
diff changeset
481 @type Editor
293
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
482 """
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
483 editor.addCallTipHook("rope", self.__codeAssistServer.getCallTips)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
484
293
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
485 def __unsetCalltipsHook(self, editor):
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
486 """
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
487 Private method to unset the calltip hook.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
488
293
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
489 @param editor reference to the editor
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 362
diff changeset
490 @type Editor
293
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
491 """
dd1c7ed6d880 Code Assist: started to move the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 287
diff changeset
492 editor.removeCallTipHook("rope")
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
493
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
494 def __editorAboutToBeSaved(self, filename):
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
495 """
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
496 Private slot to get the old contents of the named file.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
497
202
a111134b5dc7 Started correcting the source code documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 201
diff changeset
498 @param filename name of the file about to be saved
a111134b5dc7 Started correcting the source code documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 201
diff changeset
499 @type str
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
500 """
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
501 if filename and os.path.exists(filename):
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
502 try:
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
503 self.__oldEditorText = Utilities.readEncodedFile(filename)[0]
345
622076fd58b6 Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 343
diff changeset
504 except OSError:
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
505 self.__oldEditorText = ""
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
506 self.__savedEditorName = filename
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
507 else:
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
508 self.__savedEditorName = ""
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
509 self.__oldEditorText = ""
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
510
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
511 def __editorSaved(self, filename):
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
512 """
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
513 Private slot to activate SOA.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
514
202
a111134b5dc7 Started correcting the source code documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 201
diff changeset
515 @param filename name of the file that was saved
a111134b5dc7 Started correcting the source code documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 201
diff changeset
516 @type str
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
517 """
104
f6049d39f83d Made the code completion work in case no project is open.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 101
diff changeset
518 if filename == self.__savedEditorName and self.__oldEditorText:
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
519 self.__refactoringServer.reportChanged(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
520 self.__savedEditorName, self.__oldEditorText
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
521 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
522 self.__codeAssistServer.reportChanged(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
523 self.__savedEditorName, self.__oldEditorText
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
524 )
104
f6049d39f83d Made the code completion work in case no project is open.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 101
diff changeset
525 else:
191
2af42804bca2 Did some code refactoring and removed backward compatability code for eric < 6.1.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 189
diff changeset
526 self.__refactoringServer.reportChanged(filename, "")
195
5d614a567be3 Continued implementing the distributed Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
527 self.__codeAssistServer.reportChanged(filename, "")
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
528
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: 203
diff changeset
529 def getCodeAssistServer(self):
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
530 """
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: 203
diff changeset
531 Public method to get a reference to the code assist server.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
532
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: 203
diff changeset
533 @return reference to the code assist 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: 203
diff changeset
534 @rtype CodeAssistServer
100
2bfe9e3fad8d Ported the code completion and calltips support of the eric4 variant of this plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
535 """
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: 203
diff changeset
536 return self.__codeAssistServer
151
5260100b6700 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 148
diff changeset
537
360
2b35968f3d02 Version 8.0.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 358
diff changeset
538
2b35968f3d02 Version 8.0.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 358
diff changeset
539 def installDependencies(pipInstall):
2b35968f3d02 Version 8.0.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 358
diff changeset
540 """
2b35968f3d02 Version 8.0.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 358
diff changeset
541 Function to install dependencies of this plug-in.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
542
360
2b35968f3d02 Version 8.0.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 358
diff changeset
543 @param pipInstall function to be called with a list of package names.
2b35968f3d02 Version 8.0.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 358
diff changeset
544 @type function
2b35968f3d02 Version 8.0.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 358
diff changeset
545 """
2b35968f3d02 Version 8.0.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 358
diff changeset
546 try:
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
547 import rope # __IGNORE_WARNING__
360
2b35968f3d02 Version 8.0.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 358
diff changeset
548 except ImportError:
2b35968f3d02 Version 8.0.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 358
diff changeset
549 pipInstall(["rope"])
2b35968f3d02 Version 8.0.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 358
diff changeset
550
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 387
diff changeset
551
151
5260100b6700 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 148
diff changeset
552 #
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
553 # eflag: noqa = M801, U200

eric ide

mercurial