Improve highlighting structure

- switched to a sparse delta based map
- true lazy-loading to avoid any unneccessary allocations
- fixed windows management api
This commit is contained in:
2026-02-11 18:18:28 +00:00
parent d79ea4e75a
commit 5b66f503e4
24 changed files with 481 additions and 549 deletions

View File

@@ -10,7 +10,8 @@ void Bar::log(std::string message) { log_line = message; }
void Bar::render(std::vector<ScreenCell> &buffer) {
USING(LSPInstance);
BarLine bar_line;
bar_line = bar_contents(mode, screen.col, pwd.string(), focused_window);
bar_line =
bar_contents(mode, screen.col, pwd.string(), layout::focused_window);
auto update = [&](uint32_t row, uint32_t col, std::string text, uint32_t fg,
uint32_t bg, uint8_t flags, uint32_t width) {
ScreenCell &c = buffer[row * screen.col + col];
@@ -61,8 +62,8 @@ void Bar::handle_command(std::string &command) {
running = false;
return;
}
if (focused_window)
focused_window->handle_command(command);
if (layout::focused_window)
layout::focused_window->handle_command(command);
}
void Bar::handle_event(KeyEvent event) {