aboutsummaryrefslogtreecommitdiff
path: root/gui/internal/model/newdir.go
diff options
context:
space:
mode:
Diffstat (limited to 'gui/internal/model/newdir.go')
-rw-r--r--gui/internal/model/newdir.go20
1 files changed, 20 insertions, 0 deletions
diff --git a/gui/internal/model/newdir.go b/gui/internal/model/newdir.go
new file mode 100644
index 0000000..d0df6db
--- /dev/null
+++ b/gui/internal/model/newdir.go
@@ -0,0 +1,20 @@
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+package model
+
+import (
+ "krino/internal/config"
+ "krino/internal/engine"
+)
+
+// AddDirectory writes dirs/NAME.conf from the template with path filled in
+// and adds NAME to krino.conf's include - exactly what `krino new NAME
+// PATH` does, through the same code, so a directory made in the window is
+// indistinguishable from one made on the command line (his report that the
+// window had no way to add one, 2026-09-17).
+//
+// It returns the new file's path. The caller reloads the engine: until it
+// does, the window knows nothing of the new directory.
+func AddDirectory(e *engine.Engine, name, path string) (string, error) {
+ return config.NewDir(e.MainFile, name, path)
+}