diff options
| author | Mitja Felicijan <mitja.felicijan@gmail.com> | 2026-01-22 18:51:24 +0100 |
|---|---|---|
| committer | Mitja Felicijan <mitja.felicijan@gmail.com> | 2026-01-22 18:51:24 +0100 |
| commit | 3d25687572aa9373e324a06413ceffba15d6bceb (patch) | |
| tree | a0d59a08deefbef91d69f04da1e9e579f33e8723 /editor.go | |
| parent | b3d11e9787ac11c41949dea044b57afdbcc5836a (diff) | |
| download | qwe-editor-3d25687572aa9373e324a06413ceffba15d6bceb.tar.gz | |
Add :w filename and :n new buffer
Diffstat (limited to 'editor.go')
| -rw-r--r-- | editor.go | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -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 } |
