pyqt-code-editor 0.0.37__tar.gz → 0.0.38__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.
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/PKG-INFO +1 -1
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/__init__.py +1 -1
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/_settings.py +13 -1
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/components/find_in_files.py +0 -4
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/components/project_explorer.py +20 -6
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/worker/providers/ruff.py +0 -1
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/COPYING +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyproject.toml +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/app.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/code_editors/__init__.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/code_editors/code_editors.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/code_editors/languages/__init__.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/code_editors/languages/generic.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/code_editors/languages/markdown.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/code_editors/languages/python.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/code_editors/languages/text.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/components/__init__.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/components/editor_panel.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/components/jupyter_console.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/components/settings_panel.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/components/sigmund.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/components/workspace_explorer.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/environment_manager.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/mixins/__init__.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/mixins/auto_indent.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/mixins/auto_pair.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/mixins/base.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/mixins/check.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/mixins/comment.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/mixins/complete.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/mixins/execute.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/mixins/file_link.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/mixins/line_number.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/mixins/python_auto_indent.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/mixins/search_replace.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/mixins/shortcuts.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/mixins/smart_backspace_delete.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/mixins/symbols.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/mixins/theme.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/mixins/widgets/__init__.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/mixins/zoom.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/sigmund-analyst.png +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/signal_router.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/syntax_highlighters/__init__.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/syntax_highlighters/languages/__init__.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/syntax_highlighters/languages/generic.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/syntax_highlighters/languages/python.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/syntax_highlighters/syntax_highlighter.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/themes.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/utils/__init__.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/utils/languages/__init__.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/utils/languages/python/__init__.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/utils/languages/python/_auto_indent.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/utils/languages/python/_extract_cells.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/utils/languages/python/_mask_str_in_code.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/watchdog.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/widgets/__init__.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/widgets/calltip_widget.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/widgets/completion_popup.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/widgets/dock.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/widgets/quick_open_dialog.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/widgets/quick_open_file_dialog.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/widgets/quick_symbol_dialog.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/widgets/search_replace_frame.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/widgets/tab_splitter.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/widgets/tabbed_editor.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/worker/__init__.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/worker/languages/__init__.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/worker/languages/generic.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/worker/languages/python.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/worker/manager.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/worker/process.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/worker/providers/__init__.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/worker/providers/codestral.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/worker/providers/jedi.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/worker/providers/sigmund.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/worker/providers/symbol.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/worker/settings.py +0 -0
- {pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/readme.md +0 -0
|
@@ -228,11 +228,23 @@ class Settings(QObject):
|
|
|
228
228
|
if self.font_family != 'default':
|
|
229
229
|
return
|
|
230
230
|
from .utils import get_first_available_font
|
|
231
|
+
|
|
231
232
|
self.font_family = get_first_available_font(
|
|
232
233
|
['Ubuntu Mono', 'Liberation Mono', 'DejaVu Sans Mono', 'Courier New',
|
|
233
234
|
'monospace'])
|
|
235
|
+
|
|
236
|
+
# Fallback if no font was found
|
|
237
|
+
if self.font_family is None:
|
|
238
|
+
import platform
|
|
239
|
+
system = platform.system()
|
|
240
|
+
if system == 'Windows':
|
|
241
|
+
self.font_family = 'Consolas' # Available on Windows Vista+
|
|
242
|
+
elif system == 'Darwin': # macOS
|
|
243
|
+
self.font_family = 'Menlo' # Default monospace on macOS
|
|
244
|
+
else: # Linux and other Unix-like systems
|
|
245
|
+
self.font_family = 'monospace' # Generic monospace fallback
|
|
246
|
+
|
|
234
247
|
logger.info(f'setting font family to {self.font_family}')
|
|
235
248
|
|
|
236
|
-
|
|
237
249
|
# Create the singleton instance
|
|
238
250
|
settings = Settings()
|
{pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/components/find_in_files.py
RENAMED
|
@@ -269,10 +269,6 @@ class FindInFiles(QDockWidget):
|
|
|
269
269
|
self._open_file(path, line_no)
|
|
270
270
|
|
|
271
271
|
def _open_file(self, path, line_no=0):
|
|
272
|
-
"""
|
|
273
|
-
Dummy method: In production, integrate with your editor logic.
|
|
274
|
-
"""
|
|
275
|
-
print(f"Opening file: {path}, line {line_no}")
|
|
276
272
|
self.open_file_requested.emit(path, line_no)
|
|
277
273
|
|
|
278
274
|
def closeEvent(self, event):
|
{pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/components/project_explorer.py
RENAMED
|
@@ -212,12 +212,26 @@ class ProjectExplorer(QDockWidget):
|
|
|
212
212
|
self._setup_shortcuts()
|
|
213
213
|
|
|
214
214
|
def _setup_shortcuts(self):
|
|
215
|
-
"""Set up
|
|
216
|
-
QShortcut(QKeySequence("F2"), self
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
QShortcut(QKeySequence.
|
|
215
|
+
"""Set up keyboard shortcuts for common actions."""
|
|
216
|
+
shortcut_f2 = QShortcut(QKeySequence("F2"), self)
|
|
217
|
+
shortcut_f2.setContext(Qt.WidgetWithChildrenShortcut)
|
|
218
|
+
shortcut_f2.activated.connect(lambda: self._handle_rename_shortcut())
|
|
219
|
+
|
|
220
|
+
shortcut_delete = QShortcut(QKeySequence.Delete, self)
|
|
221
|
+
shortcut_delete.setContext(Qt.WidgetWithChildrenShortcut)
|
|
222
|
+
shortcut_delete.activated.connect(lambda: self._handle_delete_shortcut())
|
|
223
|
+
|
|
224
|
+
shortcut_cut = QShortcut(QKeySequence.Cut, self)
|
|
225
|
+
shortcut_cut.setContext(Qt.WidgetWithChildrenShortcut)
|
|
226
|
+
shortcut_cut.activated.connect(lambda: self._handle_cut_shortcut())
|
|
227
|
+
|
|
228
|
+
shortcut_copy = QShortcut(QKeySequence.Copy, self)
|
|
229
|
+
shortcut_copy.setContext(Qt.WidgetWithChildrenShortcut)
|
|
230
|
+
shortcut_copy.activated.connect(lambda: self._handle_copy_shortcut())
|
|
231
|
+
|
|
232
|
+
shortcut_paste = QShortcut(QKeySequence.Paste, self)
|
|
233
|
+
shortcut_paste.setContext(Qt.WidgetWithChildrenShortcut)
|
|
234
|
+
shortcut_paste.activated.connect(lambda: self._handle_paste_shortcut())
|
|
221
235
|
|
|
222
236
|
def _handle_rename_shortcut(self):
|
|
223
237
|
"""Handle F2 shortcut for rename."""
|
{pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/worker/providers/ruff.py
RENAMED
|
@@ -24,7 +24,6 @@ def ruff_check(code: str, prefix: str | None = None) -> list[dict]:
|
|
|
24
24
|
with tempfile.NamedTemporaryFile(delete=False, suffix=".py", mode="w") as tmp_file:
|
|
25
25
|
tmp_file.write(code)
|
|
26
26
|
tmp_file_path = tmp_file.name
|
|
27
|
-
print(tmp_file.name)
|
|
28
27
|
cmd = ["ruff", "check", tmp_file_path, "--output-format", "json"]
|
|
29
28
|
|
|
30
29
|
# Set creation flags for Windows to prevent console window from appearing
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/code_editors/__init__.py
RENAMED
|
File without changes
|
{pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/code_editors/code_editors.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/code_editors/languages/text.py
RENAMED
|
File without changes
|
|
File without changes
|
{pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/components/editor_panel.py
RENAMED
|
File without changes
|
{pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/components/jupyter_console.py
RENAMED
|
File without changes
|
{pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/components/settings_panel.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/mixins/python_auto_indent.py
RENAMED
|
File without changes
|
{pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/mixins/search_replace.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/mixins/widgets/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/syntax_highlighters/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/utils/languages/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/widgets/calltip_widget.py
RENAMED
|
File without changes
|
{pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/widgets/completion_popup.py
RENAMED
|
File without changes
|
|
File without changes
|
{pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/widgets/quick_open_dialog.py
RENAMED
|
File without changes
|
|
File without changes
|
{pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/widgets/quick_symbol_dialog.py
RENAMED
|
File without changes
|
{pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/widgets/search_replace_frame.py
RENAMED
|
File without changes
|
{pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/widgets/tab_splitter.py
RENAMED
|
File without changes
|
{pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/widgets/tabbed_editor.py
RENAMED
|
File without changes
|
|
File without changes
|
{pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/worker/languages/__init__.py
RENAMED
|
File without changes
|
{pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/worker/languages/generic.py
RENAMED
|
File without changes
|
{pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/worker/languages/python.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/worker/providers/__init__.py
RENAMED
|
File without changes
|
{pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/worker/providers/codestral.py
RENAMED
|
File without changes
|
{pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/worker/providers/jedi.py
RENAMED
|
File without changes
|
{pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/worker/providers/sigmund.py
RENAMED
|
File without changes
|
{pyqt_code_editor-0.0.37 → pyqt_code_editor-0.0.38}/pyqt_code_editor/worker/providers/symbol.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|