From 3d25687572aa9373e324a06413ceffba15d6bceb Mon Sep 17 00:00:00 2001 From: Mitja Felicijan Date: Thu, 22 Jan 2026 18:51:24 +0100 Subject: Add :w filename and :n new buffer --- editor.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'editor.go') diff --git a/editor.go b/editor.go index f889232..1011c09 100644 --- a/editor.go +++ b/editor.go @@ -238,6 +238,25 @@ func (e *Editor) toggleDebugWindow() { e.showDebugLog = !e.showDebugLog } +// NewBuffer creates a new empty buffer and switches to it. +func (e *Editor) NewBuffer() { + // Use default file type (Text), which is the last one in the list. + defaultType := fileTypes[len(fileTypes)-1] + + newB := &Buffer{ + buffer: [][]rune{{}}, + filename: "", + undoStack: []HistoryState{}, + redoStack: []HistoryState{}, + fileType: defaultType, + } + + e.buffers = append(e.buffers, newB) + e.activeBufferIndex = len(e.buffers) - 1 + e.message = "New buffer created" + e.introDismissed = true +} + // LoadFile reads a file from disk into the active buffer. func (e *Editor) LoadFile(filename string) error { info, err := os.Stat(filename) @@ -381,6 +400,7 @@ func (e *Editor) LoadFromReader(filename string, r io.Reader) error { e.activeBufferIndex = len(e.buffers) - 1 } + e.introDismissed = true return nil } -- cgit v1.2.3