gutter and keys

This commit is contained in:
2026-10-31 11:20:28 +03:00
parent afd7600150
commit 16e88117d5
14 changed files with 1844 additions and 558 deletions
+7 -2
View File
@@ -7,6 +7,8 @@
use std::sync::atomic::{AtomicU64, Ordering};
use crate::gutter::GutterState;
/// Счётчик идентификаторов документов.
static NEXT_ID: AtomicU64 = AtomicU64::new(1);
@@ -126,15 +128,17 @@ pub struct Document {
/// Имя иконки вкладки из каталога Lucide (см. `crate::icons`).
///
/// `None` — показывается иконка по умолчанию. Назначается через
/// `AppApi::set_tab_icon`.
/// `EditorApi::set_tab_icon`.
pub icon: Option<String>,
/// Язык подсветки синтаксиса.
///
/// `None` — подсветка выключена (поведение по умолчанию). Включается
/// только явно через `AppApi::set_language`, например из Lua-сценария.
/// только явно через `EditorApi::set_language`, например из Lua-сценария.
pub language: Option<Language>,
/// Позиция курсора в байтах на момент ухода с вкладки.
pub cursor: usize,
/// Иконки на поле редактора для этой вкладки.
pub gutter: GutterState,
/// Содержимое на момент последнего «сохранения».
saved_content: String,
}
@@ -150,6 +154,7 @@ impl Document {
icon: None,
language: None,
cursor: 0,
gutter: GutterState::new(),
}
}