-
Notifications
You must be signed in to change notification settings - Fork 0
Command Notes
- Builtin Commands
These are commands that are implemented purely in client-side JavaScript. They are the only commands that are fixed and cannot be overridden by commands provided by the user. There should be extremely limited number of these, perhaps only those that cannot be implemented outside of the core (i.e. maybe none). - Client-Side Only Commands
- Server-Side Commands the Run Code on the Client-Side
- Server-Side Only Commands
Arguments are specified at the prompt after the command name. An argument can be a JavaScript string, object or array literal, or a sequence of characters without delimiters up until the first whitespace character. The escaping rules are the same as those for a double quoted JavaScript string, except that double quotes don’t need to be escaped and a backslash can precede a whitespace character, a backtick or a dollar, the latter two having special meaning when not escaped.
Should work the same as bash, implemented by subscribing to and publishing events. I wonder if we can do better than existing shells here, perhaps some unification of arguments and inputs and outputs – like perhaps an argument that specifies a stream (like a formalisation of the “-” convention many unix commands follow)?
Could have commands publish what types they accept (think http accept headers) and other commands choose how they output accordingly. We should be able to avoid serialisation and deserialisation in some cases.