feat: save and restore indent_mode to editor state
This commit is contained in:
parent
910c69183d
commit
196f516724
1 changed files with 11 additions and 1 deletions
|
@ -23,6 +23,7 @@ const editor_gutter = @import("editor_gutter.zig");
|
|||
const Widget = @import("Widget.zig");
|
||||
const WidgetList = @import("WidgetList.zig");
|
||||
const tui = @import("tui.zig");
|
||||
const IndentMode = @import("config").IndentMode;
|
||||
|
||||
pub const Cursor = Buffer.Cursor;
|
||||
pub const View = Buffer.View;
|
||||
|
@ -318,6 +319,7 @@ pub const Editor = struct {
|
|||
render_whitespace: WhitespaceMode,
|
||||
indent_size: usize,
|
||||
tab_width: usize,
|
||||
indent_mode: IndentMode,
|
||||
|
||||
last: struct {
|
||||
root: ?Buffer.Root = null,
|
||||
|
@ -370,12 +372,15 @@ pub const Editor = struct {
|
|||
const Result = command.Result;
|
||||
|
||||
pub fn write_state(self: *const Self, writer: Buffer.MetaWriter) !void {
|
||||
try cbor.writeArrayHeader(writer, 8);
|
||||
try cbor.writeArrayHeader(writer, 11);
|
||||
try cbor.writeValue(writer, self.file_path orelse "");
|
||||
try cbor.writeValue(writer, self.clipboard orelse "");
|
||||
try cbor.writeValue(writer, self.last_find_query orelse "");
|
||||
try cbor.writeValue(writer, self.enable_format_on_save);
|
||||
try cbor.writeValue(writer, self.enable_auto_save);
|
||||
try cbor.writeValue(writer, self.indent_size);
|
||||
try cbor.writeValue(writer, self.tab_width);
|
||||
try cbor.writeValue(writer, self.indent_mode);
|
||||
if (self.find_history) |history| {
|
||||
try cbor.writeArrayHeader(writer, history.items.len);
|
||||
for (history.items) |item|
|
||||
|
@ -411,6 +416,9 @@ pub const Editor = struct {
|
|||
tp.extract(&last_find_query),
|
||||
tp.extract(&self.enable_format_on_save),
|
||||
tp.extract(&self.enable_auto_save),
|
||||
tp.extract(&self.indent_size),
|
||||
tp.extract(&self.tab_width),
|
||||
tp.extract(&self.indent_mode),
|
||||
tp.extract_cbor(&find_history),
|
||||
tp.extract_cbor(&view_cbor),
|
||||
tp.extract_cbor(&cursels_cbor),
|
||||
|
@ -454,11 +462,13 @@ pub const Editor = struct {
|
|||
const frame_rate = tp.env.get().num("frame-rate");
|
||||
const indent_size = tui.config().indent_size;
|
||||
const tab_width = tui.config().tab_width;
|
||||
const indent_mode = tui.config().indent_mode;
|
||||
self.* = Self{
|
||||
.allocator = allocator,
|
||||
.plane = n,
|
||||
.indent_size = indent_size,
|
||||
.tab_width = tab_width,
|
||||
.indent_mode = indent_mode,
|
||||
.metrics = self.plane.metrics(tab_width),
|
||||
.logger = logger,
|
||||
.file_path = null,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue