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

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.