Jan Philipp Hafer c85d2ef479 fix(clippy): define and fix clippy lints, add documentation+license 3 lat temu
..
advanced 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
script_exec d91f3c05fc feat: Disable unicode support by default + update deps 5 lat temu
README.md 1f2d8e2530 fix(manual): split string and array methods from section methods and test them 4 lat temu
alias.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
alias.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
arithmetic_vars.ion 7878d8acf6 fix(manual,tests): test chapter variables up to arithmetic 4 lat temu
arithmetic_vars.out 7878d8acf6 fix(manual,tests): test chapter variables up to arithmetic 4 lat temu
array_methods.ion 1f2d8e2530 fix(manual): split string and array methods from section methods and test them 4 lat temu
array_methods.out 1f2d8e2530 fix(manual): split string and array methods from section methods and test them 4 lat temu
array_test.ion 7878d8acf6 fix(manual,tests): test chapter variables up to arithmetic 4 lat temu
array_test.out 7878d8acf6 fix(manual,tests): test chapter variables up to arithmetic 4 lat temu
array_vars.ion 7878d8acf6 fix(manual,tests): test chapter variables up to arithmetic 4 lat temu
array_vars.out 7878d8acf6 fix(manual,tests): test chapter variables up to arithmetic 4 lat temu
arrays_with_braces.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
arrays_with_braces.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
basic_condition.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
basic_condition.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
brace_exp.ion 2bc8826a97 fix(manual, testing): unit tests for correctly working sections+examples in manual chapter expansion 4 lat temu
brace_exp.out 2bc8826a97 fix(manual, testing): unit tests for correctly working sections+examples in manual chapter expansion 4 lat temu
braces.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
braces.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
break.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
break.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
builtin_piping.ion d91f3c05fc feat: Disable unicode support by default + update deps 5 lat temu
builtin_piping.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
builtin_set.ion 935811eafd Fix set and status argument handling 4 lat temu
builtin_set.out 935811eafd Fix set and status argument handling 4 lat temu
builtin_status.ion 935811eafd Fix set and status argument handling 4 lat temu
builtin_status.out 935811eafd Fix set and status argument handling 4 lat temu
check.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
check.params 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
cmdfile_fail.out 60e497a3b8 fix(CLI): error handling: no twice flags or options, no command and file usage 4 lat temu
cmdfile_fail.params 60e497a3b8 fix(CLI): error handling: no twice flags or options, no command and file usage 4 lat temu
color_test.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
color_test.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
command-substitutions.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
command-substitutions.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
command.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
command.params 60e497a3b8 fix(CLI): error handling: no twice flags or options, no command and file usage 4 lat temu
comments.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
comments.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
conditionals.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
conditionals.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
continue.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
continue.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
else_if.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
else_if.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
empty_loop_test.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
empty_loop_test.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
exists.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
exists.out 9057751f9b Apply clippy in pedantic mode 5 lat temu
fail.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
fail.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
fibonacci.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
fibonacci.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
fibonacci.sh 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
fn-root-vars.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
fn-root-vars.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
fn.ion 56b83c2ee4 improv!: Rename calc builtin to math to avoid conflict with GNU 5 lat temu
fn.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
for.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
for.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
function_piping.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
function_piping.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
glob.ion 843f59eff1 fix: Improved parsing and handling of backslashes 5 lat temu
glob.out c85d2ef479 fix(clippy): define and fix clippy lints, add documentation+license 3 lat temu
help.out e8e9b0fde0 fix: Update location of tests script in CONTRIBUTING.md. Add missing period to help.out. 4 lat temu
help.params 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
herestring.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
herestring.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
if_with_builtins.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
if_with_builtins.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
inner_expansions.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
inner_expansions.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
inplace_ops.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
inplace_ops.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
issues.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
issues.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
keybinding_fail.out 60e497a3b8 fix(CLI): error handling: no twice flags or options, no command and file usage 4 lat temu
keybinding_fail.params 60e497a3b8 fix(CLI): error handling: no twice flags or options, no command and file usage 4 lat temu
let.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
let.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
map_vars.ion 7878d8acf6 fix(manual,tests): test chapter variables up to arithmetic 4 lat temu
map_vars.out 7878d8acf6 fix(manual,tests): test chapter variables up to arithmetic 4 lat temu
match.ion 02cba084dc lib/shell/flow: change match expressions to match based on regex 5 lat temu
match.out 02cba084dc lib/shell/flow: change match expressions to match based on regex 5 lat temu
methods.ion 5d7052abb2 fix(string methods): Remove methods than expand to 0/1 5 lat temu
methods.out 843f59eff1 fix: Improved parsing and handling of backslashes 5 lat temu
multiarg_fail.out 60e497a3b8 fix(CLI): error handling: no twice flags or options, no command and file usage 4 lat temu
multiarg_fail.params 60e497a3b8 fix(CLI): error handling: no twice flags or options, no command and file usage 4 lat temu
multiline-arrays.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
multiline-arrays.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
multiple-lines.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
multiple-lines.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
nested_conditions.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
nested_conditions.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
nested_for.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
nested_for.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
not.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
not.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
optional_assignment.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
optional_assignment.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
pipelines.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
pipelines.out a25b4d0875 feat!: Use non-forking subshells 5 lat temu
process_exp.ion 2bc8826a97 fix(manual, testing): unit tests for correctly working sections+examples in manual chapter expansion 4 lat temu
process_exp.out 2bc8826a97 fix(manual, testing): unit tests for correctly working sections+examples in manual chapter expansion 4 lat temu
quotes.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
quotes.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
return.ion e3f7f06330 feat: Add the return keyword for returning codes from functions 5 lat temu
return.out e3f7f06330 feat: Add the return keyword for returning codes from functions 5 lat temu
run_benches 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
run_examples.sh c191d8c26b fix(CLI): delete structopt due to no advantage(conflict resolution) 4 lat temu
scopes-2.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
scopes-2.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
scopes-3.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
scopes-3.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
scopes-4.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
scopes-4.out 38659eeb0d Make the command not found bubble and abort scripts & don't exec tests output 5 lat temu
scopes.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
scopes.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
script_exec.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
script_exec.out 38659eeb0d Make the command not found bubble and abort scripts & don't exec tests output 5 lat temu
square_brackets.ion 843f59eff1 fix: Improved parsing and handling of backslashes 5 lat temu
square_brackets.out 843f59eff1 fix: Improved parsing and handling of backslashes 5 lat temu
string_methods.ion 1f2d8e2530 fix(manual): split string and array methods from section methods and test them 4 lat temu
string_methods.out 1f2d8e2530 fix(manual): split string and array methods from section methods and test them 4 lat temu
string_vars.ion 380a41cd08 fix(CI): use 1.53.0 rust image instead of 1.43 and fix example 3 lat temu
string_vars.out 380a41cd08 fix(CI): use 1.53.0 rust image instead of 1.43 and fix example 3 lat temu
strings.ion 843f59eff1 fix: Improved parsing and handling of backslashes 5 lat temu
strings.out 843f59eff1 fix: Improved parsing and handling of backslashes 5 lat temu
unicode.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
unicode.out cdcb65dc84 chore: cargo fmt and bless ui test 5 lat temu
variable_exp.ion 2bc8826a97 fix(manual, testing): unit tests for correctly working sections+examples in manual chapter expansion 4 lat temu
variable_exp.out 2bc8826a97 fix(manual, testing): unit tests for correctly working sections+examples in manual chapter expansion 4 lat temu
variables.ion 7878d8acf6 fix(manual,tests): test chapter variables up to arithmetic 4 lat temu
variables.out 7878d8acf6 fix(manual,tests): test chapter variables up to arithmetic 4 lat temu
while.ion 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu
while.out 7a21f5e772 Move the integration tests to `tests` to make room for rust examples 5 lat temu

README.md

Changing tests

This tests are also used to generate the manual. Please make sure to update the manual, if you change tests.

Examples

The files in this directory are simple example scripts that are used to test the state of the shell as it is developed. When the run_examples.sh script is executed, it will build Ion and execute each of the ion scripts here, and compare their outputs to their assoicated out files.

TOOLCHAIN=stable ./run_examples.sh

For more elaborate examples of Ion usage, check out the advanced directory.