|
|
@@ -104,72 +104,18 @@ Lumacs/
|
|
|
* Updated `src/main.cpp`, `src/plugin_manager.cpp`, `src/buffer_manager.cpp`, `src/gtk_editor.cpp`, `src/editor_core.cpp`, `src/command_system.cpp`, `src/window_manager.cpp`, `src/macro_manager.cpp`, and `src/lua_api.cpp`.
|
|
|
* Define different log levels (e.g., DEBUG, INFO, WARN, ERROR) and configure log sinks (e.g., console, file).
|
|
|
|
|
|
-### Phase 4: Dependency Management
|
|
|
+### Phase 4: Dependency Management ✅ Completed
|
|
|
|
|
|
-* **Subtask 4.1: Review `sol2` Dependency:**
|
|
|
- * Investigate the possibility of pinning `sol2` to a stable release tag or commit hash instead of the `develop` branch.
|
|
|
- * Evaluate if vendoring `sol2` is a more robust solution for stability.
|
|
|
-
|
|
|
-### Phase Y: Modeline Framework Refactoring (Completed)
|
|
|
-
|
|
|
-This phase aimed to create a modular, extensible, and UI-agnostic modeline system, addressing hardcoded content, UI-specific rendering, and code duplication. All subtasks for Phase Y have been completed.
|
|
|
-
|
|
|
-* **Subtask Y.1: Create a UI-Agnostic Modeline Content API:** ✅ Completed.
|
|
|
-* **Subtask Y.2: Integrate Modeline Content with UI Renderers:** ✅ Completed.
|
|
|
-* **Subtask Y.3: Enhance Modeline Configuration:** ✅ Completed.
|
|
|
-* **Subtask Y.4: Remove Legacy ThemeElement Usage from Modeline:** ✅ Completed.
|
|
|
-* **Subtask Y.5: Modularize `TuiEditor` and `GtkEditor` Rendering:** ✅ Completed.
|
|
|
-
|
|
|
-### Phase Z: Minibuffer Framework Refactoring (Completed - Core Logic Centralized)
|
|
|
-
|
|
|
-This phase aimed to centralize and modularize the minibuffer logic, making it UI-agnostic, extensible, and reducing code duplication across frontends. The core minibuffer logic has been centralized and integrated.
|
|
|
-
|
|
|
-* **Subtask Z.1: Create a Centralized Minibuffer Manager:** ✅ Completed (`MinibufferManager` class implemented).
|
|
|
-* **Subtask Z.2: Decouple Minibuffer History Management:** ✅ Completed (`HistoryManager` class implemented and integrated).
|
|
|
-* **Subtask Z.3: Create an Extensible Completion System:** ✅ Completed (Extensible completion system with `ICompletionSource` implementations integrated).
|
|
|
-* **Subtask Z.4: Externalize Minibuffer Prompts and Message Display:** ✅ Completed (Prompts and message display are now externalized and managed by `MinibufferManager`).
|
|
|
-* **Subtask Z.5: UI-Agnostic Minibuffer Input Handling:** ✅ Completed (UI frontends now delegate minibuffer input handling to `MinibufferManager`, including cursor movement and basic editing).
|
|
|
-* **Subtask Z.6: Refactor Minibuffer Rendering in Frontends:** ✅ Completed (Minibuffer rendering in GTK now queries `MinibufferManager` for content, simplifying frontend rendering).
|
|
|
-* **Subtask Z.7: Remove Legacy ThemeElement Usage from Minibuffer:** ✅ Completed (Minibuffer styling is now aligned with the unified Face system).
|
|
|
-
|
|
|
-### Phase A: GTK Frontend Refactoring (Completed)
|
|
|
-
|
|
|
-This phase focused on improving the modularity, extensibility, and separation of concerns within the GTK frontend, and addressing specific user requests (removal of context menus and tooltips). All subtasks for Phase A have been completed.
|
|
|
-
|
|
|
-* **Subtask A.1: Remove Context Menu and Tooltips:** ✅ Completed.
|
|
|
-* **Subtask A.2: Decouple GTK Rendering from `GtkEditor`:** ✅ Completed.
|
|
|
-* **Subtask A.3: Integrate with Modeline and Minibuffer Managers:** ✅ Completed.
|
|
|
-* **Subtask A.4: Refine GTK Widget Tree Construction and Event Handling:** ✅ Completed.
|
|
|
-* **Subtask A.5: Improve GTK Theme Integration:** ✅ Completed.
|
|
|
-* **Subtask A.6: Move C++ Fallback Keybindings to Lua:** ✅ Completed.
|
|
|
-
|
|
|
-### Phase B: Keybinding System Refactoring (Completed)
|
|
|
-
|
|
|
-This phase aimed to create a robust, extensible, and performant keybinding system, deeply integrated with a centralized Command System, to achieve Emacs-like customizability. All subtasks for Phase B have been completed.
|
|
|
-
|
|
|
-* **Subtask B.1: Centralize Command Execution:** ✅ Completed.
|
|
|
-* **Subtask B.2: Refine Canonical `Key` Representation:** ✅ Completed.
|
|
|
-* **Subtask B.3: Optimize `KeyBindingManager` Prefix Lookup with Trie:** ✅ Completed.
|
|
|
-* **Subtask B.4: Eliminate C++ Fallback Keybindings in UI Frontends:** ✅ Completed.
|
|
|
- **Subtask B.5: Enhanced Error Reporting:** ✅ Completed.
|
|
|
-
|
|
|
-### Phase C: Command System Refactoring (Completed)
|
|
|
-
|
|
|
-This phase aimed to enhance the Command System to support robust, type-safe, and interactive argument handling, and to fully integrate with the refactored Keybinding and Minibuffer systems, enabling true Emacs-like extensibility. All subtasks for Phase C have been completed.
|
|
|
-
|
|
|
-* **Subtask C.1: Implement Interactive Argument Gathering:** ✅ Completed (Implemented via `execute_interactive` and `process_next_interactive_argument` in `CommandSystem`).
|
|
|
-* **Subtask C.2: Redesign Command Argument Handling:** ✅ Completed (Implemented via `CommandContext` with `ICommandTarget` and updated `CommandFunction` signature).
|
|
|
-* **Subtask C.3: Consolidate Command String Parsing:** ✅ Completed (`CommandSystem::execute_string` removed; parsing moved to `MinibufferManager::parse_and_execute_command_string`).
|
|
|
-* **Subtask C.4: Refine Completion System Integration:** ✅ Completed (Specific `complete_*` methods removed from `CommandSystem`; `lua_api` now uses generic `CompletionSystem::get_candidates_for_mode`).
|
|
|
-* **Subtask C.5: Improve `EditorCore` Dependency:** ✅ Completed (`CommandContext` now uses `ICommandTarget`).
|
|
|
-* **Subtask C.6: Lua API Integration for Commands:** ✅ Completed (`execute_interactive_command` and `get_command_interactive_spec` exposed to Lua).
|
|
|
+* **Subtask 4.1: Review `sol2` Dependency:** ✅ Completed
|
|
|
+ * Investigated `sol2` releases and updated `CMakeLists.txt` to use `GIT_TAG v3.5.0` instead of `develop` for improved stability.
|
|
|
+ * Confirmed build and tests pass with the new tag.
|
|
|
|
|
|
## Current Development Roadmap
|
|
|
|
|
|
- [x] Expand test coverage for existing components: `LuaApi`, `CommandSystem`, and `Window`.
|
|
|
- [x] Implement integration tests to verify component interactions.
|
|
|
- [x] Phase 3: Logging and Observability (Integrate spdlog, replace std::cerr).
|
|
|
-- [ ] Phase 4: Dependency Management (Review `sol2` dependency).
|
|
|
+- [x] Phase 4: Dependency Management (Review `sol2` dependency).
|
|
|
|
|
|
## Current State Summary
|
|
|
|