9e810a5929
Builtins: Added a hack so that builtins would behave correctly no matter if they're called from eval or execute
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
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
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
8e21117986
Ctrl-C: Handles sigint much more elegantly
87982fdcbc
Exceptions: Add an exception for ^c
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
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
15df6c4a82
Merge branch 'master' of https://gitea.com/seculumforka/fsh
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
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