Ion Shell Development Discussion


#21

Should the Ion shell have an RFC process similar to Rust?


#22

Sure! I think that would be really good!


#23

How (and where) should one ask questions on ion? The manual is incomplete, and there is probably not enough momentum to get answers on stackoverflow yet.
My specific question: in bash (running in xfce-terminal) I can use ctrl+left/right to jump full words, in ion this doesn’t work. How can I do such jumps in ion?
My general question: where does the specific question belong (because surely not in this thread)?


#24

Anywhere is fine. So this is an issue with termion. Ion’s prompt is powered by the liner crate, and binds all the keyboard shortcuts accordingly from inputs that it receives from termion.

If you know your way around vi mode, you can use that instead with set -o vi, then you can press Esc and use vi key bindings[1] to navigate words (like pressing w to move forward to the next word, b to move back to the last word, and a/i to go back to input mode).

[1] https://hea-www.harvard.edu/~fine/Tech/vi.html


#25

I just built ion on my solus box and so far really like it. My question does Ion load a config file, like for example ~/.bashrc or ~/.profile were i can put alias in?


#26

Ion follows the XDG specification, so it’s located at $HOME/.config/ion/initrc. At first launch, this path is printed on the terminal.


#27

I’ve been working on some of the more severe issues with the Ion shell in the last week or so: pipeline execution & job control. As a result, there’s currently a pull request that I’m still working on that will fix all the major outlying issues with foreground job control and pipeline execution. I’m also working on background job control, which may be included within the same PR.

I haven’t yet merged the PR though because it keeps failing its pipeline execution tests on Travis, whereas I’m unable to replicate the failures on my development laptop. I’m not yet sure why that is happening, so I’m currently focused on reworking the background job control, and then I’ll get back to poking around the code base to figure out why those tests are failing.