e367e31890refactor(cursor): centralize movement logic and enhance word navigation
develop
itdominator2026-03-30 00:45:08 -05:00
bd277c0214Refactor LSP manager and file handlingitdominator2026-03-29 14:04:56 -05:00
12a5e4935eFix plugin lifecycle, tabs cleanup, and add auto-scroll to tabs - Fix unload() method naming in nanoesq_temp_buffer plugin - Wrap tabs_widget in ScrolledWindow/Viewport for proper scrolling - Add auto-scroll to center when switching/adding tabs - Return manifest_meta in manifest_manager for manual plugins - Refactor remove_plugin() to properly clean up all manifest lists - Fix widget references in plugins_ui for proper removalitdominator2026-03-23 23:08:00 -05:00
01ede1ac49Fixed file_history plugin after breakage from testing a patternitdominator2026-03-23 21:41:50 -05:00
2758d6b62bFix multi-select word movement for snake_case and add Ctrl+scroll zoom - Implement snake_case-aware word movement treating underscores as part of words - Fix selection edge detection to only move word markers when caret is at appropriate boundary - Add INSERT state guards to line_up/down commands to prevent movement in non-insert modes - Add Ctrl+scroll zoom in/out functionality for text sizeitdominator2026-03-22 23:47:27 -05:00
9f1c3cc452Made explicit that LSP Manager should pre-launch when autoload true/unsetitdominator2026-03-22 17:37:49 -05:00
7c4c9ecf88Refactor file loading to detect external modifications and add reload capability - Extract _load_data() method from load_path() for reuse in reload() - Add is_extters externally_modified() to track file state changes (mtime/size) - Replace load_bytes() with load_contents() for better error handling - Add reload() method to re-read file from disk - Fix file_state_watcher by properly detecting external changesitdominator2026-03-22 00:35:51 -05:00
0b231ac749feat: Complete plugin lifecycle management with lazy loading and runtime reload Major changes: - Add unload() method to all plugins for proper cleanup (unregister commands/providers/LSP clients, destroy widgets, clear state) - Implement lazy widget loading via "show" signal across all containers - Add autoload: false manifest option for manual/conditional plugin loading - Add Plugins UI with runtime load/unload toggle via Ctrl+Shift+p - Implement controller unregistration system with proper signal disconnection - Add new events: UnregisterCommandEvent, GetFilesEvent, GetSourceViewsEvent, TogglePluginsUiEvent - Fix signal leaks by tracking and disconnecting handlers in widgets (search/replace, LSP manager, tabs, telescope, markdown preview) - Add Save/Save As to tabs context menu - Improve search/replace behavior (selection handling, focus management) - Add telescope file initialization from existing loaded files - Refactor plugin reload watcher to dynamically add/remove plugins on filesystem changes - Add new plugins: file_history, extend_source_view_menu, godot_lsp_client - Fix bug in prettify_json (undefined variable referenceitdominator2026-03-21 13:26:12 -05:00
0fc440e7ceAdd dynamic EventNamespace for event type access and refactor LSP manager initialization - Create EventNamespace class to enable Code_Event_Types.RegisterLspClientEvent access - Move set_event_hub call from plugin to lsp_manager._do_bind_mapping - Update event type references to use Code_Event_Types namespaceitdominator2026-03-15 23:40:40 -05:00
080ba41cf1Remove custom LSP manager plugins and add new language server clients - Delete old lsp_manager plugin (custom websocket-based LSP client implementation) - Delete java_lsp_client plugin - Delete python_lsp_client plugin - Remove unused LSP DTO files in src/libs/dto/code/lsp/ - Add new language_server_clients plugin directory - Improve event_factory with register_events method - Add PYTHONDONTWRITEBYTECODE to user config - Update events init.py docstringitdominator2026-03-15 20:45:58 -05:00
d1643091c3refactor: remove LSPServerEventsMixin and clean up websocket tests - Delete unused websocket library test files - Remove LSPServerEventsMixin and inline its methods into response handlers - Clean up unused imports (ThreadPoolExecutor, ABC, LSP message structs)itdominator2026-03-15 03:35:18 -05:00
a4ef662da7refactor(lsp-manager): replace handler architecture with response registry and modular providersitdominator2026-03-15 01:50:23 -05:00
6cb66985aarefactor(lsp): replace controller layer with client module and LSPManager orchestrationitdominator2026-03-12 00:04:08 -05:00
9987a1a21erefactor(code): move temp cut buffer feature and clean up related codeitdominator2026-03-08 14:57:19 -05:00
220a8c2743Moved plugins and add loaded file filtering - Moved prettify_json and lsp_completer plugins to sub categories - Add filter_out_loaded_files to prevent opening already-loaded files - Refactor code events into single events module - Fix signal blocking during file load operations - Include READONLY state in source view lifecycle handlingitdominator2026-03-08 00:46:21 -06:00
22abc02d25Created more events to use; restructured plugin listingitdominator2026-03-01 15:11:34 -06:00
8ee2106f50Refactor plugin event API: rename message* to emit* and requests_ui_element to request_ui_elementitdominator2026-02-28 19:48:04 -06:00
1447a68fb0Refactor controller architecture and multi-insert state - Rename ControllerContext to ControllerMessageBus for clarity - Switch ControllerBase to use SingletonRaised - Replace MarkEventsMixin with MarkerManager for multi-cursor editing - Add populate_popup event support for source view context menus - Remove unused swap file events - Moved JSON prettify feature to plugin - Fix event name: "removed_file" -> "remove_file"itdominator2026-02-28 01:10:28 -06:00
b724d41f6cRemove tabs UI from code editor and move to plugin. Enhance plugin system. - Remove tabs controller, tab widget, and tabs widget files and move to plugin - Delete plugins/README.txt - Add register_controller method to controller system for plugin use - Add error handling for plugin crashes via futures callbackitdominator2026-02-26 21:09:00 -06:00
a2b8232d5erefactor: remove InfoBarWidget in favor of plugin-based one - Replace direct InfoBarWidget with set_info_labels command that emits events to plugins - Replace mini view widget in favor of plugin-based one - Add widget registry exposure for code-container and editors-container - Fix DND mixin exec_with_args call (tuple args issue) - Add break statements in tabs_widget loops for efficiency - Add _update_transparency call to BaseContaineritdominator2026-02-25 23:26:12 -06:00
0b3579d485Fixed main thread closure issue caused by async.runitdominator2026-02-25 01:04:09 -06:00
ec571ffa90Added ability to toggle view visibility.itdominator2026-02-25 00:43:37 -06:00
3b205e28e6Refactor source view states to use base class and fix open-files start path - Add SourceViewsBaseState inheritance to Command, Insert, MultiInsert, and ReadOnly states - Extract common focus_in_event logic to base class - Fix open-files command to use current file's directory as file picker start path - Extract modifier key state logic into reusable get_modkeys_states() method - Pass modifier keys to command exec_with_args in key_press_event - Add type hints to key_mapper methodsitdominator2026-02-24 23:32:29 -06:00
24bf1e471brefactor(command-system): standardize command execution with *args/**kwargs - Refactor exec_with_args to use *args/**kwargs instead of tuple arguments - Add *args/**kwargs to all command execute functions for consistency - Support multiple key bindings per command in registration - Add character-based key binding support via get_char() in KeyMapper - Make execute_plugin async and use asyncio.run for plugin execution - Use MIME type from Gio content_type instead of language for ftypeitdominator2026-02-24 22:30:07 -06:00
824dd93696Add file deletion detection, WebKit improvements, and bug fixes - Add FileExternallyDeletedEvent with UI indicator in tabs for deleted files - Set minimum height (300px) for editors container - Add Developer Tools to WebKit context menu - Fix DnD URI handling when uris list is empty - Fix buffer replacement using freeze_notify and proper bounds handling - Move webkit_ui_settings to new path - Remove <change_me> placeholders from APP_NAME and user configitdominator2026-02-23 00:48:09 -06:00
67300bc180Add debounced text change handling and modified file indicator for tabs - Debounce word completer refresh with 1500ms timeout to reduce overhead - Add visual indicator (file-changed class) for modified files in tabs - Refactor buffer switching into signal_mapper for DRY code - Fix handler ID indices after adding _after_changed signal - Move set_modified(False) after successful file write in save()itdominator2026-02-22 18:20:24 -06:00
55d2d99d68refactor: use Pango for font scaling instead of CSS classes - Replace CSS-based zoom (px1-px99 classes) with Pango.FontDescription - Fix bug in multi-insert: insert at start_itr instead of end_itr - Add Pango-based font setup for mini-view widget - Revamp stylesheet with Light Blue-Grey Glass themeitdominator2026-02-21 00:38:27 -06:00
eb9e124df5Refactor code completion, container layouts, and webkit settings - Renamed alt_provider.py file under words completer - Improve word completion matching logic with character validation - Change container orientations (header→vertical, left/right→horizontal) - Add separators to all container edges - Refactor webkit UI loading into separate load_url/load_context_base_path methods - Add comprehensive webkit browser-like settingsitdominator2026-02-20 00:15:46 -06:00
6714053776Moved plugins and refactor command system - Moved plugins to apropriate sub folders - Refactor command system with new add_command method and rename GetCommandSystemEvent to GetNewCommandSystemEvent - Add RegisterCommandEvent for dynamic command registration - Change footer container orientation to VERTICAL - Add search-highlight tag to source buffer - Add file change detection (deleted, externally modified) in source_file - Add JSON prettify option to source view popup menu - Enable hexpand on VTE widget - Update plugins_controller_mixin to use widget_registryitdominator2026-02-18 23:45:07 -06:00
69c8418a72Load files from IPC to code view; fixed tabs close all; corrected app.py loggingitdominator2026-02-17 01:52:29 -06:00
d4dc972c6dAded context menu to tabs widget; registered other widgets to registeryitdominator2026-02-16 23:52:03 -06:00
6c42ff7c7dMade words completer run async on load and update; swapped out tabs to use Gtk.Notebookitdominator2026-02-16 17:11:30 -06:00
b922415f98Moved completers to new dir; improved completers and added word completionitdominator2026-02-16 01:39:23 -06:00
5273c58ed6Major completion provider overhaul; pluigin load and pattern improvements; css overhaul/cleanup; source view state modes addeditdominator2026-02-14 16:15:54 -06:00
4ce4d85842removed endpoint_registery; relocated builder_wrapper to be widget_registery under libs/itdominator2026-01-19 13:50:07 -06:00
c6b10ceb17defaulting to buffer if language not detecteditdominator2026-01-19 00:29:10 -06:00
a036dc428bWiring plugins to controller messages; importing plugin controller to code base; fixed VTE widget adding to bash historyitdominator2026-01-18 22:39:52 -06:00
b8ce6e160aPligins refactor with new context and controller integrationitdominator2026-01-18 20:33:49 -06:00
e2f29207baPreliminary controller layout work for plugin integration; controller base message refactor namingitdominator2026-01-18 13:53:29 -06:00
99f1bffefbRestructuring controller to broaden usability; changed events logic to support thatitdominator2026-01-18 00:52:54 -06:00
f7d944f7a9Created libs.code package and moved pertinant DTOs to it as well as widget.code that can go there tooitdominator2026-01-13 11:23:26 -06:00
4469e8189fImproved folder structure for commamd system and controllersitdominator2026-01-13 00:43:51 -06:00
a507469bf8Added controller manager registery guard; localized event type access for code to event factoryitdominator2026-01-12 23:59:13 -06:00
3fc39042f1Wired tabs close and selection; improved files manager next index checking; code event focus ignore attrib addeditdominator2025-12-28 22:44:44 -06:00
12ada8568eAdded code load start files command; improved show logic for code widgetitdominator2025-12-24 16:38:06 -06:00
4c179974c0Added dnd commands; moved source view events to mixin; improved/separated pop logic for files manager; added observer pattern for active file for bufferitdominator2025-12-20 01:10:53 -06:00
6acbcb53c2Moving settings out of global space; added editor commands and wired themitdominator2025-12-16 20:25:24 -06:00
ff27fbdf6cMerge pull request 'develop' (#2) from develop into masteritdominator2025-11-30 05:25:34 +00:00
22736147e6added clock, pager, and task list widgets for ref; added footer container; added option for key combo o universally toggle window with key combo if setitdominator2025-11-29 23:22:03 -06:00