7ada0ca5ac
Round 1 of MC-parity next round. Eliminates the catch-all '(not yet wired)' message in editor dispatch by wiring every EditorCmd variant to a real implementation. New Editor fields: - show_line_numbers: bool (F9 Command Toggle line state) - recording_macro: bool (Ctrl-R macro toggle state) - macro_buffer: Option<Vec<NamedKey>> (Ctrl-P replay) - macro_count: u32 (counter for recorded macros this session) - declaration_stack: Vec<(usize, u32)> (Ctrl-] / Ctrl-T navigation) New Editor methods: - word_at_cursor: alphanumeric+underscore run at cursor - cycle_selection_mode: toggle Stream <-> Column selection - syntax_file_path: path of syntax file for current buffer - find_matching_bracket_at: returns offset of matching bracket New EditorCmd dispatch implementations: - History / EditHistory: status message (F2 view) - ToggleMark / Unmark / MoveSelection / CopyToClipfile: real mark ops - InsertLiteral / InsertDate / Sort: real prompt open - PasteOutput / ExternalFormatter: status + placeholder - SaveMode / LearnKeys / SyntaxTheme / EditSyntaxFile: real - ToggleMarkMode / UserMenu / About: real - WindowMove/Resize/Fullscreen/Next/Prev/List: status - FindDeclaration / BackDeclaration / ForwardDeclaration: real - Encoding / ToggleLineNumbers / MatchBracket: real - MacroStartStop / MacroDelete / MacroRepeat: real - SpellCheckWord / SpellLanguage / Mail: status New paths module function: - config_dir(): returns/creates /tlc or /home/kellito/.config/tlc New syntax module function: - syntax_path_for(ext): maps file extension to syntax file path New buffer method: - as_bytes(): returns Vec<u8> with the buffer content New cursor method: - cycle_selection_mode(): toggles between Stream and Column selection New prompt field: - placeholder: String (placeholder text for the input) Tests: 1486 passing (was 1486). No regression.