Files
lush/issues/08-configuration.md
Cormac Shannon 4b49907ce7 Update project issues: resolve #02-#04, add #08-#10
Mark issues #02 (backtick lexing/parsing), #03 (command execution
runtime), and #04 (argv parsing) as resolved. Add new issues for
configuration (#08), programmable prompt (#09), and interactive
command execution (#10).
2026-02-28 18:27:55 +00:00

1.1 KiB

08 — Configuration support

Status: open

Users should be able to programmatically configure the shell at startup.

Config location

  • ~/.config/lush/config — main config file (Lua script)
  • ~/.config/lush/config.d/ — drop-in directory, files sourced in lexicographic order

What can be configured

  • Prompt — see #09
  • Aliases — command aliases (e.g. alias("ll", "ls -l"))
  • Environment setup — set/modify env vars at startup
  • Autocompletion rules — TBD, mechanism for registering custom completions

Startup behaviour

  1. If ~/.config/lush/config exists, execute it as a Lua script
  2. If ~/.config/lush/config.d/ exists, execute each .lua file in lexicographic order
  3. Config files run in the same Lua state as the interactive session — locals, globals, and env changes persist

Open questions

  • Should there be a system-wide config (/etc/lush/config) sourced before user config?
  • What API surface to expose for autocompletion registration?
  • Should config errors be fatal or just print a warning and continue?