|
|
@@ -22,7 +22,7 @@
|
|
|
|
|
|
## Current Module
|
|
|
|
|
|
-**Phase 9: Advanced UI features** - Implementing context menus and tooltips for improved user interaction.
|
|
|
+**Phase 10: Plugin System enhancements** - Enhancing the Lua API to expose more C++ core functionality for scripting.
|
|
|
|
|
|
|
|
|
|
|
|
@@ -38,7 +38,7 @@ Lumacs/
|
|
|
|
|
|
├── themes.lua # Theme definitions
|
|
|
|
|
|
-├── include/lumacs/ # C++ headers
|
|
|
+├── include/lumacs/
|
|
|
|
|
|
│ ├── editor_core.hpp # Core editor logic
|
|
|
|
|
|
@@ -56,7 +56,7 @@ Lumacs/
|
|
|
|
|
|
│ └── [other headers]
|
|
|
|
|
|
-├── src/ # C++ implementation
|
|
|
+├── src/
|
|
|
|
|
|
│ ├── main.cpp # Entry point
|
|
|
|
|
|
@@ -68,13 +68,13 @@ Lumacs/
|
|
|
|
|
|
│ └── [other .cpp files]
|
|
|
|
|
|
-├── tests/ # Unit tests
|
|
|
+├── tests/
|
|
|
|
|
|
-├── examples/ # Test files and demos
|
|
|
+├── examples/
|
|
|
|
|
|
-├── scripts/ # Build/test scripts
|
|
|
+├── scripts/
|
|
|
|
|
|
-└── documentation/ # Project docs
|
|
|
+└── documentation/
|
|
|
|
|
|
```
|
|
|
|
|
|
@@ -90,6 +90,8 @@ Lumacs/
|
|
|
|
|
|
- ✅ **Phase 8 Mouse**: Full mouse support (click-move, scroll, drag-select)
|
|
|
|
|
|
+- ✅ **Phase 9 Advanced UI**: Implemented Context Menus (right-click) and Hover Tooltips
|
|
|
+
|
|
|
- ✅ **Input System**: Full keyboard input with modifiers working
|
|
|
|
|
|
- ✅ **Cursor System**: Emacs-style blinking block cursor with color inversion
|
|
|
@@ -134,56 +136,58 @@ Lumacs/
|
|
|
|
|
|
- ✅ **Modeline**: Implemented detailed Emacs-like modeline with active/inactive states, flags, percentage, and mode display
|
|
|
|
|
|
- - ✅ **Minibuffer Polish**: Implemented Tab completion (buffers/files), command history (up/down), and kill-buffer logic
|
|
|
-
|
|
|
-- ✅ **Phase 9 Advanced UI**: Implemented Context Menus (right-click) and Hover Tooltips
|
|
|
+- ✅ **Minibuffer Polish**: Implemented Tab completion (buffers/files), command history (up/down), and kill-buffer logic
|
|
|
|
|
|
|
|
|
|
|
|
## Todo
|
|
|
|
|
|
-1. **Phase 10**: Plugin System enhancements
|
|
|
|
|
|
|
|
|
+1. **Lua API Enhancements**: Expose core C++ functionality to Lua.
|
|
|
|
|
|
-## Technical Debt/Notes
|
|
|
|
|
|
-- **Lua Bridge**: The lua_api.cpp contains the critical C++/Lua boundary code
|
|
|
|
|
|
-- **GTK Threading**: All GTK operations must stay on main thread
|
|
|
+ - ⚠️ Exposing Clipboard functionality: Encountered compilation issues with GTKmm clipboard API and `std::erase` ambiguity. Needs further investigation.
|
|
|
|
|
|
-- **Memory Management**: Using RAII and smart pointers throughout C++ code
|
|
|
|
|
|
-- **Face System**: Themes are fully integrated with Pango text rendering
|
|
|
|
|
|
-- **Cursor Implementation**: Blinking timer with 500ms intervals, proper cleanup on exit
|
|
|
+2. **Plugin Management**: Implement dynamic loading and lifecycle management of Lua plugins.
|
|
|
|
|
|
-- **Scrolling Architecture**: Viewport system with 3-line vertical and 5-column horizontal margins
|
|
|
|
|
|
-- **Build System**: CMake-based with proper dependency management
|
|
|
|
|
|
-- **Testing**: Unit test framework in place for core components
|
|
|
+3. **Lua Debugging**: Integrate basic debugging support for Lua scripts.
|
|
|
|
|
|
|
|
|
|
|
|
-## Current Focus
|
|
|
|
|
|
|
|
|
|
|
|
-**Phase 9 COMPLETED**:
|
|
|
|
|
|
+## Technical Debt/Notes
|
|
|
|
|
|
+- **Lua Bridge**: The lua_api.cpp contains the critical C++/Lua boundary code
|
|
|
|
|
|
-- Implemented Context Menus (right-click popover with actions)
|
|
|
+- **GTK Threading**: All GTK operations must stay on main thread
|
|
|
|
|
|
+- **Memory Management**: Using RAII and smart pointers throughout C++ code
|
|
|
|
|
|
+- **Face System**: Themes are fully integrated with Pango text rendering
|
|
|
|
|
|
-- Implemented Hover Tooltips (showing word under cursor and line number)
|
|
|
+- **Cursor Implementation**: Blinking timer with 500ms intervals, proper cleanup on exit
|
|
|
|
|
|
+- **Scrolling Architecture**: Viewport system with 3-line vertical and 5-column horizontal margins
|
|
|
+
|
|
|
+- **Build System**: CMake-based with proper dependency management
|
|
|
+
|
|
|
+- **Testing**: Unit test framework in place for core components
|
|
|
|
|
|
|
|
|
|
|
|
+## Current Focus
|
|
|
|
|
|
+**Phase 10 Plugin System enhancements**:
|
|
|
|
|
|
+- Enhancing Lua API with clipboard functions
|
|
|
|
|
|
-**Ready for Phase 10 (Plugin System enhancements)**
|
|
|
+- Exposing Window scrolling to Lua scripts
|