summaryrefslogtreecommitdiff
path: root/src/CHANGELOG.md
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-08-24 23:00:52 -0300
committerGabriel Schneider <[email protected]>2026-08-25 09:42:07 -0300
commit28c70cabb6ceb7e5fecfd74f6984f5a995269f01 (patch)
tree3785f3dde630e9d33725f4e76a37ea6e8803c634 /src/CHANGELOG.md
parent08eadb3b46dc70a297ff89308dd1cd26237785d6 (diff)
downloadpardes-28c70cabb6ceb7e5fecfd74f6984f5a995269f01.tar.gz
pardes-28c70cabb6ceb7e5fecfd74f6984f5a995269f01.zip
builtins + config: Save reaches every pane holding text of its own, and takes a path argument
Diffstat (limited to 'src/CHANGELOG.md')
-rw-r--r--src/CHANGELOG.md15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/CHANGELOG.md b/src/CHANGELOG.md
index b2bc9583..3b5056b5 100644
--- a/src/CHANGELOG.md
+++ b/src/CHANGELOG.md
@@ -14,8 +14,19 @@
temporary file. Its directory is inherited from the pane it was opened from.
- `Save` on a scratch asks for a path, prefilled with that inherited
directory, and the buffer becomes an ordinary file once written.
-- `Save` on a terminal writes its plaintext scrollback to a prompted path and
- leaves the pane a terminal.
+- `Save` reaches every pane that holds text of its own and leads its tagline:
+ a terminal ("Save New Newtty Del Filter") and an output buffer like
+ `+Search` ("Save New Newtty Del") as well as a file. Images and PDFs keep
+ the plain tail — their bytes on disk already are what they are.
+- `Save` takes the path as an ARGUMENT (`Save notes.txt`, or a selection
+ chorded onto the word) and asks for one only when it was not given, the way
+ Find and Grep ask for a pattern. A relative path resolves against the
+ pane's own directory, with `.` and `..` normalized; a path that cannot be
+ made absolute is refused rather than written next to the process.
+- Writing to a path never rewrites the pane: a terminal stays a terminal, an
+ output buffer keeps its rows and its place in the n/N ring, and an open file
+ keeps the file it has, so `Save <elsewhere>` is a copy and not a rename.
+ The scratch `+New` is still the one exception, becoming the file it names.
- A dropped pane's memory outlives its frame, so a pane pointer taken during
that frame stays valid until the next one repairs it.
- The core owns the event loop. Each platform is now a `Host` of optional