wash
9e6c3bb431
core: foreach-object: update variable definition api usage
2026-06-20 15:17:15 +01:00
wash
ad8b284869
runtime: implement an extensible line editor
...
the line editor supports custom keybinds and data storage, allowing for
a wide range of functionality to be implemented via plugins.
included plugins include:
* core: basic input and cursor movement.
* history: input history storage and retrieval (unfinished)
* highlight: support for colour-highlighting the line buffer (unfinished)
* syntax: parses the line buffer and uses `highlight` to apply syntax highlighting (unfinished).
* shell-integration:
- allows a `prompt` function to be defined, which will be called to get the text to
be used for the prompt
- exposes key properties of the line editor to the shell environment, allowing line editor
functionality to be extended via shell scripts.
2026-06-20 15:13:34 +01:00
wash
f622c2eba3
runtime: adjust formatting
2026-06-20 15:13:17 +01:00
wash
f62713872f
runtime: cmdcall: resolve() can now re-resolve an already-resolved cmdcall
2026-06-20 15:13:03 +01:00
wash
8b18421f63
runtime: parse: fix parsing of linefeed after last statement in block
2026-06-20 15:11:02 +01:00
wash
4a567a1bb9
runtime: format: add truncation and single-line support to value_writer
2026-06-20 15:10:15 +01:00
wash
c262b53eab
runtime: move variable definition from runtime to individual scopes
2026-06-20 15:09:10 +01:00
wash
c2d3e05430
runtime: command: handle commants that don't have a source assembly
2026-06-20 15:07:20 +01:00
wash
4e6493da58
runtime: lex: fix incorrect state-transition when scanning func keyword
2026-06-20 15:06:04 +01:00
wash
907e0c1832
frontend: evaluate <config>/profile.bshell on startup
2026-06-15 17:41:41 +01:00
wash
b8a5bd7338
frontend: update fx api usage
2026-06-15 17:41:26 +01:00
wash
c68b1d2b26
runtime: update fx api usage
2026-06-15 17:41:08 +01:00
wash
0140f768cf
frontend: re-organise frontend functionality; add feature and logging switches
2026-06-14 20:28:50 +01:00
wash
6f71b85522
cmake: find fx.cmdline assembly
2026-06-14 20:28:27 +01:00
wash
21c7092752
runtime: initialise global data when the first bshell_runtime is created
2026-06-14 20:28:07 +01:00
wash
3ace32a95b
runtime: native-command: remove logging from record processing
2026-06-14 20:27:46 +01:00
wash
de2a747e36
runtime: format: only add trailing newline to string if one isn't already present
2026-06-14 19:40:27 +01:00
wash
b3440fe231
runtime: cmdcall: implement resolution of native commands
2026-06-14 19:39:49 +01:00
wash
e8ddb0b75f
cmake: find fx.io and fx.diagnostics
2026-06-13 13:50:14 +01:00
wash
97a83addc8
core: write-output now writes args and input values to the pipeline rather than stdout
...
the runtime will handle writing any output values to the terminal if necessary. instead,
write-output can now be used to write arbitrary values into the pipeline for later commands
to use.
2026-06-13 13:49:00 +01:00
wash
8c926acd9d
core: update begin_processing() cmdlet signature
2026-06-13 13:48:19 +01:00
wash
fba7987d78
runtime: implement a bshell_command sub-class for calling native commands
2026-06-13 13:47:34 +01:00
wash
2332d48b0c
runtime: adjust formatting
2026-06-13 13:47:16 +01:00
wash
73519eb7aa
runtime: move value formatting functionality to a dedicated api
2026-06-13 13:47:06 +01:00
wash
4c04ca6de8
runtime: command: add an arg to begin_processing() to indicate pipeline position
2026-06-13 13:45:41 +01:00
wash
de5058e045
cmake: link to fx.diagnostics and fx.io
2026-06-13 13:36:20 +01:00
wash
8843f2d2a9
frontend: print an error message when the specified script file cannot be opened
2026-05-31 17:34:28 +01:00
wash
187296ca62
runtime: status: add descriptive messages for status codes
2026-05-31 17:34:12 +01:00
wash
b9a3caf033
runtime: lex: formatting cleanup
2026-05-31 17:33:43 +01:00
wash
8e2eec973a
core: add a compiler option for disabling floating-point usage
2026-05-31 17:33:20 +01:00
wash
6548c3283b
cmake: build-id: specify current working directory
2026-05-31 17:33:02 +01:00
wash
4a087d1000
cmake: update FindFX module
2026-05-31 17:32:44 +01:00
wash
da2777717c
frontend: add a compiler option for disabling floating-point usage
2026-05-31 17:32:26 +01:00
wash
290caf7aef
frontend: disable all fx.term includes when interactive mode is disabled
2026-05-31 17:32:06 +01:00
wash
73ff8ba6aa
bshell.runtime: disable all fx.term includes when interactive mode is disabled
2026-05-31 17:31:37 +01:00
wash
ee6fdfbc48
bshell.runtime: add a compiler option for disabling floating-point usage
2026-05-31 17:30:53 +01:00
wash
1a311b3796
doc: sample: make the simple sample script actually simple
2026-05-30 21:10:04 +01:00
wash
338c0356ca
multi: completely remove fx.term dependency when interactive support is disabled
2026-05-30 21:09:43 +01:00
wash
ca33228e0e
runtime: scriptblock: fix use of uninitialised memory
2026-05-30 20:18:41 +01:00
wash
09f64aaaba
runtime: scope: fix scope_set_block not handling NULL argument properly
2026-05-30 20:18:24 +01:00
wash
74695e8593
cmake: remove debug messages
2026-05-30 20:17:52 +01:00
wash
afab5343c4
doc: sample: add simple function example script
2026-05-30 19:54:06 +01:00
wash
0697d889c5
frontend: implement function compilation
2026-05-30 19:53:49 +01:00
wash
28abb4d2d3
frontend: implement debug printing for functions
2026-05-30 19:53:39 +01:00
wash
531191ab52
core: update pipeline api usage
2026-05-30 19:53:15 +01:00
wash
1710f705e9
command: implement callable bytecode functions
2026-05-30 19:52:50 +01:00
wash
96bf76aabc
runtime: fix memory leaks
2026-05-30 19:52:36 +01:00
wash
26b368a512
compile: fix memory leaks
2026-05-30 19:52:24 +01:00
wash
a30e76e525
scriptblock: fix memory leaks
2026-05-30 19:51:52 +01:00
wash
3b39f794f9
verb: fix memory leaks
2026-05-30 19:51:29 +01:00