- 01 May, 2020 1 commit
-
-
matu3ba authored
-
- 21 Apr, 2020 1 commit
-
-
matu3ba authored
adding template description for merge requests
-
- 20 Apr, 2020 4 commits
-
-
matu3ba authored
templates for issues and merge_requests for specific user information and better analysis of tradeoffs of certain features
-
Before this patch, `let` only shows string and array variables, whilst all mapping types are not shown. In addition, string and array variables are separated from each other by comments. This patch implements a new function on `shell::Variables` that returns all the variables in scope and then modifies `Shell::list_vars` to print all the variables. The syntax returned is equivalent to the method of declaring the variables themselves, however this still results in mapping types being indistinguishable from each other by looking at the output of `let` (both `HashMap` and `BTreeMap` look the same).
-
Why is this needed? Well, at the moment nothing happens when the user tries something along the lines of `let some_string[3] = 'v'`, even though we don't allow it. The variable itself doesn't change, and we don't print any errors. This patch just makes the function that would assign return an error instead of silently failing. Why not implement modifying strings by index? Sure, we could do that, but it's not quite as obvious as it seems. We support utf8 strings, so modifying the `i`th byte obviously doesn't work, and could potentially make the string invalid. Another option would be to set the `i`th character to whatever is passed in. This is fine in theory, but it would be an `O(N)` operation in the average case, and we'd have to shuffle all the following chars either further up or further down the string. While this may be a desirable ability to eventually have, it will require significantly more work and thought around strings in ion than simply returning an error.
-
Prior to this commit, the following type was considered invalid: `[[float]]` Of course, sometimes it is helpful to have arrays within arrays, and as such, this patch allows for nested arrays. To do this, the array types in `Primitive` have all been converted to a `Primitive::Array` type, that holds a `Box<>` to another `Primitive`. There is - of course - a slight performance penalty to be expected with moving to using another `Box` for arrays, however after having run the benchmarks, the difference appears to be negligible.
-
- 13 Apr, 2020 1 commit
-
-
Graham MacDonald authored
-
- 22 Mar, 2020 3 commits
-
-
Tom Almeida authored
-
Tom Almeida authored
-
Tom Almeida authored
-
- 28 Jan, 2020 1 commit
-
-
- 26 Jan, 2020 1 commit
-
-
AdminXVII authored
When some binaries set the TTY to non-blocking mode, the shell would panic because of a nonblock error. Fix this by reseting the O_FLAGS while reading lines
-
- 22 Jan, 2020 1 commit
-
-
Xavier L'Heureux authored
-
- 19 Jan, 2020 2 commits
- 12 Jan, 2020 25 commits
-
-
Tom Almeida authored
-
Fixes the issue where: ``` let arg = todo echo -e "\n\n$arg" ``` Returns: ``` ntodo ``` Instead of: ``` todo ``` --- Fixes issue where: ``` echo -e "one\\\\\ntwo\\\\\nthree" ``` Returns: ``` one\\ntwo\\nthree ``` Instead of: ``` one\ two\ three ```
-
-
-
-
-
-
-
Many tools rely on the current shell being a POSIX shell to set environments (ex: Nix). Add the `source-sh` builtin which spawns the sh shell, and then sync the new environment variables. Also, a update the new fmt
-
-
The variable is equal to the amount of WHOLE seconds spent executing the previous command. This variable is currently not set when running the PROMPT function, because this would mean that the CMD_DURATION would always refer to the time spent in the PROMPT function when running in interactive mode.
-
-
-
-
-
-
-
-
-
-
-
- Disable the regex's unicode feature by default - Add a feature to Ion to enable it again - Update the dependencies Breaking Change: Perl-style character class are disabled (\w _et al._) and there is no longer unicode support by default.
-
- Adds a merge request guidelines section - Switch to squashed, conventional-style commits for MRs - Specify preference for rebase over merges - Link to a resource explaining a recommended git flow
-
Breaking Change: auto-cd will no longer wrk in scripts. However, it was never intended to work in scripts to begin with, so this is actually an improvement. If a command fails, try to cd before outputing the error. Issues fixed by this: - Trailing slashes are no longer necessary - If a binary and a folder conflicts, the binary has priority - Typing `-` cd to the old pwd Fix #892
-
-