Skip to content

Commit 99676fc

Browse files
committed
update CHANGELOG
1 parent df63dbd commit 99676fc

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

CHANGELOG.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,41 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
1717

1818
## [Unreleased]
1919

20+
## [0.4.8]
21+
22+
### Changed
23+
24+
- **Syntax Highlighting Module Extraction**: Extracted syntax highlighting from core to dedicated module
25+
- **New Module Structure**:
26+
- Created `src/loki_syntax.c` (290 lines) and `src/loki_syntax.h` (public API)
27+
- All syntax highlighting logic now isolated in dedicated module
28+
- **Functions Extracted** (7 functions moved from loki_core.c):
29+
- `syntax_is_separator()` - Character separator detection (was `is_separator()`)
30+
- `syntax_row_has_open_comment()` - Multi-line comment state tracking (was `editor_row_has_open_comment()`)
31+
- `syntax_name_to_code()` - String to HL_* constant mapping (was `hl_name_to_code()`)
32+
- `syntax_update_row()` - Main syntax highlighting logic (was `editor_update_syntax()`)
33+
- `syntax_format_color()` - RGB color escape sequence formatting (was `editor_format_color()`)
34+
- `syntax_select_for_filename()` - File extension to syntax mapping (was `editor_select_syntax_highlight()`)
35+
- `syntax_init_default_colors()` - Default color initialization (was `init_default_colors()`)
36+
- **Core Size Reduction**:
37+
- **loki_core.c: 1,152 → 891 lines** (261 lines removed, 22.6% reduction)
38+
- **First time below 1,000 line milestone** for core module
39+
- **Architecture Benefits**:
40+
- **Separation of Concerns**: Syntax highlighting is clearly a feature, not core infrastructure
41+
- **Modularity**: Can be compiled out for minimal builds or replaced with alternative highlighters
42+
- **Extensibility**: Future enhancements (tree-sitter, LSP semantic tokens) stay in module
43+
- **Testability**: Easier to unit test syntax highlighting in isolation
44+
- **Integration Points**:
45+
- Updated all call sites in loki_core.c, loki_editor.c, loki_languages.c
46+
- Updated test files (test_core.c, test_syntax.c) to use new function names
47+
- Added include to loki_syntax.h in all files using syntax functions
48+
- **Files Modified**:
49+
- Added: `src/loki_syntax.c`, `src/loki_syntax.h`
50+
- Modified: `src/loki_core.c`, `src/loki_editor.c`, `src/loki_languages.c`, `tests/test_core.c`, `tests/test_syntax.c`, `CMakeLists.txt`
51+
- **Testing**: All 11 test suites passing (100% pass rate)
52+
- **Build**: Zero compiler warnings, clean compilation
53+
- **Verification**: Manual testing confirms syntax highlighting working correctly for all languages
54+
2055
### Added
2156

2257
- **Tab Completion in Lua REPL**: Intelligent tab completion for Lua identifiers and table fields

0 commit comments

Comments
 (0)