• Joined on 2021-05-11
sforka synced commits to master at sforka/fsh from mirror 2021-05-18 13:41:58 +00:00
9e810a5929 Builtins: Added a hack so that builtins would behave correctly no matter if they're called from eval or execute
sforka synced commits to master at sforka/fsh from mirror 2021-05-17 17:51:57 +00:00
75819e9abc Let: Let works now, somehow. I fixed a bunch of things but this cart is still fundimentaly broken
c2ba92518e Builtins: set now puts the variables in the most local frame by default
3d7bf1029e Variables: evalVariables goes threw the frames in the right order now (from the most local frame to the global one)
8c48eb9057 Variables: The 0th frame is the global one, the next few ommits make it so
2a732eb569 Variables: Added frames with shit performance
Compare 5 commits »
sforka synced commits to master at sforka/fsh from mirror 2021-05-16 18:31:57 +00:00
eff52bf920 Variables: 2 dollarsignsin a row are equal to a single dollarsign now
0d8354ddd9 Prompt: Added a prompt (Still buggy a little if it contains dollarsigns)
ef34936d29 builtins: Added cd
Compare 3 commits »
sforka synced commits to master at sforka/fsh from mirror 2021-05-15 13:01:57 +00:00
472ecf7b25 builtins: Added an if command
sforka synced commits to master at sforka/fsh from mirror 2021-05-14 18:11:58 +00:00
7b0dec7084 Builtins, exec / eval: Builtins can return statuses now, not used at all now though
4cd90e368c Eval execute: They now ignore empty commands or commands that only contain a single empty string
Compare 2 commits »
sforka synced commits to master at sforka/fsh from mirror 2021-05-13 21:11:57 +00:00
8e21117986 Ctrl-C: Handles sigint much more elegantly
87982fdcbc Exceptions: Add an exception for ^c
Compare 2 commits »
sforka synced commits to master at sforka/fsh from mirror 2021-05-13 14:11:58 +00:00
5116918ff2 Exceptions: Raising code uses proper constructers now
43ac1b6e04 Exceptions: Refactoring exception making code
adf612effd Eval / execute: Raise a ShellCommandError if command is not available
ad3568d785 Builtins: setenv: Raises a ShellCommandError incase of lack of arguments
285eb06f0e Builtins: set: Throws an exception if not enough arguments are provided
Compare 7 commits »
sforka synced commits to master at sforka/fsh from mirror 2021-05-12 20:41:57 +00:00
fb7b46fca6 eval and execute: Automatically skips over empty commands (those that parse command interprets as empty lists)
69a96bda1b eval and execute: If a builtin has been found, continue onto the next command instead of executing the program by the same name
226c44c99c parseCommand: Spaces at the beginning of a command should no longer make the shell crash
9568721c82 exec: Exec can now execute multiple commands at once
a83e5d3c79 eval: Eval can now evaluate multiple commands at once
Compare 5 commits »
sforka synced commits to master at sforka/fsh from mirror 2021-05-12 14:51:58 +00:00
5ebbc60ccb Builtins: Added the exit builtin
23592c5e15 Builtins: Added set, setenv, and echo builtins
b1c9159155 Substitute and parseCommand: The now recognise variables and deal with them as needed
Compare 4 commits »
sforka synced commits to master at sforka/fsh from mirror 2021-05-11 16:48:08 +00:00
d502efaeb1 Substitute and parseCommand: The now recognise variables and deal with them as needed
8a5e6c3cea Variables: Added a readVariable and evalVariable procedures
c00678603b imports: Removed the needless strutils module
Compare 3 commits »