PluginRefactoringRope.py

Sun, 20 Oct 2024 18:48:08 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 20 Oct 2024 18:48:08 +0200
branch
eric7
changeset 418
5890e221df60
parent 416
45159308166f
child 420
fa31c3a0df1d
permissions
-rw-r--r--

Fixed an issue related to 'eric-ide' server use.

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

eric ide

mercurial