PrEditor 0.4.0__py2.py3-none-any.whl → 0.6.0__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of PrEditor might be problematic. Click here for more details.
- preditor/__init__.py +5 -0
- preditor/gui/console.py +121 -13
- preditor/gui/editor_chooser.py +1 -1
- preditor/gui/group_tab_widget/__init__.py +1 -1
- preditor/gui/group_tab_widget/grouped_tab_widget.py +3 -0
- preditor/gui/loggerwindow.py +154 -70
- preditor/gui/set_text_editor_path_dialog.py +4 -4
- preditor/gui/status_label.py +25 -5
- preditor/gui/suggest_path_quotes_dialog.py +50 -0
- preditor/gui/ui/loggerwindow.ui +82 -34
- preditor/gui/ui/set_text_editor_path_dialog.ui +48 -8
- preditor/gui/ui/suggest_path_quotes_dialog.ui +225 -0
- preditor/gui/workbox_mixin.py +50 -18
- preditor/gui/workbox_text_edit.py +24 -4
- preditor/gui/workboxwidget.py +24 -2
- preditor/scintilla/documenteditor.py +3 -3
- preditor/version.py +2 -2
- {PrEditor-0.4.0.dist-info → preditor-0.6.0.dist-info}/METADATA +19 -18
- {PrEditor-0.4.0.dist-info → preditor-0.6.0.dist-info}/RECORD +23 -21
- {PrEditor-0.4.0.dist-info → preditor-0.6.0.dist-info}/WHEEL +1 -1
- {PrEditor-0.4.0.dist-info → preditor-0.6.0.dist-info}/entry_points.txt +0 -0
- {PrEditor-0.4.0.dist-info → preditor-0.6.0.dist-info/licenses}/LICENSE +0 -0
- {PrEditor-0.4.0.dist-info → preditor-0.6.0.dist-info}/top_level.txt +0 -0
preditor/gui/workbox_mixin.py
CHANGED
|
@@ -67,8 +67,8 @@ class WorkboxMixin(object):
|
|
|
67
67
|
def __exec_all__(self):
|
|
68
68
|
raise NotImplementedError("Mixin method not overridden.")
|
|
69
69
|
|
|
70
|
-
def __exec_selected__(self):
|
|
71
|
-
txt = self.__selected_text__()
|
|
70
|
+
def __exec_selected__(self, truncate=True):
|
|
71
|
+
txt, line = self.__selected_text__()
|
|
72
72
|
|
|
73
73
|
# Remove any leading white space shared across all lines
|
|
74
74
|
txt = textwrap.dedent(txt)
|
|
@@ -76,8 +76,9 @@ class WorkboxMixin(object):
|
|
|
76
76
|
# Get rid of pesky \r's
|
|
77
77
|
txt = self.__unix_end_lines__(txt)
|
|
78
78
|
|
|
79
|
-
# Make workbox line numbers match the workbox line numbers
|
|
80
|
-
|
|
79
|
+
# Make workbox line numbers match the workbox line numbers, by adding
|
|
80
|
+
# the appropriate number of newlines to mimic it's original position in
|
|
81
|
+
# the workbox.
|
|
81
82
|
txt = '\n' * line + txt
|
|
82
83
|
|
|
83
84
|
# execute the code
|
|
@@ -87,7 +88,10 @@ class WorkboxMixin(object):
|
|
|
87
88
|
# If the selected code was a statement print the result of the statement.
|
|
88
89
|
ret = repr(ret)
|
|
89
90
|
self.__console__().startOutputLine()
|
|
90
|
-
|
|
91
|
+
if truncate:
|
|
92
|
+
print(self.truncate_middle(ret, 100))
|
|
93
|
+
else:
|
|
94
|
+
print(ret)
|
|
91
95
|
|
|
92
96
|
def __file_monitoring_enabled__(self):
|
|
93
97
|
"""Returns True if this workbox supports file monitoring.
|
|
@@ -183,8 +187,9 @@ class WorkboxMixin(object):
|
|
|
183
187
|
def __save__(self):
|
|
184
188
|
raise NotImplementedError("Mixin method not overridden.")
|
|
185
189
|
|
|
186
|
-
def __selected_text__(self, start_of_line=False):
|
|
187
|
-
"""Returns selected text or the current line of text
|
|
190
|
+
def __selected_text__(self, start_of_line=False, selectText=False):
|
|
191
|
+
"""Returns selected text or the current line of text, plus the line
|
|
192
|
+
number of the begining of selection / cursor position.
|
|
188
193
|
|
|
189
194
|
If text is selected, it is returned. If nothing is selected, returns the
|
|
190
195
|
entire line of text the cursor is currently on.
|
|
@@ -192,6 +197,13 @@ class WorkboxMixin(object):
|
|
|
192
197
|
Args:
|
|
193
198
|
start_of_line (bool, optional): If text is selected, include any
|
|
194
199
|
leading text from the first line of the selection.
|
|
200
|
+
selectText (bool): If expanding to the entire line from the cursor,
|
|
201
|
+
indicates whether to select that line of text
|
|
202
|
+
|
|
203
|
+
Returns:
|
|
204
|
+
str: The requested text
|
|
205
|
+
line (int): plus the line number of the beginning of selection / cursor
|
|
206
|
+
position.
|
|
195
207
|
"""
|
|
196
208
|
raise NotImplementedError("Mixin method not overridden.")
|
|
197
209
|
|
|
@@ -343,15 +355,35 @@ class WorkboxMixin(object):
|
|
|
343
355
|
__exec_selected__: If the user pressed Shift + Return or pressed the
|
|
344
356
|
number pad enter key calling `__exec_selected__`.
|
|
345
357
|
"""
|
|
346
|
-
if event.key() == Qt.Key_Enter or (
|
|
347
|
-
event.key() == Qt.Key_Return and event.modifiers() == Qt.ShiftModifier
|
|
348
|
-
):
|
|
349
|
-
# Number pad enter, or Shift + Return pressed, execute selected
|
|
350
|
-
if run:
|
|
351
|
-
self.__exec_selected__()
|
|
352
|
-
|
|
353
|
-
if self.window().uiAutoPromptACT.isChecked():
|
|
354
|
-
self.__console__().startInputLine()
|
|
355
|
-
return '__exec_selected__'
|
|
356
358
|
|
|
357
|
-
|
|
359
|
+
# Number pad enter, or Shift + Return pressed, execute selected
|
|
360
|
+
# Ctrl+ Shift+Return pressed, execute selected without truncating output
|
|
361
|
+
if run:
|
|
362
|
+
# self.__exec_selected__()
|
|
363
|
+
# Collect what was pressed
|
|
364
|
+
key = event.key()
|
|
365
|
+
modifiers = event.modifiers()
|
|
366
|
+
|
|
367
|
+
# Determine which relevant combos are pressed
|
|
368
|
+
ret = key == Qt.Key_Return
|
|
369
|
+
enter = key == Qt.Key_Enter
|
|
370
|
+
shift = modifiers == Qt.ShiftModifier
|
|
371
|
+
ctrlShift = modifiers == Qt.ControlModifier | Qt.ShiftModifier
|
|
372
|
+
|
|
373
|
+
# Determine which actions to take
|
|
374
|
+
evalTrunc = enter or (ret and shift)
|
|
375
|
+
evalNoTrunc = ret and ctrlShift
|
|
376
|
+
|
|
377
|
+
if evalTrunc:
|
|
378
|
+
# Execute with truncation
|
|
379
|
+
self.window().execSelected()
|
|
380
|
+
elif evalNoTrunc:
|
|
381
|
+
# Execute without truncation
|
|
382
|
+
self.window().execSelected(truncate=False)
|
|
383
|
+
|
|
384
|
+
if evalTrunc or evalNoTrunc:
|
|
385
|
+
if self.window().uiAutoPromptACT.isChecked():
|
|
386
|
+
self.__console__().startInputLine()
|
|
387
|
+
return '__exec_selected__'
|
|
388
|
+
else:
|
|
389
|
+
return False
|
|
@@ -32,6 +32,12 @@ class WorkboxTextEdit(WorkboxMixin, QTextEdit):
|
|
|
32
32
|
highlight.setLanguage('Python')
|
|
33
33
|
self.uiCodeHighlighter = highlight
|
|
34
34
|
|
|
35
|
+
def __auto_complete_enabled__(self):
|
|
36
|
+
pass
|
|
37
|
+
|
|
38
|
+
def __set_auto_complete_enabled__(self, state):
|
|
39
|
+
pass
|
|
40
|
+
|
|
35
41
|
def __copy_indents_as_spaces__(self):
|
|
36
42
|
"""When copying code, should it convert leading tabs to spaces?"""
|
|
37
43
|
return False
|
|
@@ -93,12 +99,25 @@ class WorkboxTextEdit(WorkboxMixin, QTextEdit):
|
|
|
93
99
|
super(WorkboxTextEdit, self).__set_text__(text)
|
|
94
100
|
self.setPlainText(text)
|
|
95
101
|
|
|
96
|
-
def __selected_text__(self, start_of_line=False):
|
|
102
|
+
def __selected_text__(self, start_of_line=False, selectText=False):
|
|
97
103
|
cursor = self.textCursor()
|
|
98
104
|
|
|
105
|
+
# Get starting line number. Must set the cursor's position to the start of the
|
|
106
|
+
# selection, otherwise we may instead get the ending line number.
|
|
107
|
+
tempCursor = self.textCursor()
|
|
108
|
+
tempCursor.setPosition(tempCursor.selectionStart())
|
|
109
|
+
line = tempCursor.block().firstLineNumber()
|
|
110
|
+
|
|
99
111
|
# If no selection, return the current line
|
|
100
112
|
if cursor.selection().isEmpty():
|
|
101
|
-
|
|
113
|
+
text = cursor.block().text()
|
|
114
|
+
|
|
115
|
+
selectText = self.window().uiSelectTextACT.isChecked() or selectText
|
|
116
|
+
if selectText:
|
|
117
|
+
cursor.select(QTextCursor.LineUnderCursor)
|
|
118
|
+
self.setTextCursor(cursor)
|
|
119
|
+
|
|
120
|
+
return text, line
|
|
102
121
|
|
|
103
122
|
# Otherwise return the selected text
|
|
104
123
|
if start_of_line:
|
|
@@ -106,9 +125,10 @@ class WorkboxTextEdit(WorkboxMixin, QTextEdit):
|
|
|
106
125
|
sc.setPosition(cursor.selectionStart())
|
|
107
126
|
sc.movePosition(cursor.StartOfLine, sc.MoveAnchor)
|
|
108
127
|
sc.setPosition(cursor.selectionEnd(), sc.KeepAnchor)
|
|
109
|
-
return sc.selection().toPlainText()
|
|
110
128
|
|
|
111
|
-
|
|
129
|
+
return sc.selection().toPlainText(), line
|
|
130
|
+
|
|
131
|
+
return self.textCursor().selection().toPlainText(), line
|
|
112
132
|
|
|
113
133
|
def keyPressEvent(self, event):
|
|
114
134
|
if self.process_shortcut(event):
|
preditor/gui/workboxwidget.py
CHANGED
|
@@ -37,6 +37,8 @@ class WorkboxWidget(WorkboxMixin, DocumentEditor):
|
|
|
37
37
|
self.setLanguage('Python')
|
|
38
38
|
# Default to unix newlines
|
|
39
39
|
self.setEolMode(self.EolUnix)
|
|
40
|
+
if hasattr(self.window(), "setWorkboxFontBasedOnConsole"):
|
|
41
|
+
self.window().setWorkboxFontBasedOnConsole()
|
|
40
42
|
|
|
41
43
|
def __auto_complete_enabled__(self):
|
|
42
44
|
return self.autoCompletionSource() == self.AcsAll
|
|
@@ -142,19 +144,26 @@ class WorkboxWidget(WorkboxMixin, DocumentEditor):
|
|
|
142
144
|
def __save__(self):
|
|
143
145
|
self.save()
|
|
144
146
|
|
|
145
|
-
def __selected_text__(self, start_of_line=False):
|
|
147
|
+
def __selected_text__(self, start_of_line=False, selectText=False):
|
|
146
148
|
line, s, end, e = self.getSelection()
|
|
147
149
|
if line == -1:
|
|
148
150
|
# Nothing is selected, return the current line of text
|
|
149
151
|
line, index = self.getCursorPosition()
|
|
150
152
|
txt = self.text(line)
|
|
153
|
+
|
|
154
|
+
lineLength = len(self.text(line).rstrip())
|
|
155
|
+
selectText = self.window().uiSelectTextACT.isChecked() or selectText
|
|
156
|
+
|
|
157
|
+
if selectText:
|
|
158
|
+
self.setSelection(line, 0, line, lineLength)
|
|
159
|
+
|
|
151
160
|
elif start_of_line:
|
|
152
161
|
ss = self.positionFromLineIndex(line, 0)
|
|
153
162
|
ee = self.positionFromLineIndex(end, e)
|
|
154
163
|
txt = self.text(ss, ee)
|
|
155
164
|
else:
|
|
156
165
|
txt = self.selectedText()
|
|
157
|
-
return self.regex.split(txt)[0]
|
|
166
|
+
return self.regex.split(txt)[0], line
|
|
158
167
|
|
|
159
168
|
def __tab_width__(self):
|
|
160
169
|
return self.tabWidth()
|
|
@@ -194,12 +203,25 @@ class WorkboxWidget(WorkboxMixin, DocumentEditor):
|
|
|
194
203
|
fle.write(cls.__unix_end_lines__(txt))
|
|
195
204
|
|
|
196
205
|
def keyPressEvent(self, event):
|
|
206
|
+
"""Check for certain keyboard shortcuts, and handle them as needed,
|
|
207
|
+
otherwise pass the keyPress to the superclass.
|
|
208
|
+
|
|
209
|
+
NOTE! We handle the "shift+return" shortcut here, rather than the
|
|
210
|
+
QAction's shortcut, because the workbox will always intercept that
|
|
211
|
+
shortcut. So, we handle it here, and call the main window's
|
|
212
|
+
execSelected, which ultimately calls this workbox's __exec_selected__.
|
|
213
|
+
|
|
214
|
+
Also note, it would make sense to have ctrl+Enter also execute without
|
|
215
|
+
truncation, but no modifiers are registered when Enter is pressed (unlike
|
|
216
|
+
when Return is pressed), so this combination is not detectable.
|
|
217
|
+
"""
|
|
197
218
|
if self._software == 'softimage':
|
|
198
219
|
DocumentEditor.keyPressEvent(self, event)
|
|
199
220
|
else:
|
|
200
221
|
if self.process_shortcut(event):
|
|
201
222
|
return
|
|
202
223
|
else:
|
|
224
|
+
# Send regular keystroke
|
|
203
225
|
DocumentEditor.keyPressEvent(self, event)
|
|
204
226
|
|
|
205
227
|
def initShortcuts(self):
|
|
@@ -21,8 +21,9 @@ from functools import partial
|
|
|
21
21
|
|
|
22
22
|
import six
|
|
23
23
|
from PyQt5.Qsci import QsciScintilla
|
|
24
|
+
from PyQt5.QtCore import QTextCodec
|
|
24
25
|
from Qt import QtCompat
|
|
25
|
-
from Qt.QtCore import Property, QFile, QPoint, Qt,
|
|
26
|
+
from Qt.QtCore import Property, QFile, QPoint, Qt, Signal
|
|
26
27
|
from Qt.QtGui import QColor, QFont, QFontMetrics, QIcon
|
|
27
28
|
from Qt.QtWidgets import (
|
|
28
29
|
QAction,
|
|
@@ -331,7 +332,6 @@ class DocumentEditor(QsciScintilla):
|
|
|
331
332
|
|
|
332
333
|
# Do not toggle comments on the last line if it contains no selection
|
|
333
334
|
if line != endLine or endCol:
|
|
334
|
-
|
|
335
335
|
if doWhich == "Comment":
|
|
336
336
|
self.setCursorPosition(line, indent)
|
|
337
337
|
self.insert(commentSpace)
|
|
@@ -431,7 +431,7 @@ class DocumentEditor(QsciScintilla):
|
|
|
431
431
|
line, index = None, None
|
|
432
432
|
if not self.hasSelectedText():
|
|
433
433
|
line, index = self.getCursorPosition()
|
|
434
|
-
self.setSelection(line, 0, line, self.lineLength(line)
|
|
434
|
+
self.setSelection(line, 0, line, self.lineLength(line))
|
|
435
435
|
return line, index
|
|
436
436
|
|
|
437
437
|
def copy(self):
|
preditor/version.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: PrEditor
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.6.0
|
|
4
4
|
Summary: A python REPL and Editor and console based on Qt.
|
|
5
5
|
Home-page: https://github.com/blurstudio/PrEditor.git
|
|
6
6
|
Author: Blur Studio
|
|
@@ -20,25 +20,26 @@ Requires-Python: !=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7
|
|
|
20
20
|
Description-Content-Type: text/markdown
|
|
21
21
|
License-File: LICENSE
|
|
22
22
|
Requires-Dist: Qt.py
|
|
23
|
-
Requires-Dist: configparser
|
|
24
|
-
Requires-Dist: future
|
|
25
|
-
Requires-Dist: python-redmine
|
|
26
|
-
Requires-Dist: signalslot
|
|
27
|
-
Requires-Dist: importlib-metadata
|
|
23
|
+
Requires-Dist: configparser>=4.0.2
|
|
24
|
+
Requires-Dist: future>=0.18.2
|
|
25
|
+
Requires-Dist: python-redmine>=2.1.1
|
|
26
|
+
Requires-Dist: signalslot>=0.1.2
|
|
27
|
+
Requires-Dist: importlib-metadata>=4.8.3; python_version >= "3.6"
|
|
28
28
|
Provides-Extra: cli
|
|
29
|
-
Requires-Dist: click
|
|
30
|
-
Requires-Dist: click-default-group
|
|
29
|
+
Requires-Dist: click>=7.1.2; extra == "cli"
|
|
30
|
+
Requires-Dist: click-default-group; extra == "cli"
|
|
31
31
|
Provides-Extra: dev
|
|
32
|
-
Requires-Dist: black
|
|
33
|
-
Requires-Dist: covdefaults
|
|
34
|
-
Requires-Dist: coverage
|
|
35
|
-
Requires-Dist: flake8
|
|
36
|
-
Requires-Dist: flake8-bugbear
|
|
37
|
-
Requires-Dist: pep8-naming
|
|
38
|
-
Requires-Dist: pytest
|
|
39
|
-
Requires-Dist: tox
|
|
32
|
+
Requires-Dist: black; extra == "dev"
|
|
33
|
+
Requires-Dist: covdefaults; extra == "dev"
|
|
34
|
+
Requires-Dist: coverage; extra == "dev"
|
|
35
|
+
Requires-Dist: flake8; extra == "dev"
|
|
36
|
+
Requires-Dist: flake8-bugbear; extra == "dev"
|
|
37
|
+
Requires-Dist: pep8-naming; extra == "dev"
|
|
38
|
+
Requires-Dist: pytest; extra == "dev"
|
|
39
|
+
Requires-Dist: tox; extra == "dev"
|
|
40
40
|
Provides-Extra: shortcut
|
|
41
|
-
Requires-Dist: casement
|
|
41
|
+
Requires-Dist: casement>=0.1.0; platform_system == "Windows" and extra == "shortcut"
|
|
42
|
+
Dynamic: license-file
|
|
42
43
|
|
|
43
44
|
# PrEditor
|
|
44
45
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
preditor/__init__.py,sha256=
|
|
1
|
+
preditor/__init__.py,sha256=MDcjs6rNu92NDVu-fH3sZWgLtVKnWqDojREeIFU6fII,10735
|
|
2
2
|
preditor/__main__.py,sha256=boRVSmxX6eF8EkzbePtCZbzdcaPseqVae4RPPLp3U1A,449
|
|
3
3
|
preditor/about_module.py,sha256=KIvCxZrMLhm5TR6lYskM4Y9VctJ0QtSQD5Nu8Ip1CGY,5267
|
|
4
4
|
preditor/cli.py,sha256=kyVr0V43KYSMLIEWXH54CA0ByFmPcpbFF-8cli6PVow,5300
|
|
@@ -11,7 +11,7 @@ preditor/plugins.py,sha256=W3DfdDEE5DtEXOXioEyIe4tuIVV1V-RLcV8LoZJWpWU,1916
|
|
|
11
11
|
preditor/prefs.py,sha256=BPtSsdv2yuiRpIaqEml9fxlVYKHNfqQ77hp5YIQRDBg,2172
|
|
12
12
|
preditor/settings.py,sha256=DV9_DbJorEnhdIvW15E7h7PswlQUsy0UlA8bXUYN0og,2206
|
|
13
13
|
preditor/streamhandler_helper.py,sha256=kiU6T9WqJ3JKTTKCa7IUU8brwK7zO5UUpEzLhEfKe44,1788
|
|
14
|
-
preditor/version.py,sha256=
|
|
14
|
+
preditor/version.py,sha256=EkMSrLesUk3YwILml18un292fCmaA26avBUvLZyjx5Y,142
|
|
15
15
|
preditor/weakref.py,sha256=b--KomFAHcMWr3DEAIN2j3XxRhjDWKw0WABXyn1nxDg,12177
|
|
16
16
|
preditor/cores/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
17
|
preditor/cores/core.py,sha256=ZXB4bts05DMQtc-dtkk81chIWNqYXImMuWCYuUHwLdA,2389
|
|
@@ -23,36 +23,38 @@ preditor/gui/__init__.py,sha256=vie2aDVpGjrDYxK1H2pTVIgFjIk6B8nNf6rWNwCVJ3Y,3132
|
|
|
23
23
|
preditor/gui/app.py,sha256=RRiaDpUdWYoVkCFThMfsSSFG63jRt7LKx2QOx8lSdK4,5810
|
|
24
24
|
preditor/gui/codehighlighter.py,sha256=fYrEi2qzKmZcTOCv3qRymGAqC7z4bRzO9IGa6cn-LF4,7199
|
|
25
25
|
preditor/gui/completer.py,sha256=T6fl_4xGVjVtGNuR6ajD1ngjEhrKR6tZ9zPJDYoKn8E,7379
|
|
26
|
-
preditor/gui/console.py,sha256=
|
|
26
|
+
preditor/gui/console.py,sha256=jl-Sp65Qw6ZgZNxrKCkVI1jkryPbHjxx3fxDwRs1QAA,35712
|
|
27
27
|
preditor/gui/dialog.py,sha256=Vw8Wflb2P3TngO8b-2suWP6JKHBVHdbGgYiRDKzYRlQ,7488
|
|
28
28
|
preditor/gui/drag_tab_bar.py,sha256=5J-BSKQzS6_WuYxxGqmnUJr6AriTAvwfVK7Q3p7knrM,7933
|
|
29
|
-
preditor/gui/editor_chooser.py,sha256=
|
|
29
|
+
preditor/gui/editor_chooser.py,sha256=lv1eY0UJOulX1l-P-ZQEoneYz6BNX2VkXEbg3GUu1ag,1991
|
|
30
30
|
preditor/gui/errordialog.py,sha256=FZzSykNtqgTZ-CKEsLFXfcw_k8zwx7g_aMaHbpnq2xI,3110
|
|
31
31
|
preditor/gui/find_files.py,sha256=vh19jY571Z4E9IWSL4VyYcNJWYXzwxBHzBOzxWjI9QM,4223
|
|
32
32
|
preditor/gui/level_buttons.py,sha256=yPFIWKc0bgKLrP2XHyBqNuvvTnXZqGdtN_p27jSb1Og,11925
|
|
33
33
|
preditor/gui/logger_window_handler.py,sha256=VTNhaoFUnConE3NHj9KaDZlVoifix8xCbCuN5Ozjz0M,1482
|
|
34
|
-
preditor/gui/loggerwindow.py,sha256=
|
|
34
|
+
preditor/gui/loggerwindow.py,sha256=zOIzq12ffLF0xp3oChP0bc7KB_4BJ8kK5Oy0gQSGRuI,51303
|
|
35
35
|
preditor/gui/newtabwidget.py,sha256=5aCWn9xAl5h1oZACqVuEsOAbzKTS2RegrLI41gROC8A,1971
|
|
36
36
|
preditor/gui/redmine_login_dialog.py,sha256=cMPBuecSZD5yjycNkMwHa1AbdwgGoyHvX8anIvWjEFo,1893
|
|
37
|
-
preditor/gui/set_text_editor_path_dialog.py,sha256=
|
|
38
|
-
preditor/gui/status_label.py,sha256=
|
|
37
|
+
preditor/gui/set_text_editor_path_dialog.py,sha256=bTrYM0nU-pE2m8LIpeAUlmvP257wrcAvEdaoOURw9p8,2264
|
|
38
|
+
preditor/gui/status_label.py,sha256=SlNRmPc28S4E2OFVmErv0DmZstk4011Q_7uLp43SF0A,3320
|
|
39
|
+
preditor/gui/suggest_path_quotes_dialog.py,sha256=QUJf_9hs8wOO6bFOr8_Z2xnNhSA8TfKFMOzheUqUDnY,1822
|
|
39
40
|
preditor/gui/window.py,sha256=bZAEKQDM6V4aew1nlSTPyq_tG-_IoSvyXHcZxrdFMaE,6924
|
|
40
|
-
preditor/gui/workbox_mixin.py,sha256=
|
|
41
|
-
preditor/gui/workbox_text_edit.py,sha256=
|
|
42
|
-
preditor/gui/workboxwidget.py,sha256=
|
|
41
|
+
preditor/gui/workbox_mixin.py,sha256=kUVHtK-flyux3PZ9GkOYnjCJMLRcZESFJXipsgNgI0U,13851
|
|
42
|
+
preditor/gui/workbox_text_edit.py,sha256=B_xObwwobKzpMuTmwkczTGW9cOem2oF8pZDezCqwPCo,4385
|
|
43
|
+
preditor/gui/workboxwidget.py,sha256=BDmV3tu5HaZPTpc_h8UtiAag-w7pEKUBNSkqAIz_7IU,10056
|
|
43
44
|
preditor/gui/fuzzy_search/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
44
45
|
preditor/gui/fuzzy_search/fuzzy_search.py,sha256=6npanW6aLmG_ezdHmpsKN7p2zwck_Qq6YUy9duCNN8Q,3595
|
|
45
|
-
preditor/gui/group_tab_widget/__init__.py,sha256=
|
|
46
|
+
preditor/gui/group_tab_widget/__init__.py,sha256=rUvlURDiq2nncgEcGv5LvUNUVl3uLqJ_j4lQtZ8fMQE,12568
|
|
46
47
|
preditor/gui/group_tab_widget/grouped_tab_menu.py,sha256=lopd3mjHJIE_5xLdlZL0ghuBzsYo36vO1OZE6L6tqbI,1288
|
|
47
48
|
preditor/gui/group_tab_widget/grouped_tab_models.py,sha256=zlmbcv3JAC5BzjKpm4CM7Hobibm1T_3GjaPoWIQbXiQ,3970
|
|
48
|
-
preditor/gui/group_tab_widget/grouped_tab_widget.py,sha256=
|
|
49
|
+
preditor/gui/group_tab_widget/grouped_tab_widget.py,sha256=Z08LE8-ABakpM5Lk8cnntfjtdsmoR_T2ycgSEor7iY0,2928
|
|
49
50
|
preditor/gui/group_tab_widget/one_tab_widget.py,sha256=PdZAXjmV9oTHakh8aFYRlLnfwcoT459vQWVKgpZZx4Y,1971
|
|
50
51
|
preditor/gui/ui/editor_chooser.ui,sha256=cYSVHK0A4-zst6JyDkrBZK9qcAontbhV4Mmnw5ps72E,2736
|
|
51
52
|
preditor/gui/ui/errordialog.ui,sha256=H1wJJVU1t7kbnYkzGtGa8SBVpKjesJG_0imdBkJaEUY,2034
|
|
52
53
|
preditor/gui/ui/find_files.ui,sha256=8mdD3Vg3ofRMChdKntxiDHO3JXHQSKjjY6OLY_1W5lc,3328
|
|
53
|
-
preditor/gui/ui/loggerwindow.ui,sha256=
|
|
54
|
+
preditor/gui/ui/loggerwindow.ui,sha256=IGoeWPDI4Qym01mTkUR49MDhxpZBWYRHr7s746WfYkw,31528
|
|
54
55
|
preditor/gui/ui/redmine_login_dialog.ui,sha256=PmGuJWvBcSDLya5UblFj5brwDH9VL2fJEveH-r5-nJ8,2911
|
|
55
|
-
preditor/gui/ui/set_text_editor_path_dialog.ui,sha256=
|
|
56
|
+
preditor/gui/ui/set_text_editor_path_dialog.ui,sha256=VLBpTvGneXAi9RX1dRd6oPwKoZhQ_m5HO1j1qXPhTxc,5201
|
|
57
|
+
preditor/gui/ui/suggest_path_quotes_dialog.ui,sha256=0hcr7kEFmmMVEp7vv18mDpvWZ0zOrojlkTLhIWCFKww,5923
|
|
56
58
|
preditor/resource/environment_variables.html,sha256=-uWicgOkour-sxtY-crrjMiLMyJzAzshwUXKqSm6TmI,3134
|
|
57
59
|
preditor/resource/error_mail.html,sha256=oCzynF3QSHi_Xg1wlmU5M5u1Q05mp7QV0ZtQ4e8KQDA,2400
|
|
58
60
|
preditor/resource/error_mail_inline.html,sha256=ceZ8HReyTirMOX-xNgVB9kMO8QhpbHI4-WObFeOG9KY,4014
|
|
@@ -106,7 +108,7 @@ preditor/resource/lang/python.json,sha256=CXiQh0jcgd-OCrM-s9IF7s4o-g5WRA4vDaAyTR
|
|
|
106
108
|
preditor/resource/stylesheet/Bright.css,sha256=wxzpkhcOC9GzALb0NYAMASnZmXEe9urZBniHNImwTc4,2186
|
|
107
109
|
preditor/resource/stylesheet/Dark.css,sha256=l3n9Z89JNlVDWKDtMTlipQkSSVPSJXbKd0tOMWnx7PQ,5085
|
|
108
110
|
preditor/scintilla/__init__.py,sha256=AoUc-fcp2D3F10FDFsp_ZzUr4zioDH0mvdubSF7sRG0,523
|
|
109
|
-
preditor/scintilla/documenteditor.py,sha256=
|
|
111
|
+
preditor/scintilla/documenteditor.py,sha256=6EfqJLcG2ZqzDUxvdtIrHyuVSF47goWpGrVEBMJN3pw,77919
|
|
110
112
|
preditor/scintilla/finddialog.py,sha256=vcYPj74LbCy4KXdh0eJyOb8i31pJKgOZitKpgW4zhBM,2346
|
|
111
113
|
preditor/scintilla/delayables/__init__.py,sha256=lj9tMc3IL2QeaN858Ixt_n7clJngbKqG2sk66vIcFcQ,275
|
|
112
114
|
preditor/scintilla/delayables/smart_highlight.py,sha256=JRwGp-pVwx75zJ5NoJ8UuBg4-jK4eQfgD4eM4ZfDbGI,3502
|
|
@@ -147,9 +149,9 @@ preditor/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
147
149
|
preditor/utils/cute.py,sha256=LfF8gXMAkkQAdo4mm6J9aVkDLwWZbE6prQ0moDbtCys,1045
|
|
148
150
|
preditor/utils/stylesheets.py,sha256=EVWZNq3WnaRiyUPoYMKQo_dLEwbRyKu26b03I1JDA-s,1622
|
|
149
151
|
preditor/utils/text_search.py,sha256=21kuSDTpLIPUcriB81WP1kWfzuDBuP13ZtHUtypP5jE,14218
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
152
|
+
preditor-0.6.0.dist-info/licenses/LICENSE,sha256=46mU2C5kSwOnkqkw9XQAJlhBL2JAf1_uCD8lVcXyMRg,7652
|
|
153
|
+
preditor-0.6.0.dist-info/METADATA,sha256=od__v42wWO_m7_ZSETaUIOJvup_rF_7czhcVDbd__AA,9278
|
|
154
|
+
preditor-0.6.0.dist-info/WHEEL,sha256=joeZ_q2kZqPjVkNy_YbjGrynLS6bxmBj74YkvIORXVI,109
|
|
155
|
+
preditor-0.6.0.dist-info/entry_points.txt,sha256=mpe0HFD_oIEBNPTJNyUEbmMV6Ivrp4EuYyZ34C5d_PU,519
|
|
156
|
+
preditor-0.6.0.dist-info/top_level.txt,sha256=iX1_mrUOky_BQr2oG0l_MbEUYF6idyjiWSzu9z3irIw,9
|
|
157
|
+
preditor-0.6.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|