configurable cd hook

Signed-off-by: Ava Affine <ava@sunnypup.io>
This commit is contained in:
Ava Apples Affine 2024-02-20 14:27:11 -08:00
parent 6351ac63d2
commit 50ebfd2e37
4 changed files with 77 additions and 29 deletions

View file

@ -68,6 +68,7 @@ Errors during configuration are non-terminal. In such a case any defaults which
- CFG_FLESH_L_PROMPT (default 'λ'): a function that is called with no arguments to output the left hand of the prompt
- CFG_FLESH_R_PROMPT (default ''): a function that is called with no arguments to output the right hand of the prompt
- CFG_FLESH_PROMPT_DELIMITER (default '>'): a function that is called with no arguments to output the delimiter separating prompt from user input
- CFG_FLESH_CD_CB (default None): optional function / lambda that is called with no arguments on every change of CD. See [[file:Shell.org][The Shell Documentation]] for more information.
** Prompt design
For an example of prompt design see [[file:snippets/mood-prompt.f][the mood prompt]]
@ -164,18 +165,17 @@ Note: this section only tracks the state of incomplete TODO items. Having everyt
** TODO v1.0 tasks
- Can pass args to flesh scripts (via command line)
- Can pass args to flesh scripts (via interpreter)
- Pipe also operates on stderr
- ~ if possible (string replacement?)
- tab completion for symbols also attempts to complete binaries
- finish basic goals in the [[file:snippets/interactive-devel.f][interactive development library]]
- cd accepts symbols as well as strings (emulate shell)
- declare macros
- Release CI
- Make an icon if you feel like it
- Post release to relevant channels
** TODO v1.1 tasks
- emacs lsp implementation
- finish stretch goals in the [[file:snippets/interactive-devel.f][interactive development library]]
- Pipe also operates on stderr
- better emacs language mode
- finish the [[file:snippets/interactive-devel.f][interactive development library]]
- History length configurable (env var?)
- execute configurable function on cd
- Post to relevant channels
- Implement Compose for lambdas
(add to readme)