Commit Graph

16 Commits

Author SHA1 Message Date
Sekulum Forka 285eb06f0e Builtins: set: Throws an exception if not enough arguments are provided 2021-05-13 11:29:26 +02:00
Sekulum Forka aa528eb717 evalVariable: Thows ShellVariableError if no variable is found 2021-05-13 11:25:28 +02:00
Sekulum Forka cdae96263b Exceptions: Make better exception types 2021-05-13 11:19:39 +02:00
Sekulum Forka fb7b46fca6 eval and execute: Automatically skips over empty commands (those that parse command interprets as empty lists) 2021-05-12 22:19:26 +02:00
Sekulum Forka 69a96bda1b eval and execute: If a builtin has been found, continue onto the next command instead of executing the program by the same name 2021-05-12 22:16:15 +02:00
Sekulum Forka 226c44c99c parseCommand: Spaces at the beginning of a command should no longer make the shell crash 2021-05-12 22:12:58 +02:00
Sekulum Forka 9568721c82 exec: Exec can now execute multiple commands at once 2021-05-12 21:07:12 +02:00
Sekulum Forka a83e5d3c79 eval: Eval can now evaluate multiple commands at once 2021-05-12 21:04:29 +02:00
Sekulum Forka 5ebbc60ccb Builtins: Added the exit builtin 2021-05-12 15:43:40 +02:00
Sekulum Forka 23592c5e15 Builtins: Added set, setenv, and echo builtins 2021-05-12 14:44:24 +02:00
Sekulum Forka b1c9159155 Substitute and parseCommand: The now recognise variables and deal with them as needed 2021-05-12 13:32:08 +02:00
Sekulum Forka 8a5e6c3cea Variables: Added a readVariable and evalVariable procedures 2021-05-11 18:31:02 +02:00
Sekulum Forka c00678603b imports: Removed the needless strutils module 2021-05-11 15:52:13 +02:00
Sekulum Forka bdb77b272a Main loop: Execute is now called instead of eval 2021-05-11 11:57:36 +02:00
Sekulum Forka 4db9a4d831 eval and execute: Changed how they work. Main difference is that eval returns the output of the function while execute merges the parent process's and child process's stdstreams 2021-05-11 11:57:36 +02:00
Sekulum Forka 36d2b8e03a second commit 2021-05-11 11:57:36 +02:00