summaryrefslogtreecommitdiff
path: root/docs/config.md
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-08-02 18:17:37 -0300
committerGabriel Schneider <[email protected]>2026-08-10 09:17:07 -0300
commit35cecf26b06cf50d9827056da99d883ca975c39b (patch)
tree7b228b94313880f2d78fa5f0fb85a0115cfd0e88 /docs/config.md
parent4f980de2c7a2ec29c561bca815c37879a18cc2b3 (diff)
downloadpardes-35cecf26b06cf50d9827056da99d883ca975c39b.tar.gz
pardes-35cecf26b06cf50d9827056da99d883ca975c39b.zip
load builtin commands from the user config before rendering
Diffstat (limited to 'docs/config.md')
-rw-r--r--docs/config.md25
1 files changed, 25 insertions, 0 deletions
diff --git a/docs/config.md b/docs/config.md
new file mode 100644
index 00000000..b3eee911
--- /dev/null
+++ b/docs/config.md
@@ -0,0 +1,25 @@
+# Startup configuration
+
+Native pardes builds read a per-user `pardes` file before the first frame:
+
+- Unix: `$XDG_CONFIG_HOME/pardes`, falling back to `~/.config/pardes`.
+- macOS: `$XDG_CONFIG_HOME/pardes` when that variable is set, otherwise
+ `~/Library/Application Support/pardes`.
+- Windows: `%LOCALAPPDATA%\pardes`, with `%USERPROFILE%\AppData\Local\pardes`
+ as the fallback.
+
+The browser build has no local user-config path and does not load this file.
+
+The format is one existing builtin command per line, using the same spelling
+and argument parsing as commands executed inside pardes:
+
+```text
+Theme acme
+Font DejaVuSansMono-Regular
+```
+
+Blank, unknown, malformed, or unsuccessful lines are ignored silently, and a
+bad line does not prevent later lines from running. Top-level text that is not
+a builtin is not sent to a shell. (`Exec ...` remains an ordinary builtin and
+therefore keeps its normal behavior.) Key bindings remain compile-time choices
+in `src/config.zig`; this startup file does not remap them.