pyqt-code-editor 0.0.63__tar.gz → 0.0.64__tar.gz

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.
Files changed (91) hide show
  1. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/PKG-INFO +1 -1
  2. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/__init__.py +1 -1
  3. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/mixins/search_replace.py +16 -11
  4. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/COPYING +0 -0
  5. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyproject.toml +0 -0
  6. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/_settings.py +0 -0
  7. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/app.py +0 -0
  8. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/code_editors/__init__.py +0 -0
  9. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/code_editors/code_editors.py +0 -0
  10. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/code_editors/languages/__init__.py +0 -0
  11. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/code_editors/languages/generic.py +0 -0
  12. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/code_editors/languages/javascript.py +0 -0
  13. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/code_editors/languages/markdown.py +0 -0
  14. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/code_editors/languages/python.py +0 -0
  15. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/code_editors/languages/text.py +0 -0
  16. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/components/__init__.py +0 -0
  17. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/components/editor_panel.py +0 -0
  18. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/components/find_in_files.py +0 -0
  19. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/components/jupyter_console/__init__.py +0 -0
  20. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/components/jupyter_console/jupyter_console.py +0 -0
  21. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/components/jupyter_console/jupyter_console_tab.py +0 -0
  22. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/components/jupyter_console/kernel_spec_manager.py +0 -0
  23. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/components/project_explorer.py +0 -0
  24. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/components/settings_panel.py +0 -0
  25. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/components/sigmund/__init__.py +0 -0
  26. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/components/sigmund/confirm_run_code_dialog.py +0 -0
  27. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/components/sigmund/editor_workspace.py +0 -0
  28. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/components/sigmund/sigmund.py +0 -0
  29. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/components/sigmund/sigmund_analyst_chat_widget.py +0 -0
  30. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/components/sigmund/sigmund_analyst_widget.py +0 -0
  31. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/components/workspace_explorer.py +0 -0
  32. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/environment_manager.py +0 -0
  33. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/mixins/__init__.py +0 -0
  34. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/mixins/auto_indent.py +0 -0
  35. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/mixins/auto_pair.py +0 -0
  36. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/mixins/base.py +0 -0
  37. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/mixins/check.py +0 -0
  38. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/mixins/comment.py +0 -0
  39. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/mixins/complete.py +0 -0
  40. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/mixins/execute.py +0 -0
  41. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/mixins/file_link.py +0 -0
  42. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/mixins/highlight_matching_brackets.py +0 -0
  43. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/mixins/line_number.py +0 -0
  44. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/mixins/merge_undo_actions.py +0 -0
  45. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/mixins/python_auto_indent.py +0 -0
  46. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/mixins/shortcuts.py +0 -0
  47. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/mixins/smart_backspace_delete.py +0 -0
  48. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/mixins/symbols.py +0 -0
  49. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/mixins/theme.py +0 -0
  50. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/mixins/widgets/__init__.py +0 -0
  51. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/mixins/zoom.py +0 -0
  52. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/sigmund-analyst.png +0 -0
  53. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/signal_router.py +0 -0
  54. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/syntax_highlighters/__init__.py +0 -0
  55. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/syntax_highlighters/languages/__init__.py +0 -0
  56. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/syntax_highlighters/languages/generic.py +0 -0
  57. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/syntax_highlighters/languages/python.py +0 -0
  58. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/syntax_highlighters/syntax_highlighter.py +0 -0
  59. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/themes.py +0 -0
  60. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/utils/__init__.py +0 -0
  61. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/utils/languages/__init__.py +0 -0
  62. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/utils/languages/python/__init__.py +0 -0
  63. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/utils/languages/python/_auto_indent.py +0 -0
  64. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/utils/languages/python/_extract_cells.py +0 -0
  65. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/utils/languages/python/_mask_str_in_code.py +0 -0
  66. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/watchdog.py +0 -0
  67. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/widgets/__init__.py +0 -0
  68. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/widgets/calltip_widget.py +0 -0
  69. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/widgets/completion_popup.py +0 -0
  70. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/widgets/dock.py +0 -0
  71. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/widgets/quick_open_dialog.py +0 -0
  72. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/widgets/quick_open_file_dialog.py +0 -0
  73. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/widgets/quick_symbol_dialog.py +0 -0
  74. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/widgets/search_replace_frame.py +0 -0
  75. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/widgets/tab_splitter.py +0 -0
  76. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/widgets/tabbed_editor.py +0 -0
  77. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/worker/__init__.py +0 -0
  78. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/worker/languages/__init__.py +0 -0
  79. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/worker/languages/generic.py +0 -0
  80. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/worker/languages/python.py +0 -0
  81. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/worker/manager.py +0 -0
  82. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/worker/process.py +0 -0
  83. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/worker/providers/__init__.py +0 -0
  84. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/worker/providers/codestral.py +0 -0
  85. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/worker/providers/jedi.py +0 -0
  86. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/worker/providers/ruff.py +0 -0
  87. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/worker/providers/sigmund.py +0 -0
  88. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/worker/providers/symbol.py +0 -0
  89. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/worker/providers/tree_sitter.py +0 -0
  90. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/pyqt_code_editor/worker/settings.py +0 -0
  91. {pyqt_code_editor-0.0.63 → pyqt_code_editor-0.0.64}/readme.md +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyqt_code_editor
3
- Version: 0.0.63
3
+ Version: 0.0.64
4
4
  Summary: Fully featured code-editor widgets for PyQt
5
5
  Keywords: code editor,pyqt,ide
6
6
  Author-email: Sebastiaan Mathôt <s.mathot@cogsci.nl>
@@ -2,4 +2,4 @@
2
2
 
3
3
  from ._settings import settings
4
4
 
5
- __version__ = '0.0.63'
5
+ __version__ = '0.0.64'
@@ -150,34 +150,39 @@ class SearchReplace:
150
150
  highlighter.setDocument(self.document())
151
151
 
152
152
  def setupSearchReplace(self):
153
- """
154
- Call this once in your QPlainTextEdit subclass's __init__
155
- """
156
153
  # Create the search/replace frame
157
154
  self._searchFrame = SearchReplaceFrame(self)
158
155
  self._searchFrame.setVisible(False)
159
-
156
+
160
157
  # Connect signals
161
158
  self._searchFrame.findNextRequested.connect(self.findNext)
162
159
  self._searchFrame.findPrevRequested.connect(self.findPrev)
163
160
  self._searchFrame.replaceOneRequested.connect(self.replaceOne)
164
161
  self._searchFrame.replaceAllRequested.connect(self.replaceAll)
165
-
162
+
166
163
  # Whenever user changes the find text or toggles checkboxes, re-highlight
167
164
  self._searchFrame.findEdit.textChanged.connect(self.updateHighlighter)
168
165
  self._searchFrame.caseBox.toggled.connect(self.updateHighlighter)
169
166
  self._searchFrame.regexBox.toggled.connect(self.updateHighlighter)
170
167
  self._searchFrame.wholeWordBox.toggled.connect(self.updateHighlighter)
171
-
172
- # Shortcuts
173
- findShortcut = QShortcut(QKeySequence.Find, self)
168
+
169
+ # Shortcuts: use platform bindings if available, otherwise fall back
170
+ find_bindings = QKeySequence.keyBindings(QKeySequence.StandardKey.Find)
171
+ if not find_bindings:
172
+ find_bindings = [QKeySequence("Ctrl+F")]
173
+
174
+ replace_bindings = QKeySequence.keyBindings(QKeySequence.StandardKey.Replace)
175
+ if not replace_bindings:
176
+ replace_bindings = [QKeySequence("Ctrl+H")]
177
+
178
+ findShortcut = QShortcut(find_bindings[0], self)
174
179
  findShortcut.setContext(Qt.WidgetWithChildrenShortcut)
175
180
  findShortcut.activated.connect(self.showSearchOnly)
176
-
177
- replShortcut = QShortcut(QKeySequence.Replace, self)
181
+
182
+ replShortcut = QShortcut(replace_bindings[0], self)
178
183
  replShortcut.setContext(Qt.WidgetWithChildrenShortcut)
179
184
  replShortcut.activated.connect(self.showSearchReplace)
180
-
185
+
181
186
  # Hide on Escape if wanted
182
187
  self.escapeAction = QAction(self)
183
188
  self.escapeShortcut = QShortcut(QKeySequence.Cancel, self)