ion issueshttps://gitlab.redox-os.org/redox-os/ion/-/issues2018-06-12T14:22:04Zhttps://gitlab.redox-os.org/redox-os/ion/-/issues/98Exit with the last command's exit status2018-06-12T14:22:04ZJeremy SollerExit with the last command's exit statusWhen running a script or running with -c, ion should exit with the last commands exit status.
When running a script or running with -c, ion should exit with the last commands exit status.
https://gitlab.redox-os.org/redox-os/ion/-/issues/88Add command line options to dirs, pushd, popd2018-06-12T14:22:04ZMichael Aaron Murphymmstick@pm.meAdd command line options to dirs, pushd, popd*Created by: skylerberg*
https://www.gnu.org/software/bash/manual/html_node/Directory-Stack-Builtins.html
*Created by: skylerberg*
https://www.gnu.org/software/bash/manual/html_node/Directory-Stack-Builtins.html
https://gitlab.redox-os.org/redox-os/ion/-/issues/83Make quoted strings not do glob expansion2018-06-12T14:22:05ZMichael Aaron Murphymmstick@pm.meMake quoted strings not do glob expansion*Created by: skylerberg*
This will likely mean a lot of work in `peg.rs`. I see this as large change.
*Created by: skylerberg*
This will likely mean a lot of work in `peg.rs`. I see this as large change.
https://gitlab.redox-os.org/redox-os/ion/-/issues/87Add noop command2018-06-12T14:22:05ZMichael Aaron Murphymmstick@pm.meAdd noop command*Created by: skylerberg*
Most shells have a command called `:` that is a noop. We should add this to ion. It can either be called `:` or `noop`; I don't care which, but if anyone does, just say your opinion.
*Created by: skylerberg*
Most shells have a command called `:` that is a noop. We should add this to ion. It can either be called `:` or `noop`; I don't care which, but if anyone does, just say your opinion.
https://gitlab.redox-os.org/redox-os/ion/-/issues/85Catch signals2018-06-12T14:22:05ZMichael Aaron Murphymmstick@pm.meCatch signals*Created by: skylerberg*
Ion should not die when it catches a signal such as you get when you hit `^C`. Instead we should handle the signal.
We may have some trouble because as far as I can tell, Rust does not have a great way to deal ...*Created by: skylerberg*
Ion should not die when it catches a signal such as you get when you hit `^C`. Instead we should handle the signal.
We may have some trouble because as far as I can tell, Rust does not have a great way to deal with signals. https://github.com/rust-lang/rfcs/issues/1368.
Michael Aaron Murphymmstick@pm.meMichael Aaron Murphymmstick@pm.mehttps://gitlab.redox-os.org/redox-os/ion/-/issues/84Don't expand variables in single quoted strings2018-06-12T14:22:05ZMichael Aaron Murphymmstick@pm.meDon't expand variables in single quoted strings*Created by: skylerberg*
This should be changed after doing https://github.com/redox-os/ion/issues/83.
*Created by: skylerberg*
This should be changed after doing https://github.com/redox-os/ion/issues/83.
https://gitlab.redox-os.org/redox-os/ion/-/issues/81Make Homu automatically update the crate version based on changes to the chan...2018-06-12T14:22:05ZMichael Aaron Murphymmstick@pm.meMake Homu automatically update the crate version based on changes to the changelog*Created by: skylerberg*
This depends on https://github.com/redox-os/ion/issues/80.
If Homu could then push the changes to cargo, that would be even better.
*Created by: skylerberg*
This depends on https://github.com/redox-os/ion/issues/80.
If Homu could then push the changes to cargo, that would be even better.
https://gitlab.redox-os.org/redox-os/ion/-/issues/80Make Homu automatically update the changlog2018-06-12T14:22:05ZMichael Aaron Murphymmstick@pm.meMake Homu automatically update the changlog*Created by: skylerberg*
This depends on https://github.com/redox-os/ion/issues/77 and https://github.com/redox-os/ion/issues/79.
*Created by: skylerberg*
This depends on https://github.com/redox-os/ion/issues/77 and https://github.com/redox-os/ion/issues/79.
https://gitlab.redox-os.org/redox-os/ion/-/issues/78Make Homu run rustfmt on repo before merge2018-06-12T14:22:05ZMichael Aaron Murphymmstick@pm.meMake Homu run rustfmt on repo before merge*Created by: skylerberg*
Obviously this depends on https://github.com/redox-os/ion/issues/77.
*Created by: skylerberg*
Obviously this depends on https://github.com/redox-os/ion/issues/77.
https://gitlab.redox-os.org/redox-os/ion/-/issues/79Use an auto-changlog tool such as clog2018-06-12T14:22:05ZMichael Aaron Murphymmstick@pm.meUse an auto-changlog tool such as clog*Created by: skylerberg*
https://github.com/clog-tool/clog-cli
*Created by: skylerberg*
https://github.com/clog-tool/clog-cli
https://gitlab.redox-os.org/redox-os/ion/-/issues/77Use Homu to as a commit gate keeper2018-06-12T14:22:05ZMichael Aaron Murphymmstick@pm.meUse Homu to as a commit gate keeper*Created by: skylerberg*
*Created by: skylerberg*
https://gitlab.redox-os.org/redox-os/ion/-/issues/72Add tilde expansion2018-06-12T14:22:04ZMichael Aaron Murphymmstick@pm.meAdd tilde expansion*Created by: skylerberg*
Here is how bash does it https://www.gnu.org/software/bash/manual/html_node/Tilde-Expansion.html.
I would like to discuss what parts of this we should also do. Let me know what you think.
*Created by: skylerberg*
Here is how bash does it https://www.gnu.org/software/bash/manual/html_node/Tilde-Expansion.html.
I would like to discuss what parts of this we should also do. Let me know what you think.
https://gitlab.redox-os.org/redox-os/ion/-/issues/71Builtin commands should return exit statuses.2018-06-12T14:22:04ZMichael Aaron Murphymmstick@pm.meBuiltin commands should return exit statuses.*Created by: skylerberg*
Right now all the builtin commands don't return anything. We should return an exit status instead.
*Created by: skylerberg*
Right now all the builtin commands don't return anything. We should return an exit status instead.
https://gitlab.redox-os.org/redox-os/ion/-/issues/70Support user defined functions in ion2018-06-12T14:22:04ZMichael Aaron Murphymmstick@pm.meSupport user defined functions in ion*Created by: skylerberg*
I think we should do functions differently than other shells. I think they should be able to have a set number of arguments like a normal scripting language.
The first step toward this that I want to implement ...*Created by: skylerberg*
I think we should do functions differently than other shells. I think they should be able to have a set number of arguments like a normal scripting language.
The first step toward this that I want to implement is zero argument functions. These will basically be like aliases. Like Fish, I don't think ion needs aliases when functions can do the job.
https://gitlab.redox-os.org/redox-os/ion/-/issues/64Add for loop to ion2018-06-12T14:22:04ZMichael Aaron Murphymmstick@pm.meAdd for loop to ion*Created by: skylerberg*
Example
```
for i in 1 2 3
echo $i
end
```
Output should be:
```
1
2
3
```
*Created by: skylerberg*
Example
```
for i in 1 2 3
echo $i
end
```
Output should be:
```
1
2
3
```
https://gitlab.redox-os.org/redox-os/ion/-/issues/66Create an examples folder and use it as part of the testing process2018-06-12T14:22:04ZMichael Aaron Murphymmstick@pm.meCreate an examples folder and use it as part of the testing process*Created by: skylerberg*
It would be helpful to have example ion scripts to both help out users and enhance testing. We could have an `examples/` directory with scripts in it. Each script would end with `.ion` and we could also have `.o...*Created by: skylerberg*
It would be helpful to have example ion scripts to both help out users and enhance testing. We could have an `examples/` directory with scripts in it. Each script would end with `.ion` and we could also have `.out` files to show the expected output for each script. Once we have this we could easily add an automatic test to run each of these and compare the actual output with the expected output. This type of integrations testing would add much more confidence for me than any amount of unit testing would.
https://gitlab.redox-os.org/redox-os/ion/-/issues/62Flow control should not be implemented in on_command2018-06-12T14:22:05ZMichael Aaron Murphymmstick@pm.meFlow control should not be implemented in on_command*Created by: skylerberg*
Statements like `if`, `else`, `end` should not be implemented directly in `on_command`. Right now it is a real mess. This should either be moved to builtin commands or added to the grammar.
For ease of implemen...*Created by: skylerberg*
Statements like `if`, `else`, `end` should not be implemented directly in `on_command`. Right now it is a real mess. This should either be moved to builtin commands or added to the grammar.
For ease of implementation I am leaning toward using builtin commands for this. This will make it a lot easier to deal with the case where we have a partially finished if statement that the user is typing directly into the command line.
https://gitlab.redox-os.org/redox-os/ion/-/issues/57cd should push to the directory stack2018-06-12T14:22:05ZMichael Aaron Murphymmstick@pm.mecd should push to the directory stack*Created by: skylerberg*
Once this is implemented, the main difference between `cd` and `pushd` will be that `pushd` prints the directory stack and `cd` does not. Also `cd` should have options like `cd -`, however that is not in the sco...*Created by: skylerberg*
Once this is implemented, the main difference between `cd` and `pushd` will be that `pushd` prints the directory stack and `cd` does not. Also `cd` should have options like `cd -`, however that is not in the scope of this issue.
https://gitlab.redox-os.org/redox-os/ion/-/issues/47Load an init file when starting the shell2019-05-01T01:11:18ZMichael Aaron Murphymmstick@pm.meLoad an init file when starting the shell*Created by: skylerberg*
We need something like `.zshrc`, `.bashrc` or `.config/neovim/init.vim`.
*Created by: skylerberg*
We need something like `.zshrc`, `.bashrc` or `.config/neovim/init.vim`.
https://gitlab.redox-os.org/redox-os/ion/-/issues/49Travis should report coverage statistics to coveralls.io2018-06-12T14:22:05ZMichael Aaron Murphymmstick@pm.meTravis should report coverage statistics to coveralls.io*Created by: skylerberg*
Tracking test coverage would add a more visible impact for writing unit tests. We already have a badge on our README for it, but we don't send any reports.
*Created by: skylerberg*
Tracking test coverage would add a more visible impact for writing unit tests. We already have a badge on our README for it, but we don't send any reports.