Commit graph

144 commits

Author SHA1 Message Date
fb724ccee4 add version flag 2023-06-11 23:48:18 -07:00
dariof4
9a93dd0e19 Add custom validator to fix multiline behaviour when working with strings 2023-06-11 18:23:36 +00:00
7d2fe51709 account for comment delimiters in strings 2023-06-08 17:13:45 -07:00
0a01f9178c another tweak to eval/quote equivalency, more tests 2023-06-08 17:11:10 -07:00
33791c7f3b update error message to actually be helpful 2023-06-08 13:54:31 -07:00
398726568a fix evaluation behavior mismatch between functions and lambdas
Signed-off-by: Ava Hahn <ava@sunnypup.io>
2023-06-08 12:48:34 -07:00
a9cc38826e Load stdlib with shell state ahead of configuration 2023-06-06 11:32:25 -07:00
981df23ea2 flip CFG_RELISH_POSIX behavior
Signed-off-by: Ava Hahn <ava@sunnypup.io>
2023-06-06 11:32:25 -07:00
8cc0202a7b Readme and clippy cleanups 2023-05-28 23:22:49 +00:00
906cb16355 POSIX conditional compilation:
* All features related to POSIX environments (env vars, shell stuff) gated by feature flags
* Dependencies optional per feature flags
* new CI target for non-POSIX build
* new CI target for release binary artifact

Signed-off-by: Ava Hahn [ava@sunnypup.io](mailto:ava@sunnypup.io)
2023-05-26 06:41:18 +00:00
3bbea6bea0 This MR finishes up all remaining Pre V1 goals
* add a posix exit() builtin
* improve separation of concerns regarding standard library structure
2023-05-25 23:08:44 +00:00
b3c0b80ee6 dont duplicate commands in autocomplete
Signed-off-by: Ava Hahn <ava@sunnypup.io>
2023-05-25 15:21:12 -07:00
23b295c10d big important improvements to path autocomplete 2023-05-25 15:18:42 -07:00
789349df48 Error Messaging Redesign
This commit contains the following:

* New data types to support full tracebacks
* New traceback data type used across stl and ast
* Updates to tests
* fixes for error messaging in sym and some stl functions
2023-05-23 22:06:11 +00:00
6969ea63bc usability improvements to env and def
* env prints variables and functions in seperate columns
* run/stl seperation of concerns significantly better
* def doesnt store lists or lambdas in the environment
2023-05-21 23:53:00 +00:00
c127118465 fully interactive shell
* Background task implementation
* Foreground an existing task implementation
* Documentation for both
* Refactors to signal handling, process pre-exec
2023-05-18 06:53:23 +00:00
09b032271b small docs updates, add trailing slash to autocompleted directories 2023-05-16 10:58:06 -07:00
1ef0a534db
tab complete! yay!
Signed-off-by: Ava Hahn <ava@sunnypup.io>
2023-05-03 15:13:18 -07:00
c2cc8571bc
fix issue with env var to sym table sync
Signed-off-by: Ava Hahn <ava@sunnypup.io>
2023-05-03 15:04:54 -07:00
5afc2cc4a1
a few changes enclosed:
* documented deps
* mild string escaping
* corrected a misbehavior in sym
2023-04-19 21:03:26 -07:00
d7864ee628
load-to-string pulls out newline, also fix issue with nested calls 2023-04-19 18:24:15 -07:00
ee1ef9700d
cd function
Signed-off-by: Ava Hahn <ava@sunnypup.io>
2023-04-17 22:11:49 -07:00
db55c54dd3
main -> relish 2023-04-17 20:24:50 -07:00
014be6ece3
fix needless pg churn 2023-04-17 20:17:42 -07:00
e5f81ad604
shell pipe function prototype finished 2023-04-07 12:21:22 -07:00
9c0f88ec91
WIP early start on pipe command 2023-04-06 22:24:14 -07:00
d11545bc31
implement load-to-string, revert odd Cargo.toml mistake 2023-03-30 20:47:22 -07:00
dcbc855783
fixed permissions issue in load-with 2023-03-30 20:02:45 -07:00
e8cf59b7a7
implemented load-with.... still need docstring and to fix some write errors 2023-03-28 20:47:55 -07:00
ab14ba4b5e
circuit handles load commands better
Signed-off-by: Ava Hahn <ava@sunnypup.io>
2023-03-27 14:34:07 -07:00
921deb9e5e
put todo items into readme instead of posix module comment block 2023-03-27 11:32:12 -07:00
99cb9e5a2e
elementary shell behavior: can kick off a foreground process and
handle signals
2023-03-24 18:14:33 -07:00
a711b32730
shell fully configurable 2023-03-23 11:52:36 -07:00
1ce5fd3454
input function 2023-03-22 22:53:29 -07:00
df6b5b5f06
reformat some readme stuff 2023-03-20 23:11:29 -07:00
751388b04c
a bit better prompt printing 2023-03-20 23:02:33 -07:00
b638918a89
list contains implemented 2023-03-20 22:14:40 -07:00
da0709c4db
better echo 2023-03-20 21:21:42 -07:00
3f75157fac
got all the load script stuff done.
added script args to main shell
also added userlib tests to ci
2023-03-20 19:00:30 -07:00
381852b3bd
Implemented SymTable optimization for efficient variable updates 2023-03-20 17:16:44 -07:00
dcb2969b0a
* fixed and wrote test for lambda and function as arg case
* added license to userlib tests
* added map impl to userlib
* userlib tests now run and pass
* all args are evaluated individually
2023-03-20 16:22:51 -07:00
8a91560921
improvements to configuration system 2023-03-18 23:00:55 -07:00
34e77903a6
Add userlib tests
Document userlib in readme
extend example configuration to include userlib
2023-03-17 13:24:31 -07:00
1ee9ba55fb
Added USERLIB with prepend and set.
Added a q shortcut to quote
get-doc and set-doc no longer conditionally evaluate args
Fixed bug in let, documented potential performance improvements
upped default history to 5k lines
2023-03-17 13:06:27 -07:00
a01df6b7b2
undid eval tweaks, made tests for weird def cases 2023-03-17 12:21:42 -07:00
2dfe73de6b
variables defined using def in a let statement now escape local scope
test added as well.
2023-03-17 12:01:43 -07:00
3848d3bcfa
Eval enhancements. Rewrote store to be significantly better 2023-03-17 11:42:36 -07:00
Ava Hahn
20821057f2
complete all introductory documentation, except for the Easy Patterns
section
Also, removed some stray debug lines and added a printed newline
inbetween prompt and output
2023-03-16 15:14:24 -07:00
67af8bbd47
multiline shell, yay! 2023-03-15 21:55:10 -07:00
8efa1dbaad
Fully fledged lambdas, along with efficiency tweaks across the ast 2023-03-13 15:02:19 -07:00