- Jun 25, 2017
-
-
Michael Aaron Murphy authored
-
Michael Aaron Murphy authored
In order to create an array with the let command, arrays must be wrapped within [ and ] characters, like so: let array = [ 1 2 3 ] let copy_of_array = [ ] Otherwise, if array arguments are passed to let but not wrapped within [ and ] characters, then the array arguments will be joined together as a string, with spaces between each element.
-
Michael Aaron Murphy authored
-
* Shell::readln now completes to a filename if the last word is a file - This allows situations like "./foo" to complete to a local directory "./foobar" - I'm not sure how efficient this is compared to the old competion, I'm guessing not very. * Have completion be relative to the current directory * Remove random newline
-
- Jun 24, 2017
-
-
* Refactored `array_expand` to be more concise / efficient - `array_expand` now serves as the entry for operating on a set of elements and returning an array - Fixed a bug where negative indicies were using the wrong length, the pre-expansion length - Added a regression test for the above * Factor out common subexpression
-
- Jun 23, 2017
-
-
-
* Add grapheme, bytes, and char string -> array methods, with refactor - Adds in the `@graphemes` `@chars`, and `@bytes` functions, which create arrays of string variables corresponding to graphemes, unicode scalars, and bytes respectively - Add in start of select refactor * Add tests for new string methods
-
- Jun 22, 2017
-
-
Michael Aaron Murphy authored
-
-
* Remove extra read increment in glob branch * Add test for globbing
-
Michael Aaron Murphy authored
-
* Make calc functions public to crate * Add arithmetic expressions to shell grammar * Fix failing test * Add test in syntax_errors for calc * Add test for expanding arithmetic subexpression * calc -> arith_expression * Add parser::words test for arithmetic * indent if branch
-
- Jun 21, 2017
-
-
Michael Aaron Murphy authored
-
Michael Aaron Murphy authored
-
- Jun 20, 2017
-
-
Michael Aaron Murphy authored
Implements the `$len()` and `$len_bytes()` methods for strings, and the `@len()` method for arrays. The len method for arrays returns the number of elements in the array. The len method for strings returns the number of graphemes in the string, whereas the len_bytes method returns the number of bytes the string occupies.
-
Michael Aaron Murphy authored
-
Michael Aaron Murphy authored
-
Michael Aaron Murphy authored
Now, when the SIGINT signal is received, it will be handled by aborting the execution of logic in the control flow.
-
Michael Aaron Murphy authored
-
* Hide tokio behind gate for redox * Move common shell logic to 'inner_main' * Move tokio stuffs to cfg gate * Move futures dependency to not(target_os = redox) gate
-
-
Michael Aaron Murphy authored
-
Michael Aaron Murphy authored
This change implements the foundations for handling signals. Specifically, only the SIGINT signal is being handled right now. SIGINT will kill active child processes, but it will not yet break control flow.
-
Michael Aaron Murphy authored
-
Michael Aaron Murphy authored
-
- Jun 19, 2017
-
-
* Added support for braced arrays * VBRACE flag now set when parsing braced array * Extend parser::statements::braced_variables test
-
* Add case for ending a braced variable This catch-all branch will always grab `}`, which is a valid ending to a braced variable. * Add test for braced variables * Move ending brace logic to separate branch
-
Michael Aaron Murphy authored
-
Michael Aaron Murphy authored
-
Michael Aaron Murphy authored
-
Michael Aaron Murphy authored
-
Michael Aaron Murphy authored
-
- Jun 18, 2017
-
-
Michael Aaron Murphy authored
Only allow implicit cd if the path starts with either a '.' or '/'; or ends with a '/'.
-
Michael Aaron Murphy authored
-
- Jun 17, 2017
-
-
Michael Aaron Murphy authored
-
* Move `export` from builtin to grammar * Refactor common parts of `let` and `export` logic * `export` now prints `env`
-
Michael Aaron Murphy authored
-
Michael Aaron Murphy authored
-
* Updated README.md to include vi and emacs keybindings as completed features. * Fixed typo in 'Using Variables' example code.
-