Showing preview only (1,043K chars total). Download the full file or copy to clipboard to get everything.
Repository: shellgei/rusty_bash
Branch: main
Commit: 6b912371a8b2
Files: 191
Total size: 981.8 KB
Directory structure:
gitextract_3bjkuqsu/
├── .github/
│ └── workflows/
│ ├── macos.yml
│ └── ubuntu.yml
├── .gitignore
├── .sushrc
├── Cargo.toml
├── LICENSE
├── README.md
├── RELEASE.md
├── build.rs
├── docs/
│ └── SETUP_BASH_COMPLETION.md
├── error
├── i18n/
│ ├── ar.ftl
│ ├── da.ftl
│ ├── de.ftl
│ ├── el.ftl
│ ├── en.ftl
│ ├── es.ftl
│ ├── fi.ftl
│ ├── fr.ftl
│ ├── hi.ftl
│ ├── it.ftl
│ ├── ja.ftl
│ ├── ko.ftl
│ ├── nl.ftl
│ ├── no.ftl
│ ├── pl.ftl
│ ├── pt.ftl
│ ├── ru.ftl
│ ├── sl.ftl
│ ├── sv.ftl
│ ├── sw.ftl
│ ├── uk.ftl
│ └── zh.ftl
├── src/
│ ├── core/
│ │ ├── builtins/
│ │ │ ├── alias.rs
│ │ │ ├── caller.rs
│ │ │ ├── cd.rs
│ │ │ ├── command.rs
│ │ │ ├── compgen.rs
│ │ │ ├── complete.rs
│ │ │ ├── compopt.rs
│ │ │ ├── echo.rs
│ │ │ ├── exec.rs
│ │ │ ├── getopts.rs
│ │ │ ├── hash.rs
│ │ │ ├── history.rs
│ │ │ ├── job_commands.rs
│ │ │ ├── loop_control.rs
│ │ │ ├── option.rs
│ │ │ ├── printf.rs
│ │ │ ├── pwd.rs
│ │ │ ├── read.rs
│ │ │ ├── source.rs
│ │ │ ├── trap.rs
│ │ │ ├── type_.rs
│ │ │ ├── ulimit.rs
│ │ │ ├── unset.rs
│ │ │ ├── variable/
│ │ │ │ ├── print.rs
│ │ │ │ └── set_value.rs
│ │ │ └── variable.rs
│ │ ├── builtins.rs
│ │ ├── completion.rs
│ │ ├── database/
│ │ │ ├── data/
│ │ │ │ ├── array.rs
│ │ │ │ ├── array_int.rs
│ │ │ │ ├── array_ondemand.rs
│ │ │ │ ├── assoc.rs
│ │ │ │ ├── assoc_int.rs
│ │ │ │ ├── random.rs
│ │ │ │ ├── seconds.rs
│ │ │ │ ├── single.rs
│ │ │ │ ├── single_int.rs
│ │ │ │ ├── single_ondemand.rs
│ │ │ │ ├── srandom.rs
│ │ │ │ └── uninit.rs
│ │ │ ├── data.rs
│ │ │ ├── database_appenders.rs
│ │ │ ├── database_checkers.rs
│ │ │ ├── database_getters.rs
│ │ │ ├── database_initializers.rs
│ │ │ ├── database_print.rs
│ │ │ ├── database_setters/
│ │ │ │ └── database_setter_backend.rs
│ │ │ ├── database_setters.rs
│ │ │ └── database_unsetters.rs
│ │ ├── database.rs
│ │ ├── file_descs.rs
│ │ ├── history.rs
│ │ ├── jobtable.rs
│ │ └── options.rs
│ ├── core.rs
│ ├── elements/
│ │ ├── ansi_c_str.rs
│ │ ├── command/
│ │ │ ├── arithmetic.rs
│ │ │ ├── brace.rs
│ │ │ ├── case.rs
│ │ │ ├── coproc.rs
│ │ │ ├── for.rs
│ │ │ ├── function_def.rs
│ │ │ ├── if.rs
│ │ │ ├── paren.rs
│ │ │ ├── repeat.rs
│ │ │ ├── simple/
│ │ │ │ ├── alias.rs
│ │ │ │ ├── hash.rs
│ │ │ │ ├── parser.rs
│ │ │ │ └── run_internal.rs
│ │ │ ├── simple.rs
│ │ │ ├── test.rs
│ │ │ └── while.rs
│ │ ├── command.rs
│ │ ├── expr/
│ │ │ ├── arithmetic/
│ │ │ │ ├── calculator.rs
│ │ │ │ ├── elem/
│ │ │ │ │ ├── float.rs
│ │ │ │ │ ├── int.rs
│ │ │ │ │ ├── ternary.rs
│ │ │ │ │ └── variable.rs
│ │ │ │ ├── elem.rs
│ │ │ │ ├── parser.rs
│ │ │ │ └── rev_polish.rs
│ │ │ ├── arithmetic.rs
│ │ │ ├── conditional/
│ │ │ │ ├── elem.rs
│ │ │ │ └── parser.rs
│ │ │ └── conditional.rs
│ │ ├── expr.rs
│ │ ├── io/
│ │ │ ├── pipe.rs
│ │ │ └── redirect.rs
│ │ ├── io.rs
│ │ ├── job.rs
│ │ ├── pipeline.rs
│ │ ├── script.rs
│ │ ├── substitution/
│ │ │ ├── array.rs
│ │ │ ├── subscript.rs
│ │ │ ├── value.rs
│ │ │ └── variable.rs
│ │ ├── substitution.rs
│ │ ├── subword/
│ │ │ ├── ansi_c_quoted.rs
│ │ │ ├── arithmetic.rs
│ │ │ ├── braced_param/
│ │ │ │ ├── optional_operation/
│ │ │ │ │ ├── case_conv.rs
│ │ │ │ │ ├── escape.rs
│ │ │ │ │ ├── remove.rs
│ │ │ │ │ ├── replace.rs
│ │ │ │ │ ├── substr.rs
│ │ │ │ │ └── value_check.rs
│ │ │ │ ├── optional_operation.rs
│ │ │ │ └── parse.rs
│ │ │ ├── braced_param.rs
│ │ │ ├── command_sub.rs
│ │ │ ├── double_quoted.rs
│ │ │ ├── escaped_char.rs
│ │ │ ├── ext_glob.rs
│ │ │ ├── file_input.rs
│ │ │ ├── filler.rs
│ │ │ ├── parameter.rs
│ │ │ ├── paren.rs
│ │ │ ├── process_sub.rs
│ │ │ ├── simple.rs
│ │ │ ├── single_quoted.rs
│ │ │ └── varname.rs
│ │ ├── subword.rs
│ │ ├── word/
│ │ │ ├── brace_expansion.rs
│ │ │ ├── path_expansion.rs
│ │ │ ├── split.rs
│ │ │ ├── substitution.rs
│ │ │ └── tilde_expansion.rs
│ │ └── word.rs
│ ├── elements.rs
│ ├── error/
│ │ ├── arith.rs
│ │ ├── exec.rs
│ │ ├── input.rs
│ │ └── parse.rs
│ ├── error.rs
│ ├── feeder/
│ │ ├── scanner.rs
│ │ ├── terminal/
│ │ │ ├── completion.rs
│ │ │ └── key.rs
│ │ └── terminal.rs
│ ├── feeder.rs
│ ├── i18n.rs
│ ├── main.rs
│ ├── main_c_option.rs
│ ├── proc_ctrl.rs
│ ├── signal.rs
│ ├── utils/
│ │ ├── arg.rs
│ │ ├── c_string.rs
│ │ ├── clock.rs
│ │ ├── directory.rs
│ │ ├── exit.rs
│ │ ├── file.rs
│ │ ├── file_check.rs
│ │ ├── glob/
│ │ │ ├── comparator.rs
│ │ │ ├── extglob.rs
│ │ │ └── parser.rs
│ │ ├── glob.rs
│ │ ├── restricted_shell.rs
│ │ └── splitter.rs
│ └── utils.rs
└── test/
└── README
================================================
FILE CONTENTS
================================================
================================================
FILE: .github/workflows/macos.yml
================================================
name: macos-latest
on:
push:
branches: [ main, alpha, beta, sd/* ]
paths: ['src/**', 'test/**', '!README.md' ]
pull_request:
branches: [ main ]
env:
CARGO_TERM_COLOR: always
jobs:
build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- name: Bash tests
run: |
dir=$PWD
git clone https://github.com/shellgei/rusty_bash_test -b v1.2.7 --depth 1
#git clone https://github.com/shellgei/rusty_bash_test --depth 1
cd rusty_bash_test
./test.bash $dir
================================================
FILE: .github/workflows/ubuntu.yml
================================================
name: ubuntu-latest
on:
push:
branches: [ main, alpha, beta, sd/* ]
paths: ['src/**', 'test/**', '!README.md' ]
pull_request:
branches: [ main ]
env:
CARGO_TERM_COLOR: always
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Bash tests
run: |
dir=$PWD
git clone https://github.com/shellgei/rusty_bash_test -b v1.2.7 --depth 1
cd rusty_bash_test
./test.bash $dir
================================================
FILE: .gitignore
================================================
# Generated by Cargo
# will have compiled files and executables
/target/
# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
Cargo.lock
# These are backup files generated by rustfmt
**/*.rs.bk
test/ok
test/error
================================================
FILE: .sushrc
================================================
case $- in
*i*) ;;
*) return;;
esac
case "$TERM" in
xterm-color|*-256color) color_prompt=yes;;
esac
build_profile=$([[ "$SUSH_VERSION" == *-release ]] || echo "(${SUSH_VERSION##*-})")
if [ "$color_prompt" = yes ]; then
PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;36m\]\b\[\033[00m\]\[\033[01;35m\]\w\[\033[00m\]'$build_profile'🍣 '
else
PS1='\u@\h:\w'$build_profile'🍣 '
fi
case "$TERM" in
xterm*|rxvt*)
PS1="\[\033]2;\u@\h: \w\007\]$PS1"
;;
*)
;;
esac
PS2='> '
PS4='+ '
alias ll='ls -l'
alias git-writing='git add -A ; git commit -m Writing ; git push'
command_not_found_handle() { #command_not_found should be loaded before bash-completion in this stage
if [ -e /usr/lib/command-not-found ] ; then
/usr/lib/command-not-found -- "$1"
fi
}
export BASH_COMPLETION=/opt/homebrew/Cellar/bash-completion/1.3_3/etc/bash_completion
if [ "$(uname)" = "Darwin" -a -f /opt/homebrew/Cellar/bash-completion/1.3_3/etc/bash_completion ]; then
source /opt/homebrew/Cellar/bash-completion/1.3_3/etc/bash_completion
complete -d cd
elif [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
_comp_complete_load scp #for completion of rsync
# . /usr/share/bash-completion/completions/git # for git-completion on WSL
complete -d cd
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
complete -d cd
fi
================================================
FILE: Cargo.toml
================================================
[package]
name = "sush"
version = "1.2.7"
edition = "2024"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[package.metadata.compat]
target_bash_version = "5.2.37" # Ubuntu 25.04
[dependencies]
nix = { version = "0.30.1", features = ["fs", "process", "signal", "term", "user", "time", "hostname", "resource"]}
termion = "4.0.5"
unicode-width = "0.1.11"
signal-hook = "0.3.17"
rev_lines = "0.3.0"
faccess = "0.2.4"
io-streams = "0.16.3"
regex = "1.11.1"
rand = "0.9"
rand_chacha = { version = "0.9.0", features = [ "os_rng" ]}
time = "0.3"
sprintf = "0.4"
libc = "0.2.178"
# Internationalization
fluent-bundle = "0.16"
unic-langid = "0.9"
once_cell = "1"
locale_config = "0.3"
# Compile-time feature
[features]
lang_ar = []
lang_da = []
lang_de = []
lang_el = []
lang_en = []
lang_es = []
lang_fi = []
lang_fr = []
lang_hi = []
lang_it = []
lang_ja = []
lang_ko = []
lang_nl = []
lang_no = []
lang_pl = []
lang_pt = []
lang_ru = []
lang_sl = []
lang_sv = []
lang_sw = []
lang_uk = []
lang_zh = []
default = ["0", "1", "2", "3", "4", "5", "6"] # All
0 = ["lang_en", "lang_fr", "lang_ja"] # Dev Pack
1 = ["0", "lang_es", "lang_fr", "lang_it", "lang_pt"] # Latin
2 = ["0", "lang_nl", "lang_de", "lang_sl", "lang_el"] # Central Europe
3 = ["0", "lang_da", "lang_fi", "lang_no", "lang_sv"] # Northern Europe
4 = ["0", "lang_ru", "lang_uk", "lang_pl"] # Eastern Europe
5 = ["0", "lang_hi", "lang_ja", "lang_ko", "lang_zh"] # Asia
6 = ["0", "lang_ar", "lang_sw"] # Africa / Middle East
[build-dependencies]
cargo_toml = "0.22"
[profile.release]
opt-level = 3
codegen-units = 1
lto = true
panic = "abort"
================================================
FILE: LICENSE
================================================
BSD 3-Clause License
Copyright (c) 2024, Ryuichi Ueda
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
================================================
FILE: README.md
================================================
# Sushi shell (a.k.a. 🍣 Sush): a Bash clone shell implemented in Rust
former name: Rusty Bash
[](https://github.com/shellgei/rusty_bash/actions/workflows/ubuntu.yml)
[](https://github.com/shellgei/rusty_bash/actions/workflows/macos.yml)

## NEWS
Bash-completion starts working on our shell! ([how to use](docs/SETUP_BASH_COMPLETION.md))

## What's this?
A clone of Bash, which is developed as a hobby of our group and for monthly articles on SoftwareDesign magazine published by Gijutsu-Hyohron Co., Ltd.
## Quick Start
```bash
$ git clone https://github.com/shellgei/rusty_bash.git
$ cd rusty_bash
$ cargo run
・・・
Finished dev [unoptimized + debuginfo] target(s) in 0.04s
Running `target/debug/sush`
ueda@uedaP1g6:main🌵~/GIT/rusty_bash(debug)🍣
```
## Install
```bash
$ git clone https://github.com/shellgei/rusty_bash.git
$ cd rusty_bash
$ cargo build --release
### ↓ Change /bin/ to /usr/local/bin/ or another path in $PATH if you are using Mac or BSD ###
$ sudo cp target/release/sush /bin/
$ cp .sushrc ~/.sushrc # edit if some errors occur
$ sush
ueda@uedaP1g6:main🌵~/GIT/rusty_bash🍣
```
## Comparison with Bash 5.2
This graph shows the test result with the script in `./sush_test/bash_genuine_test` of [this test repository](https://github.com/ryuichiueda/bash_for_sush_test). Currently, the binary built from alpha repo has passed 27 of 84 test scripts.

### Bash behavior that we don't follow
The following behavior of Bash will not be imitated by `sush`. So we alter the right output file (e.g `globstar.right`) for comparision.
* the output order of associative array
* output duplication of globstar
* Bash outputs the same path repeatedly in some situations of globstar. It may be for compatibility of ksh.
* overflow at calculations
* Bash outputs overflow calculation results at the border of 64 bit intergers and `arith5.sub` tells that this behavior should be reproduced. But we don't follow it.
```bash
### Bash example ###
$ echo $(( -9223372036854775808 * -1 ))
-9223372036854775808 #IT'S WRONG.
$ echo $(( -9223372036854775807 * -1 )) #IT'S OK.
9223372036854775807
### Sushi shell ###
🍣 echo $(( -9223372036854775808 * -1 ))
9223372036854775808
🍣 echo $(( -9223372036854775807 * -1 ))
9223372036854775807
```
* spaces of error log
* Bash adds spaces to each token and displays them in error messages. These spaces are elliminated in our shell.
```bash
### Bash ###
$ (( 1++ ))
bash: ((: 1++ : syntax error: operand expected (error token is "+ ")
### Sush ###
🍣 (( 1++ ))
sush: ((: 1++ : syntax error: operand expected (error token is "+")
```
* error messages of `readonly`
* We added `readonly: ` to the messages in `attr.right`.
* e.g.: `./attr.tests: line 17: a: readonly variable` -> `./attr.tests: line 17: readonly: a: readonly variable`
## Contribution
Because the shell in this repository can be a standard one in the next generation, it may a good idea to leave your name as a contributor. Give us pull requests with what you think as contribution. As our community is not big, rules have not been fixed yet.
Followings are not difficult but very important tasks.
* To fix the code based on Clippy. (There are many warnings by Clippy in the current codes. )
* To develop builtin commands. (Especially `echo` may be easy. )
* To add test cases.
* To fix the test methodology, especially for the parts related to human input.
### Important branch
* alpha: checkout this branch if you want to develop.
* beta: we are using the head version of this branch on a day-to-day basis.
* main: the beta version is merged to this branch if fatal problems are not found for a week.
* alpha-sushiline: a version with [sushiline](https://github.com/t-koba/sushline), which is a clone of GNU Readline
## List of Features
* :heavy_check_mark: :available
* :construction: :partially available (or having known bugs)
* :no_good: : not implemented
### compound commands
|features | status |features | status |features | status |
|-------------------|----|-------------------|----|-------------------|----|
| if | :heavy_check_mark: | while | :heavy_check_mark: | () | :heavy_check_mark: |
| {} | :heavy_check_mark: | case | :heavy_check_mark: | until | :no_good: | select | :no_good: |
| for | :heavy_check_mark: | [[ ]] | :heavy_check_mark: |
### special parameters
|features | status |features | status |features | status |
|-------------------|----|-------------------|----|-------------------|----|
| $ | :heavy_check_mark: | ? | :heavy_check_mark: | * | :heavy_check_mark: |
| @ | :heavy_check_mark: | # | :heavy_check_mark: | - | :heavy_check_mark: |
| ! | :no_good: | _ | :heavy_check_mark: |
### builtin commands
|features | status |features | status |features | status |
|-------------------|----|-------------------|----|-------------------|----|
| cd | :heavy_check_mark: | pwd | :heavy_check_mark: | read | :construction: |
| exit | :heavy_check_mark: | source | :heavy_check_mark: | set | :construction: |
| shopt | :construction: | : | :heavy_check_mark: | . | :heavy_check_mark: | [ | :no_good: |
| alias | :heavy_check_mark: | bg | :construction: | bind | :no_good: |
| break | :heavy_check_mark: | builtin | :heavy_check_mark: | caller | :under_construction: |
| command | :heavy_check_mark: | compgen | :construction: | complete | :construction: |
| compopt | :no_good: | continue | :heavy_check_mark: | declare | :no_good: |
| dirs | :no_good: | disown | :heavy_check_mark: | echo | :no_good: |
| enable | :no_good: | eval | :heavy_check_mark: | exec | :no_good: |
| fc | :no_good: | fg | :construction: | getopts | :construction: |
| hash | :no_good: | help | :no_good: | history | :construction: |
| jobs | :construction: | kill | :under_construction: | let | :no_good: |
| local | :heavy_check_mark: | logout | :no_good: | mapfile | :no_good: |
| popd | :no_good: | printf | :heavy_check_mark: | pushd | :no_good: |
| readonly | :no_good: | return | :heavy_check_mark: | false | :heavy_check_mark: |
| shift | :heavy_check_mark: | suspend | :no_good: | test | :heavy_check_mark: |
| times | :no_good: | trap | :no_good: | true | :heavy_check_mark: |
| type | :no_good: | typeset | :no_good: | ulimit | :heavy_check_mark: |
| umask | :no_good: | unalias | :heavy_check_mark: | unset | :construction: |
| wait | :construction: | export | :heavy_check_mark: |
### options
|features | status |features | status |features | status |
|-------------------|----|-------------------|----|-------------------|----|
| -c | :heavy_check_mark: | -i | :heavy_check_mark: | -l, --login | :no_good: |
| -r | :no_good: | -s | :no_good: | -D | :no_good: |
| [-+]O | :no_good: | -- | :no_good: | --debugger | :no_good: |
| --dimp-po-strings | :no_good: | --help | :heavy_check_mark: | --init-file | :no_good: |
| --rcfile | :no_good: | --noediting | :no_good: | --noprofile | :no_good: |
| --norc | :no_good: | --posix | :under_construction: | --restricted | :heavy_check_mark: |
| -v, --verbose | :no_good: | --version | :heavy_check_mark: | -e | :heavy_check_mark: |
| --pipefail | :heavy_check_mark: | -B | :heavy_check_mark: | | |
### shopt
|features | status |features | status |features | status |
|-------------------|----|-------------------|----|-------------------|----|
| autocd | :no_good: | cdable_vars | :no_good: | cdspell | :no_good: |
| checkhash | :no_good: | checkjobs | :no_good: | checkwinsize | :no_good: |
| cmdhist | :no_good: | compat31 | :no_good: | compat32 | :no_good: |
| compat40 | :no_good: | compat41 | :no_good: | dirspell | :no_good: |
| dotglob | :heavy_check_mark: | execfail | :no_good: | expand_aliases | :no_good: |
| extdebug | :no_good: | extglob | :heavy_check_mark: | extquote | :no_good: |
| failglob | :no_good: | force_fignore | :no_good: | globstar | :heavy_check_mark: |
| gnu_errfmt | :no_good: | histappend | :no_good: | histreedit | :no_good: |
| histverify | :no_good: | hostcomplete | :no_good: | huponexit | :no_good: |
| interactive_comments | :no_good: | lastpipe | :no_good: | lithist | :no_good: |
| login_shell | :no_good: | mailwarn | :no_good: | no_empty_cmd_completion | :no_good: |
| nocaseglob | :no_good: | nocasematch | :no_good: | nullglob | :heavy_check_mark: |
| progcomp | :heavy_check_mark: | promptvars | :no_good: | restricted_shell | :heavy_check_mark: |
| shift_verbose | :no_good: | sourcepath | :no_good: | xpg_echo | :no_good: |
### variables
Born Shell Variables
|features | status |features | status |features | status |
|-------------------|----|-------------------|----|-------------------|----|
| CDPATH | :no_good: | HOME | :heavy_check_mark: | IFS | :heavy_check_mark: |
| MAIL | :no_good: | MAILPATH | :no_good: | OPTARG | :heavy_check_mark: |
| OPTIND | :heavy_check_mark: | PATH | :heavy_check_mark: | PS1 | :heavy_check_mark: |
| PS2 | :heavy_check_mark: | | | | |
Bash Variables
|features | status |features | status |features | status |
|-------------------|----|-------------------|----|-------------------|----|
| _ | :heavy_check_mark: | BASH | :no_good: | BASHOPTS | :no_good: |
| BASHPID | :heavy_check_mark: | BASH_ALIASES | :no_good: | BASH_ARGC | :no_good: |
| BASH_ARGV | :no_good: | BASH_ARGV0 | :no_good: | BASH_CMDS | :no_good: |
| BASH_COMMAND | :no_good: | BASH_COMPAT | :no_good: | BASH_ENV | :no_good: |
| BASH_EXECUTION_STRING | :no_good: | BASH_LINENO | :no_good: | BASH_LOADABLES_PATH | :no_good: |
| BASH_REMATCH | :heavy_check_mark: | BASH_SOURCE | :no_good: | BASH_SUBSHELL | :heavy_check_mark: |
| BASH_VERSINFO | :heavy_check_mark: | BASH_VERSION | :heavy_check_mark: | BASH_XTRACEFD | :no_good: |
| CHILD_MAX | :no_good: | COLUMNS | :no_good: | COMP_CWORD | :no_good: |
| COMP_LINE | :no_good: | COMP_POINT | :no_good: | COMP_TYPE | :no_good: |
| COMP_KEY | :no_good: | COMP_WORDBREAKS | :no_good: | COMP_WORDS | :no_good: |
| COMPREPLY | :no_good: | COPROC | :no_good: | DIRSTACK | :no_good: |
| EMACS | :no_good: | ENV | :no_good: | EPOCHREALTIME | :heavy_check_mark: |
| EPOCHSECONDS | :heavy_check_mark: | EUID | :no_good: | EXECIGNORE | :no_good: |
| FCEDIT | :no_good: | FIGNORE | :no_good: | FUNCNAME | :heavy_check_mark: |
| FUNCNEST | :no_good: | GLOBIGNORE | :no_good: | GROUPS | :no_good: |
| histchars | :no_good: | HISTCMD | :no_good: | HISTCONTROL | :no_good: |
| HISTFILE | :heavy_check_mark: | HISTFILESIZE | :heavy_check_mark: | HISTIGNORE | :no_good: |
| HISTSIZE | :no_good: | HISTTIMEFORMAT | :no_good: | HOSTFILE | :no_good: |
| HOSTNAME | :no_good: | HOSTTYPE | :heavy_check_mark: | IGNOREEOF | :no_good: |
| INPUTRC | :no_good: | INSIDE_EMACS | :no_good: | LANG | :heavy_check_mark: |
| LC_ALL | :no_good: | LC_COLLATE | :no_good: | LC_CTYPE | :no_good: |
| LC_MESSAGES | :no_good: | LC_NUMERIC | :no_good: | LC_TIME | :no_good: |
| LINENO | :heavy_check_mark: | LINES | :no_good: | MACHTYPE | :heavy_check_mark: |
| MAILCHECK | :no_good: | MAPFILE | :no_good: | OLDPWD | :heavy_check_mark: |
| OPTERR | :no_good: | OSTYPE | :heavy_check_mark: | PIPESTATUS | :heavy_check_mark: |
| POSIXLY_CORRECT | :no_good: | PPID | :no_good: | PROMPT_COMMAND | :no_good: |
| PROMPT_DIRTRIM | :no_good: | PS0 | :no_good: | PS3 | :no_good: |
| PS4 | :heavy_check_mark: | PWD | :heavy_check_mark: | RANDOM | :heavy_check_mark: |
| READLINE_ARGUMENT | :no_good: | READLINE_LINE | :no_good: | READLINE_MARK | :no_good: |
| READLINE_POINT | :no_good: | REPLY | :no_good: | SECONDS | :heavy_check_mark: |
| SHELL | :heavy_check_mark: | SHELLOPTS | :no_good: | SHLVL | :heavy_check_mark: |
| SRANDOM | :heavy_check_mark: | TIMEFORMAT | :no_good: | TMOUT | :no_good: |
| TMPDIR | :no_good: | UID | :no_good: | | |
### beyond Bash
|features | status |
|-------------------|----|
| repeat command | :heavy_check_mark: |
| branch display in prompt | :heavy_check_mark: |
## Thanks to
Partially in Japanese.
* blog articles
* [Rustでシェル作った | κeenのHappy Hacκing Blog](https://keens.github.io/blog/2016/09/04/rustdeshierutsukutta/)
* [Rustで始める自作シェル その1 | ぶていのログでぶログ](https://tech.buty4649.net/entry/2021/12/19/235124)
* [Rustのターミナル操作crateいろいろ | meganehouser](https://meganehouser.github.io/2019-12-11_rust-terminal-crates.html)
* [原理原則で理解するフォアグラウンドプロセスとバックグラウンドプロセスの違い | @tajima_taso](https://qiita.com/tajima_taso/items/c5553762af5e1a599fed)
* [Bashタブ補完自作入門 | Cybouzu Inside Out](https://blog.cybozu.io/entry/2016/09/26/080000)
## Attempts by other groups
- [reubeno/brush](https://github.com/reubeno/brush)
## Copyright
© 2022-2025 shellgei group
- Ryuichi Ueda: [@ry@mi.shellgei.org](https://mi.shellgei.org/@ru), @ueda.tech (https://bsky.app/profile/ueda.tech)
- [@caro@mi.shellgei.org](https://mi.shellgei.org/@caro)
================================================
FILE: RELEASE.md
================================================
See https://github.com/shellgei/rusty_bash/releases
================================================
FILE: build.rs
================================================
//SPDX-FileCopyrightText: 2024 @caro@mi.shellgei.org
//SPDX-License-Identifier: BSD-3-Clause
use cargo_toml::Manifest;
use std::{env, path::PathBuf};
fn main() {
// SUSH_VERSION, SUSH_VERSINFO[4]
let profile = env::var("PROFILE").unwrap_or("".to_string());
println!("cargo:rustc-env=CARGO_BUILD_PROFILE={profile}");
// HOSTTYPE, MACHTYPE, BASH_VERSINFO[5], SUSH_VERSINFO[5]
let target_arch = env::var("CARGO_CFG_TARGET_ARCH").unwrap_or("unknown".to_string());
println!("cargo:rustc-env=CARGO_CFG_TARGET_ARCH={target_arch}");
// MACHTYPE, BASH_VERSINFO[5], SUSH_VERSINFO[5]
let target_vendor = env::var("CARGO_CFG_TARGET_VENDOR").unwrap_or("unknown".to_string());
println!("cargo:rustc-env=CARGO_CFG_TARGET_VENDOR={target_vendor}");
// OSTYPE, MACHTYPE, BASH_VERSINFO[5], SUSH_VERSINFO[5]
let target_os = env::var("CARGO_CFG_TARGET_OS").unwrap_or("unknown".to_string());
println!("cargo:rustc-env=CARGO_CFG_TARGET_OS={target_os}");
// metadata
let manifest_path = PathBuf::from(env::var("CARGO_MANIFEST_DIR").unwrap()).join("Cargo.toml");
let manifest = Manifest::from_path(&manifest_path).expect("failed to parse Cargo.toml");
// compat
let compat = manifest
.package
.as_ref()
.and_then(|p| p.metadata.as_ref()?.get("compat"))
.and_then(|v| v.as_table())
.expect("Missing [package.metadata.compat]");
for (k, v) in compat {
let env_key: String = k
.chars()
.map(|c| if c.is_ascii_alphanumeric() { c } else { '_' })
.collect::<String>()
.to_ascii_uppercase();
let val = v
.as_str()
.unwrap_or_else(|| panic!("Non-string value for key {k} in [package.metadata.compat]"));
println!("cargo:rustc-env=COMPAT_{env_key}={val}");
}
}
================================================
FILE: docs/SETUP_BASH_COMPLETION.md
================================================
# setup of bash-completion
- 20250427 Ryuichi Ueda
- bluesky: @ueda.tech (https://bsky.app/profile/ueda.tech)
## contents
- Linux
- with command_not_found
- macOS
## Linux (Ubuntu 24.04 or some versions near 24.04)
The following three lines are minimally required for bash-completion
at the bottom of `~/.sushrc` if you are using v1.1.4 or a version near v1.1.4.
```bash
source /usr/share/bash-completion/bash_completion
_comp_complete_load scp #for completion of rsync
complete -d cd
```
With this three lines, you can use completion for various commands
including `git`.
The first line calls the main script of Bash-completion, which usually
exists in `/usr/share/bash-completion/`. If you can't find the path,
please search it by `find` and change the path.
The second line is required since a warning disturbs completion for `rsync`.
This problem is solved if the completion function for `scp` is load.
Since this happens owing to a bug of Rusty Bash, it should be removed someday.
Someday...
The third line is also necessary to avoid a problem. This line resets
the completion method for `cd` to directory completion since it was set
to function completion after `bash_completion` for some reason.
### with `command_not_found`
You can also use `command_not_found`. Before the three lines for
bash-completion, please add the following function. The path should be
changed if `command-not-found` script exists in the different directory.
```bash
command_not_found_handle() {
if [ -e /usr/lib/command-not-found ] ; then
/usr/lib/command-not-found -- "$1"
fi
}
```
For some reason, this definition has to be written BEFORE the call of
bash-completion.
## macOS (Sequoia 15.3.1 or some versions near it)
In macOS, the three lines for bash-completion are required at the bottom
of `~/.sushrc`. Moreover, we may have to install bash-completion by ourselves.
When you are using homebrew, you can do it with the following command.
```bash
🍣 brew install bash-completion
```
Then you can find `bash_completion` script in a directory under `/opt/homebrew/Cellar`
like this.
```bash
🍣 find /opt/homebrew/Cellar/ | grep bash_completion$
/opt/homebrew/Cellar//bash-completion/1.3_3/etc/bash_completion
```
Please use the path found as above instead of the path used in the Linux example.
================================================
FILE: error
================================================
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_builtins.bash
./test_builtins.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_job.bash
./test_job.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_builtins.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_redirects.bash
./test_others.bash
./test_fixed_v1.2.1.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed.bash
./test_fixed_v1.2.4.bash
./test_fixed_v1.2.4.bash
./test_fixed_v1.2.4.bash
./test_fixed_v1.2.4.bash
./test_fixed_v1.2.4.bash
./test_fixed_v1.2.4.bash
./test_fixed_v1.2.4.bash
================================================
FILE: i18n/ar.ftl
================================================
license = ترخيص
version = إصدار
usage = Usage: sushi [LONG OPTIONS] [OPTIONS] [SCRIPT] [ARGS]
options =
Options:
-c Execute COMMAND and exit
-i Force interactive mode
-l, --login unsuported
-r unsuported
-s unsuported
-D unsuported
-O, +O unsuported
-- unsuported
--debugger unsuported
--dimp-po-strings unsuported
--help Display this help message and exit
--init-file FILE unsuported
--rcfile FILE unsuported
--noediting unsuported
--noprofile unsuported
--norc unsuported
--posix unsuported
--restricted unsuported
-v, --verbose unsuported
--version Display version information and exit
-e Exit immediately if a command returns non‑zero
--pipefail Return status of first failing command in pipeline
-B Enable brace expansion (equivalent to `set -B`)
comp-commands =
Compound commands:
if Conditional execution
while Loop while a condition is true
() Run commands in a subshell
case Match patterns against a word
until unsupported
for Iterate over a list of items
builtins =
Builtin commands:
: No-op (does nothing)
"." Source a file in the current shell
alias Define or display aliases
bg Resume a job in the background
bind Unsupported
break Exit from a loop
builtin Execute a shell builtin, bypassing functions
caller Unsupported
cd Change the current directory
command Execute a command, ignoring shell functions
compgen Generate possible completion matches
complete Specify how arguments are completed
compopt Unsupported
continue Resume the next iteration of a loop
declare Unsupported
dirs Unsupported
disown Unsupported
echo Unsupported
enable Unsupported
eval Evaluate arguments as a shell command
exec Unsupported
exit Exit the shell
export Unsupported
false Do nothing, unsuccessfully
fc Unsupported
fg Resume a job in the foreground
getopts Parse positional parameters
hash Unsupported
help Unsupported
history Show or manipulate the command history
jobs Display status of jobs
kill Unsupported
let Unsupported
local Declare local variables inside functions
logout Unsupported
mapfile Unsupported
popd Unsupported
printf Unsupported
pushd Unsupported
pwd Print the current working directory
read Read a line from standard input
readonly Unsupported
return Return from a shell function
set Modify shell options
shift Shift positional parameters
shopt Change shell optional behavior
source Read and execute commands from a file
suspend Unsupported
test Unsupported
times Unsupported
trap Unsupported
true Do nothing, successfully
type Unsupported
typeset Unsupported
ulimit Unsupported
umask Unsupported
unalias Remove aliases
unset Unset variables or functions
wait Wait for jobs to complete
parameters =
Special parameters:
"$" Process ID of the shell or script
? Exit status of the last command
@ All positional parameters (as separate words)
# Number of positional parameters
- Current shell options
_ Last argument of the previous command
! unsupported
shopt =
Shell options:
dotglob Include hidden files (starting with .) in pathname expansions
extglob Enable extended pattern matching operators
progcomp Enable programmable command completion
nullglob Allow patterns which match nothing to expand to null string
variables-born =
Born Shell Variables:
CDPATH unsuported
HOME User’s home directory
IFS Internal Field Separator (partial support)
MAIL unsuported
MAILPATH unsuported
OPTARG Argument value for the current option (getopts)
OPTIND Index of the next argument to be processed by getopts
PATH Search path for commands
PS1 Primary prompt string
PS2 Secondary prompt string
variables-bash =
Bash Variables:
_ Last argument of the previous command
BASH unsuported
BASHOPTS unsuported
BASHPID PID of the current Bash process
BASH_ALIASES unsuported
BASH_ARGC unsuported
BASH_ARGV unsuported
BASH_ARGV0 unsuported
BASH_CMDS unsuported
BASH_COMMAND unsuported
BASH_COMPAT unsuported
BASH_ENV unsuported
BASH_EXECUTION_STRING unsuported
BASH_LINENO unsuported
BASH_LOADABLES_PATH unsuported
BASH_REMATCH Array of regex capture groups
BASH_SOURCE unsuported
BASH_SUBSHELL Current subshell level
BASH_VERSINFO Array with Bash version fields
BASH_VERSION Human‑readable Bash version
BASH_XTRACEFD unsuported
CHILD_MAX unsuported
COLUMNS unsuported
COMP_CWORD unsuported
COMP_LINE unsuported
COMP_POINT unsuported
COMP_TYPE unsuported
COMP_KEY unsuported
COMP_WORDBREAKS unsuported
COMP_WORDS unsuported
COMPREPLY unsuported
COPROC unsuported
DIRSTACK unsuported
EMACS unsuported
ENV unsuported
EPOCHREALTIME Epoch seconds with microseconds
EPOCHSECONDS Epoch seconds (integer)
EUID unsuported
EXECIGNORE unsuported
FCEDIT unsuported
FIGNORE unsuported
FUNCNAME unsuported
FUNCNEST unsuported
GLOBIGNORE unsuported
GROUPS unsuported
histchars unsuported
HISTCMD unsuported
HISTCONTROL unsuported
HISTFILE Path to the history file
HISTFILESIZE Max lines kept in history file
HISTIGNORE unsuported
HISTSIZE unsuported
HISTTIMEFORMAT unsuported
HOSTFILE unsuported
HOSTNAME unsuported
HOSTTYPE Hardware platform string
IGNOREEOF unsuported
INPUTRC unsuported
INSIDE_EMACS unsuported
LANG Current locale
LC_ALL unsuported
LC_COLLATE unsuported
LC_CTYPE unsuported
LC_MESSAGES unsuported
LC_NUMERIC unsuported
LC_TIME unsuported
LINENO Current script line number
LINES unsuported
MACHTYPE Machine type triple
MAILCHECK unsuported
MAPFILE unsuported
OLDPWD Previous working directory
OPTERR unsuported
OSTYPE Operating‑system type
PIPESTATUS Exit statuses of the last pipeline
POSIXLY_CORRECT unsuported
PPID unsuported
PROMPT_COMMAND unsuported
PROMPT_DIRTRIM unsuported
PS0 unsuported
PS3 unsuported
PS4 Debug prompt (used with set -x)
PWD Current working directory
RANDOM Pseudo‑random integer (0‑32767)
READLINE_ARGUMENT unsuported
READLINE_LINE unsuported
READLINE_MARK unsuported
READLINE_POINT unsuported
REPLY unsuported
SECONDS Seconds since the shell started
SHELL Path to the user’s default shell
SHELLOPTS unsuported
SHLVL Shell nesting level
SRANDOM 64-bit cryptographic random
TIMEFORMAT unsuported
TMOUT unsuported
TMPDIR unsuported
UID unsuported
Beyond Bash feature:
branch display in prompt
text-help = Project homepage: https://github.com/shellgei/rusty_bash
text-version =
هذا برنامج مفتوح المصدر.
يمكنك استخدامه وتعديله وإعادة توزيعه بحرية، سواء بالشيفرة المصدرية أو
بشكل ثنائي، مع أو بدون تعديل، بشرط الحفاظ على إشعار حقوق النشر الأصلي
وقائمة الشروط وإخلاء المسؤولية.
يتم توفير هذا البرنامج "كما هو"، دون أي ضمان من أي نوع،
سواء كان صريحًا أو ضمنيًا، في حدود ما يسمح به القانون.
================================================
FILE: i18n/da.ftl
================================================
license = Licens
version = version
usage = Usage: sushi [LONG OPTIONS] [OPTIONS] [SCRIPT] [ARGS]
options =
Options:
-c Execute COMMAND and exit
-i Force interactive mode
-l, --login unsuported
-r unsuported
-s unsuported
-D unsuported
-O, +O unsuported
-- unsuported
--debugger unsuported
--dimp-po-strings unsuported
--help Display this help message and exit
--init-file FILE unsuported
--rcfile FILE unsuported
--noediting unsuported
--noprofile unsuported
--norc unsuported
--posix unsuported
--restricted unsuported
-v, --verbose unsuported
--version Display version information and exit
-e Exit immediately if a command returns non‑zero
--pipefail Return status of first failing command in pipeline
-B Enable brace expansion (equivalent to `set -B`)
comp-commands =
Compound commands:
if Conditional execution
while Loop while a condition is true
() Run commands in a subshell
case Match patterns against a word
until unsupported
for Iterate over a list of items
builtins =
Builtin commands:
: No-op (does nothing)
"." Source a file in the current shell
alias Define or display aliases
bg Resume a job in the background
bind Unsupported
break Exit from a loop
builtin Execute a shell builtin, bypassing functions
caller Unsupported
cd Change the current directory
command Execute a command, ignoring shell functions
compgen Generate possible completion matches
complete Specify how arguments are completed
compopt Unsupported
continue Resume the next iteration of a loop
declare Unsupported
dirs Unsupported
disown Unsupported
echo Unsupported
enable Unsupported
eval Evaluate arguments as a shell command
exec Unsupported
exit Exit the shell
export Unsupported
false Do nothing, unsuccessfully
fc Unsupported
fg Resume a job in the foreground
getopts Parse positional parameters
hash Unsupported
help Unsupported
history Show or manipulate the command history
jobs Display status of jobs
kill Unsupported
let Unsupported
local Declare local variables inside functions
logout Unsupported
mapfile Unsupported
popd Unsupported
printf Unsupported
pushd Unsupported
pwd Print the current working directory
read Read a line from standard input
readonly Unsupported
return Return from a shell function
set Modify shell options
shift Shift positional parameters
shopt Change shell optional behavior
source Read and execute commands from a file
suspend Unsupported
test Unsupported
times Unsupported
trap Unsupported
true Do nothing, successfully
type Unsupported
typeset Unsupported
ulimit Unsupported
umask Unsupported
unalias Remove aliases
unset Unset variables or functions
wait Wait for jobs to complete
parameters =
Special parameters:
"$" Process ID of the shell or script
? Exit status of the last command
@ All positional parameters (as separate words)
# Number of positional parameters
- Current shell options
_ Last argument of the previous command
! unsupported
builtins =
Builtin commands:
cd Change the current directory
pwd Print the current working directory
exit Exit the shell
source Read and execute commands from a file
: No-op (does nothing)
"." Source a file in the current shell
alias Define or display aliases
break Exit from a loop
builtin Execute a shell builtin, bypassing functions
command Execute a command, ignoring shell functions
continue Resume the next iteration of a loop
eval Evaluate arguments as a shell command
local Declare local variables inside functions
return Return from a shell function
false Do nothing, unsuccessfully
true Do nothing, successfully
shift Shift positional parameters
unalias Remove aliases
shopt =
Shell options:
dotglob Include hidden files (starting with .) in pathname expansions
extglob Enable extended pattern matching operators
progcomp Enable programmable command completion
nullglob Allow patterns which match nothing to expand to null string
variables-born =
Born Shell Variables:
CDPATH unsuported
HOME User’s home directory
IFS Internal Field Separator (partial support)
MAIL unsuported
MAILPATH unsuported
OPTARG Argument value for the current option (getopts)
OPTIND Index of the next argument to be processed by getopts
PATH Search path for commands
PS1 Primary prompt string
PS2 Secondary prompt string
variables-bash =
Bash Variables:
_ Last argument of the previous command
BASH unsuported
BASHOPTS unsuported
BASHPID PID of the current Bash process
BASH_ALIASES unsuported
BASH_ARGC unsuported
BASH_ARGV unsuported
BASH_ARGV0 unsuported
BASH_CMDS unsuported
BASH_COMMAND unsuported
BASH_COMPAT unsuported
BASH_ENV unsuported
BASH_EXECUTION_STRING unsuported
BASH_LINENO unsuported
BASH_LOADABLES_PATH unsuported
BASH_REMATCH Array of regex capture groups
BASH_SOURCE unsuported
BASH_SUBSHELL Current subshell level
BASH_VERSINFO Array with Bash version fields
BASH_VERSION Human‑readable Bash version
BASH_XTRACEFD unsuported
CHILD_MAX unsuported
COLUMNS unsuported
COMP_CWORD unsuported
COMP_LINE unsuported
COMP_POINT unsuported
COMP_TYPE unsuported
COMP_KEY unsuported
COMP_WORDBREAKS unsuported
COMP_WORDS unsuported
COMPREPLY unsuported
COPROC unsuported
DIRSTACK unsuported
EMACS unsuported
ENV unsuported
EPOCHREALTIME Epoch seconds with microseconds
EPOCHSECONDS Epoch seconds (integer)
EUID unsuported
EXECIGNORE unsuported
FCEDIT unsuported
FIGNORE unsuported
FUNCNAME unsuported
FUNCNEST unsuported
GLOBIGNORE unsuported
GROUPS unsuported
histchars unsuported
HISTCMD unsuported
HISTCONTROL unsuported
HISTFILE Path to the history file
HISTFILESIZE Max lines kept in history file
HISTIGNORE unsuported
HISTSIZE unsuported
HISTTIMEFORMAT unsuported
HOSTFILE unsuported
HOSTNAME unsuported
HOSTTYPE Hardware platform string
IGNOREEOF unsuported
INPUTRC unsuported
INSIDE_EMACS unsuported
LANG Current locale
LC_ALL unsuported
LC_COLLATE unsuported
LC_CTYPE unsuported
LC_MESSAGES unsuported
LC_NUMERIC unsuported
LC_TIME unsuported
LINENO Current script line number
LINES unsuported
MACHTYPE Machine type triple
MAILCHECK unsuported
MAPFILE unsuported
OLDPWD Previous working directory
OPTERR unsuported
OSTYPE Operating‑system type
PIPESTATUS Exit statuses of the last pipeline
POSIXLY_CORRECT unsuported
PPID unsuported
PROMPT_COMMAND unsuported
PROMPT_DIRTRIM unsuported
PS0 unsuported
PS3 unsuported
PS4 Debug prompt (used with set -x)
PWD Current working directory
RANDOM Pseudo‑random integer (0‑32767)
READLINE_ARGUMENT unsuported
READLINE_LINE unsuported
READLINE_MARK unsuported
READLINE_POINT unsuported
REPLY unsuported
SECONDS Seconds since the shell started
SHELL Path to the user’s default shell
SHELLOPTS unsuported
SHLVL Shell nesting level
SRANDOM 64-bit cryptographic random
TIMEFORMAT unsuported
TMOUT unsuported
TMPDIR unsuported
UID unsuported
Beyond Bash feature:
branch display in prompt
text-help = Project homepage: https://github.com/shellgei/rusty_bash
text-version =
Dette er open source-software.
Du er fri til at bruge, ændre og redistribuere denne software i kilde-
eller binær form, med eller uden ændringer, forudsat at den originale
copyrightmeddelelse, betingelser og ansvarsfraskrivelse bevares.
DENNE SOFTWARE LEVERES "SOM DEN ER", UDEN NOGEN FORM FOR GARANTI,
UDTRYKKELIG ELLER UNDERFORSTÅET, I DET OMFANG LOVEN TILLADER.
================================================
FILE: i18n/de.ftl
================================================
license = Lizenz
version = Version
usage = Usage: sushi [LONG OPTIONS] [OPTIONS] [SCRIPT] [ARGS]
options =
Options:
-c Execute COMMAND and exit
-i Force interactive mode
-l, --login unsuported
-r unsuported
-s unsuported
-D unsuported
-O, +O unsuported
-- unsuported
--debugger unsuported
--dimp-po-strings unsuported
--help Display this help message and exit
--init-file FILE unsuported
--rcfile FILE unsuported
--noediting unsuported
--noprofile unsuported
--norc unsuported
--posix unsuported
--restricted unsuported
-v, --verbose unsuported
--version Display version information and exit
-e Exit immediately if a command returns non‑zero
--pipefail Return status of first failing command in pipeline
-B Enable brace expansion (equivalent to `set -B`)
comp-commands =
Compound commands:
if Conditional execution
while Loop while a condition is true
() Run commands in a subshell
case Match patterns against a word
until unsupported
for Iterate over a list of items
builtins =
Builtin commands:
: No-op (does nothing)
"." Source a file in the current shell
alias Define or display aliases
bg Resume a job in the background
bind Unsupported
break Exit from a loop
builtin Execute a shell builtin, bypassing functions
caller Unsupported
cd Change the current directory
command Execute a command, ignoring shell functions
compgen Generate possible completion matches
complete Specify how arguments are completed
compopt Unsupported
continue Resume the next iteration of a loop
declare Unsupported
dirs Unsupported
disown Unsupported
echo Unsupported
enable Unsupported
eval Evaluate arguments as a shell command
exec Unsupported
exit Exit the shell
export Unsupported
false Do nothing, unsuccessfully
fc Unsupported
fg Resume a job in the foreground
getopts Parse positional parameters
hash Unsupported
help Unsupported
history Show or manipulate the command history
jobs Display status of jobs
kill Unsupported
let Unsupported
local Declare local variables inside functions
logout Unsupported
mapfile Unsupported
popd Unsupported
printf Unsupported
pushd Unsupported
pwd Print the current working directory
read Read a line from standard input
readonly Unsupported
return Return from a shell function
set Modify shell options
shift Shift positional parameters
shopt Change shell optional behavior
source Read and execute commands from a file
suspend Unsupported
test Unsupported
times Unsupported
trap Unsupported
true Do nothing, successfully
type Unsupported
typeset Unsupported
ulimit Unsupported
umask Unsupported
unalias Remove aliases
unset Unset variables or functions
wait Wait for jobs to complete
parameters =
Special parameters:
"$" Process ID of the shell or script
? Exit status of the last command
@ All positional parameters (as separate words)
# Number of positional parameters
- Current shell options
_ Last argument of the previous command
! unsupported
shopt =
Shell options:
dotglob Include hidden files (starting with .) in pathname expansions
extglob Enable extended pattern matching operators
progcomp Enable programmable command completion
nullglob Allow patterns which match nothing to expand to null string
variables-born =
Born Shell Variables:
CDPATH unsuported
HOME User’s home directory
IFS Internal Field Separator (partial support)
MAIL unsuported
MAILPATH unsuported
OPTARG Argument value for the current option (getopts)
OPTIND Index of the next argument to be processed by getopts
PATH Search path for commands
PS1 Primary prompt string
PS2 Secondary prompt string
variables-bash =
Bash Variables:
_ Last argument of the previous command
BASH unsuported
BASHOPTS unsuported
BASHPID PID of the current Bash process
BASH_ALIASES unsuported
BASH_ARGC unsuported
BASH_ARGV unsuported
BASH_ARGV0 unsuported
BASH_CMDS unsuported
BASH_COMMAND unsuported
BASH_COMPAT unsuported
BASH_ENV unsuported
BASH_EXECUTION_STRING unsuported
BASH_LINENO unsuported
BASH_LOADABLES_PATH unsuported
BASH_REMATCH Array of regex capture groups
BASH_SOURCE unsuported
BASH_SUBSHELL Current subshell level
BASH_VERSINFO Array with Bash version fields
BASH_VERSION Human‑readable Bash version
BASH_XTRACEFD unsuported
CHILD_MAX unsuported
COLUMNS unsuported
COMP_CWORD unsuported
COMP_LINE unsuported
COMP_POINT unsuported
COMP_TYPE unsuported
COMP_KEY unsuported
COMP_WORDBREAKS unsuported
COMP_WORDS unsuported
COMPREPLY unsuported
COPROC unsuported
DIRSTACK unsuported
EMACS unsuported
ENV unsuported
EPOCHREALTIME Epoch seconds with microseconds
EPOCHSECONDS Epoch seconds (integer)
EUID unsuported
EXECIGNORE unsuported
FCEDIT unsuported
FIGNORE unsuported
FUNCNAME unsuported
FUNCNEST unsuported
GLOBIGNORE unsuported
GROUPS unsuported
histchars unsuported
HISTCMD unsuported
HISTCONTROL unsuported
HISTFILE Path to the history file
HISTFILESIZE Max lines kept in history file
HISTIGNORE unsuported
HISTSIZE unsuported
HISTTIMEFORMAT unsuported
HOSTFILE unsuported
HOSTNAME unsuported
HOSTTYPE Hardware platform string
IGNOREEOF unsuported
INPUTRC unsuported
INSIDE_EMACS unsuported
LANG Current locale
LC_ALL unsuported
LC_COLLATE unsuported
LC_CTYPE unsuported
LC_MESSAGES unsuported
LC_NUMERIC unsuported
LC_TIME unsuported
LINENO Current script line number
LINES unsuported
MACHTYPE Machine type triple
MAILCHECK unsuported
MAPFILE unsuported
OLDPWD Previous working directory
OPTERR unsuported
OSTYPE Operating‑system type
PIPESTATUS Exit statuses of the last pipeline
POSIXLY_CORRECT unsuported
PPID unsuported
PROMPT_COMMAND unsuported
PROMPT_DIRTRIM unsuported
PS0 unsuported
PS3 unsuported
PS4 Debug prompt (used with set -x)
PWD Current working directory
RANDOM Pseudo‑random integer (0‑32767)
READLINE_ARGUMENT unsuported
READLINE_LINE unsuported
READLINE_MARK unsuported
READLINE_POINT unsuported
REPLY unsuported
SECONDS Seconds since the shell started
SHELL Path to the user’s default shell
SHELLOPTS unsuported
SHLVL Shell nesting level
SRANDOM 64-bit cryptographic random
TIMEFORMAT unsuported
TMOUT unsuported
TMPDIR unsuported
UID unsuported
Beyond Bash feature:
branch display in prompt
text-help = Project homepage: https://github.com/shellgei/rusty_bash
text-version =
Dies ist Open-Source-Software.
Sie dürfen diese Software in Quell- oder Binärform frei verwenden,
modifizieren und weiterverbreiten, mit oder ohne Änderungen,
vorausgesetzt, dass der ursprüngliche Urheberrechtshinweis,
die Liste der Bedingungen und der Haftungsausschluss erhalten bleiben.
DIESE SOFTWARE WIRD "WIE BESEHEN" BEREITGESTELLT, OHNE JEGLICHE GARANTIE,
AUSDRÜCKLICH ODER STILLSCHWEIGEND, SOWEIT GESETZLICH ZULÄSSIG.
================================================
FILE: i18n/el.ftl
================================================
license = Άδεια
version = έκδοση
usage = Usage: sushi [LONG OPTIONS] [OPTIONS] [SCRIPT] [ARGS]
options =
Options:
-c Execute COMMAND and exit
-i Force interactive mode
-l, --login unsuported
-r unsuported
-s unsuported
-D unsuported
-O, +O unsuported
-- unsuported
--debugger unsuported
--dimp-po-strings unsuported
--help Display this help message and exit
--init-file FILE unsuported
--rcfile FILE unsuported
--noediting unsuported
--noprofile unsuported
--norc unsuported
--posix unsuported
--restricted unsuported
-v, --verbose unsuported
--version Display version information and exit
-e Exit immediately if a command returns non‑zero
--pipefail Return status of first failing command in pipeline
-B Enable brace expansion (equivalent to `set -B`)
comp-commands =
Compound commands:
if Conditional execution
while Loop while a condition is true
() Run commands in a subshell
case Match patterns against a word
until unsupported
for Iterate over a list of items
builtins =
Builtin commands:
: No-op (does nothing)
"." Source a file in the current shell
alias Define or display aliases
bg Resume a job in the background
bind Unsupported
break Exit from a loop
builtin Execute a shell builtin, bypassing functions
caller Unsupported
cd Change the current directory
command Execute a command, ignoring shell functions
compgen Generate possible completion matches
complete Specify how arguments are completed
compopt Unsupported
continue Resume the next iteration of a loop
declare Unsupported
dirs Unsupported
disown Unsupported
echo Unsupported
enable Unsupported
eval Evaluate arguments as a shell command
exec Unsupported
exit Exit the shell
export Unsupported
false Do nothing, unsuccessfully
fc Unsupported
fg Resume a job in the foreground
getopts Parse positional parameters
hash Unsupported
help Unsupported
history Show or manipulate the command history
jobs Display status of jobs
kill Unsupported
let Unsupported
local Declare local variables inside functions
logout Unsupported
mapfile Unsupported
popd Unsupported
printf Unsupported
pushd Unsupported
pwd Print the current working directory
read Read a line from standard input
readonly Unsupported
return Return from a shell function
set Modify shell options
shift Shift positional parameters
shopt Change shell optional behavior
source Read and execute commands from a file
suspend Unsupported
test Unsupported
times Unsupported
trap Unsupported
true Do nothing, successfully
type Unsupported
typeset Unsupported
ulimit Unsupported
umask Unsupported
unalias Remove aliases
unset Unset variables or functions
wait Wait for jobs to complete
parameters =
Special parameters:
"$" Process ID of the shell or script
? Exit status of the last command
@ All positional parameters (as separate words)
# Number of positional parameters
- Current shell options
_ Last argument of the previous command
! unsupported
shopt =
Shell options:
dotglob Include hidden files (starting with .) in pathname expansions
extglob Enable extended pattern matching operators
progcomp Enable programmable command completion
nullglob Allow patterns which match nothing to expand to null string
variables-born =
Born Shell Variables:
CDPATH unsuported
HOME User’s home directory
IFS Internal Field Separator (partial support)
MAIL unsuported
MAILPATH unsuported
OPTARG Argument value for the current option (getopts)
OPTIND Index of the next argument to be processed by getopts
PATH Search path for commands
PS1 Primary prompt string
PS2 Secondary prompt string
variables-bash =
Bash Variables:
_ Last argument of the previous command
BASH unsuported
BASHOPTS unsuported
BASHPID PID of the current Bash process
BASH_ALIASES unsuported
BASH_ARGC unsuported
BASH_ARGV unsuported
BASH_ARGV0 unsuported
BASH_CMDS unsuported
BASH_COMMAND unsuported
BASH_COMPAT unsuported
BASH_ENV unsuported
BASH_EXECUTION_STRING unsuported
BASH_LINENO unsuported
BASH_LOADABLES_PATH unsuported
BASH_REMATCH Array of regex capture groups
BASH_SOURCE unsuported
BASH_SUBSHELL Current subshell level
BASH_VERSINFO Array with Bash version fields
BASH_VERSION Human‑readable Bash version
BASH_XTRACEFD unsuported
CHILD_MAX unsuported
COLUMNS unsuported
COMP_CWORD unsuported
COMP_LINE unsuported
COMP_POINT unsuported
COMP_TYPE unsuported
COMP_KEY unsuported
COMP_WORDBREAKS unsuported
COMP_WORDS unsuported
COMPREPLY unsuported
COPROC unsuported
DIRSTACK unsuported
EMACS unsuported
ENV unsuported
EPOCHREALTIME Epoch seconds with microseconds
EPOCHSECONDS Epoch seconds (integer)
EUID unsuported
EXECIGNORE unsuported
FCEDIT unsuported
FIGNORE unsuported
FUNCNAME unsuported
FUNCNEST unsuported
GLOBIGNORE unsuported
GROUPS unsuported
histchars unsuported
HISTCMD unsuported
HISTCONTROL unsuported
HISTFILE Path to the history file
HISTFILESIZE Max lines kept in history file
HISTIGNORE unsuported
HISTSIZE unsuported
HISTTIMEFORMAT unsuported
HOSTFILE unsuported
HOSTNAME unsuported
HOSTTYPE Hardware platform string
IGNOREEOF unsuported
INPUTRC unsuported
INSIDE_EMACS unsuported
LANG Current locale
LC_ALL unsuported
LC_COLLATE unsuported
LC_CTYPE unsuported
LC_MESSAGES unsuported
LC_NUMERIC unsuported
LC_TIME unsuported
LINENO Current script line number
LINES unsuported
MACHTYPE Machine type triple
MAILCHECK unsuported
MAPFILE unsuported
OLDPWD Previous working directory
OPTERR unsuported
OSTYPE Operating‑system type
PIPESTATUS Exit statuses of the last pipeline
POSIXLY_CORRECT unsuported
PPID unsuported
PROMPT_COMMAND unsuported
PROMPT_DIRTRIM unsuported
PS0 unsuported
PS3 unsuported
PS4 Debug prompt (used with set -x)
PWD Current working directory
RANDOM Pseudo‑random integer (0‑32767)
READLINE_ARGUMENT unsuported
READLINE_LINE unsuported
READLINE_MARK unsuported
READLINE_POINT unsuported
REPLY unsuported
SECONDS Seconds since the shell started
SHELL Path to the user’s default shell
SHELLOPTS unsuported
SHLVL Shell nesting level
SRANDOM 64-bit cryptographic random
TIMEFORMAT unsuported
TMOUT unsuported
TMPDIR unsuported
UID unsuported
Beyond Bash feature:
branch display in prompt
text-help = Project homepage: https://github.com/shellgei/rusty_bash
text-version =
Αυτό είναι λογισμικό ανοιχτού κώδικα.
Είστε ελεύθεροι να χρησιμοποιείτε, να τροποποιείτε και να διανέμετε αυτό το λογισμικό
σε μορφή πηγαίου ή δυαδικού κώδικα, με ή χωρίς τροποποιήσεις, υπό την προϋπόθεση
ότι διατηρείται η αρχική ειδοποίηση πνευματικών δικαιωμάτων, ο κατάλογος όρων και η αποποίηση ευθυνών.
ΑΥΤΟ ΤΟ ΛΟΓΙΣΜΙΚΟ ΠΑΡΕΧΕΤΑΙ "ΩΣ ΕΧΕΙ", ΧΩΡΙΣ ΚΑΜΙΑ ΕΓΓΥΗΣΗ,
ΡΗΤΗ Ή ΣΙΩΠΗΡΗ, ΣΤΟΝ ΒΑΘΜΟ ΠΟΥ ΕΠΙΤΡΕΠΕΤΑΙ ΑΠΟ ΤΟΝ ΝΟΜΟ.
================================================
FILE: i18n/en.ftl
================================================
license = License
version = version
usage = Usage: sushi [LONG OPTIONS] [OPTIONS] [SCRIPT] [ARGS]
options =
Options:
-c Execute COMMAND and exit
-i Force interactive mode
-l, --login unsuported
-r unsuported
-s unsuported
-D unsuported
-O, +O unsuported
-- unsuported
--debugger unsuported
--dimp-po-strings unsuported
--help Display this help message and exit
--init-file FILE unsuported
--rcfile FILE unsuported
--noediting unsuported
--noprofile unsuported
--norc unsuported
--posix unsuported
--restricted unsuported
-v, --verbose unsuported
--version Display version information and exit
-e Exit immediately if a command returns non‑zero
--pipefail Return status of first failing command in pipeline
-B Enable brace expansion (equivalent to `set -B`)
comp-commands =
Compound commands:
if Conditional execution
while Loop while a condition is true
() Run commands in a subshell
case Match patterns against a word
until unsupported
for Iterate over a list of items
builtins =
Builtin commands:
: No-op (does nothing)
"." Source a file in the current shell
alias Define or display aliases
bg Resume a job in the background
bind Unsupported
break Exit from a loop
builtin Execute a shell builtin, bypassing functions
caller Unsupported
cd Change the current directory
command Execute a command, ignoring shell functions
compgen Generate possible completion matches
complete Specify how arguments are completed
compopt Unsupported
continue Resume the next iteration of a loop
declare Unsupported
dirs Unsupported
disown Unsupported
echo Unsupported
enable Unsupported
eval Evaluate arguments as a shell command
exec Unsupported
exit Exit the shell
export Unsupported
false Do nothing, unsuccessfully
fc Unsupported
fg Resume a job in the foreground
getopts Parse positional parameters
hash Unsupported
help Unsupported
history Show or manipulate the command history
jobs Display status of jobs
kill Unsupported
let Unsupported
local Declare local variables inside functions
logout Unsupported
mapfile Unsupported
popd Unsupported
printf Unsupported
pushd Unsupported
pwd Print the current working directory
read Read a line from standard input
readonly Unsupported
return Return from a shell function
set Modify shell options
shift Shift positional parameters
shopt Change shell optional behavior
source Read and execute commands from a file
suspend Unsupported
test Unsupported
times Unsupported
trap Unsupported
true Do nothing, successfully
type Unsupported
typeset Unsupported
ulimit Unsupported
umask Unsupported
unalias Remove aliases
unset Unset variables or functions
wait Wait for jobs to complete
parameters =
Special parameters:
"$" Process ID of the shell or script
? Exit status of the last command
@ All positional parameters (as separate words)
# Number of positional parameters
- Current shell options
_ Last argument of the previous command
! unsupported
shopt =
Shell options:
dotglob Include hidden files (starting with .) in pathname expansions
extglob Enable extended pattern matching operators
progcomp Enable programmable command completion
nullglob Allow patterns which match nothing to expand to null string
variables-born =
Born Shell Variables:
CDPATH unsuported
HOME User’s home directory
IFS Internal Field Separator (partial support)
MAIL unsuported
MAILPATH unsuported
OPTARG Argument value for the current option (getopts)
OPTIND Index of the next argument to be processed by getopts
PATH Search path for commands
PS1 Primary prompt string
PS2 Secondary prompt string
variables-bash =
Bash Variables:
_ Last argument of the previous command
BASH unsuported
BASHOPTS unsuported
BASHPID PID of the current Bash process
BASH_ALIASES unsuported
BASH_ARGC unsuported
BASH_ARGV unsuported
BASH_ARGV0 unsuported
BASH_CMDS unsuported
BASH_COMMAND unsuported
BASH_COMPAT unsuported
BASH_ENV unsuported
BASH_EXECUTION_STRING unsuported
BASH_LINENO unsuported
BASH_LOADABLES_PATH unsuported
BASH_REMATCH Array of regex capture groups
BASH_SOURCE unsuported
BASH_SUBSHELL Current subshell level
BASH_VERSINFO Array with Bash version fields
BASH_VERSION Human‑readable Bash version
BASH_XTRACEFD unsuported
CHILD_MAX unsuported
COLUMNS unsuported
COMP_CWORD unsuported
COMP_LINE unsuported
COMP_POINT unsuported
COMP_TYPE unsuported
COMP_KEY unsuported
COMP_WORDBREAKS unsuported
COMP_WORDS unsuported
COMPREPLY unsuported
COPROC unsuported
DIRSTACK unsuported
EMACS unsuported
ENV unsuported
EPOCHREALTIME Epoch seconds with microseconds
EPOCHSECONDS Epoch seconds (integer)
EUID unsuported
EXECIGNORE unsuported
FCEDIT unsuported
FIGNORE unsuported
FUNCNAME unsuported
FUNCNEST unsuported
GLOBIGNORE unsuported
GROUPS unsuported
histchars unsuported
HISTCMD unsuported
HISTCONTROL unsuported
HISTFILE Path to the history file
HISTFILESIZE Max lines kept in history file
HISTIGNORE unsuported
HISTSIZE unsuported
HISTTIMEFORMAT unsuported
HOSTFILE unsuported
HOSTNAME unsuported
HOSTTYPE Hardware platform string
IGNOREEOF unsuported
INPUTRC unsuported
INSIDE_EMACS unsuported
LANG Current locale
LC_ALL unsuported
LC_COLLATE unsuported
LC_CTYPE unsuported
LC_MESSAGES unsuported
LC_NUMERIC unsuported
LC_TIME unsuported
LINENO Current script line number
LINES unsuported
MACHTYPE Machine type triple
MAILCHECK unsuported
MAPFILE unsuported
OLDPWD Previous working directory
OPTERR unsuported
OSTYPE Operating‑system type
PIPESTATUS Exit statuses of the last pipeline
POSIXLY_CORRECT unsuported
PPID unsuported
PROMPT_COMMAND unsuported
PROMPT_DIRTRIM unsuported
PS0 unsuported
PS3 unsuported
PS4 Debug prompt (used with set -x)
PWD Current working directory
RANDOM Pseudo‑random integer (0‑32767)
READLINE_ARGUMENT unsuported
READLINE_LINE unsuported
READLINE_MARK unsuported
READLINE_POINT unsuported
REPLY unsuported
SECONDS Seconds since the shell started
SHELL Path to the user’s default shell
SHELLOPTS unsuported
SHLVL Shell nesting level
SRANDOM 64-bit cryptographic random
TIMEFORMAT unsuported
TMOUT unsuported
TMPDIR unsuported
UID unsuported
Beyond Bash feature:
branch display in prompt
text-help = Project homepage: https://github.com/shellgei/rusty_bash
text-version =
This is open source software.
You are free to use, modify, and redistribute this software in source
or binary form, with or without modification, provided that the original
copyright notice, list of conditions, and disclaimer are retained.
THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, TO THE EXTENT PERMITTED BY LAW.
================================================
FILE: i18n/es.ftl
================================================
license = Licencia
version = versión
usage = Usage: sushi [LONG OPTIONS] [OPTIONS] [SCRIPT] [ARGS]
options =
Options:
-c Execute COMMAND and exit
-i Force interactive mode
-l, --login unsuported
-r unsuported
-s unsuported
-D unsuported
-O, +O unsuported
-- unsuported
--debugger unsuported
--dimp-po-strings unsuported
--help Display this help message and exit
--init-file FILE unsuported
--rcfile FILE unsuported
--noediting unsuported
--noprofile unsuported
--norc unsuported
--posix unsuported
--restricted unsuported
-v, --verbose unsuported
--version Display version information and exit
-e Exit immediately if a command returns non‑zero
--pipefail Return status of first failing command in pipeline
-B Enable brace expansion (equivalent to `set -B`)
comp-commands =
Compound commands:
if Conditional execution
while Loop while a condition is true
() Run commands in a subshell
case Match patterns against a word
until unsupported
for Iterate over a list of items
builtins =
Builtin commands:
: No-op (does nothing)
"." Source a file in the current shell
alias Define or display aliases
bg Resume a job in the background
bind Unsupported
break Exit from a loop
builtin Execute a shell builtin, bypassing functions
caller Unsupported
cd Change the current directory
command Execute a command, ignoring shell functions
compgen Generate possible completion matches
complete Specify how arguments are completed
compopt Unsupported
continue Resume the next iteration of a loop
declare Unsupported
dirs Unsupported
disown Unsupported
echo Unsupported
enable Unsupported
eval Evaluate arguments as a shell command
exec Unsupported
exit Exit the shell
export Unsupported
false Do nothing, unsuccessfully
fc Unsupported
fg Resume a job in the foreground
getopts Parse positional parameters
hash Unsupported
help Unsupported
history Show or manipulate the command history
jobs Display status of jobs
kill Unsupported
let Unsupported
local Declare local variables inside functions
logout Unsupported
mapfile Unsupported
popd Unsupported
printf Unsupported
pushd Unsupported
pwd Print the current working directory
read Read a line from standard input
readonly Unsupported
return Return from a shell function
set Modify shell options
shift Shift positional parameters
shopt Change shell optional behavior
source Read and execute commands from a file
suspend Unsupported
test Unsupported
times Unsupported
trap Unsupported
true Do nothing, successfully
type Unsupported
typeset Unsupported
ulimit Unsupported
umask Unsupported
unalias Remove aliases
unset Unset variables or functions
wait Wait for jobs to complete
parameters =
Special parameters:
"$" Process ID of the shell or script
? Exit status of the last command
@ All positional parameters (as separate words)
# Number of positional parameters
- Current shell options
_ Last argument of the previous command
! unsupported
shopt =
Shell options:
dotglob Include hidden files (starting with .) in pathname expansions
extglob Enable extended pattern matching operators
progcomp Enable programmable command completion
nullglob Allow patterns which match nothing to expand to null string
variables-born =
Born Shell Variables:
CDPATH unsuported
HOME User’s home directory
IFS Internal Field Separator (partial support)
MAIL unsuported
MAILPATH unsuported
OPTARG Argument value for the current option (getopts)
OPTIND Index of the next argument to be processed by getopts
PATH Search path for commands
PS1 Primary prompt string
PS2 Secondary prompt string
variables-bash =
Bash Variables:
_ Last argument of the previous command
BASH unsuported
BASHOPTS unsuported
BASHPID PID of the current Bash process
BASH_ALIASES unsuported
BASH_ARGC unsuported
BASH_ARGV unsuported
BASH_ARGV0 unsuported
BASH_CMDS unsuported
BASH_COMMAND unsuported
BASH_COMPAT unsuported
BASH_ENV unsuported
BASH_EXECUTION_STRING unsuported
BASH_LINENO unsuported
BASH_LOADABLES_PATH unsuported
BASH_REMATCH Array of regex capture groups
BASH_SOURCE unsuported
BASH_SUBSHELL Current subshell level
BASH_VERSINFO Array with Bash version fields
BASH_VERSION Human‑readable Bash version
BASH_XTRACEFD unsuported
CHILD_MAX unsuported
COLUMNS unsuported
COMP_CWORD unsuported
COMP_LINE unsuported
COMP_POINT unsuported
COMP_TYPE unsuported
COMP_KEY unsuported
COMP_WORDBREAKS unsuported
COMP_WORDS unsuported
COMPREPLY unsuported
COPROC unsuported
DIRSTACK unsuported
EMACS unsuported
ENV unsuported
EPOCHREALTIME Epoch seconds with microseconds
EPOCHSECONDS Epoch seconds (integer)
EUID unsuported
EXECIGNORE unsuported
FCEDIT unsuported
FIGNORE unsuported
FUNCNAME unsuported
FUNCNEST unsuported
GLOBIGNORE unsuported
GROUPS unsuported
histchars unsuported
HISTCMD unsuported
HISTCONTROL unsuported
HISTFILE Path to the history file
HISTFILESIZE Max lines kept in history file
HISTIGNORE unsuported
HISTSIZE unsuported
HISTTIMEFORMAT unsuported
HOSTFILE unsuported
HOSTNAME unsuported
HOSTTYPE Hardware platform string
IGNOREEOF unsuported
INPUTRC unsuported
INSIDE_EMACS unsuported
LANG Current locale
LC_ALL unsuported
LC_COLLATE unsuported
LC_CTYPE unsuported
LC_MESSAGES unsuported
LC_NUMERIC unsuported
LC_TIME unsuported
LINENO Current script line number
LINES unsuported
MACHTYPE Machine type triple
MAILCHECK unsuported
MAPFILE unsuported
OLDPWD Previous working directory
OPTERR unsuported
OSTYPE Operating‑system type
PIPESTATUS Exit statuses of the last pipeline
POSIXLY_CORRECT unsuported
PPID unsuported
PROMPT_COMMAND unsuported
PROMPT_DIRTRIM unsuported
PS0 unsuported
PS3 unsuported
PS4 Debug prompt (used with set -x)
PWD Current working directory
RANDOM Pseudo‑random integer (0‑32767)
READLINE_ARGUMENT unsuported
READLINE_LINE unsuported
READLINE_MARK unsuported
READLINE_POINT unsuported
REPLY unsuported
SECONDS Seconds since the shell started
SHELL Path to the user’s default shell
SHELLOPTS unsuported
SHLVL Shell nesting level
SRANDOM 64-bit cryptographic random
TIMEFORMAT unsuported
TMOUT unsuported
TMPDIR unsuported
UID unsuported
Beyond Bash feature:
branch display in prompt
text-help = Project homepage: https://github.com/shellgei/rusty_bash
text-version =
Este es un software de código abierto.
Usted es libre de usar, modificar y redistribuir este software en forma
fuente o binaria, con o sin modificaciones, siempre que el aviso de
copyright original, la lista de condiciones y la cláusula de
exención de responsabilidad sean conservados.
ESTE SOFTWARE SE PROPORCIONA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO,
EXPRESA O IMPLÍCITA, EN LA MEDIDA EN QUE LO PERMITA LA LEY.
================================================
FILE: i18n/fi.ftl
================================================
license = Lisenssi
version = versio
usage = Usage: sushi [LONG OPTIONS] [OPTIONS] [SCRIPT] [ARGS]
options =
Options:
-c Execute COMMAND and exit
-i Force interactive mode
-l, --login unsuported
-r unsuported
-s unsuported
-D unsuported
-O, +O unsuported
-- unsuported
--debugger unsuported
--dimp-po-strings unsuported
--help Display this help message and exit
--init-file FILE unsuported
--rcfile FILE unsuported
--noediting unsuported
--noprofile unsuported
--norc unsuported
--posix unsuported
--restricted unsuported
-v, --verbose unsuported
--version Display version information and exit
-e Exit immediately if a command returns non‑zero
--pipefail Return status of first failing command in pipeline
-B Enable brace expansion (equivalent to `set -B`)
comp-commands =
Compound commands:
if Conditional execution
while Loop while a condition is true
() Run commands in a subshell
case Match patterns against a word
until unsupported
for Iterate over a list of items
builtins =
Builtin commands:
: No-op (does nothing)
"." Source a file in the current shell
alias Define or display aliases
bg Resume a job in the background
bind Unsupported
break Exit from a loop
builtin Execute a shell builtin, bypassing functions
caller Unsupported
cd Change the current directory
command Execute a command, ignoring shell functions
compgen Generate possible completion matches
complete Specify how arguments are completed
compopt Unsupported
continue Resume the next iteration of a loop
declare Unsupported
dirs Unsupported
disown Unsupported
echo Unsupported
enable Unsupported
eval Evaluate arguments as a shell command
exec Unsupported
exit Exit the shell
export Unsupported
false Do nothing, unsuccessfully
fc Unsupported
fg Resume a job in the foreground
getopts Parse positional parameters
hash Unsupported
help Unsupported
history Show or manipulate the command history
jobs Display status of jobs
kill Unsupported
let Unsupported
local Declare local variables inside functions
logout Unsupported
mapfile Unsupported
popd Unsupported
printf Unsupported
pushd Unsupported
pwd Print the current working directory
read Read a line from standard input
readonly Unsupported
return Return from a shell function
set Modify shell options
shift Shift positional parameters
shopt Change shell optional behavior
source Read and execute commands from a file
suspend Unsupported
test Unsupported
times Unsupported
trap Unsupported
true Do nothing, successfully
type Unsupported
typeset Unsupported
ulimit Unsupported
umask Unsupported
unalias Remove aliases
unset Unset variables or functions
wait Wait for jobs to complete
parameters =
Special parameters:
"$" Process ID of the shell or script
? Exit status of the last command
@ All positional parameters (as separate words)
# Number of positional parameters
- Current shell options
_ Last argument of the previous command
! unsupported
shopt =
Shell options:
dotglob Include hidden files (starting with .) in pathname expansions
extglob Enable extended pattern matching operators
progcomp Enable programmable command completion
nullglob Allow patterns which match nothing to expand to null string
variables-born =
Born Shell Variables:
CDPATH unsuported
HOME User’s home directory
IFS Internal Field Separator (partial support)
MAIL unsuported
MAILPATH unsuported
OPTARG Argument value for the current option (getopts)
OPTIND Index of the next argument to be processed by getopts
PATH Search path for commands
PS1 Primary prompt string
PS2 Secondary prompt string
variables-bash =
Bash Variables:
_ Last argument of the previous command
BASH unsuported
BASHOPTS unsuported
BASHPID PID of the current Bash process
BASH_ALIASES unsuported
BASH_ARGC unsuported
BASH_ARGV unsuported
BASH_ARGV0 unsuported
BASH_CMDS unsuported
BASH_COMMAND unsuported
BASH_COMPAT unsuported
BASH_ENV unsuported
BASH_EXECUTION_STRING unsuported
BASH_LINENO unsuported
BASH_LOADABLES_PATH unsuported
BASH_REMATCH Array of regex capture groups
BASH_SOURCE unsuported
BASH_SUBSHELL Current subshell level
BASH_VERSINFO Array with Bash version fields
BASH_VERSION Human‑readable Bash version
BASH_XTRACEFD unsuported
CHILD_MAX unsuported
COLUMNS unsuported
COMP_CWORD unsuported
COMP_LINE unsuported
COMP_POINT unsuported
COMP_TYPE unsuported
COMP_KEY unsuported
COMP_WORDBREAKS unsuported
COMP_WORDS unsuported
COMPREPLY unsuported
COPROC unsuported
DIRSTACK unsuported
EMACS unsuported
ENV unsuported
EPOCHREALTIME Epoch seconds with microseconds
EPOCHSECONDS Epoch seconds (integer)
EUID unsuported
EXECIGNORE unsuported
FCEDIT unsuported
FIGNORE unsuported
FUNCNAME unsuported
FUNCNEST unsuported
GLOBIGNORE unsuported
GROUPS unsuported
histchars unsuported
HISTCMD unsuported
HISTCONTROL unsuported
HISTFILE Path to the history file
HISTFILESIZE Max lines kept in history file
HISTIGNORE unsuported
HISTSIZE unsuported
HISTTIMEFORMAT unsuported
HOSTFILE unsuported
HOSTNAME unsuported
HOSTTYPE Hardware platform string
IGNOREEOF unsuported
INPUTRC unsuported
INSIDE_EMACS unsuported
LANG Current locale
LC_ALL unsuported
LC_COLLATE unsuported
LC_CTYPE unsuported
LC_MESSAGES unsuported
LC_NUMERIC unsuported
LC_TIME unsuported
LINENO Current script line number
LINES unsuported
MACHTYPE Machine type triple
MAILCHECK unsuported
MAPFILE unsuported
OLDPWD Previous working directory
OPTERR unsuported
OSTYPE Operating‑system type
PIPESTATUS Exit statuses of the last pipeline
POSIXLY_CORRECT unsuported
PPID unsuported
PROMPT_COMMAND unsuported
PROMPT_DIRTRIM unsuported
PS0 unsuported
PS3 unsuported
PS4 Debug prompt (used with set -x)
PWD Current working directory
RANDOM Pseudo‑random integer (0‑32767)
READLINE_ARGUMENT unsuported
READLINE_LINE unsuported
READLINE_MARK unsuported
READLINE_POINT unsuported
REPLY unsuported
SECONDS Seconds since the shell started
SHELL Path to the user’s default shell
SHELLOPTS unsuported
SHLVL Shell nesting level
SRANDOM 64-bit cryptographic random
TIMEFORMAT unsuported
TMOUT unsuported
TMPDIR unsuported
UID unsuported
Beyond Bash feature:
branch display in prompt
text-help = Project homepage: https://github.com/shellgei/rusty_bash
text-version =
Tämä on avoimen lähdekoodin ohjelmisto.
Voit vapaasti käyttää, muokata ja levittää tätä ohjelmistoa
lähde- tai binäärimuodossa, muutoksilla tai ilman, kunhan alkuperäinen
tekijänoikeusilmoitus, ehdot ja vastuuvapauslauseke säilyvät.
TÄMÄ OHJELMISTO TOIMITETAAN "SELLAISENAAN" ILMAN MITÄÄN TAKUITA,
ILMAISTUJA TAI OLETETTUJA, LAIN SALLIMISSA RAJOISSA.
================================================
FILE: i18n/fr.ftl
================================================
license = Licence
version = version
usage = Usage: sushi [LONG OPTIONS] [OPTIONS] [SCRIPT] [ARGS]
options =
Options:
-c Execute COMMAND and exit
-i Force interactive mode
-l, --login unsuported
-r unsuported
-s unsuported
-D unsuported
-O, +O unsuported
-- unsuported
--debugger unsuported
--dimp-po-strings unsuported
--help Display this help message and exit
--init-file FILE unsuported
--rcfile FILE unsuported
--noediting unsuported
--noprofile unsuported
--norc unsuported
--posix unsuported
--restricted unsuported
-v, --verbose unsuported
--version Display version information and exit
-e Exit immediately if a command returns non‑zero
--pipefail Return status of first failing command in pipeline
-B Enable brace expansion (equivalent to `set -B`)
comp-commands =
Compound commands:
if Conditional execution
while Loop while a condition is true
() Run commands in a subshell
case Match patterns against a word
until unsupported
for Iterate over a list of items
builtins =
Builtin commands:
: No-op (does nothing)
"." Source a file in the current shell
alias Define or display aliases
bg Resume a job in the background
bind Unsupported
break Exit from a loop
builtin Execute a shell builtin, bypassing functions
caller Unsupported
cd Change the current directory
command Execute a command, ignoring shell functions
compgen Generate possible completion matches
complete Specify how arguments are completed
compopt Unsupported
continue Resume the next iteration of a loop
declare Unsupported
dirs Unsupported
disown Unsupported
echo Unsupported
enable Unsupported
eval Evaluate arguments as a shell command
exec Unsupported
exit Exit the shell
export Unsupported
false Do nothing, unsuccessfully
fc Unsupported
fg Resume a job in the foreground
getopts Parse positional parameters
hash Unsupported
help Unsupported
history Show or manipulate the command history
jobs Display status of jobs
kill Unsupported
let Unsupported
local Declare local variables inside functions
logout Unsupported
mapfile Unsupported
popd Unsupported
printf Unsupported
pushd Unsupported
pwd Print the current working directory
read Read a line from standard input
readonly Unsupported
return Return from a shell function
set Modify shell options
shift Shift positional parameters
shopt Change shell optional behavior
source Read and execute commands from a file
suspend Unsupported
test Unsupported
times Unsupported
trap Unsupported
true Do nothing, successfully
type Unsupported
typeset Unsupported
ulimit Unsupported
umask Unsupported
unalias Remove aliases
unset Unset variables or functions
wait Wait for jobs to complete
parameters =
Special parameters:
"$" Process ID of the shell or script
? Exit status of the last command
@ All positional parameters (as separate words)
# Number of positional parameters
- Current shell options
_ Last argument of the previous command
! unsupported
shopt =
Shell options:
dotglob Include hidden files (starting with .) in pathname expansions
extglob Enable extended pattern matching operators
progcomp Enable programmable command completion
nullglob Allow patterns which match nothing to expand to null string
variables-born =
Born Shell Variables:
CDPATH unsuported
HOME User’s home directory
IFS Internal Field Separator (partial support)
MAIL unsuported
MAILPATH unsuported
OPTARG Argument value for the current option (getopts)
OPTIND Index of the next argument to be processed by getopts
PATH Search path for commands
PS1 Primary prompt string
PS2 Secondary prompt string
variables-bash =
Bash Variables:
_ Last argument of the previous command
BASH unsuported
BASHOPTS unsuported
BASHPID PID of the current Bash process
BASH_ALIASES unsuported
BASH_ARGC unsuported
BASH_ARGV unsuported
BASH_ARGV0 unsuported
BASH_CMDS unsuported
BASH_COMMAND unsuported
BASH_COMPAT unsuported
BASH_ENV unsuported
BASH_EXECUTION_STRING unsuported
BASH_LINENO unsuported
BASH_LOADABLES_PATH unsuported
BASH_REMATCH Array of regex capture groups
BASH_SOURCE unsuported
BASH_SUBSHELL Current subshell level
BASH_VERSINFO Array with Bash version fields
BASH_VERSION Human‑readable Bash version
BASH_XTRACEFD unsuported
CHILD_MAX unsuported
COLUMNS unsuported
COMP_CWORD unsuported
COMP_LINE unsuported
COMP_POINT unsuported
COMP_TYPE unsuported
COMP_KEY unsuported
COMP_WORDBREAKS unsuported
COMP_WORDS unsuported
COMPREPLY unsuported
COPROC unsuported
DIRSTACK unsuported
EMACS unsuported
ENV unsuported
EPOCHREALTIME Epoch seconds with microseconds
EPOCHSECONDS Epoch seconds (integer)
EUID unsuported
EXECIGNORE unsuported
FCEDIT unsuported
FIGNORE unsuported
FUNCNAME unsuported
FUNCNEST unsuported
GLOBIGNORE unsuported
GROUPS unsuported
histchars unsuported
HISTCMD unsuported
HISTCONTROL unsuported
HISTFILE Path to the history file
HISTFILESIZE Max lines kept in history file
HISTIGNORE unsuported
HISTSIZE unsuported
HISTTIMEFORMAT unsuported
HOSTFILE unsuported
HOSTNAME unsuported
HOSTTYPE Hardware platform string
IGNOREEOF unsuported
INPUTRC unsuported
INSIDE_EMACS unsuported
LANG Current locale
LC_ALL unsuported
LC_COLLATE unsuported
LC_CTYPE unsuported
LC_MESSAGES unsuported
LC_NUMERIC unsuported
LC_TIME unsuported
LINENO Current script line number
LINES unsuported
MACHTYPE Machine type triple
MAILCHECK unsuported
MAPFILE unsuported
OLDPWD Previous working directory
OPTERR unsuported
OSTYPE Operating‑system type
PIPESTATUS Exit statuses of the last pipeline
POSIXLY_CORRECT unsuported
PPID unsuported
PROMPT_COMMAND unsuported
PROMPT_DIRTRIM unsuported
PS0 unsuported
PS3 unsuported
PS4 Debug prompt (used with set -x)
PWD Current working directory
RANDOM Pseudo‑random integer (0‑32767)
READLINE_ARGUMENT unsuported
READLINE_LINE unsuported
READLINE_MARK unsuported
READLINE_POINT unsuported
REPLY unsuported
SECONDS Seconds since the shell started
SHELL Path to the user’s default shell
SHELLOPTS unsuported
SHLVL Shell nesting level
SRANDOM 64-bit cryptographic random
TIMEFORMAT unsuported
TMOUT unsuported
TMPDIR unsuported
UID unsuported
Beyond Bash feature:
branch display in prompt
text-help = Project homepage: https://github.com/shellgei/rusty_bash
text-version =
Ceci est un logiciel open source.
Vous êtes libre d'utiliser, de modifier et de redistribuer ce logiciel
sous forme source ou binaire, avec ou sans modification, à condition que
l'avis de droit d’auteur original, la liste des conditions et la clause
de non-responsabilité soient conservés.
CE LOGICIEL EST FOURNI "TEL QUEL", SANS GARANTIE D'AUCUNE SORTE,
EXPRESSE OU IMPLICITE, DANS LA LIMITE AUTORISÉE PAR LA LOI.
================================================
FILE: i18n/hi.ftl
================================================
license = लाइसेंस
version = संस्करण
usage = Usage: sushi [LONG OPTIONS] [OPTIONS] [SCRIPT] [ARGS]
options =
Options:
-c Execute COMMAND and exit
-i Force interactive mode
-l, --login unsuported
-r unsuported
-s unsuported
-D unsuported
-O, +O unsuported
-- unsuported
--debugger unsuported
--dimp-po-strings unsuported
--help Display this help message and exit
--init-file FILE unsuported
--rcfile FILE unsuported
--noediting unsuported
--noprofile unsuported
--norc unsuported
--posix unsuported
--restricted unsuported
-v, --verbose unsuported
--version Display version information and exit
-e Exit immediately if a command returns non‑zero
--pipefail Return status of first failing command in pipeline
-B Enable brace expansion (equivalent to `set -B`)
comp-commands =
Compound commands:
if Conditional execution
while Loop while a condition is true
() Run commands in a subshell
case Match patterns against a word
until unsupported
for Iterate over a list of items
builtins =
Builtin commands:
: No-op (does nothing)
"." Source a file in the current shell
alias Define or display aliases
bg Resume a job in the background
bind Unsupported
break Exit from a loop
builtin Execute a shell builtin, bypassing functions
caller Unsupported
cd Change the current directory
command Execute a command, ignoring shell functions
compgen Generate possible completion matches
complete Specify how arguments are completed
compopt Unsupported
continue Resume the next iteration of a loop
declare Unsupported
dirs Unsupported
disown Unsupported
echo Unsupported
enable Unsupported
eval Evaluate arguments as a shell command
exec Unsupported
exit Exit the shell
export Unsupported
false Do nothing, unsuccessfully
fc Unsupported
fg Resume a job in the foreground
getopts Parse positional parameters
hash Unsupported
help Unsupported
history Show or manipulate the command history
jobs Display status of jobs
kill Unsupported
let Unsupported
local Declare local variables inside functions
logout Unsupported
mapfile Unsupported
popd Unsupported
printf Unsupported
pushd Unsupported
pwd Print the current working directory
read Read a line from standard input
readonly Unsupported
return Return from a shell function
set Modify shell options
shift Shift positional parameters
shopt Change shell optional behavior
source Read and execute commands from a file
suspend Unsupported
test Unsupported
times Unsupported
trap Unsupported
true Do nothing, successfully
type Unsupported
typeset Unsupported
ulimit Unsupported
umask Unsupported
unalias Remove aliases
unset Unset variables or functions
wait Wait for jobs to complete
parameters =
Special parameters:
"$" Process ID of the shell or script
? Exit status of the last command
@ All positional parameters (as separate words)
# Number of positional parameters
- Current shell options
_ Last argument of the previous command
! unsupported
shopt =
Shell options:
dotglob Include hidden files (starting with .) in pathname expansions
extglob Enable extended pattern matching operators
progcomp Enable programmable command completion
nullglob Allow patterns which match nothing to expand to null string
variables-born =
Born Shell Variables:
CDPATH unsuported
HOME User’s home directory
IFS Internal Field Separator (partial support)
MAIL unsuported
MAILPATH unsuported
OPTARG Argument value for the current option (getopts)
OPTIND Index of the next argument to be processed by getopts
PATH Search path for commands
PS1 Primary prompt string
PS2 Secondary prompt string
variables-bash =
Bash Variables:
_ Last argument of the previous command
BASH unsuported
BASHOPTS unsuported
BASHPID PID of the current Bash process
BASH_ALIASES unsuported
BASH_ARGC unsuported
BASH_ARGV unsuported
BASH_ARGV0 unsuported
BASH_CMDS unsuported
BASH_COMMAND unsuported
BASH_COMPAT unsuported
BASH_ENV unsuported
BASH_EXECUTION_STRING unsuported
BASH_LINENO unsuported
BASH_LOADABLES_PATH unsuported
BASH_REMATCH Array of regex capture groups
BASH_SOURCE unsuported
BASH_SUBSHELL Current subshell level
BASH_VERSINFO Array with Bash version fields
BASH_VERSION Human‑readable Bash version
BASH_XTRACEFD unsuported
CHILD_MAX unsuported
COLUMNS unsuported
COMP_CWORD unsuported
COMP_LINE unsuported
COMP_POINT unsuported
COMP_TYPE unsuported
COMP_KEY unsuported
COMP_WORDBREAKS unsuported
COMP_WORDS unsuported
COMPREPLY unsuported
COPROC unsuported
DIRSTACK unsuported
EMACS unsuported
ENV unsuported
EPOCHREALTIME Epoch seconds with microseconds
EPOCHSECONDS Epoch seconds (integer)
EUID unsuported
EXECIGNORE unsuported
FCEDIT unsuported
FIGNORE unsuported
FUNCNAME unsuported
FUNCNEST unsuported
GLOBIGNORE unsuported
GROUPS unsuported
histchars unsuported
HISTCMD unsuported
HISTCONTROL unsuported
HISTFILE Path to the history file
HISTFILESIZE Max lines kept in history file
HISTIGNORE unsuported
HISTSIZE unsuported
HISTTIMEFORMAT unsuported
HOSTFILE unsuported
HOSTNAME unsuported
HOSTTYPE Hardware platform string
IGNOREEOF unsuported
INPUTRC unsuported
INSIDE_EMACS unsuported
LANG Current locale
LC_ALL unsuported
LC_COLLATE unsuported
LC_CTYPE unsuported
LC_MESSAGES unsuported
LC_NUMERIC unsuported
LC_TIME unsuported
LINENO Current script line number
LINES unsuported
MACHTYPE Machine type triple
MAILCHECK unsuported
MAPFILE unsuported
OLDPWD Previous working directory
OPTERR unsuported
OSTYPE Operating‑system type
PIPESTATUS Exit statuses of the last pipeline
POSIXLY_CORRECT unsuported
PPID unsuported
PROMPT_COMMAND unsuported
PROMPT_DIRTRIM unsuported
PS0 unsuported
PS3 unsuported
PS4 Debug prompt (used with set -x)
PWD Current working directory
RANDOM Pseudo‑random integer (0‑32767)
READLINE_ARGUMENT unsuported
READLINE_LINE unsuported
READLINE_MARK unsuported
READLINE_POINT unsuported
REPLY unsuported
SECONDS Seconds since the shell started
SHELL Path to the user’s default shell
SHELLOPTS unsuported
SHLVL Shell nesting level
SRANDOM 64-bit cryptographic random
TIMEFORMAT unsuported
TMOUT unsuported
TMPDIR unsuported
UID unsuported
Beyond Bash feature:
branch display in prompt
text-help = Project homepage: https://github.com/shellgei/rusty_bash
text-version =
यह एक ओपन सोर्स सॉफ़्टवेयर है।
आप इस सॉफ़्टवेयर का उपयोग, संशोधन और पुनर्वितरण स्वतंत्र रूप से कर सकते हैं,
स्रोत या बाइनरी रूप में, संशोधन के साथ या बिना, बशर्ते कि मूल
कॉपीराइट सूचना, शर्तों की सूची, और अस्वीकरण बनाए रखें।
यह सॉफ़्टवेयर "जैसा है" प्रदान किया गया है, किसी भी प्रकार की वारंटी के बिना,
स्पष्ट या निहित, कानून द्वारा अनुमत सीमा तक।
================================================
FILE: i18n/it.ftl
================================================
License = Licenza
version = versione
usage = Usage: sushi [LONG OPTIONS] [OPTIONS] [SCRIPT] [ARGS]
options =
Options:
-c Execute COMMAND and exit
-i Force interactive mode
-l, --login unsuported
-r unsuported
-s unsuported
-D unsuported
-O, +O unsuported
-- unsuported
--debugger unsuported
--dimp-po-strings unsuported
--help Display this help message and exit
--init-file FILE unsuported
--rcfile FILE unsuported
--noediting unsuported
--noprofile unsuported
--norc unsuported
--posix unsuported
--restricted unsuported
-v, --verbose unsuported
--version Display version information and exit
-e Exit immediately if a command returns non‑zero
--pipefail Return status of first failing command in pipeline
-B Enable brace expansion (equivalent to `set -B`)
comp-commands =
Compound commands:
if Conditional execution
while Loop while a condition is true
() Run commands in a subshell
case Match patterns against a word
until unsupported
for Iterate over a list of items
builtins =
Builtin commands:
: No-op (does nothing)
"." Source a file in the current shell
alias Define or display aliases
bg Resume a job in the background
bind Unsupported
break Exit from a loop
builtin Execute a shell builtin, bypassing functions
caller Unsupported
cd Change the current directory
command Execute a command, ignoring shell functions
compgen Generate possible completion matches
complete Specify how arguments are completed
compopt Unsupported
continue Resume the next iteration of a loop
declare Unsupported
dirs Unsupported
disown Unsupported
echo Unsupported
enable Unsupported
eval Evaluate arguments as a shell command
exec Unsupported
exit Exit the shell
export Unsupported
false Do nothing, unsuccessfully
fc Unsupported
fg Resume a job in the foreground
getopts Parse positional parameters
hash Unsupported
help Unsupported
history Show or manipulate the command history
jobs Display status of jobs
kill Unsupported
let Unsupported
local Declare local variables inside functions
logout Unsupported
mapfile Unsupported
popd Unsupported
printf Unsupported
pushd Unsupported
pwd Print the current working directory
read Read a line from standard input
readonly Unsupported
return Return from a shell function
set Modify shell options
shift Shift positional parameters
shopt Change shell optional behavior
source Read and execute commands from a file
suspend Unsupported
test Unsupported
times Unsupported
trap Unsupported
true Do nothing, successfully
type Unsupported
typeset Unsupported
ulimit Unsupported
umask Unsupported
unalias Remove aliases
unset Unset variables or functions
wait Wait for jobs to complete
parameters =
Special parameters:
"$" Process ID of the shell or script
? Exit status of the last command
@ All positional parameters (as separate words)
# Number of positional parameters
- Current shell options
_ Last argument of the previous command
! unsupported
shopt =
Shell options:
dotglob Include hidden files (starting with .) in pathname expansions
extglob Enable extended pattern matching operators
progcomp Enable programmable command completion
nullglob Allow patterns which match nothing to expand to null string
variables-born =
Born Shell Variables:
CDPATH unsuported
HOME User’s home directory
IFS Internal Field Separator (partial support)
MAIL unsuported
MAILPATH unsuported
OPTARG Argument value for the current option (getopts)
OPTIND Index of the next argument to be processed by getopts
PATH Search path for commands
PS1 Primary prompt string
PS2 Secondary prompt string
variables-bash =
Bash Variables:
_ Last argument of the previous command
BASH unsuported
BASHOPTS unsuported
BASHPID PID of the current Bash process
BASH_ALIASES unsuported
BASH_ARGC unsuported
BASH_ARGV unsuported
BASH_ARGV0 unsuported
BASH_CMDS unsuported
BASH_COMMAND unsuported
BASH_COMPAT unsuported
BASH_ENV unsuported
BASH_EXECUTION_STRING unsuported
BASH_LINENO unsuported
BASH_LOADABLES_PATH unsuported
BASH_REMATCH Array of regex capture groups
BASH_SOURCE unsuported
BASH_SUBSHELL Current subshell level
BASH_VERSINFO Array with Bash version fields
BASH_VERSION Human‑readable Bash version
BASH_XTRACEFD unsuported
CHILD_MAX unsuported
COLUMNS unsuported
COMP_CWORD unsuported
COMP_LINE unsuported
COMP_POINT unsuported
COMP_TYPE unsuported
COMP_KEY unsuported
COMP_WORDBREAKS unsuported
COMP_WORDS unsuported
COMPREPLY unsuported
COPROC unsuported
DIRSTACK unsuported
EMACS unsuported
ENV unsuported
EPOCHREALTIME Epoch seconds with microseconds
EPOCHSECONDS Epoch seconds (integer)
EUID unsuported
EXECIGNORE unsuported
FCEDIT unsuported
FIGNORE unsuported
FUNCNAME unsuported
FUNCNEST unsuported
GLOBIGNORE unsuported
GROUPS unsuported
histchars unsuported
HISTCMD unsuported
HISTCONTROL unsuported
HISTFILE Path to the history file
HISTFILESIZE Max lines kept in history file
HISTIGNORE unsuported
HISTSIZE unsuported
HISTTIMEFORMAT unsuported
HOSTFILE unsuported
HOSTNAME unsuported
HOSTTYPE Hardware platform string
IGNOREEOF unsuported
INPUTRC unsuported
INSIDE_EMACS unsuported
LANG Current locale
LC_ALL unsuported
LC_COLLATE unsuported
LC_CTYPE unsuported
LC_MESSAGES unsuported
LC_NUMERIC unsuported
LC_TIME unsuported
LINENO Current script line number
LINES unsuported
MACHTYPE Machine type triple
MAILCHECK unsuported
MAPFILE unsuported
OLDPWD Previous working directory
OPTERR unsuported
OSTYPE Operating‑system type
PIPESTATUS Exit statuses of the last pipeline
POSIXLY_CORRECT unsuported
PPID unsuported
PROMPT_COMMAND unsuported
PROMPT_DIRTRIM unsuported
PS0 unsuported
PS3 unsuported
PS4 Debug prompt (used with set -x)
PWD Current working directory
RANDOM Pseudo‑random integer (0‑32767)
READLINE_ARGUMENT unsuported
READLINE_LINE unsuported
READLINE_MARK unsuported
READLINE_POINT unsuported
REPLY unsuported
SECONDS Seconds since the shell started
SHELL Path to the user’s default shell
SHELLOPTS unsuported
SHLVL Shell nesting level
SRANDOM 64-bit cryptographic random
TIMEFORMAT unsuported
TMOUT unsuported
TMPDIR unsuported
UID unsuported
Beyond Bash feature:
branch display in prompt
text-help = Project homepage: https://github.com/shellgei/rusty_bash
text-version =
Questo è un software open source.
Sei libero di usare, modificare e ridistribuire questo software in forma
sorgente o binaria, con o senza modifiche, a condizione che
l'avviso di copyright originale, l'elenco delle condizioni e la clausola
di esclusione di responsabilità siano mantenuti.
QUESTO SOFTWARE È FORNITO "COSÌ COM'È", SENZA ALCUNA GARANZIA,
ESPRESSA O IMPLICITA, NEI LIMITI CONSENTITI DALLA LEGGE.
================================================
FILE: i18n/ja.ftl
================================================
license = ライセンス
version = バージョン
usage = Usage: sushi [LONG OPTIONS] [OPTIONS] [SCRIPT] [ARGS]
options =
Options:
-c Execute COMMAND and exit
-i Force interactive mode
-l, --login unsuported
-r unsuported
-s unsuported
-D unsuported
-O, +O unsuported
-- unsuported
--debugger unsuported
--dimp-po-strings unsuported
--help Display this help message and exit
--init-file FILE unsuported
--rcfile FILE unsuported
--noediting unsuported
--noprofile unsuported
--norc unsuported
--posix unsuported
--restricted unsuported
-v, --verbose unsuported
--version Display version information and exit
-e Exit immediately if a command returns non‑zero
--pipefail Return status of first failing command in pipeline
-B Enable brace expansion (equivalent to `set -B`)
comp-commands =
Compound commands:
if Conditional execution
while Loop while a condition is true
() Run commands in a subshell
case Match patterns against a word
until unsupported
for Iterate over a list of items
builtins =
Builtin commands:
: No-op (does nothing)
"." Source a file in the current shell
alias Define or display aliases
bg Resume a job in the background
bind Unsupported
break Exit from a loop
builtin Execute a shell builtin, bypassing functions
caller Unsupported
cd Change the current directory
command Execute a command, ignoring shell functions
compgen Generate possible completion matches
complete Specify how arguments are completed
compopt Unsupported
continue Resume the next iteration of a loop
declare Unsupported
dirs Unsupported
disown Unsupported
echo Unsupported
enable Unsupported
eval Evaluate arguments as a shell command
exec Unsupported
exit Exit the shell
export Unsupported
false Do nothing, unsuccessfully
fc Unsupported
fg Resume a job in the foreground
getopts Parse positional parameters
hash Unsupported
help Unsupported
history Show or manipulate the command history
jobs Display status of jobs
kill Unsupported
let Unsupported
local Declare local variables inside functions
logout Unsupported
mapfile Unsupported
popd Unsupported
printf Unsupported
pushd Unsupported
pwd Print the current working directory
read Read a line from standard input
readonly Unsupported
return Return from a shell function
set Modify shell options
shift Shift positional parameters
shopt Change shell optional behavior
source Read and execute commands from a file
suspend Unsupported
test Unsupported
times Unsupported
trap Unsupported
true Do nothing, successfully
type Unsupported
typeset Unsupported
ulimit Unsupported
umask Unsupported
unalias Remove aliases
unset Unset variables or functions
wait Wait for jobs to complete
parameters =
Special parameters:
"$" Process ID of the shell or script
? Exit status of the last command
@ All positional parameters (as separate words)
# Number of positional parameters
- Current shell options
_ Last argument of the previous command
! unsupported
shopt =
Shell options:
dotglob Include hidden files (starting with .) in pathname expansions
extglob Enable extended pattern matching operators
progcomp Enable programmable command completion
nullglob Allow patterns which match nothing to expand to null string
variables-born =
Born Shell Variables:
CDPATH unsuported
HOME User’s home directory
IFS Internal Field Separator (partial support)
MAIL unsuported
MAILPATH unsuported
OPTARG Argument value for the current option (getopts)
OPTIND Index of the next argument to be processed by getopts
PATH Search path for commands
PS1 Primary prompt string
PS2 Secondary prompt string
variables-bash =
Bash Variables:
_ Last argument of the previous command
BASH unsuported
BASHOPTS unsuported
BASHPID PID of the current Bash process
BASH_ALIASES unsuported
BASH_ARGC unsuported
BASH_ARGV unsuported
BASH_ARGV0 unsuported
BASH_CMDS unsuported
BASH_COMMAND unsuported
BASH_COMPAT unsuported
BASH_ENV unsuported
BASH_EXECUTION_STRING unsuported
BASH_LINENO unsuported
BASH_LOADABLES_PATH unsuported
BASH_REMATCH Array of regex capture groups
BASH_SOURCE unsuported
BASH_SUBSHELL Current subshell level
BASH_VERSINFO Array with Bash version fields
BASH_VERSION Human‑readable Bash version
BASH_XTRACEFD unsuported
CHILD_MAX unsuported
COLUMNS unsuported
COMP_CWORD unsuported
COMP_LINE unsuported
COMP_POINT unsuported
COMP_TYPE unsuported
COMP_KEY unsuported
COMP_WORDBREAKS unsuported
COMP_WORDS unsuported
COMPREPLY unsuported
COPROC unsuported
DIRSTACK unsuported
EMACS unsuported
ENV unsuported
EPOCHREALTIME Epoch seconds with microseconds
EPOCHSECONDS Epoch seconds (integer)
EUID unsuported
EXECIGNORE unsuported
FCEDIT unsuported
FIGNORE unsuported
FUNCNAME unsuported
FUNCNEST unsuported
GLOBIGNORE unsuported
GROUPS unsuported
histchars unsuported
HISTCMD unsuported
HISTCONTROL unsuported
HISTFILE Path to the history file
HISTFILESIZE Max lines kept in history file
HISTIGNORE unsuported
HISTSIZE unsuported
HISTTIMEFORMAT unsuported
HOSTFILE unsuported
HOSTNAME unsuported
HOSTTYPE Hardware platform string
IGNOREEOF unsuported
INPUTRC unsuported
INSIDE_EMACS unsuported
LANG Current locale
LC_ALL unsuported
LC_COLLATE unsuported
LC_CTYPE unsuported
LC_MESSAGES unsuported
LC_NUMERIC unsuported
LC_TIME unsuported
LINENO Current script line number
LINES unsuported
MACHTYPE Machine type triple
MAILCHECK unsuported
MAPFILE unsuported
OLDPWD Previous working directory
OPTERR unsuported
OSTYPE Operating‑system type
PIPESTATUS Exit statuses of the last pipeline
POSIXLY_CORRECT unsuported
PPID unsuported
PROMPT_COMMAND unsuported
PROMPT_DIRTRIM unsuported
PS0 unsuported
PS3 unsuported
PS4 Debug prompt (used with set -x)
PWD Current working directory
RANDOM Pseudo‑random integer (0‑32767)
READLINE_ARGUMENT unsuported
READLINE_LINE unsuported
READLINE_MARK unsuported
READLINE_POINT unsuported
REPLY unsuported
SECONDS Seconds since the shell started
SHELL Path to the user’s default shell
SHELLOPTS unsuported
SHLVL Shell nesting level
SRANDOM 64-bit cryptographic random
TIMEFORMAT unsuported
TMOUT unsuported
TMPDIR unsuported
UID unsuported
Beyond Bash feature:
branch display in prompt
text-help = Project homepage: https://github.com/shellgei/rusty_bash
text-version =
これはオープンソースソフトウェアです。
このソフトウェアは、オリジナルの著作権表示、条件の一覧、
免責事項が保持されている限り、ソースまたはバイナリ形式で、
修正の有無にかかわらず、自由に使用、変更、再配布できます。
本ソフトウェアは、法律で許される範囲において、
明示的または黙示的ないかなる保証もなく「現状のまま」提供されます。
================================================
FILE: i18n/ko.ftl
================================================
License = 라이선스
version = 버전
usage = Usage: sushi [LONG OPTIONS] [OPTIONS] [SCRIPT] [ARGS]
options =
Options:
-c Execute COMMAND and exit
-i Force interactive mode
-l, --login unsuported
-r unsuported
-s unsuported
-D unsuported
-O, +O unsuported
-- unsuported
--debugger unsuported
--dimp-po-strings unsuported
--help Display this help message and exit
--init-file FILE unsuported
--rcfile FILE unsuported
--noediting unsuported
--noprofile unsuported
--norc unsuported
--posix unsuported
--restricted unsuported
-v, --verbose unsuported
--version Display version information and exit
-e Exit immediately if a command returns non‑zero
--pipefail Return status of first failing command in pipeline
-B Enable brace expansion (equivalent to `set -B`)
comp-commands =
Compound commands:
if Conditional execution
while Loop while a condition is true
() Run commands in a subshell
case Match patterns against a word
until unsupported
for Iterate over a list of items
builtins =
Builtin commands:
: No-op (does nothing)
"." Source a file in the current shell
alias Define or display aliases
bg Resume a job in the background
bind Unsupported
break Exit from a loop
builtin Execute a shell builtin, bypassing functions
caller Unsupported
cd Change the current directory
command Execute a command, ignoring shell functions
compgen Generate possible completion matches
complete Specify how arguments are completed
compopt Unsupported
continue Resume the next iteration of a loop
declare Unsupported
dirs Unsupported
disown Unsupported
echo Unsupported
enable Unsupported
eval Evaluate arguments as a shell command
exec Unsupported
exit Exit the shell
export Unsupported
false Do nothing, unsuccessfully
fc Unsupported
fg Resume a job in the foreground
getopts Parse positional parameters
hash Unsupported
help Unsupported
history Show or manipulate the command history
jobs Display status of jobs
kill Unsupported
let Unsupported
local Declare local variables inside functions
logout Unsupported
mapfile Unsupported
popd Unsupported
printf Unsupported
pushd Unsupported
pwd Print the current working directory
read Read a line from standard input
readonly Unsupported
return Return from a shell function
set Modify shell options
shift Shift positional parameters
shopt Change shell optional behavior
source Read and execute commands from a file
suspend Unsupported
test Unsupported
times Unsupported
trap Unsupported
true Do nothing, successfully
type Unsupported
typeset Unsupported
ulimit Unsupported
umask Unsupported
unalias Remove aliases
unset Unset variables or functions
wait Wait for jobs to complete
parameters =
Special parameters:
"$" Process ID of the shell or script
? Exit status of the last command
@ All positional parameters (as separate words)
# Number of positional parameters
- Current shell options
_ Last argument of the previous command
! unsupported
shopt =
Shell options:
dotglob Include hidden files (starting with .) in pathname expansions
extglob Enable extended pattern matching operators
progcomp Enable programmable command completion
nullglob Allow patterns which match nothing to expand to null string
variables-born =
Born Shell Variables:
CDPATH unsuported
HOME User’s home directory
IFS Internal Field Separator (partial support)
MAIL unsuported
MAILPATH unsuported
OPTARG Argument value for the current option (getopts)
OPTIND Index of the next argument to be processed by getopts
PATH Search path for commands
PS1 Primary prompt string
PS2 Secondary prompt string
variables-bash =
Bash Variables:
_ Last argument of the previous command
BASH unsuported
BASHOPTS unsuported
BASHPID PID of the current Bash process
BASH_ALIASES unsuported
BASH_ARGC unsuported
BASH_ARGV unsuported
BASH_ARGV0 unsuported
BASH_CMDS unsuported
BASH_COMMAND unsuported
BASH_COMPAT unsuported
BASH_ENV unsuported
BASH_EXECUTION_STRING unsuported
BASH_LINENO unsuported
BASH_LOADABLES_PATH unsuported
BASH_REMATCH Array of regex capture groups
BASH_SOURCE unsuported
BASH_SUBSHELL Current subshell level
BASH_VERSINFO Array with Bash version fields
BASH_VERSION Human‑readable Bash version
BASH_XTRACEFD unsuported
CHILD_MAX unsuported
COLUMNS unsuported
COMP_CWORD unsuported
COMP_LINE unsuported
COMP_POINT unsuported
COMP_TYPE unsuported
COMP_KEY unsuported
COMP_WORDBREAKS unsuported
COMP_WORDS unsuported
COMPREPLY unsuported
COPROC unsuported
DIRSTACK unsuported
EMACS unsuported
ENV unsuported
EPOCHREALTIME Epoch seconds with microseconds
EPOCHSECONDS Epoch seconds (integer)
EUID unsuported
EXECIGNORE unsuported
FCEDIT unsuported
FIGNORE unsuported
FUNCNAME unsuported
FUNCNEST unsuported
GLOBIGNORE unsuported
GROUPS unsuported
histchars unsuported
HISTCMD unsuported
HISTCONTROL unsuported
HISTFILE Path to the history file
HISTFILESIZE Max lines kept in history file
HISTIGNORE unsuported
HISTSIZE unsuported
HISTTIMEFORMAT unsuported
HOSTFILE unsuported
HOSTNAME unsuported
HOSTTYPE Hardware platform string
IGNOREEOF unsuported
INPUTRC unsuported
INSIDE_EMACS unsuported
LANG Current locale
LC_ALL unsuported
LC_COLLATE unsuported
LC_CTYPE unsuported
LC_MESSAGES unsuported
LC_NUMERIC unsuported
LC_TIME unsuported
LINENO Current script line number
LINES unsuported
MACHTYPE Machine type triple
MAILCHECK unsuported
MAPFILE unsuported
OLDPWD Previous working directory
OPTERR unsuported
OSTYPE Operating‑system type
PIPESTATUS Exit statuses of the last pipeline
POSIXLY_CORRECT unsuported
PPID unsuported
PROMPT_COMMAND unsuported
PROMPT_DIRTRIM unsuported
PS0 unsuported
PS3 unsuported
PS4 Debug prompt (used with set -x)
PWD Current working directory
RANDOM Pseudo‑random integer (0‑32767)
READLINE_ARGUMENT unsuported
READLINE_LINE unsuported
READLINE_MARK unsuported
READLINE_POINT unsuported
REPLY unsuported
SECONDS Seconds since the shell started
SHELL Path to the user’s default shell
SHELLOPTS unsuported
SHLVL Shell nesting level
SRANDOM 64-bit cryptographic random
TIMEFORMAT unsuported
TMOUT unsuported
TMPDIR unsuported
UID unsuported
Beyond Bash feature:
branch display in prompt
text-help = Project homepage: https://github.com/shellgei/rusty_bash
text-version =
이것은 오픈 소스 소프트웨어입니다.
원본 저작권 고지, 조건 목록 및 면책 조항이 유지되는 한,
이 소프트웨어를 소스 또는 바이너리 형태로 수정하거나 하지 않고도
자유롭게 사용, 수정 및 재배포할 수 있습니다.
이 소프트웨어는 법이 허용하는 범위 내에서
명시적이거나 묵시적인 어떠한 보증 없이 "있는 그대로" 제공됩니다.
================================================
FILE: i18n/nl.ftl
================================================
license = Licentie
version = versie
usage = Usage: sushi [LONG OPTIONS] [OPTIONS] [SCRIPT] [ARGS]
options =
Options:
-c Execute COMMAND and exit
-i Force interactive mode
-l, --login unsuported
-r unsuported
-s unsuported
-D unsuported
-O, +O unsuported
-- unsuported
--debugger unsuported
--dimp-po-strings unsuported
--help Display this help message and exit
--init-file FILE unsuported
--rcfile FILE unsuported
--noediting unsuported
--noprofile unsuported
--norc unsuported
--posix unsuported
--restricted unsuported
-v, --verbose unsuported
--version Display version information and exit
-e Exit immediately if a command returns non‑zero
--pipefail Return status of first failing command in pipeline
-B Enable brace expansion (equivalent to `set -B`)
comp-commands =
Compound commands:
if Conditional execution
while Loop while a condition is true
() Run commands in a subshell
case Match patterns against a word
until unsupported
for Iterate over a list of items
builtins =
Builtin commands:
: No-op (does nothing)
"." Source a file in the current shell
alias Define or display aliases
bg Resume a job in the background
bind Unsupported
break Exit from a loop
builtin Execute a shell builtin, bypassing functions
caller Unsupported
cd Change the current directory
command Execute a command, ignoring shell functions
compgen Generate possible completion matches
complete Specify how arguments are completed
compopt Unsupported
continue Resume the next iteration of a loop
declare Unsupported
dirs Unsupported
disown Unsupported
echo Unsupported
enable Unsupported
eval Evaluate arguments as a shell command
exec Unsupported
exit Exit the shell
export Unsupported
false Do nothing, unsuccessfully
fc Unsupported
fg Resume a job in the foreground
getopts Parse positional parameters
hash Unsupported
help Unsupported
history Show or manipulate the command history
jobs Display status of jobs
kill Unsupported
let Unsupported
local Declare local variables inside functions
logout Unsupported
mapfile Unsupported
popd Unsupported
printf Unsupported
pushd Unsupported
pwd Print the current working directory
read Read a line from standard input
readonly Unsupported
return Return from a shell function
set Modify shell options
shift Shift positional parameters
shopt Change shell optional behavior
source Read and execute commands from a file
suspend Unsupported
test Unsupported
times Unsupported
trap Unsupported
true Do nothing, successfully
type Unsupported
typeset Unsupported
ulimit Unsupported
umask Unsupported
unalias Remove aliases
unset Unset variables or functions
wait Wait for jobs to complete
parameters =
Special parameters:
"$" Process ID of the shell or script
? Exit status of the last command
@ All positional parameters (as separate words)
# Number of positional parameters
- Current shell options
_ Last argument of the previous command
! unsupported
shopt =
Shell options:
dotglob Include hidden files (starting with .) in pathname expansions
extglob Enable extended pattern matching operators
progcomp Enable programmable command completion
nullglob Allow patterns which match nothing to expand to null string
variables-born =
Born Shell Variables:
CDPATH unsuported
HOME User’s home directory
IFS Internal Field Separator (partial support)
MAIL unsuported
MAILPATH unsuported
OPTARG Argument value for the current option (getopts)
OPTIND Index of the next argument to be processed by getopts
PATH Search path for commands
PS1 Primary prompt string
PS2 Secondary prompt string
variables-bash =
Bash Variables:
_ Last argument of the previous command
BASH unsuported
BASHOPTS unsuported
BASHPID PID of the current Bash process
BASH_ALIASES unsuported
BASH_ARGC unsuported
BASH_ARGV unsuported
BASH_ARGV0 unsuported
BASH_CMDS unsuported
BASH_COMMAND unsuported
BASH_COMPAT unsuported
BASH_ENV unsuported
BASH_EXECUTION_STRING unsuported
BASH_LINENO unsuported
BASH_LOADABLES_PATH unsuported
BASH_REMATCH Array of regex capture groups
BASH_SOURCE unsuported
BASH_SUBSHELL Current subshell level
BASH_VERSINFO Array with Bash version fields
BASH_VERSION Human‑readable Bash version
BASH_XTRACEFD unsuported
CHILD_MAX unsuported
COLUMNS unsuported
COMP_CWORD unsuported
COMP_LINE unsuported
COMP_POINT unsuported
COMP_TYPE unsuported
COMP_KEY unsuported
COMP_WORDBREAKS unsuported
COMP_WORDS unsuported
COMPREPLY unsuported
COPROC unsuported
DIRSTACK unsuported
EMACS unsuported
ENV unsuported
EPOCHREALTIME Epoch seconds with microseconds
EPOCHSECONDS Epoch seconds (integer)
EUID unsuported
EXECIGNORE unsuported
FCEDIT unsuported
FIGNORE unsuported
FUNCNAME unsuported
FUNCNEST unsuported
GLOBIGNORE unsuported
GROUPS unsuported
histchars unsuported
HISTCMD unsuported
HISTCONTROL unsuported
HISTFILE Path to the history file
HISTFILESIZE Max lines kept in history file
HISTIGNORE unsuported
HISTSIZE unsuported
HISTTIMEFORMAT unsuported
HOSTFILE unsuported
HOSTNAME unsuported
HOSTTYPE Hardware platform string
IGNOREEOF unsuported
INPUTRC unsuported
INSIDE_EMACS unsuported
LANG Current locale
LC_ALL unsuported
LC_COLLATE unsuported
LC_CTYPE unsuported
LC_MESSAGES unsuported
LC_NUMERIC unsuported
LC_TIME unsuported
LINENO Current script line number
LINES unsuported
MACHTYPE Machine type triple
MAILCHECK unsuported
MAPFILE unsuported
OLDPWD Previous working directory
OPTERR unsuported
OSTYPE Operating‑system type
PIPESTATUS Exit statuses of the last pipeline
POSIXLY_CORRECT unsuported
PPID unsuported
PROMPT_COMMAND unsuported
PROMPT_DIRTRIM unsuported
PS0 unsuported
PS3 unsuported
PS4 Debug prompt (used with set -x)
PWD Current working directory
RANDOM Pseudo‑random integer (0‑32767)
READLINE_ARGUMENT unsuported
READLINE_LINE unsuported
READLINE_MARK unsuported
READLINE_POINT unsuported
REPLY unsuported
SECONDS Seconds since the shell started
SHELL Path to the user’s default shell
SHELLOPTS unsuported
SHLVL Shell nesting level
SRANDOM 64-bit cryptographic random
TIMEFORMAT unsuported
TMOUT unsuported
TMPDIR unsuported
UID unsuported
Beyond Bash feature:
branch display in prompt
text-help = Project homepage: https://github.com/shellgei/rusty_bash
text-version =
Dit is open-sourcesoftware.
U bent vrij om deze software te gebruiken, aan te passen en opnieuw te verspreiden,
in bron- of binaire vorm, met of zonder wijzigingen, op voorwaarde dat de originele
copyrightvermelding, lijst van voorwaarden en disclaimer behouden blijven.
DEZE SOFTWARE WORDT GELEVERD "AS IS", ZONDER ENIGE GARANTIE,
EXPLICIET OF IMPLICIET, VOOR ZOVER TOEGESTAAN DOOR DE WET.
================================================
FILE: i18n/no.ftl
================================================
license = Lisens
version = versjon
usage = Usage: sushi [LONG OPTIONS] [OPTIONS] [SCRIPT] [ARGS]
options =
Options:
-c Execute COMMAND and exit
-i Force interactive mode
-l, --login unsuported
-r unsuported
-s unsuported
-D unsuported
-O, +O unsuported
-- unsuported
--debugger unsuported
--dimp-po-strings unsuported
--help Display this help message and exit
--init-file FILE unsuported
--rcfile FILE unsuported
--noediting unsuported
--noprofile unsuported
--norc unsuported
--posix unsuported
--restricted unsuported
-v, --verbose unsuported
--version Display version information and exit
-e Exit immediately if a command returns non‑zero
--pipefail Return status of first failing command in pipeline
-B Enable brace expansion (equivalent to `set -B`)
comp-commands =
Compound commands:
if Conditional execution
while Loop while a condition is true
() Run commands in a subshell
case Match patterns against a word
until unsupported
for Iterate over a list of items
builtins =
Builtin commands:
: No-op (does nothing)
"." Source a file in the current shell
alias Define or display aliases
bg Resume a job in the background
bind Unsupported
break Exit from a loop
builtin Execute a shell builtin, bypassing functions
caller Unsupported
cd Change the current directory
command Execute a command, ignoring shell functions
compgen Generate possible completion matches
complete Specify how arguments are completed
compopt Unsupported
continue Resume the next iteration of a loop
declare Unsupported
dirs Unsupported
disown Unsupported
echo Unsupported
enable Unsupported
eval Evaluate arguments as a shell command
exec Unsupported
exit Exit the shell
export Unsupported
false Do nothing, unsuccessfully
fc Unsupported
fg Resume a job in the foreground
getopts Parse positional parameters
hash Unsupported
help Unsupported
history Show or manipulate the command history
jobs Display status of jobs
kill Unsupported
let Unsupported
local Declare local variables inside functions
logout Unsupported
mapfile Unsupported
popd Unsupported
printf Unsupported
pushd Unsupported
pwd Print the current working directory
read Read a line from standard input
readonly Unsupported
return Return from a shell function
set Modify shell options
shift Shift positional parameters
shopt Change shell optional behavior
source Read and execute commands from a file
suspend Unsupported
test Unsupported
times Unsupported
trap Unsupported
true Do nothing, successfully
type Unsupported
typeset Unsupported
ulimit Unsupported
umask Unsupported
unalias Remove aliases
unset Unset variables or functions
wait Wait for jobs to complete
parameters =
Special parameters:
"$" Process ID of the shell or script
? Exit status of the last command
@ All positional parameters (as separate words)
# Number of positional parameters
- Current shell options
_ Last argument of the previous command
! unsupported
shopt =
Shell options:
dotglob Include hidden files (starting with .) in pathname expansions
extglob Enable extended pattern matching operators
progcomp Enable programmable command completion
nullglob Allow patterns which match nothing to expand to null string
variables-born =
Born Shell Variables:
CDPATH unsuported
HOME User’s home directory
IFS Internal Field Separator (partial support)
MAIL unsuported
MAILPATH unsuported
OPTARG Argument value for the current option (getopts)
OPTIND Index of the next argument to be processed by getopts
PATH Search path for commands
PS1 Primary prompt string
PS2 Secondary prompt string
variables-bash =
Bash Variables:
_ Last argument of the previous command
BASH unsuported
BASHOPTS unsuported
BASHPID PID of the current Bash process
BASH_ALIASES unsuported
BASH_ARGC unsuported
BASH_ARGV unsuported
BASH_ARGV0 unsuported
BASH_CMDS unsuported
BASH_COMMAND unsuported
BASH_COMPAT unsuported
BASH_ENV unsuported
BASH_EXECUTION_STRING unsuported
BASH_LINENO unsuported
BASH_LOADABLES_PATH unsuported
BASH_REMATCH Array of regex capture groups
BASH_SOURCE unsuported
BASH_SUBSHELL Current subshell level
BASH_VERSINFO Array with Bash version fields
BASH_VERSION Human‑readable Bash version
BASH_XTRACEFD unsuported
CHILD_MAX unsuported
COLUMNS unsuported
COMP_CWORD unsuported
COMP_LINE unsuported
COMP_POINT unsuported
COMP_TYPE unsuported
COMP_KEY unsuported
COMP_WORDBREAKS unsuported
COMP_WORDS unsuported
COMPREPLY unsuported
COPROC unsuported
DIRSTACK unsuported
EMACS unsuported
ENV unsuported
EPOCHREALTIME Epoch seconds with microseconds
EPOCHSECONDS Epoch seconds (integer)
EUID unsuported
EXECIGNORE unsuported
FCEDIT unsuported
FIGNORE unsuported
FUNCNAME unsuported
FUNCNEST unsuported
GLOBIGNORE unsuported
GROUPS unsuported
histchars unsuported
HISTCMD unsuported
HISTCONTROL unsuported
HISTFILE Path to the history file
HISTFILESIZE Max lines kept in history file
HISTIGNORE unsuported
HISTSIZE unsuported
HISTTIMEFORMAT unsuported
HOSTFILE unsuported
HOSTNAME unsuported
HOSTTYPE Hardware platform string
IGNOREEOF unsuported
INPUTRC unsuported
INSIDE_EMACS unsuported
LANG Current locale
LC_ALL unsuported
LC_COLLATE unsuported
LC_CTYPE unsuported
LC_MESSAGES unsuported
LC_NUMERIC unsuported
LC_TIME unsuported
LINENO Current script line number
LINES unsuported
MACHTYPE Machine type triple
MAILCHECK unsuported
MAPFILE unsuported
OLDPWD Previous working directory
OPTERR unsuported
OSTYPE Operating‑system type
PIPESTATUS Exit statuses of the last pipeline
POSIXLY_CORRECT unsuported
PPID unsuported
PROMPT_COMMAND unsuported
PROMPT_DIRTRIM unsuported
PS0 unsuported
PS3 unsuported
PS4 Debug prompt (used with set -x)
PWD Current working directory
RANDOM Pseudo‑random integer (0‑32767)
READLINE_ARGUMENT unsuported
READLINE_LINE unsuported
READLINE_MARK unsuported
READLINE_POINT unsuported
REPLY unsuported
SECONDS Seconds since the shell started
SHELL Path to the user’s default shell
SHELLOPTS unsuported
SHLVL Shell nesting level
SRANDOM 64-bit cryptographic random
TIMEFORMAT unsuported
TMOUT unsuported
TMPDIR unsuported
UID unsuported
Beyond Bash feature:
branch display in prompt
text-help = Project homepage: https://github.com/shellgei/rusty_bash
text-version =
Dette er åpen kildekode-programvare.
Du står fritt til å bruke, endre og redistribuere denne programvaren,
i kildekode eller binær form, med eller uten modifikasjoner,
forutsatt at den opprinnelige opphavsrettsmerknaden, vilkårene
og ansvarsfraskrivelsen beholdes.
DENNE PROGRAMVAREN LEVERES "SOM DEN ER", UTEN GARANTIER AV NOE SLAG,
VERKEN UTTRYKTE ELLER UNDERFORSTÅTTE, I DEN UTSTREKNING LOVEN TILLATER.
================================================
FILE: i18n/pl.ftl
================================================
license = Licencja
version = wersja
usage = Usage: sushi [LONG OPTIONS] [OPTIONS] [SCRIPT] [ARGS]
options =
Options:
-c Execute COMMAND and exit
-i Force interactive mode
-l, --login unsuported
-r unsuported
-s unsuported
-D unsuported
-O, +O unsuported
-- unsuported
--debugger unsuported
--dimp-po-strings unsuported
--help Display this help message and exit
--init-file FILE unsuported
--rcfile FILE unsuported
--noediting unsuported
--noprofile unsuported
--norc unsuported
--posix unsuported
--restricted unsuported
-v, --verbose unsuported
--version Display version information and exit
-e Exit immediately if a command returns non‑zero
--pipefail Return status of first failing command in pipeline
-B Enable brace expansion (equivalent to `set -B`)
comp-commands =
Compound commands:
if Conditional execution
while Loop while a condition is true
() Run commands in a subshell
case Match patterns against a word
until unsupported
for Iterate over a list of items
builtins =
Builtin commands:
: No-op (does nothing)
"." Source a file in the current shell
alias Define or display aliases
bg Resume a job in the background
bind Unsupported
break Exit from a loop
builtin Execute a shell builtin, bypassing functions
caller Unsupported
cd Change the current directory
command Execute a command, ignoring shell functions
comp
gitextract_3bjkuqsu/
├── .github/
│ └── workflows/
│ ├── macos.yml
│ └── ubuntu.yml
├── .gitignore
├── .sushrc
├── Cargo.toml
├── LICENSE
├── README.md
├── RELEASE.md
├── build.rs
├── docs/
│ └── SETUP_BASH_COMPLETION.md
├── error
├── i18n/
│ ├── ar.ftl
│ ├── da.ftl
│ ├── de.ftl
│ ├── el.ftl
│ ├── en.ftl
│ ├── es.ftl
│ ├── fi.ftl
│ ├── fr.ftl
│ ├── hi.ftl
│ ├── it.ftl
│ ├── ja.ftl
│ ├── ko.ftl
│ ├── nl.ftl
│ ├── no.ftl
│ ├── pl.ftl
│ ├── pt.ftl
│ ├── ru.ftl
│ ├── sl.ftl
│ ├── sv.ftl
│ ├── sw.ftl
│ ├── uk.ftl
│ └── zh.ftl
├── src/
│ ├── core/
│ │ ├── builtins/
│ │ │ ├── alias.rs
│ │ │ ├── caller.rs
│ │ │ ├── cd.rs
│ │ │ ├── command.rs
│ │ │ ├── compgen.rs
│ │ │ ├── complete.rs
│ │ │ ├── compopt.rs
│ │ │ ├── echo.rs
│ │ │ ├── exec.rs
│ │ │ ├── getopts.rs
│ │ │ ├── hash.rs
│ │ │ ├── history.rs
│ │ │ ├── job_commands.rs
│ │ │ ├── loop_control.rs
│ │ │ ├── option.rs
│ │ │ ├── printf.rs
│ │ │ ├── pwd.rs
│ │ │ ├── read.rs
│ │ │ ├── source.rs
│ │ │ ├── trap.rs
│ │ │ ├── type_.rs
│ │ │ ├── ulimit.rs
│ │ │ ├── unset.rs
│ │ │ ├── variable/
│ │ │ │ ├── print.rs
│ │ │ │ └── set_value.rs
│ │ │ └── variable.rs
│ │ ├── builtins.rs
│ │ ├── completion.rs
│ │ ├── database/
│ │ │ ├── data/
│ │ │ │ ├── array.rs
│ │ │ │ ├── array_int.rs
│ │ │ │ ├── array_ondemand.rs
│ │ │ │ ├── assoc.rs
│ │ │ │ ├── assoc_int.rs
│ │ │ │ ├── random.rs
│ │ │ │ ├── seconds.rs
│ │ │ │ ├── single.rs
│ │ │ │ ├── single_int.rs
│ │ │ │ ├── single_ondemand.rs
│ │ │ │ ├── srandom.rs
│ │ │ │ └── uninit.rs
│ │ │ ├── data.rs
│ │ │ ├── database_appenders.rs
│ │ │ ├── database_checkers.rs
│ │ │ ├── database_getters.rs
│ │ │ ├── database_initializers.rs
│ │ │ ├── database_print.rs
│ │ │ ├── database_setters/
│ │ │ │ └── database_setter_backend.rs
│ │ │ ├── database_setters.rs
│ │ │ └── database_unsetters.rs
│ │ ├── database.rs
│ │ ├── file_descs.rs
│ │ ├── history.rs
│ │ ├── jobtable.rs
│ │ └── options.rs
│ ├── core.rs
│ ├── elements/
│ │ ├── ansi_c_str.rs
│ │ ├── command/
│ │ │ ├── arithmetic.rs
│ │ │ ├── brace.rs
│ │ │ ├── case.rs
│ │ │ ├── coproc.rs
│ │ │ ├── for.rs
│ │ │ ├── function_def.rs
│ │ │ ├── if.rs
│ │ │ ├── paren.rs
│ │ │ ├── repeat.rs
│ │ │ ├── simple/
│ │ │ │ ├── alias.rs
│ │ │ │ ├── hash.rs
│ │ │ │ ├── parser.rs
│ │ │ │ └── run_internal.rs
│ │ │ ├── simple.rs
│ │ │ ├── test.rs
│ │ │ └── while.rs
│ │ ├── command.rs
│ │ ├── expr/
│ │ │ ├── arithmetic/
│ │ │ │ ├── calculator.rs
│ │ │ │ ├── elem/
│ │ │ │ │ ├── float.rs
│ │ │ │ │ ├── int.rs
│ │ │ │ │ ├── ternary.rs
│ │ │ │ │ └── variable.rs
│ │ │ │ ├── elem.rs
│ │ │ │ ├── parser.rs
│ │ │ │ └── rev_polish.rs
│ │ │ ├── arithmetic.rs
│ │ │ ├── conditional/
│ │ │ │ ├── elem.rs
│ │ │ │ └── parser.rs
│ │ │ └── conditional.rs
│ │ ├── expr.rs
│ │ ├── io/
│ │ │ ├── pipe.rs
│ │ │ └── redirect.rs
│ │ ├── io.rs
│ │ ├── job.rs
│ │ ├── pipeline.rs
│ │ ├── script.rs
│ │ ├── substitution/
│ │ │ ├── array.rs
│ │ │ ├── subscript.rs
│ │ │ ├── value.rs
│ │ │ └── variable.rs
│ │ ├── substitution.rs
│ │ ├── subword/
│ │ │ ├── ansi_c_quoted.rs
│ │ │ ├── arithmetic.rs
│ │ │ ├── braced_param/
│ │ │ │ ├── optional_operation/
│ │ │ │ │ ├── case_conv.rs
│ │ │ │ │ ├── escape.rs
│ │ │ │ │ ├── remove.rs
│ │ │ │ │ ├── replace.rs
│ │ │ │ │ ├── substr.rs
│ │ │ │ │ └── value_check.rs
│ │ │ │ ├── optional_operation.rs
│ │ │ │ └── parse.rs
│ │ │ ├── braced_param.rs
│ │ │ ├── command_sub.rs
│ │ │ ├── double_quoted.rs
│ │ │ ├── escaped_char.rs
│ │ │ ├── ext_glob.rs
│ │ │ ├── file_input.rs
│ │ │ ├── filler.rs
│ │ │ ├── parameter.rs
│ │ │ ├── paren.rs
│ │ │ ├── process_sub.rs
│ │ │ ├── simple.rs
│ │ │ ├── single_quoted.rs
│ │ │ └── varname.rs
│ │ ├── subword.rs
│ │ ├── word/
│ │ │ ├── brace_expansion.rs
│ │ │ ├── path_expansion.rs
│ │ │ ├── split.rs
│ │ │ ├── substitution.rs
│ │ │ └── tilde_expansion.rs
│ │ └── word.rs
│ ├── elements.rs
│ ├── error/
│ │ ├── arith.rs
│ │ ├── exec.rs
│ │ ├── input.rs
│ │ └── parse.rs
│ ├── error.rs
│ ├── feeder/
│ │ ├── scanner.rs
│ │ ├── terminal/
│ │ │ ├── completion.rs
│ │ │ └── key.rs
│ │ └── terminal.rs
│ ├── feeder.rs
│ ├── i18n.rs
│ ├── main.rs
│ ├── main_c_option.rs
│ ├── proc_ctrl.rs
│ ├── signal.rs
│ ├── utils/
│ │ ├── arg.rs
│ │ ├── c_string.rs
│ │ ├── clock.rs
│ │ ├── directory.rs
│ │ ├── exit.rs
│ │ ├── file.rs
│ │ ├── file_check.rs
│ │ ├── glob/
│ │ │ ├── comparator.rs
│ │ │ ├── extglob.rs
│ │ │ └── parser.rs
│ │ ├── glob.rs
│ │ ├── restricted_shell.rs
│ │ └── splitter.rs
│ └── utils.rs
└── test/
└── README
SYMBOL INDEX (1565 symbols across 156 files)
FILE: build.rs
function main (line 7) | fn main() {
FILE: src/core.rs
type MeasuredTime (line 32) | pub struct MeasuredTime {
method default (line 39) | fn default() -> Self {
type BuiltinFn (line 48) | type BuiltinFn = fn(&mut ShellCore, &[String]) -> i32;
type SubstBuiltinFn (line 49) | type SubstBuiltinFn = fn(&mut ShellCore, &[String], &mut [Substitution])...
type ShellCore (line 52) | pub struct ShellCore {
method configure (line 92) | pub fn configure(&mut self) -> Result<(), ExecError> {
method new (line 133) | pub fn new() -> Self {
method configure_c_mode (line 145) | pub fn configure_c_mode(&mut self) -> Result<(), ExecError> {
method set_initial_parameters (line 162) | fn set_initial_parameters(&mut self) {
method flip_exit_status (line 215) | pub fn flip_exit_status(&mut self) {
method set_subshell_parameters (line 219) | fn set_subshell_parameters(&mut self) -> Result<(), String> {
method initialize_as_subshell (line 231) | pub fn initialize_as_subshell(&mut self, pid: Pid, pgid: Pid) {
method init_current_directory (line 244) | pub fn init_current_directory(&mut self) {
method get_current_directory (line 254) | pub fn get_current_directory(&mut self) -> Option<path::PathBuf> {
method set_current_directory (line 261) | pub fn set_current_directory(&mut self, path: &path::PathBuf) -> Resul...
method get_ps4 (line 267) | pub fn get_ps4(&mut self) -> String {
method replace_alias (line 282) | pub fn replace_alias(&mut self, word: &mut String) -> bool {
method replace_alias_core (line 293) | fn replace_alias_core(&mut self, word: &mut String) -> bool {
FILE: src/core/builtins.rs
function error_ (line 38) | pub fn error_(exit_status: i32, name: &str, msg: &str, core: &mut ShellC...
function error (line 49) | pub fn error(exit_status: i32, name: &str, err: &ExecError, core: &mut S...
function run_external (line 53) | pub fn run_external(core: &mut ShellCore, args: &[String], err_msg_cond:...
method set_builtins (line 78) | pub fn set_builtins(&mut self) {
function eval (line 157) | pub fn eval(core: &mut ShellCore, args: &[String]) -> i32 {
function exit (line 195) | pub fn exit(core: &mut ShellCore, args: &[String]) -> i32 {
function false_ (line 208) | pub fn false_(_: &mut ShellCore, _: &[String]) -> i32 {
function true_ (line 212) | pub fn true_(_: &mut ShellCore, _: &[String]) -> i32 {
function bind (line 216) | pub fn bind(_: &mut ShellCore, _: &[String]) -> i32 {
function debug (line 220) | pub fn debug(_: &mut ShellCore, _: &[String]) -> i32 {
function let_ (line 229) | pub fn let_(core: &mut ShellCore, args: &[String]) -> i32 {
function test (line 257) | pub fn test(core: &mut ShellCore, args: &[String]) -> i32 {
FILE: src/core/builtins/alias.rs
function alias (line 6) | pub fn alias(core: &mut ShellCore, args: &[String]) -> i32 {
function unalias (line 35) | pub fn unalias(core: &mut ShellCore, args: &[String]) -> i32 {
FILE: src/core/builtins/caller.rs
function caller_no_arg (line 6) | fn caller_no_arg(core: &mut ShellCore) -> i32 {
function caller_arg (line 25) | fn caller_arg(core: &mut ShellCore, args: &[String]) -> i32 {
function caller (line 50) | pub fn caller(core: &mut ShellCore, args: &[String]) -> i32 {
FILE: src/core/builtins/cd.rs
function cd (line 8) | pub fn cd(core: &mut ShellCore, args: &[String]) -> i32 {
function cd_oldpwd (line 38) | fn cd_oldpwd(core: &mut ShellCore) -> i32 {
function set_oldpwd (line 52) | fn set_oldpwd(core: &mut ShellCore) {
function change_directory (line 60) | fn change_directory(core: &mut ShellCore, target: &str) -> i32 {
FILE: src/core/builtins/command.rs
function builtin (line 9) | pub fn builtin(core: &mut ShellCore, args: &[String]) -> i32 {
function command_v (line 22) | fn command_v(words: &[String], core: &mut ShellCore, large_v: bool) -> i...
function command (line 80) | pub fn command(core: &mut ShellCore, args: &[String]) -> i32 {
FILE: src/core/builtins/compgen.rs
function compgen_f (line 18) | pub fn compgen_f(core: &mut ShellCore, args: &[String], dir_only: bool) ...
function normalize_compgen_args (line 75) | fn normalize_compgen_args(args: &[String]) -> Vec<String> {
function command_list (line 101) | fn command_list(target: &String, core: &mut ShellCore) -> Vec<String> {
function compgen (line 126) | pub fn compgen(core: &mut ShellCore, args: &[String]) -> i32 {
function get_head (line 198) | fn get_head(args: &[String], pos: usize) -> String {
function drop_unmatch (line 208) | fn drop_unmatch(args: &[String], pos: usize, list: &mut Vec<String>) {
function compgen_a (line 215) | pub fn compgen_a(core: &mut ShellCore, args: &[String]) -> Vec<String> {
function compgen_b (line 228) | pub fn compgen_b(core: &mut ShellCore, args: &[String]) -> Vec<String> {
function compgen_c (line 240) | pub fn compgen_c(core: &mut ShellCore, args: &[String]) -> Vec<String> {
function compgen_d (line 263) | fn compgen_d(core: &mut ShellCore, args: &[String]) -> Vec<String> {
function compgen_e (line 267) | pub fn compgen_e(args: &[String]) -> Vec<String> {
function compgen_h (line 278) | pub fn compgen_h(core: &mut ShellCore, _: &[String]) -> Vec<String> {
function compgen_v (line 304) | pub fn compgen_v(core: &mut ShellCore, args: &[String]) -> Vec<String> {
function compgen_o (line 321) | pub fn compgen_o(core: &mut ShellCore, args: &[String]) -> Vec<String> {
function compgen_large_g (line 334) | fn compgen_large_g(core: &mut ShellCore, args: &[String]) -> Vec<String> {
function compgen_large_w (line 339) | fn compgen_large_w(core: &mut ShellCore, args: &[String]) -> Vec<String> {
function compgen_u (line 368) | pub fn compgen_u(_: &mut ShellCore, args: &[String]) -> Vec<String> {
function compgen_shopt (line 387) | pub fn compgen_shopt(core: &mut ShellCore, args: &[String]) -> Vec<Strin...
function compgen_function (line 393) | pub fn compgen_function(core: &mut ShellCore, args: &[String]) -> Vec<St...
function compgen_hostname (line 399) | pub fn compgen_hostname(_: &mut ShellCore, _: &[String]) -> Vec<String> {
function compgen_stopped (line 404) | pub fn compgen_stopped(core: &mut ShellCore, args: &[String]) -> Vec<Str...
function compgen_j (line 417) | pub fn compgen_j(core: &mut ShellCore, args: &[String]) -> Vec<String> {
FILE: src/core/builtins/complete.rs
function action_to_reduce_symbol (line 8) | fn action_to_reduce_symbol(arg: &str) -> String {
function opt_to_action (line 28) | fn opt_to_action(arg: &str) -> String {
function print_complete (line 47) | fn print_complete(core: &mut ShellCore) -> i32 {
function complete_f (line 80) | fn complete_f(core: &mut ShellCore, args: &[String], o_options: &[String...
function complete_large_w (line 112) | fn complete_large_w(core: &mut ShellCore, args: &[String]) -> i32 {
function complete_r (line 125) | fn complete_r(core: &mut ShellCore, args: &[String]) -> i32 {
function complete (line 133) | pub fn complete(core: &mut ShellCore, args: &[String]) -> i32 {
FILE: src/core/builtins/compopt.rs
function compopt_set (line 8) | fn compopt_set(info: &mut CompletionEntry, plus: &[String], minus: &[Str...
function compopt_print (line 24) | fn compopt_print(core: &mut ShellCore, args: &[String]) -> i32 {
function compopt (line 57) | pub fn compopt(core: &mut ShellCore, args: &[String]) -> i32 {
FILE: src/core/builtins/echo.rs
function arg_to_c_str (line 12) | fn arg_to_c_str(arg: &str, core: &mut ShellCore) -> Result<CString, Exec...
function echo (line 23) | pub fn echo(core: &mut ShellCore, args: &[String]) -> i32 {
FILE: src/core/builtins/exec.rs
function exec (line 9) | pub fn exec(core: &mut ShellCore, args: &[String]) -> i32 {
function exec_command (line 26) | fn exec_command(args: &[String], core: &mut ShellCore, fullpath: &str) -...
FILE: src/core/builtins/getopts.rs
type Opt (line 7) | enum Opt {
method is_single (line 24) | fn is_single(&self, opt: &str) -> bool {
method is_witharg (line 31) | fn is_witharg(&self, opt: &str) -> bool {
type NoArgOpt (line 12) | struct NoArgOpt<'a>{
function parse (line 39) | fn parse(optstring: &str) -> (Vec<Opt>, bool) {
function get_index (line 64) | pub fn get_index(core: &mut ShellCore) -> (usize, usize) {
function set_no_arg_option (line 92) | fn set_no_arg_option(no_arg_opt: &NoArgOpt, core: &mut ShellCore,) -> i32 {
function set_option_with_arg (line 116) | fn set_option_with_arg(
function getopts (line 148) | pub fn getopts(core: &mut ShellCore, args: &[String]) -> i32 {
FILE: src/core/builtins/hash.rs
function print_all (line 7) | fn print_all(core: &mut ShellCore) -> i32 {
function hash (line 24) | pub fn hash(core: &mut ShellCore, args: &[String]) -> i32 {
FILE: src/core/builtins/history.rs
function history_c (line 9) | pub fn history_c(core: &mut ShellCore) -> i32 {
function history (line 15) | pub fn history(core: &mut ShellCore, args: &[String]) -> i32 {
FILE: src/core/builtins/job_commands.rs
function pid_to_array_pos (line 15) | fn pid_to_array_pos(pid: i32, jobs: &[JobEntry]) -> Option<usize> {
function jobid_to_pos (line 19) | fn jobid_to_pos(id: usize, jobs: &mut [JobEntry]) -> Option<usize> {
function bg (line 28) | pub fn bg(core: &mut ShellCore, args: &[String]) -> i32 {
function fg (line 80) | pub fn fg(core: &mut ShellCore, args: &[String]) -> i32 {
function jobspec_to_array_pos (line 146) | fn jobspec_to_array_pos(core: &mut ShellCore, com: &str, jobspec: &str) ...
function jobspec_to_array_poss (line 164) | fn jobspec_to_array_poss(core: &mut ShellCore, jobspec: &str) -> Vec<usi...
function jobs (line 215) | pub fn jobs(core: &mut ShellCore, args: &[String]) -> i32 {
function get_priority (line 269) | fn get_priority(core: &mut ShellCore, pos: usize) -> usize {
function print (line 280) | fn print(core: &mut ShellCore, args: &[String]) {
function remove_coproc (line 297) | fn remove_coproc(core: &mut ShellCore, pos: usize) {
function remove (line 317) | fn remove(core: &mut ShellCore, pos: usize) {
function wait_jobspec (line 324) | fn wait_jobspec(
function wait_next (line 337) | fn wait_next(
function wait_pid (line 399) | fn wait_pid(core: &mut ShellCore, pid: i32, var_name: &Option<String>, f...
function wait_a_job (line 406) | fn wait_a_job(
function wait_arg_job (line 445) | fn wait_arg_job(
function wait_all (line 463) | fn wait_all(core: &mut ShellCore) -> i32 {
function wait_n (line 491) | fn wait_n(
function wait (line 532) | pub fn wait(core: &mut ShellCore, args: &[String]) -> i32 {
function kill (line 557) | pub fn kill(core: &mut ShellCore, args: &[String]) -> i32 {
function disown (line 596) | pub fn disown(core: &mut ShellCore, args: &[String]) -> i32 {
FILE: src/core/builtins/loop_control.rs
function return_ (line 6) | pub fn return_(core: &mut ShellCore, args: &[String]) -> i32 {
function break_ (line 24) | pub fn break_(core: &mut ShellCore, args: &[String]) -> i32 {
function continue_ (line 53) | pub fn continue_(core: &mut ShellCore, args: &[String]) -> i32 {
FILE: src/core/builtins/option.rs
function set_positions (line 8) | pub fn set_positions(core: &mut ShellCore, args: &[String]) -> Result<()...
function set_positions_c (line 31) | pub fn set_positions_c(core: &mut ShellCore, args: &[String]) -> Result<...
function check_invalid_options (line 40) | fn check_invalid_options(args: &[String]) -> Result<(), ExecError> {
function set_options (line 51) | pub fn set_options(core: &mut ShellCore, args: &mut Vec<String>) -> Resu...
function set_short_options (line 56) | pub fn set_short_options(core: &mut ShellCore, args: &mut Vec<String>) {
function set_bash_flags (line 93) | fn set_bash_flags(core: &mut ShellCore, args: &[String]) {
function set (line 111) | pub fn set(core: &mut ShellCore, args: &[String]) -> i32 {
function shift (line 190) | pub fn shift(core: &mut ShellCore, args: &[String]) -> i32 {
function shopt_print (line 232) | pub fn shopt_print(core: &mut ShellCore, args: &[String], all: bool) -> ...
function shopt (line 252) | pub fn shopt(core: &mut ShellCore, args: &[String]) -> i32 {
FILE: src/core/builtins/printf.rs
type PrintfToken (line 11) | enum PrintfToken {
method continue_ (line 27) | fn continue_(&self) -> bool {
method to_int (line 31) | fn to_int(s: &String) -> Result<isize, ExecError> {
method to_float (line 46) | fn to_float(s: &String) -> Result<f64, ExecError> {
method padding_float (line 54) | fn padding_float(_: &mut String, mut _fmt: String) {
method padding (line 58) | fn padding(s: &mut String, mut fmt: String, is_int: bool) {
method render_value (line 98) | fn render_value(&mut self, args: &mut Vec<String>) -> Result<String, E...
function pop (line 201) | fn pop(args: &mut Vec<String>) -> String {
function esc_to_str (line 208) | fn esc_to_str(ch: char) -> String {
function replace_escape (line 225) | fn replace_escape(s: &str) -> String {
function scanner_normal (line 244) | fn scanner_normal(remaining: &str) -> usize {
function scanner_escaped_char (line 256) | fn scanner_escaped_char(remaining: &str) -> usize {
function scanner_hash (line 267) | fn scanner_hash(remaining: &str) -> usize {
function scanner_format_num (line 278) | fn scanner_format_num(remaining: &str) -> usize {
function parse (line 290) | fn parse(pattern: &str) -> Vec<PrintfToken> {
function format (line 352) | fn format(pattern: &str, args: &mut Vec<String>) -> Result<String, ExecE...
function arg_check (line 373) | fn arg_check(core: &mut ShellCore, args: &[String]) -> i32 {
function printf_v (line 391) | fn printf_v(core: &mut ShellCore, args: &mut Vec<String>) -> i32 {
function printf (line 424) | pub fn printf(core: &mut ShellCore, args: &[String]) -> i32 {
FILE: src/core/builtins/pwd.rs
function pwd (line 7) | pub fn pwd(core: &mut ShellCore, args: &[String]) -> i32 {
function show_pwd (line 25) | fn show_pwd(core: &mut ShellCore, physical: bool) -> i32 {
FILE: src/core/builtins/read.rs
function check_word_limit (line 8) | fn check_word_limit(word: &mut String, limit: &mut usize) -> bool {
function read_ (line 22) | pub fn read_(
function read_a (line 83) | pub fn read_a(
function read (line 129) | pub fn read(core: &mut ShellCore, args: &[String]) -> i32 {
function eat_word (line 160) | pub fn eat_word(
function consume_tail_ifs (line 211) | pub fn consume_tail_ifs(remaining: &mut String, ifs: &str) {
function consume_ifs (line 223) | pub fn consume_ifs(remaining: &mut String, ifs: &str, limit: &mut usize) {
FILE: src/core/builtins/source.rs
function check_error (line 7) | fn check_error(core: &mut ShellCore, args: &[String]) -> i32 {
function source (line 26) | pub fn source(core: &mut ShellCore, args: &[String]) -> i32 {
FILE: src/core/builtins/trap.rs
function trap (line 16) | pub fn trap(core: &mut ShellCore, args: &[String]) -> i32 {
function run_thread (line 77) | fn run_thread(signal_nums: Vec<i32>, script: &str, core: &mut ShellCore) {
function arg_to_num (line 98) | fn arg_to_num(arg: &str, forbiddens: &[i32]) -> Result<i32, ExecError> {
function args_to_nums (line 125) | fn args_to_nums(args: &[String], forbiddens: &[i32]) -> Result<Vec<i32>,...
FILE: src/core/builtins/type_.rs
function type_no_opt_sub (line 8) | fn type_no_opt_sub(core: &mut ShellCore, com: &String) -> i32 {
function type_no_opt (line 42) | fn type_no_opt(core: &mut ShellCore, args: &[String]) -> i32 {
function type_t (line 53) | fn type_t(core: &mut ShellCore, args: &[String]) -> i32 {
function type_t_sub (line 64) | fn type_t_sub(core: &mut ShellCore, com: &String) -> i32 {
function type_p (line 89) | fn type_p(core: &mut ShellCore, args: &[String]) -> i32 {
function type_large_p (line 100) | fn type_large_p(core: &mut ShellCore, args: &[String]) -> i32 {
function type_p_sub (line 111) | fn type_p_sub(core: &mut ShellCore, com: &String) -> i32 {
function type_large_p_sub (line 138) | fn type_large_p_sub(core: &mut ShellCore, com: &String) -> i32 {
function type_ (line 160) | pub fn type_(core: &mut ShellCore, args: &[String]) -> i32 {
FILE: src/core/builtins/ulimit.rs
function items (line 9) | fn items() -> &'static [(&'static str, &'static str, &'static str, Resou...
function print_items (line 124) | fn print_items(args: &[String], soft: bool) -> i32 {
function print_item (line 136) | fn print_item(item: &str, unit: &str, opt: &str, key: Resource, soft: bo...
function print_all (line 164) | fn print_all(soft: bool) -> i32 {
function set_limit (line 171) | fn set_limit(opt: &String, num: &String, soft: bool, hard: bool) -> i32 {
function ulimit (line 211) | pub fn ulimit(_: &mut ShellCore, args: &[String]) -> i32 {
FILE: src/core/builtins/unset.rs
function unset_all (line 8) | fn unset_all(core: &mut ShellCore, name: &str) -> Result<i32, ExecError> {
function unset_var (line 24) | fn unset_var(core: &mut ShellCore, name: &str) -> Result<i32, ExecError> {
function unset_nameref (line 41) | fn unset_nameref(core: &mut ShellCore, name: &str) -> i32 {
function unset_function (line 58) | fn unset_function(core: &mut ShellCore, name: &str) -> i32 {
function unset_one (line 63) | fn unset_one(core: &mut ShellCore, args: &mut Vec<String>) -> i32 {
function unset (line 141) | pub fn unset(core: &mut ShellCore, args: &[String]) -> i32 {
FILE: src/core/builtins/variable.rs
function local (line 12) | pub fn local(core: &mut ShellCore, args: &[String], subs: &mut [Substitu...
function declare (line 35) | pub fn declare(core: &mut ShellCore, args: &[String], subs: &mut [Substi...
function export (line 57) | pub fn export(core: &mut ShellCore, args: &[String], subs: &mut [Substit...
function readonly (line 77) | pub fn readonly(core: &mut ShellCore, args: &[String], subs: &mut [Subst...
FILE: src/core/builtins/variable/print.rs
function format_options (line 8) | fn format_options(name: &String, core: &mut ShellCore) -> String {
function drop_by_args (line 19) | fn drop_by_args(core: &mut ShellCore, names: &mut Vec<String>, args: &[S...
function output (line 28) | fn output(core: &mut ShellCore, name: &String, args: &[String]) {
function all_params (line 41) | fn all_params(core: &mut ShellCore, args: &[String]) -> i32 {
function all_functions (line 48) | fn all_functions(core: &mut ShellCore, args: &[String]) -> i32 {
function names_match (line 62) | pub(super) fn names_match(core: &mut ShellCore, names: &mut Vec<String>,
function f_option (line 76) | pub(super) fn f_option(core: &mut ShellCore, args: &[String],
function args_match (line 98) | pub(super) fn args_match(core: &mut ShellCore, args: &[String]) -> i32 {
FILE: src/core/builtins/variable/set_value.rs
function set_options_pre (line 9) | fn set_options_pre(core: &mut ShellCore, name: &String,
function set_options_post (line 44) | fn set_options_post(core: &mut ShellCore, name: &String,
function readonly_check (line 51) | fn readonly_check(core: &mut ShellCore, name: &str) -> Result<(), ExecEr...
function array_to_element_check (line 58) | fn array_to_element_check(sub: &mut Substitution) -> Result<(), ExecErro...
function check_global_option (line 69) | fn check_global_option(core: &mut ShellCore, args: &[String],
function eval (line 78) | fn eval(core: &mut ShellCore, args: &[String], sub: &mut Substitution,
function exec (line 98) | pub(super) fn exec(core: &mut ShellCore, sub: &mut Substitution, args: &...
FILE: src/core/completion.rs
type Completion (line 7) | pub struct Completion {
type CompletionEntry (line 14) | pub struct CompletionEntry {
FILE: src/core/database.rs
type DataBase (line 28) | pub struct DataBase {
method new (line 39) | pub fn new() -> DataBase {
method get_target_scope (line 51) | pub fn get_target_scope(&mut self, name: &str, scope: Option<usize>) -...
method solve_scope (line 58) | fn solve_scope(&mut self, name: &str) -> usize {
method push_local (line 62) | pub fn push_local(&mut self) {
method pop_local (line 66) | pub fn pop_local(&mut self) {
method init (line 70) | pub fn init(&mut self, name: &str, scope: usize) {
method int_to_str_type (line 76) | pub fn int_to_str_type(&mut self, name: &str, scope: usize) -> Result<...
FILE: src/core/database/data.rs
function to_int (line 23) | fn to_int(s: &str) -> Result<isize, ExecError> {
function case_change (line 30) | fn case_change(flags: &str, text: &mut String) {
method fmt (line 39) | fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
method clone (line 45) | fn clone(&self) -> Box<dyn Data> {
type Data (line 50) | pub trait Data {
method boxed_clone (line 51) | fn boxed_clone(&self) -> Box<dyn Data>;
method _get_fmt_string (line 53) | fn _get_fmt_string(&self) -> String {
method get_fmt_string (line 57) | fn get_fmt_string(&mut self) -> String {
method get_str_type (line 61) | fn get_str_type(&self) -> Box<dyn Data> {
method is_initialized (line 65) | fn is_initialized(&self) -> bool {
method initialize (line 69) | fn initialize(&mut self) -> Option<Box<dyn Data>> {
method has_key (line 73) | fn has_key(&mut self, _: &str) -> Result<bool, ExecError> {
method clear (line 77) | fn clear(&mut self) {}
method set_as_single (line 79) | fn set_as_single(&mut self, name: &str, _: &str) -> Result<(), ExecEr...
method append_as_single (line 83) | fn append_as_single(&mut self, name: &str, _: &str) -> Result<(), Exec...
method get_as_single_num (line 86) | fn get_as_single_num(&mut self) -> Result<isize, ExecError> {
method set_as_array (line 90) | fn set_as_array(&mut self, name: &str, _: &str, _: &str) -> Result<(),...
method append_to_array_elem (line 94) | fn append_to_array_elem(&mut self, name: &str, _: &str,
method set_as_assoc (line 100) | fn set_as_assoc(&mut self, name: &str, _: &str, _: &str) -> Result<(),...
method append_to_assoc_elem (line 104) | fn append_to_assoc_elem(&mut self, name: &str, _: &str,
method get_as_single (line 110) | fn get_as_single(&mut self) -> Result<String, ExecError> {
method get_as_array (line 113) | fn get_as_array(&mut self, key: &str, _: &str) -> Result<String, ExecE...
method get_as_assoc (line 118) | fn get_as_assoc(&mut self, key: &str) -> Result<String, ExecError> {
method get_as_array_or_assoc (line 123) | fn get_as_array_or_assoc(&mut self, pos: &str, ifs: &str) -> Result<St...
method get_all_as_array (line 147) | fn get_all_as_array(&mut self, flatten: bool) -> Result<Vec<String>, E...
method get_vec_from (line 151) | fn get_vec_from(&mut self, _: usize, _: bool) -> Result<Vec<String>, E...
method get_all_indexes_as_array (line 155) | fn get_all_indexes_as_array(&mut self) -> Result<Vec<String>, ExecErro...
method is_special (line 159) | fn is_special(&self) -> bool {
method is_single (line 162) | fn is_single(&self) -> bool {
method is_single_num (line 165) | fn is_single_num(&self) -> bool {
method is_assoc (line 168) | fn is_assoc(&self) -> bool {
method is_array (line 171) | fn is_array(&self) -> bool {
method len (line 174) | fn len(&mut self) -> usize;
method index_based_len (line 175) | fn index_based_len(&mut self) -> usize {
method elem_len (line 179) | fn elem_len(&mut self, key: &str) -> Result<usize, ExecError> {
method init_as_num (line 186) | fn init_as_num(&mut self) -> Result<(), ExecError> {
method remove_elem (line 190) | fn remove_elem(&mut self, _: &str) -> Result<(), ExecError> {
method readonly_check (line 194) | fn readonly_check(&mut self, name: &str) -> Result<(), ExecError> {
method set_flag (line 201) | fn set_flag(&mut self, _: char) {}
method unset_flag (line 203) | fn unset_flag(&mut self, _: char) {}
method has_flag (line 205) | fn has_flag(&mut self, flag: char) -> bool {
method get_flags (line 209) | fn get_flags(&mut self) -> &str;
method nameref_check (line 211) | fn nameref_check(&mut self, name: &str, value: &str) -> Result<(), Exe...
FILE: src/core/database/data/array.rs
type ArrayData (line 10) | pub struct ArrayData {
method from (line 16) | fn from(v: Option<Vec<String>>) -> Self {
method new (line 210) | pub fn new() -> Self {
method values (line 217) | pub fn values(&self) -> Vec<String> {
method keys (line 223) | pub fn keys(&self) -> Vec<usize> {
method index_of (line 229) | fn index_of(&mut self, key: &str) -> Result<usize, ExecError> {
method boxed_clone (line 26) | fn boxed_clone(&self) -> Box<dyn Data> {
method get_fmt_string (line 30) | fn get_fmt_string(&mut self) -> String {
method _get_fmt_string (line 34) | fn _get_fmt_string(&self) -> String {
method clear (line 51) | fn clear(&mut self) {
method set_as_single (line 55) | fn set_as_single(&mut self, name: &str, value: &str) -> Result<(), ExecE...
method append_as_single (line 64) | fn append_as_single(&mut self, name: &str, value: &str) -> Result<(), Ex...
method set_as_array (line 78) | fn set_as_array(&mut self, name: &str, key: &str,
method append_to_array_elem (line 91) | fn append_to_array_elem(&mut self, name: &str, key: &str,
method get_as_array (line 106) | fn get_as_array(&mut self, key: &str, ifs: &str) -> Result<String, ExecE...
method get_vec_from (line 118) | fn get_vec_from(&mut self, pos: usize, skip_non: bool) -> Result<Vec<Str...
method get_all_indexes_as_array (line 139) | fn get_all_indexes_as_array(&mut self) -> Result<Vec<String>, ExecError> {
method get_as_single (line 143) | fn get_as_single(&mut self) -> Result<String, ExecError> {
method is_array (line 150) | fn is_array(&self) -> bool {
method len (line 153) | fn len(&mut self) -> usize {
method has_key (line 157) | fn has_key(&mut self, key: &str) -> Result<bool, ExecError> {
method index_based_len (line 165) | fn index_based_len(&mut self) -> usize {
method elem_len (line 172) | fn elem_len(&mut self, key: &str) -> Result<usize, ExecError> {
method remove_elem (line 183) | fn remove_elem(&mut self, key: &str) -> Result<(), ExecError> {
method set_flag (line 194) | fn set_flag(&mut self, flag: char) {
method unset_flag (line 200) | fn unset_flag(&mut self, flag: char) {
method get_flags (line 204) | fn get_flags(&mut self) -> &str {
FILE: src/core/database/data/array_int.rs
type IntArrayData (line 10) | pub struct IntArrayData {
method new (line 236) | pub fn new() -> Self {
method values (line 243) | pub fn values(&self) -> Vec<String> {
method keys (line 249) | pub fn keys(&self) -> Vec<usize> {
method index_of (line 255) | fn index_of(&mut self, key: &str) -> Result<usize, ExecError> {
method boxed_clone (line 16) | fn boxed_clone(&self) -> Box<dyn Data> {
method get_fmt_string (line 20) | fn get_fmt_string(&mut self) -> String {
method _get_fmt_string (line 24) | fn _get_fmt_string(&self) -> String {
method clear (line 36) | fn clear(&mut self) {
method has_key (line 40) | fn has_key(&mut self, key: &str) -> Result<bool, ExecError> {
method set_as_single (line 48) | fn set_as_single(&mut self, name: &str, value: &str) -> Result<(), ExecE...
method append_as_single (line 56) | fn append_as_single(&mut self, name: &str, value: &str) -> Result<(), Ex...
method set_as_array (line 72) | fn set_as_array(&mut self, name: &str, key: &str, value: &str)
method append_to_array_elem (line 82) | fn append_to_array_elem(&mut self, name: &str, key: &str,
method get_as_array (line 96) | fn get_as_array(&mut self, key: &str, _: &str) -> Result<String, ExecErr...
method get_all_as_array (line 112) | fn get_all_as_array(&mut self, skip_none: bool) -> Result<Vec<String>, E...
method get_vec_from (line 133) | fn get_vec_from(&mut self, pos: usize, skip_non: bool) -> Result<Vec<Str...
method get_all_indexes_as_array (line 154) | fn get_all_indexes_as_array(&mut self) -> Result<Vec<String>, ExecError> {
method get_as_single (line 158) | fn get_as_single(&mut self) -> Result<String, ExecError> {
method get_str_type (line 165) | fn get_str_type(&self) -> Box<dyn Data> {
method is_array (line 180) | fn is_array(&self) -> bool {
method len (line 183) | fn len(&mut self) -> usize {
method elem_len (line 187) | fn elem_len(&mut self, key: &str) -> Result<usize, ExecError> {
method remove_elem (line 200) | fn remove_elem(&mut self, key: &str) -> Result<(), ExecError> {
method set_flag (line 213) | fn set_flag(&mut self, flag: char) {
method unset_flag (line 219) | fn unset_flag(&mut self, flag: char) {
method has_flag (line 223) | fn has_flag(&mut self, flag: char) -> bool {
method get_flags (line 230) | fn get_flags(&mut self) -> &str {
FILE: src/core/database/data/array_ondemand.rs
type OnDemandArray (line 8) | pub struct OnDemandArray {
method new (line 138) | pub fn new(values: fn() -> Vec<String>) -> Self {
method index_of (line 145) | fn index_of(&mut self, key: &str) -> Result<usize, ExecError> {
method boxed_clone (line 14) | fn boxed_clone(&self) -> Box<dyn Data> {
method _get_fmt_string (line 18) | fn _get_fmt_string(&self) -> String {
method get_fmt_string (line 22) | fn get_fmt_string(&mut self) -> String {
method get_as_array (line 39) | fn get_as_array(&mut self, key: &str, ifs: &str) -> Result<String, ExecE...
method get_vec_from (line 56) | fn get_vec_from(&mut self, pos: usize, _: bool) -> Result<Vec<String>, E...
method get_all_indexes_as_array (line 65) | fn get_all_indexes_as_array(&mut self) -> Result<Vec<String>, ExecError> {
method get_as_single (line 70) | fn get_as_single(&mut self) -> Result<String, ExecError> {
method is_array (line 79) | fn is_array(&self) -> bool {
method len (line 82) | fn len(&mut self) -> usize {
method has_key (line 86) | fn has_key(&mut self, key: &str) -> Result<bool, ExecError> {
method index_based_len (line 95) | fn index_based_len(&mut self) -> usize {
method elem_len (line 99) | fn elem_len(&mut self, key: &str) -> Result<usize, ExecError> {
method remove_elem (line 114) | fn remove_elem(&mut self, _: &str) -> Result<(), ExecError> {
method set_flag (line 118) | fn set_flag(&mut self, flag: char) {
method unset_flag (line 124) | fn unset_flag(&mut self, flag: char) {
method has_flag (line 128) | fn has_flag(&mut self, flag: char) -> bool {
method get_flags (line 132) | fn get_flags(&mut self) -> &str {
FILE: src/core/database/data/assoc.rs
type AssocData (line 10) | pub struct AssocData {
method from (line 17) | fn from(hm: HashMap<String, String>) -> Self {
method new (line 196) | pub fn new() -> Self {
method get (line 204) | pub fn get(&self, key: &str) -> Option<String> {
method keys (line 208) | pub fn keys(&self) -> Vec<String> {
method values (line 214) | pub fn values(&self) -> Vec<String> {
method boxed_clone (line 27) | fn boxed_clone(&self) -> Box<dyn Data> {
method get_fmt_string (line 31) | fn get_fmt_string(&mut self) -> String {
method _get_fmt_string (line 35) | fn _get_fmt_string(&self) -> String {
method clear (line 52) | fn clear(&mut self) {
method set_as_single (line 56) | fn set_as_single(&mut self, name: &str, value: &str) -> Result<(), ExecE...
method set_as_assoc (line 66) | fn set_as_assoc(&mut self, name: &str, key: &str,
method append_to_assoc_elem (line 77) | fn append_to_assoc_elem(&mut self, name: &str, key: &str,
method get_as_assoc (line 92) | fn get_as_assoc(&mut self, key: &str) -> Result<String, ExecError> {
method get_as_single (line 103) | fn get_as_single(&mut self) -> Result<String, ExecError> {
method is_assoc (line 113) | fn is_assoc(&self) -> bool {
method len (line 116) | fn len(&mut self) -> usize {
method has_key (line 120) | fn has_key(&mut self, key: &str) -> Result<bool, ExecError> {
method elem_len (line 127) | fn elem_len(&mut self, key: &str) -> Result<usize, ExecError> {
method get_all_indexes_as_array (line 137) | fn get_all_indexes_as_array(&mut self) -> Result<Vec<String>, ExecError> {
method get_all_as_array (line 141) | fn get_all_as_array(&mut self, skip_none: bool) -> Result<Vec<String>, E...
method get_vec_from (line 162) | fn get_vec_from(&mut self, _: usize, skip_non: bool) -> Result<Vec<Strin...
method remove_elem (line 166) | fn remove_elem(&mut self, key: &str) -> Result<(), ExecError> {
method set_flag (line 176) | fn set_flag(&mut self, flag: char) {
method unset_flag (line 182) | fn unset_flag(&mut self, flag: char) {
method has_flag (line 186) | fn has_flag(&mut self, flag: char) -> bool {
method get_flags (line 190) | fn get_flags(&mut self) -> &str {
FILE: src/core/database/data/assoc_int.rs
type IntAssocData (line 11) | pub struct IntAssocData {
method new (line 198) | pub fn new() -> Self {
method get (line 202) | pub fn get(&self, key: &str) -> Option<String> {
method keys (line 206) | pub fn keys(&self) -> Vec<String> {
method values (line 213) | pub fn values(&self) -> Vec<String> {
method boxed_clone (line 18) | fn boxed_clone(&self) -> Box<dyn Data> {
method get_fmt_string (line 22) | fn get_fmt_string(&mut self) -> String {
method _get_fmt_string (line 26) | fn _get_fmt_string(&self) -> String {
method clear (line 44) | fn clear(&mut self) {
method set_as_single (line 48) | fn set_as_single(&mut self, name: &str, value: &str) -> Result<(), ExecE...
method set_as_assoc (line 56) | fn set_as_assoc(&mut self, name: &str, key: &str,
method append_to_assoc_elem (line 65) | fn append_to_assoc_elem(&mut self, name: &str, key: &str,
method get_as_assoc (line 79) | fn get_as_assoc(&mut self, key: &str) -> Result<String, ExecError> {
method get_as_single (line 90) | fn get_as_single(&mut self) -> Result<String, ExecError> {
method get_str_type (line 100) | fn get_str_type(&self) -> Box<dyn Data> {
method is_assoc (line 112) | fn is_assoc(&self) -> bool {
method len (line 115) | fn len(&mut self) -> usize {
method has_key (line 119) | fn has_key(&mut self, key: &str) -> Result<bool, ExecError> {
method elem_len (line 126) | fn elem_len(&mut self, key: &str) -> Result<usize, ExecError> {
method get_all_indexes_as_array (line 136) | fn get_all_indexes_as_array(&mut self) -> Result<Vec<String>, ExecError> {
method get_all_as_array (line 140) | fn get_all_as_array(&mut self, skip_none: bool) -> Result<Vec<String>, E...
method get_vec_from (line 161) | fn get_vec_from(&mut self, _: usize, skip_non: bool) -> Result<Vec<Strin...
method remove_elem (line 165) | fn remove_elem(&mut self, key: &str) -> Result<(), ExecError> {
method set_flag (line 175) | fn set_flag(&mut self, flag: char) {
method unset_flag (line 181) | fn unset_flag(&mut self, flag: char) {
method has_flag (line 185) | fn has_flag(&mut self, flag: char) -> bool {
method get_flags (line 192) | fn get_flags(&mut self) -> &str {
FILE: src/core/database/data/random.rs
type RandomVar (line 11) | pub struct RandomVar {
method new (line 66) | pub fn new() -> Self {
method boxed_clone (line 17) | fn boxed_clone(&self) -> Box<dyn Data> {
method _get_fmt_string (line 21) | fn _get_fmt_string(&self) -> String {
method get_fmt_string (line 25) | fn get_fmt_string(&mut self) -> String {
method get_as_single (line 29) | fn get_as_single(&mut self) -> Result<String, ExecError> {
method len (line 34) | fn len(&mut self) -> usize {
method set_as_single (line 38) | fn set_as_single(&mut self, name: &str, value: &str) -> Result<(), ExecE...
method is_special (line 46) | fn is_special(&self) -> bool {
method set_flag (line 50) | fn set_flag(&mut self, flag: char) {
method unset_flag (line 56) | fn unset_flag(&mut self, flag: char) {
method get_flags (line 60) | fn get_flags(&mut self) -> &str {
FILE: src/core/database/data/seconds.rs
type Seconds (line 10) | pub struct Seconds {
method new (line 67) | pub fn new() -> Self {
method boxed_clone (line 17) | fn boxed_clone(&self) -> Box<dyn Data> {
method _get_fmt_string (line 21) | fn _get_fmt_string(&self) -> String {
method get_as_single (line 25) | fn get_as_single(&mut self) -> Result<String, ExecError> {
method len (line 32) | fn len(&mut self) -> usize {
method set_as_single (line 36) | fn set_as_single(&mut self, name: &str, value: &str) -> Result<(), ExecE...
method is_special (line 44) | fn is_special(&self) -> bool {
method is_single_num (line 47) | fn is_single_num(&self) -> bool {
method set_flag (line 51) | fn set_flag(&mut self, flag: char) {
method unset_flag (line 57) | fn unset_flag(&mut self, flag: char) {
method get_flags (line 61) | fn get_flags(&mut self) -> &str {
FILE: src/core/database/data/single.rs
type SingleData (line 9) | pub struct SingleData {
method from (line 15) | fn from(s: &str) -> Self {
method new (line 120) | pub fn new(flags: &str) -> Self {
method boxed_clone (line 24) | fn boxed_clone(&self) -> Box<dyn Data> {
method get_fmt_string (line 28) | fn get_fmt_string(&mut self) -> String {
method _get_fmt_string (line 32) | fn _get_fmt_string(&self) -> String {
method clear (line 45) | fn clear(&mut self) {
method set_as_single (line 49) | fn set_as_single(&mut self, name: &str, value: &str) -> Result<(), ExecE...
method append_as_single (line 77) | fn append_as_single(&mut self, name: &str, value: &str) -> Result<(), Ex...
method get_as_single (line 85) | fn get_as_single(&mut self) -> Result<String, ExecError> {
method len (line 89) | fn len(&mut self) -> usize {
method is_single (line 93) | fn is_single(&self) -> bool {
method has_key (line 97) | fn has_key(&mut self, key: &str) -> Result<bool, ExecError> {
method set_flag (line 104) | fn set_flag(&mut self, flag: char) {
method unset_flag (line 110) | fn unset_flag(&mut self, flag: char) {
method get_flags (line 114) | fn get_flags(&mut self) -> &str {
FILE: src/core/database/data/single_int.rs
type IntData (line 10) | pub struct IntData {
method new (line 108) | pub fn new() -> Self {
method boxed_clone (line 16) | fn boxed_clone(&self) -> Box<dyn Data> {
method _get_fmt_string (line 19) | fn _get_fmt_string(&self) -> String {
method clear (line 23) | fn clear(&mut self) {}
method set_as_single (line 25) | fn set_as_single(&mut self, name: &str, value: &str) -> Result<(), ExecE...
method append_as_single (line 37) | fn append_as_single(&mut self, name: &str, value: &str) -> Result<(), Ex...
method init_as_num (line 49) | fn init_as_num(&mut self) -> Result<(), ExecError> {
method get_as_single (line 54) | fn get_as_single(&mut self) -> Result<String, ExecError> {
method get_as_single_num (line 57) | fn get_as_single_num(&mut self) -> Result<isize, ExecError> {
method get_str_type (line 61) | fn get_str_type(&self) -> Box<dyn Data> {
method len (line 68) | fn len(&mut self) -> usize {
method is_single (line 71) | fn is_single(&self) -> bool {
method is_single_num (line 74) | fn is_single_num(&self) -> bool {
method has_key (line 78) | fn has_key(&mut self, key: &str) -> Result<bool, ExecError> {
method set_flag (line 85) | fn set_flag(&mut self, flag: char) {
method unset_flag (line 91) | fn unset_flag(&mut self, flag: char) {
method has_flag (line 95) | fn has_flag(&mut self, flag: char) -> bool {
method get_flags (line 102) | fn get_flags(&mut self) -> &str {
FILE: src/core/database/data/single_ondemand.rs
type OnDemandSingle (line 7) | pub struct OnDemandSingle {
method new (line 45) | pub fn new(timefn: fn() -> String) -> Self {
method boxed_clone (line 13) | fn boxed_clone(&self) -> Box<dyn Data> {
method get_fmt_string (line 17) | fn get_fmt_string(&mut self) -> String {
method get_as_single (line 21) | fn get_as_single(&mut self) -> Result<String, ExecError> {
method set_as_single (line 25) | fn set_as_single(&mut self, name: &str, _: &str) -> Result<(), ExecError> {
method len (line 29) | fn len(&mut self) -> usize {
method set_flag (line 33) | fn set_flag(&mut self, flag: char) {
method get_flags (line 39) | fn get_flags(&mut self) -> &str {
FILE: src/core/database/data/srandom.rs
type SRandomVar (line 10) | pub struct SRandomVar {
method new (line 45) | pub fn new() -> Self {
method boxed_clone (line 17) | fn boxed_clone(&self) -> Box<dyn Data> {
method _get_fmt_string (line 21) | fn _get_fmt_string(&self) -> String {
method get_as_single (line 25) | fn get_as_single(&mut self) -> Result<String, ExecError> {
method len (line 31) | fn len(&mut self) -> usize {
method is_special (line 35) | fn is_special(&self) -> bool {
method get_flags (line 39) | fn get_flags(&mut self) -> &str {
FILE: src/core/database/data/uninit.rs
type Uninit (line 11) | pub struct Uninit {
method new (line 119) | pub fn new(flags: &str) -> Self {
method boxed_clone (line 16) | fn boxed_clone(&self) -> Box<dyn Data> {
method _get_fmt_string (line 19) | fn _get_fmt_string(&self) -> String {
method initialize (line 23) | fn initialize(&mut self) -> Option<Box<dyn Data>> {
method clear (line 69) | fn clear(&mut self) {}
method is_initialized (line 70) | fn is_initialized(&self) -> bool {
method get_as_array (line 73) | fn get_as_array(&mut self, _: &str, _: &str) -> Result<String, ExecError> {
method get_all_as_array (line 76) | fn get_all_as_array(&mut self, _: bool) -> Result<Vec<String>, ExecError> {
method get_all_indexes_as_array (line 79) | fn get_all_indexes_as_array(&mut self) -> Result<Vec<String>, ExecError> {
method get_as_single (line 82) | fn get_as_single(&mut self) -> Result<String, ExecError> {
method len (line 85) | fn len(&mut self) -> usize {
method elem_len (line 88) | fn elem_len(&mut self, _: &str) -> Result<usize, ExecError> {
method remove_elem (line 91) | fn remove_elem(&mut self, _: &str) -> Result<(), ExecError> {
method set_flag (line 95) | fn set_flag(&mut self, flag: char) {
method unset_flag (line 101) | fn unset_flag(&mut self, flag: char) {
method is_assoc (line 105) | fn is_assoc(&self) -> bool {
method is_array (line 109) | fn is_array(&self) -> bool {
method get_flags (line 113) | fn get_flags(&mut self) -> &str {
FILE: src/core/database/database_appenders.rs
method append_param (line 10) | pub fn append_param(
method append_param2 (line 56) | pub fn append_param2(
method append_to_assoc_elem (line 82) | pub fn append_to_assoc_elem(&mut self, name: &str, key: &str,
FILE: src/core/database/database_checkers.rs
method check_on_write (line 10) | pub(super) fn check_on_write(&mut self, name: &str, values: &Option<Vec<...
method has_array_value (line 17) | pub fn has_array_value(&mut self, name: &str, index: &str) -> bool {
method has_flag_scope (line 24) | pub fn has_flag_scope(&mut self, name: &str, flag: char, scope: usize) -...
method has_flag (line 31) | pub fn has_flag(&mut self, name: &str, flag: char) -> bool {
method exist (line 38) | pub fn exist(&mut self, name: &str) -> bool {
method exist_nameref (line 57) | pub fn exist_nameref(&mut self, name: &str) -> bool {
method exist_l (line 65) | pub fn exist_l(&mut self, name: &str, scope: usize) -> bool {
method exist_nameref_l (line 73) | pub fn exist_nameref_l(&mut self, name: &str, scope: usize) -> bool {
method has_key (line 81) | pub fn has_key(&mut self, name: &str, key: &str) -> Result<bool, ExecErr...
method name_check (line 91) | pub fn name_check(name: &str) -> Result<(), ExecError> {
method is_readonly (line 98) | pub fn is_readonly(&mut self, name: &str) -> bool {
method is_int (line 102) | pub fn is_int(&mut self, name: &str) -> bool {
method is_assoc (line 106) | pub fn is_assoc(&mut self, name: &str) -> bool {
method is_single (line 113) | pub fn is_single(&mut self, name: &str) -> bool {
method is_single_num (line 120) | pub fn is_single_num(&mut self, name: &str) -> bool {
method is_array (line 127) | pub fn is_array(&mut self, name: &str) -> bool {
FILE: src/core/database/database_getters.rs
method get_ref (line 11) | pub fn get_ref(&mut self, name: &str) -> Option<&mut Box<dyn Data>> {
method get_ifs_head (line 16) | pub fn get_ifs_head(&mut self) -> String {
method get_scope_num (line 24) | pub fn get_scope_num(&mut self) -> usize {
method get_param_keys (line 28) | pub fn get_param_keys(&mut self) -> Vec<String> {
method get_func_keys (line 41) | pub fn get_func_keys(&mut self) -> Vec<String> {
method get_scope_pos (line 50) | pub fn get_scope_pos(&mut self, name: &str) -> Option<usize> {
method get_position_params (line 57) | pub fn get_position_params(&self) -> Vec<String> {
method get_indexes_all (line 64) | pub fn get_indexes_all(&mut self, name: &str) -> Vec<String> {
method get_vec_from (line 76) | pub fn get_vec_from(
method get_var_len (line 103) | pub fn get_var_len(&mut self, name: &str) -> usize {
method index_based_len (line 110) | pub fn index_based_len(&mut self, name: &str) -> usize {
method get_vec (line 117) | pub fn get_vec(&mut self, name: &str, flatten: bool) -> Result<Vec<Strin...
method get_elem (line 121) | pub fn get_elem(&mut self, name: &str, pos: &str) -> Result<String, Exec...
method get_elem_or_param (line 140) | pub fn get_elem_or_param(&mut self, name: &str, index: &str) -> Result<S...
method get_elem_len (line 147) | pub fn get_elem_len(&mut self, name: &str, key: &str) -> Result<usize, E...
method get_braced_param_hash_length (line 170) | pub fn get_braced_param_hash_length(&mut self, name: &str) -> Result<usi...
method get_param (line 197) | pub fn get_param(&mut self, name: &str) -> Result<String, ExecError> {
method get_nameref (line 240) | pub fn get_nameref(&mut self, name: &str) -> Result<Option<String>, Exec...
method get_flags (line 260) | pub fn get_flags(&mut self, name: &str) -> &str {
function special_param (line 269) | fn special_param(db: &DataBase, name: &str) -> Option<String> {
function connected_position_params (line 284) | fn connected_position_params(db: &mut DataBase, aster: bool) -> Result<S...
function position_param (line 296) | fn position_param(db: &DataBase, pos: usize) -> Result<String, ExecError> {
FILE: src/core/database/database_initializers.rs
method initialize (line 17) | pub(super) fn initialize(&mut self) -> Result<(), String> {
method init_as_num (line 53) | pub fn init_as_num(&mut self, name: &str, value: &str, scope: Option<usi...
method init_array (line 70) | pub fn init_array(
method init_assoc (line 101) | pub fn init_assoc(
FILE: src/core/database/database_print.rs
method print_params_and_funcs (line 7) | pub fn print_params_and_funcs(&mut self) {
method print_param (line 16) | pub fn print_param(&mut self, name: &str) {
method print_func (line 22) | pub fn print_func(&mut self, name: &str) -> bool {
method print_for_declare (line 30) | pub fn print_for_declare(&mut self, name: &str) {
method print_with_name (line 36) | fn print_with_name(d: &mut Box::<dyn Data>, name: &str, declare_print: b...
FILE: src/core/database/database_setters.rs
method set_param (line 12) | pub fn set_param(
method set_nameref (line 55) | pub fn set_nameref(
method set_param2 (line 83) | pub fn set_param2(
method set_array_elem (line 113) | pub fn set_array_elem(&mut self, name: &str, val: &str,
method set_assoc_elem (line 126) | pub fn set_assoc_elem(&mut self, name: &str, key: &str,
method set_flag (line 143) | pub fn set_flag(&mut self, name: &str, flag: char, scope: usize) {
method set_flag_nameref (line 160) | pub fn set_flag_nameref(&mut self, name: &str, flag: char, scope: usize) {
method set_scope_to_env (line 173) | pub fn set_scope_to_env(&mut self, scope: usize) {
FILE: src/core/database/database_setters/database_setter_backend.rs
method set_elem (line 10) | pub(super) fn set_elem(&mut self, scope: usize, name: &str,
method append_elem (line 42) | pub(super) fn append_elem(&mut self, scope: usize,
method set_uninit_array (line 67) | pub(super) fn set_uninit_array(&mut self, scope: usize,
method set_entry (line 79) | pub fn set_entry(&mut self, scope: usize, name: &str,
method remove_entry (line 89) | pub fn remove_entry(&mut self, scope: usize, name: &str) -> Result<bool,...
FILE: src/core/database/database_unsetters.rs
method unset_flag (line 10) | pub fn unset_flag(&mut self, name: &str, flag: char, scope: usize) {
method unset_flag_nameref (line 23) | pub fn unset_flag_nameref(&mut self, name: &str, flag: char, scope: usiz...
method unset_nameref (line 30) | pub fn unset_nameref(&mut self, name: &str,
method unset_var (line 52) | pub fn unset_var(&mut self, name: &str,
method unset_function (line 94) | pub fn unset_function(&mut self, name: &str) {
method unset (line 98) | pub fn unset(&mut self, name: &str, called_scope: Option<usize>,
method unset_array_elem (line 107) | pub fn unset_array_elem(&mut self, name: &str, key: &str) -> Result<(), ...
FILE: src/core/file_descs.rs
type FileDescriptors (line 20) | pub struct FileDescriptors {
method new (line 25) | pub(super) fn new() -> Self {
method dupfd_cloexec (line 34) | pub fn dupfd_cloexec(&mut self, from: RawFd,
method tcsetpgrp (line 42) | pub fn tcsetpgrp(&mut self, fd: RawFd, pgid: Pid) -> Result<(), ExecEr...
method tcgetpgrp (line 49) | pub fn tcgetpgrp(&mut self, fd: RawFd) -> Result<Pid, ExecError> {
method close (line 56) | pub fn close(&mut self, fd: RawFd) {
method pipe (line 64) | pub fn pipe(&mut self) -> (RawFd, RawFd) {
method backup (line 75) | pub fn backup(&mut self, from: RawFd) -> RawFd {
method replace (line 83) | pub fn replace(&mut self, from: RawFd, to: RawFd) -> Result<(), ExecEr...
method share (line 97) | pub fn share(&mut self, from: RawFd, to: RawFd) -> Result<(), ExecErro...
method get_file (line 110) | pub fn get_file(&mut self, fd: RawFd) -> File {
FILE: src/core/history.rs
method fetch_history (line 11) | pub fn fetch_history(&mut self, pos: usize, prev: usize, prev_str: Strin...
method fetch_history_file (line 26) | pub fn fetch_history_file(&mut self, pos: usize) -> String {
method write_history_to_file (line 54) | pub fn write_history_to_file(&mut self) {
FILE: src/core/jobtable.rs
type JobEntry (line 13) | pub struct JobEntry {
method new (line 65) | pub fn new(
method update_status (line 82) | pub fn update_status(&mut self, wait: bool, check_done: bool) -> Resul...
method print_p (line 127) | pub fn print_p(&self) {
method print (line 131) | pub fn print(
method display_status_on_signal (line 179) | fn display_status_on_signal(signal: &signal::Signal, coredump: bool) -...
method change_display_status (line 214) | fn change_display_status(&mut self, after: WaitStatus) {
method send_cont (line 226) | pub fn send_cont(&mut self) {
method solve_pgid (line 232) | pub fn solve_pgid(&self) -> Pid {
function wait_nonblock (line 25) | fn wait_nonblock(pid: &Pid, status: &mut WaitStatus, coproc: bool) -> Re...
function wait_block (line 45) | fn wait_block(pid: &Pid, status: &mut WaitStatus) -> Result<i32, ExecErr...
function still (line 57) | fn still(status: &WaitStatus) -> bool {
method close_coproc (line 243) | fn close_coproc(&mut self, pos: usize) {
method jobtable_check_status (line 262) | pub fn jobtable_check_status(&mut self) -> Result<(), ExecError> {
method jobtable_print_status_change (line 291) | pub fn jobtable_print_status_change(&mut self) {
method generate_new_job_id (line 310) | pub fn generate_new_job_id(&self) -> usize {
method get_jobentry_pid_by_coproc_name (line 317) | pub fn get_jobentry_pid_by_coproc_name(&mut self, name: &str) -> Option<...
method get_stopped_job_commands (line 324) | pub fn get_stopped_job_commands(&self) -> Vec<String> {
FILE: src/core/options.rs
type Options (line 8) | pub struct Options {
method new_as_basic_opts (line 14) | pub fn new_as_basic_opts() -> Options {
method new_as_shopts (line 27) | pub fn new_as_shopts() -> Options {
method format (line 110) | pub fn format(opt: &str, onoff: bool) -> String {
method format2 (line 122) | pub fn format2(opt: &str, onoff: bool) -> String {
method print_opt (line 131) | pub fn print_opt(&self, opt: &str, set_format: bool) -> bool {
method print_all (line 147) | pub fn print_all(&self, positive: bool) {
method print_if (line 163) | pub fn print_if(&self, onoff: bool) {
method exist (line 175) | pub fn exist(&self, opt: &str) -> bool {
method query (line 179) | pub fn query(&self, opt: &str) -> bool {
method set (line 183) | pub fn set(&mut self, opt: &str, onoff: bool) -> Result<(), ExecError> {
method get_keys (line 194) | pub fn get_keys(&self) -> Vec<String> {
FILE: src/elements/ansi_c_str.rs
type AnsiCToken (line 11) | pub enum AnsiCToken {
method render (line 23) | pub fn render(&mut self) -> String {
type AnsiCString (line 126) | pub struct AnsiCString {
method eval (line 132) | pub fn eval(&mut self) -> String {
method eat_simple_subword (line 143) | fn eat_simple_subword(feeder: &mut Feeder, ans: &mut Self) -> bool {
method eat_oct (line 154) | fn eat_oct(feeder: &mut Feeder, ans: &mut Self, core: &mut ShellCore) ...
method eat_hex_braced (line 170) | fn eat_hex_braced(feeder: &mut Feeder, ans: &mut Self, core: &mut Shel...
method eat_hex (line 210) | fn eat_hex(feeder: &mut Feeder, ans: &mut Self, core: &mut ShellCore) ...
method eat_unicode4 (line 226) | fn eat_unicode4(feeder: &mut Feeder, ans: &mut Self, core: &mut ShellC...
method eat_unicode8 (line 243) | fn eat_unicode8(feeder: &mut Feeder, ans: &mut Self, core: &mut ShellC...
method eat_escaped_char (line 260) | fn eat_escaped_char(
method parse (line 294) | pub fn parse(
FILE: src/elements/command.rs
method fmt (line 41) | fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
method clone (line 47) | fn clone(&self) -> Box<dyn Command> {
type Command (line 52) | pub trait Command {
method exec (line 53) | fn exec(&mut self, core: &mut ShellCore, pipe: &mut Pipe) -> Result<Op...
method fork_exec_child (line 68) | fn fork_exec_child(&mut self, core: &mut ShellCore, pipe: &mut Pipe) -...
method fork_exec (line 74) | fn fork_exec(
method nofork_exec (line 96) | fn nofork_exec(&mut self, core: &mut ShellCore) -> Result<Option<Pid>,...
method run (line 115) | fn run(&mut self, _: &mut ShellCore, fork: bool) -> Result<(), ExecErr...
method get_text (line 116) | fn get_text(&self) -> String;
method get_one_line_text (line 117) | fn get_one_line_text(&self) -> String {
method get_redirects (line 120) | fn get_redirects(&mut self) -> &mut Vec<Redirect>;
method get_lineno (line 121) | fn get_lineno(&mut self) -> usize;
method set_force_fork (line 122) | fn set_force_fork(&mut self);
method boxed_clone (line 123) | fn boxed_clone(&self) -> Box<dyn Command>;
method force_fork (line 124) | fn force_fork(&self) -> bool;
method read_heredoc (line 126) | fn read_heredoc(
method pretty_print (line 146) | fn pretty_print(&mut self, indent_num: usize) {
function eat_inner_script (line 154) | pub fn eat_inner_script(
function eat_blank_with_comment (line 176) | pub fn eat_blank_with_comment(
function eat_blank_lines (line 192) | pub fn eat_blank_lines(
function eat_redirect (line 213) | fn eat_redirect(
function eat_redirects (line 228) | pub fn eat_redirects(
function parse (line 247) | pub fn parse(
FILE: src/elements/command/arithmetic.rs
type ArithmeticCommand (line 11) | pub struct ArithmeticCommand {
method eval (line 79) | pub fn eval(&mut self, core: &mut ShellCore) -> Result<String, ExecErr...
method parse (line 88) | pub fn parse(feeder: &mut Feeder, core: &mut ShellCore) -> Result<Opti...
method run (line 20) | fn run(&mut self, core: &mut ShellCore, _: bool) -> Result<(), ExecError> {
method get_text (line 58) | fn get_text(&self) -> String {
method get_redirects (line 61) | fn get_redirects(&mut self) -> &mut Vec<Redirect> {
method get_lineno (line 64) | fn get_lineno(&mut self) -> usize {
method set_force_fork (line 67) | fn set_force_fork(&mut self) {
method boxed_clone (line 70) | fn boxed_clone(&self) -> Box<dyn Command> {
method force_fork (line 73) | fn force_fork(&self) -> bool {
FILE: src/elements/command/brace.rs
type BraceCommand (line 12) | pub struct BraceCommand {
method parse (line 58) | pub fn parse(feeder: &mut Feeder, core: &mut ShellCore) -> Result<Opti...
method run (line 21) | fn run(&mut self, core: &mut ShellCore, _: bool) -> Result<(), ExecError> {
method get_text (line 29) | fn get_text(&self) -> String {
method get_redirects (line 32) | fn get_redirects(&mut self) -> &mut Vec<Redirect> {
method get_lineno (line 35) | fn get_lineno(&mut self) -> usize {
method set_force_fork (line 38) | fn set_force_fork(&mut self) {
method boxed_clone (line 41) | fn boxed_clone(&self) -> Box<dyn Command> {
method force_fork (line 44) | fn force_fork(&self) -> bool {
method pretty_print (line 48) | fn pretty_print(&mut self, indent_num: usize) {
FILE: src/elements/command/case.rs
type CaseCommand (line 13) | pub struct CaseCommand {
method eat_word (line 101) | fn eat_word(
method eat_patterns (line 118) | fn eat_patterns(
method parse (line 152) | pub fn parse(
method run (line 23) | fn run(&mut self, core: &mut ShellCore, _: bool) -> Result<(), ExecError> {
method get_text (line 69) | fn get_text(&self) -> String {
method get_redirects (line 72) | fn get_redirects(&mut self) -> &mut Vec<Redirect> {
method get_lineno (line 75) | fn get_lineno(&mut self) -> usize {
method set_force_fork (line 78) | fn set_force_fork(&mut self) {
method boxed_clone (line 81) | fn boxed_clone(&self) -> Box<dyn Command> {
method force_fork (line 84) | fn force_fork(&self) -> bool {
FILE: src/elements/command/coproc.rs
type Coprocess (line 22) | pub struct Coprocess {
method pretty_print (line 141) | pub fn pretty_print(&mut self, indent_num: usize) {
method eat_header (line 148) | fn eat_header(&mut self, feeder: &mut Feeder, core: &mut ShellCore) ->...
method eat_body (line 166) | fn eat_body(&mut self, feeder: &mut Feeder, core: &mut ShellCore) -> R...
method parse_simple_command (line 185) | fn parse_simple_command(feeder: &mut Feeder,
method parse (line 204) | pub fn parse(feeder: &mut Feeder, core: &mut ShellCore) -> Result<Opti...
method exec (line 32) | fn exec(&mut self, core: &mut ShellCore, _: &mut Pipe) -> Result<Option<...
method run (line 113) | fn run(&mut self, _: &mut ShellCore, _: bool) -> Result<(), ExecError> {
method get_text (line 116) | fn get_text(&self) -> String {
method get_redirects (line 119) | fn get_redirects(&mut self) -> &mut Vec<Redirect> {
method get_lineno (line 122) | fn get_lineno(&mut self) -> usize {
method set_force_fork (line 125) | fn set_force_fork(&mut self) {
method boxed_clone (line 128) | fn boxed_clone(&self) -> Box<dyn Command> {
method force_fork (line 131) | fn force_fork(&self) -> bool {
method pretty_print (line 135) | fn pretty_print(&mut self, indent_num: usize) {
FILE: src/elements/command/for.rs
type ForCommand (line 15) | pub struct ForCommand {
method eval_values (line 69) | fn eval_values(&mut self, core: &mut ShellCore) -> Option<Vec<String>> {
method run_with_values (line 84) | fn run_with_values(&mut self, core: &mut ShellCore) -> bool {
method eval_arithmetic (line 135) | fn eval_arithmetic(a: &mut Option<ArithmeticExpr>, core: &mut ShellCor...
method run_with_arithmetic (line 145) | fn run_with_arithmetic(&mut self, core: &mut ShellCore) -> bool {
method eat_name (line 188) | fn eat_name(feeder: &mut Feeder, ans: &mut Self, core: &mut ShellCore)...
method eat_arithmetic (line 202) | fn eat_arithmetic(
method eat_in_part (line 240) | fn eat_in_part(
method eat_end (line 264) | fn eat_end(feeder: &mut Feeder, ans: &mut Self, core: &mut ShellCore) ...
method parse (line 275) | pub fn parse(feeder: &mut Feeder, core: &mut ShellCore) -> Result<Opti...
method run (line 29) | fn run(&mut self, core: &mut ShellCore, _: bool) -> Result<(), ExecError> {
method get_text (line 48) | fn get_text(&self) -> String {
method get_redirects (line 51) | fn get_redirects(&mut self) -> &mut Vec<Redirect> {
method get_lineno (line 54) | fn get_lineno(&mut self) -> usize {
method set_force_fork (line 57) | fn set_force_fork(&mut self) {
method boxed_clone (line 60) | fn boxed_clone(&self) -> Box<dyn Command> {
method force_fork (line 63) | fn force_fork(&self) -> bool {
FILE: src/elements/command/function_def.rs
type FunctionDefinition (line 14) | pub struct FunctionDefinition {
method pretty_print (line 64) | pub fn pretty_print(&mut self, indent_num: usize) {
method run_as_command (line 71) | pub fn run_as_command(&mut self, args: &mut [String], core: &mut Shell...
method eat_header (line 122) | fn eat_header(&mut self, feeder: &mut Feeder, core: &mut ShellCore) ->...
method eat_body (line 148) | fn eat_body(&mut self, feeder: &mut Feeder, core: &mut ShellCore) -> R...
method parse (line 167) | pub fn parse(feeder: &mut Feeder, core: &mut ShellCore) -> Result<Opti...
method exec (line 25) | fn exec(&mut self, core: &mut ShellCore, _: &mut Pipe) -> Result<Option<...
method run (line 36) | fn run(&mut self, _: &mut ShellCore, _: bool) -> Result<(), ExecError> {
method get_text (line 39) | fn get_text(&self) -> String {
method get_redirects (line 42) | fn get_redirects(&mut self) -> &mut Vec<Redirect> {
method get_lineno (line 45) | fn get_lineno(&mut self) -> usize {
method set_force_fork (line 48) | fn set_force_fork(&mut self) {
method boxed_clone (line 51) | fn boxed_clone(&self) -> Box<dyn Command> {
method force_fork (line 54) | fn force_fork(&self) -> bool {
method pretty_print (line 58) | fn pretty_print(&mut self, indent_num: usize) {
FILE: src/elements/command/if.rs
type IfCommand (line 12) | pub struct IfCommand {
method end_words (line 61) | fn end_words(word: &str) -> Result<Vec<&str>, ParseError> {
method set_script (line 70) | fn set_script(word: &str, ans: &mut IfCommand, script: Option<Script>) {
method eat_word_and_script (line 79) | fn eat_word_and_script(
method parse (line 97) | pub fn parse(feeder: &mut Feeder, core: &mut ShellCore) -> Result<Opti...
method run (line 23) | fn run(&mut self, core: &mut ShellCore, _: bool) -> Result<(), ExecError> {
method get_text (line 40) | fn get_text(&self) -> String {
method get_redirects (line 43) | fn get_redirects(&mut self) -> &mut Vec<Redirect> {
method get_lineno (line 46) | fn get_lineno(&mut self) -> usize {
method set_force_fork (line 49) | fn set_force_fork(&mut self) {
method boxed_clone (line 52) | fn boxed_clone(&self) -> Box<dyn Command> {
method force_fork (line 55) | fn force_fork(&self) -> bool {
FILE: src/elements/command/paren.rs
type ParenCommand (line 44) | pub struct ParenCommand {
method from (line 16) | fn from(c: SimpleCommand) -> Self {
method parse (line 99) | pub fn parse(
method exec (line 52) | fn exec(&mut self, core: &mut ShellCore, pipe: &mut Pipe) -> Result<Opti...
method run (line 60) | fn run(&mut self, core: &mut ShellCore, fork: bool) -> Result<(), ExecEr...
method get_text (line 73) | fn get_text(&self) -> String {
method get_redirects (line 76) | fn get_redirects(&mut self) -> &mut Vec<Redirect> {
method get_lineno (line 79) | fn get_lineno(&mut self) -> usize {
method set_force_fork (line 82) | fn set_force_fork(&mut self) {}
method boxed_clone (line 83) | fn boxed_clone(&self) -> Box<dyn Command> {
method force_fork (line 86) | fn force_fork(&self) -> bool {
method get_one_line_text (line 90) | fn get_one_line_text(&self) -> String {
FILE: src/elements/command/repeat.rs
type RepeatCommand (line 13) | pub struct RepeatCommand {
method parse (line 61) | pub fn parse(feeder: &mut Feeder, core: &mut ShellCore) -> Result<Opti...
method run (line 23) | fn run(&mut self, core: &mut ShellCore, _: bool) -> Result<(), ExecError> {
method get_text (line 40) | fn get_text(&self) -> String {
method get_redirects (line 43) | fn get_redirects(&mut self) -> &mut Vec<Redirect> {
method get_lineno (line 46) | fn get_lineno(&mut self) -> usize {
method set_force_fork (line 49) | fn set_force_fork(&mut self) {
method boxed_clone (line 52) | fn boxed_clone(&self) -> Box<dyn Command> {
method force_fork (line 55) | fn force_fork(&self) -> bool {
FILE: src/elements/command/simple.rs
type SubsArgType (line 20) | enum SubsArgType {
method get_text (line 26) | pub fn get_text(&self) -> &str {
type SimpleCommand (line 35) | pub struct SimpleCommand {
method break_continue_or_return (line 117) | fn break_continue_or_return(core: &mut ShellCore) -> bool {
method exec_command (line 121) | pub fn exec_command(
method check_sigint (line 179) | fn check_sigint(core: &mut ShellCore) -> Result<(), ExecError> {
method exec_set_param (line 187) | fn exec_set_param(&mut self, core: &mut ShellCore) -> Result<Option<Pi...
method set_local_params (line 208) | fn set_local_params(&mut self, core: &mut ShellCore) -> Result<(), Exe...
method set_environment_variables (line 222) | fn set_environment_variables(&mut self, core: &mut ShellCore) -> Resul...
method set_arg (line 228) | fn set_arg(&mut self, word: &mut Word, core: &mut ShellCore) -> Result...
method option_x_output (line 244) | fn option_x_output(&self, core: &mut ShellCore) {
method exec (line 51) | fn exec(&mut self, core: &mut ShellCore, pipe: &mut Pipe) -> Result<Opti...
method run (line 78) | fn run(&mut self, core: &mut ShellCore, fork: bool) -> Result<(), ExecEr...
method get_text (line 95) | fn get_text(&self) -> String {
method get_redirects (line 98) | fn get_redirects(&mut self) -> &mut Vec<Redirect> {
method set_force_fork (line 101) | fn set_force_fork(&mut self) {
method boxed_clone (line 104) | fn boxed_clone(&self) -> Box<dyn Command> {
method force_fork (line 107) | fn force_fork(&self) -> bool {
method get_lineno (line 111) | fn get_lineno(&mut self) -> usize {
FILE: src/elements/command/simple/alias.rs
function set (line 10) | pub fn set(
FILE: src/elements/command/simple/hash.rs
function get_and_regist (line 8) | pub fn get_and_regist(com: &mut SimpleCommand, core: &mut ShellCore) -> ...
function resolve_path (line 26) | fn resolve_path(arg: &str, core: &mut ShellCore) -> Result<String, ExecE...
function count_up (line 42) | fn count_up(arg: &str, core: &mut ShellCore) {
FILE: src/elements/command/simple/parser.rs
method eat_substitution (line 13) | pub fn eat_substitution(&mut self, feeder: &mut Feeder, core: &mut Shell...
method eat_substitution_as_arg (line 25) | fn eat_substitution_as_arg(&mut self, feeder: &mut Feeder,core: &mut She...
method eat_word (line 43) | fn eat_word(&mut self, feeder: &mut Feeder, core: &mut ShellCore)
method parse (line 79) | pub fn parse(feeder: &mut Feeder, core: &mut ShellCore)
FILE: src/elements/command/simple/run_internal.rs
function run (line 10) | pub fn run(com: &mut SimpleCommand, core: &mut ShellCore) -> Result<bool...
function run_function (line 17) | fn run_function(args: &mut [String], core: &mut ShellCore) -> bool {
function run_builtin (line 27) | pub fn run_builtin(com: &mut SimpleCommand, core: &mut ShellCore) -> Res...
function run_substitution_builtin (line 42) | pub fn run_substitution_builtin(
function other_to_subst (line 72) | fn other_to_subst(arg: &str,
FILE: src/elements/command/test.rs
type TestCommand (line 13) | pub struct TestCommand {
method parse (line 64) | pub fn parse(feeder: &mut Feeder, core: &mut ShellCore) -> Result<Opti...
method run (line 22) | fn run(&mut self, core: &mut ShellCore, _: bool) -> Result<(), ExecError> {
method get_text (line 43) | fn get_text(&self) -> String {
method get_redirects (line 46) | fn get_redirects(&mut self) -> &mut Vec<Redirect> {
method get_lineno (line 49) | fn get_lineno(&mut self) -> usize {
method set_force_fork (line 52) | fn set_force_fork(&mut self) {
method boxed_clone (line 55) | fn boxed_clone(&self) -> Box<dyn Command> {
method force_fork (line 58) | fn force_fork(&self) -> bool {
FILE: src/elements/command/while.rs
type WhileCommand (line 11) | pub struct WhileCommand {
method parse (line 81) | pub fn parse(feeder: &mut Feeder, core: &mut ShellCore) -> Result<Opti...
method run (line 21) | fn run(&mut self, core: &mut ShellCore, _: bool) -> Result<(), ExecError> {
method get_text (line 60) | fn get_text(&self) -> String {
method get_redirects (line 63) | fn get_redirects(&mut self) -> &mut Vec<Redirect> {
method get_lineno (line 66) | fn get_lineno(&mut self) -> usize {
method set_force_fork (line 69) | fn set_force_fork(&mut self) {
method boxed_clone (line 72) | fn boxed_clone(&self) -> Box<dyn Command> {
method force_fork (line 75) | fn force_fork(&self) -> bool {
FILE: src/elements/expr/arithmetic.rs
type ArithmeticExpr (line 18) | pub struct ArithmeticExpr {
method eval_doller (line 27) | pub fn eval_doller(&mut self, core: &mut ShellCore) -> Result<(), Exec...
method eval (line 58) | pub fn eval(&mut self, core: &mut ShellCore) -> Result<String, ExecErr...
method eval_as_int (line 86) | pub fn eval_as_int(&mut self, core: &mut ShellCore) -> Result<i128, Ex...
method eval_elems (line 99) | pub fn eval_elems(
method ans_to_string (line 112) | fn ans_to_string(&self, n: i128) -> Result<String, ArithError> {
method dec_to_str (line 149) | fn dec_to_str(nums: &[u8], base: i128) -> String {
method eval_in_cond (line 180) | fn eval_in_cond(&mut self, core: &mut ShellCore) -> Result<ArithElem, ...
method preinc_to_unarys (line 185) | fn preinc_to_unarys(&mut self, ans: &mut Vec<ArithElem>, pos: usize, i...
method decompose_increments (line 207) | fn decompose_increments(&mut self) -> Result<Vec<ArithElem>, ExecError> {
method new (line 238) | pub fn new() -> ArithmeticExpr {
FILE: src/elements/expr/arithmetic/calculator.rs
function pop_operand (line 12) | pub fn pop_operand(
function pop_operands (line 24) | pub fn pop_operands(
function bin_operation (line 42) | fn bin_operation(
function bin_calc_and_or (line 56) | fn bin_calc_and_or(
function bin_calc_operation (line 96) | fn bin_calc_operation(
function unary_operation (line 123) | fn unary_operation(
function calculate (line 137) | pub fn calculate(elements: &[ArithElem], core: &mut ShellCore) -> Result...
function dry_run (line 177) | fn dry_run(rev_pol: &[ArithElem]) -> Result<(), ArithError> {
function inc (line 211) | fn inc(inc: i128, stack: &mut Vec<ArithElem>, core: &mut ShellCore) -> R...
FILE: src/elements/expr/arithmetic/elem.rs
type ArithElem (line 18) | pub enum ArithElem {
method order (line 36) | pub fn order(&self) -> u8 {
method fmt (line 67) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
method change_to_value (line 130) | pub fn change_to_value(&mut self, add: i128, core: &mut ShellCore) -> ...
method is_operand (line 153) | pub fn is_operand(&self) -> bool {
FILE: src/elements/expr/arithmetic/elem/float.rs
function unary_calc (line 10) | pub fn unary_calc(op: &str, num: f64, stack: &mut Vec<ArithElem>) -> Res...
function bin_calc (line 23) | pub fn bin_calc(
function substitute (line 70) | pub fn substitute(
function parse (line 94) | pub fn parse(s: &str) -> Result<f64, ArithError> {
FILE: src/elements/expr/arithmetic/elem/int.rs
function unary_calc (line 11) | pub fn unary_calc(op: &str, num: i128, stack: &mut Vec<ArithElem>) -> Re...
function bin_calc (line 22) | pub fn bin_calc(
function substitute (line 89) | pub fn substitute(
function parse_with_base (line 135) | fn parse_with_base(base: i128, s: &str, org: &str) -> Result<i128, Arith...
function get_base (line 169) | fn get_base(s: &mut String) -> Result<i128, ArithError> {
function parse (line 200) | pub fn parse(s: &str) -> Result<i128, ArithError> {
FILE: src/elements/expr/arithmetic/elem/ternary.rs
function operation (line 10) | pub fn operation(
FILE: src/elements/expr/arithmetic/elem/variable.rs
function to_num (line 13) | fn to_num(w: &str, sub: &str, core: &mut ShellCore) -> Result<ArithElem,...
function str_to_num (line 22) | pub fn str_to_num(name: &str, sub: &str, core: &mut ShellCore) -> Result...
function resolve_arithmetic_op (line 45) | fn resolve_arithmetic_op(name: &str, core: &mut ShellCore) -> Result<Ari...
function try_parse_to_num (line 55) | fn try_parse_to_num(name: &str) -> Result<ArithElem, ExecError> {
function set_and_to_value (line 65) | pub fn set_and_to_value(
function get_sign (line 98) | pub fn get_sign(s: &mut String) -> String {
function substitution (line 110) | pub fn substitution(
function subs (line 135) | fn subs(
FILE: src/elements/expr/arithmetic/parser.rs
method eat_space (line 13) | fn eat_space(feeder: &mut Feeder, ans: &mut Self, core: &mut ShellCore) ...
method eat_suffix (line 23) | fn eat_suffix(feeder: &mut Feeder, ans: &mut Self) -> i128 {
method eat_incdec (line 35) | fn eat_incdec(feeder: &mut Feeder, ans: &mut Self) -> bool {
method eat_ternary_symbol (line 48) | fn eat_ternary_symbol(feeder: &mut Feeder, ans: &mut Self) -> bool {
method eat_num (line 60) | fn eat_num(
method eat_conditional_op (line 94) | fn eat_conditional_op(
method eat_array_elem (line 126) | fn eat_array_elem(
method eat_word (line 176) | fn eat_word(feeder: &mut Feeder, ans: &mut Self, core: &mut ShellCore, i...
method eat_output_format (line 197) | fn eat_output_format(feeder: &mut Feeder, ans: &mut Self, core: &mut She...
method eat_unary_operator (line 211) | fn eat_unary_operator(feeder: &mut Feeder, ans: &mut Self, core: &mut Sh...
method eat_paren_internal (line 228) | fn eat_paren_internal(
method eat_paren (line 251) | fn eat_paren(
method eat_binary_operator (line 278) | fn eat_binary_operator(feeder: &mut Feeder, ans: &mut Self, core: &mut S...
method parse_after_eval (line 290) | pub fn parse_after_eval(
method parse (line 332) | pub fn parse(
FILE: src/elements/expr/arithmetic/rev_polish.rs
function rearrange (line 8) | pub fn rearrange(elements: &[ArithElem]) -> Result<Vec<ArithElem>, ExecE...
function rev_polish_op (line 33) | fn rev_polish_op(elem: &ArithElem, stack: &mut Vec<ArithElem>, ans: &mut...
FILE: src/elements/expr/conditional.rs
function to_operand (line 20) | fn to_operand(w: &mut Word) -> Result<CondElem, ExecError> {
function pop_operand (line 27) | fn pop_operand(
type ConditionalExpr (line 47) | pub struct ConditionalExpr {
method eval (line 53) | pub fn eval(&mut self, core: &mut ShellCore) -> Result<CondElem, ExecE...
method calculate (line 100) | fn calculate(elems: &[CondElem], core: &mut ShellCore) -> Result<CondE...
method rev_polish (line 110) | fn rev_polish(elems: &[CondElem]) -> Result<Vec<CondElem>, ExecError> {
method reduce (line 135) | fn reduce(rev_pol: &[CondElem], core: &mut ShellCore) -> Result<Vec<Co...
method unary_operation (line 192) | fn unary_operation(
method regex_operation (line 230) | fn regex_operation(stack: &mut Vec<CondElem>, core: &mut ShellCore) ->...
method resolve_arithmetic_op (line 272) | fn resolve_arithmetic_op(name: &str, core: &mut ShellCore) -> Result<A...
method single_str_to_num (line 286) | fn single_str_to_num(name: &str, core: &mut ShellCore) -> Result<Arith...
method bin_operation (line 300) | fn bin_operation(
method unary_file_check (line 368) | fn unary_file_check(op: &str, s: &str, stack: &mut Vec<CondElem>) -> R...
method rev_polish_op (line 388) | fn rev_polish_op(elem: &CondElem, stack: &mut Vec<CondElem>, ans: &mut...
FILE: src/elements/expr/conditional/elem.rs
type CondElem (line 11) | pub enum CondElem {
method order (line 25) | pub fn order(&self) -> u8 {
method eval (line 34) | pub fn eval(&mut self, core: &mut ShellCore) -> Result<(), ExecError> {
method fmt (line 44) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
FILE: src/elements/expr/conditional/parser.rs
method eat_word (line 12) | fn eat_word(feeder: &mut Feeder, ans: &mut Self, core: &mut ShellCore) -...
method eat_compare_op (line 28) | fn eat_compare_op(feeder: &mut Feeder, ans: &mut Self, core: &mut ShellC...
method eat_subwords (line 41) | fn eat_subwords(feeder: &mut Feeder, ans: &mut Self, core: &mut ShellCor...
method eat_regex (line 64) | fn eat_regex(feeder: &mut Feeder, ans: &mut Self, core: &mut ShellCore) ...
method eat_file_check_option (line 74) | fn eat_file_check_option(feeder: &mut Feeder, ans: &mut Self, core: &mut...
method eat_not_and_or (line 87) | fn eat_not_and_or(feeder: &mut Feeder, ans: &mut Self) -> bool {
method eat_paren (line 107) | fn eat_paren(
method eat_blank (line 137) | fn eat_blank(feeder: &mut Feeder, ans: &mut Self, core: &mut ShellCore) ...
method parse (line 147) | pub fn parse(feeder: &mut Feeder, core: &mut ShellCore) -> Result<Option...
FILE: src/elements/io.rs
function connect (line 12) | pub fn connect(
FILE: src/elements/io/pipe.rs
type Pipe (line 10) | pub struct Pipe {
method new (line 23) | pub fn new(text: String) -> Pipe {
method end (line 37) | pub fn end(prev: RawFd, pgid: Pid, lastpipe: bool) -> Pipe {
method connect_lastpipe (line 45) | pub fn connect_lastpipe(&mut self, core: &mut ShellCore) -> Result<(),...
method restore_lastpipe (line 53) | pub fn restore_lastpipe(&mut self, core: &mut ShellCore) -> Result<(),...
method parse (line 60) | pub fn parse(feeder: &mut Feeder, core: &mut ShellCore) -> Option<Pipe> {
method set (line 70) | pub fn set(&mut self, prev: RawFd, pgid: Pid, core: &mut ShellCore) {
method connect (line 84) | pub fn connect(&mut self, core: &mut ShellCore) -> Result<(), ExecErro...
method parent_close (line 99) | pub fn parent_close(&mut self, core: &mut ShellCore) {
method is_connected (line 104) | pub fn is_connected(&self) -> bool {
FILE: src/elements/io/redirect.rs
type Redirect (line 22) | pub struct Redirect {
method connect (line 35) | pub fn connect(&mut self, restore: bool, core: &mut ShellCore) -> Resu...
method set_left_fd (line 80) | fn set_left_fd(&mut self, default_fd: RawFd) {
method connect_to_file (line 87) | fn connect_to_file(
method redirect_simple_input (line 118) | fn redirect_simple_input(&mut self, restore: bool,
method redirect_simple_output (line 124) | fn redirect_simple_output(&mut self, restore: bool, core: &mut ShellCo...
method redirect_output_fd (line 129) | fn redirect_output_fd(&mut self, restore: bool, core: &mut ShellCore) ...
method redirect_input_fd (line 149) | fn redirect_input_fd(&mut self, restore: bool,
method redirect_append (line 170) | fn redirect_append(&mut self, restore: bool, core: &mut ShellCore) -> ...
method redirect_both_output (line 182) | fn redirect_both_output(&mut self, restore: bool, core: &mut ShellCore...
method redirect_heredocument (line 192) | fn redirect_heredocument(
method redirect_herestring (line 229) | fn redirect_herestring(
method restore (line 260) | pub fn restore(&mut self, core: &mut ShellCore) -> Result<(), ExecErro...
method new (line 274) | pub fn new() -> Redirect {
method show_heredoc_warning (line 283) | fn show_heredoc_warning(&self, lineno: usize, feeder_lineno: usize, co...
method eat_heredoc (line 289) | pub fn eat_heredoc(
method eat_symbol (line 359) | fn eat_symbol(feeder: &mut Feeder, ans: &mut Self, core: &mut ShellCor...
method eat_right (line 370) | fn eat_right(feeder: &mut Feeder, ans: &mut Self, core: &mut ShellCore...
method eat_left (line 384) | fn eat_left(feeder: &mut Feeder, ans: &mut Self, core: &mut ShellCore)...
method parse (line 396) | pub fn parse(feeder: &mut Feeder, core: &mut ShellCore) -> Option<Redi...
FILE: src/elements/job.rs
type Job (line 17) | pub struct Job {
method exec (line 24) | pub fn exec(&mut self, core: &mut ShellCore, bg: bool) -> Result<(), E...
method exec_fg (line 37) | fn exec_fg(&mut self, core: &mut ShellCore, pgid: Pid) -> Result<(), E...
method check_stop (line 72) | fn check_stop(
method exec_bg (line 93) | fn exec_bg(&mut self, core: &mut ShellCore, pgid: Pid) {
method exec_fork_bg (line 136) | fn exec_fork_bg(&mut self, core: &mut ShellCore, pgid: Pid) -> Result<...
method pretty_print (line 152) | pub fn pretty_print(
method get_one_line_text (line 191) | pub fn get_one_line_text(&self) -> String {
method eat_blank_line (line 200) | fn eat_blank_line(feeder: &mut Feeder, ans: &mut Job, core: &mut Shell...
method eat_pipeline (line 213) | fn eat_pipeline(
method eat_and_or (line 226) | fn eat_and_or(feeder: &mut Feeder, ans: &mut Job, core: &mut ShellCore...
method read_heredoc (line 234) | pub fn read_heredoc(
method parse (line 245) | pub fn parse(feeder: &mut Feeder, core: &mut ShellCore) -> Result<Opti...
FILE: src/elements/pipeline.rs
type Pipeline (line 16) | pub struct Pipeline {
method exec (line 25) | pub fn exec(
method set_time (line 98) | fn set_time(&mut self, core: &mut ShellCore) {
method read_heredoc (line 111) | pub fn read_heredoc(
method get_one_line_text (line 122) | pub fn get_one_line_text(&self) -> String {
method eat_exclamation (line 138) | fn eat_exclamation(feeder: &mut Feeder, ans: &mut Self, core: &mut She...
method eat_time (line 150) | fn eat_time(feeder: &mut Feeder, ans: &mut Self, core: &mut ShellCore)...
method eat_command (line 162) | fn eat_command(
method eat_pipe (line 178) | fn eat_pipe(feeder: &mut Feeder, ans: &mut Pipeline, core: &mut ShellC...
method eat_blank_and_comment (line 188) | fn eat_blank_and_comment(feeder: &mut Feeder, ans: &mut Pipeline, core...
method parse (line 201) | pub fn parse(
FILE: src/elements/script.rs
type Status (line 9) | enum Status {
type Script (line 16) | pub struct Script {
method exec (line 23) | pub fn exec(&mut self, core: &mut ShellCore) -> Result<(), ExecError> {
method get_text (line 31) | pub fn get_text(&self) -> String {
method pretty_print (line 35) | pub fn pretty_print(&mut self, indent_num: usize) {
method get_one_line_text (line 59) | pub fn get_one_line_text(&self) -> String {
method eat_job (line 70) | fn eat_job(
method eat_job_end (line 84) | fn eat_job_end(feeder: &mut Feeder, ans: &mut Script) -> bool {
method check_nest (line 96) | fn check_nest(&self, feeder: &mut Feeder, permit_empty: bool) -> Status {
method unalias (line 126) | fn unalias(&mut self, core: &mut ShellCore) {
method pipeline_num (line 134) | fn pipeline_num(&self) -> usize {
method parse (line 150) | pub fn parse(
FILE: src/elements/substitution.rs
type Substitution (line 16) | pub struct Substitution {
method eval (line 27) | pub fn eval(
method reparse (line 71) | pub fn reparse(&mut self, core: &mut ShellCore) -> Result<(), ExecErro...
method localvar_inherit (line 86) | pub fn localvar_inherit(&mut self, core: &mut ShellCore) {
method restore_flag (line 96) | fn restore_flag(core: &mut ShellCore, name: &str,
method set_whole_array (line 108) | fn set_whole_array(&mut self, core: &mut ShellCore, scope: usize) -> R...
method set_array_elem (line 145) | fn set_array_elem(
method init_array (line 175) | fn init_array(&mut self, core: &mut ShellCore, scope: usize) -> Result...
method set_single (line 187) | fn set_single(&mut self, core: &mut ShellCore, scope: usize) -> Result...
method set_to_shell (line 203) | fn set_to_shell(
method eat_equal (line 219) | fn eat_equal(&mut self, feeder: &mut Feeder) -> bool {
method eat_left_hand (line 232) | fn eat_left_hand(
method parse (line 246) | pub fn parse(
FILE: src/elements/substitution/array.rs
type Array (line 12) | pub struct Array {
method eval (line 19) | pub fn eval(
method eat_word (line 49) | fn eat_word(
method eat_subscript (line 69) | fn eat_subscript(
method parse (line 85) | pub fn parse(feeder: &mut Feeder, core: &mut ShellCore) -> Result<Opti...
FILE: src/elements/substitution/subscript.rs
type Subscript (line 11) | pub struct Subscript {
method eval (line 26) | pub fn eval(&mut self, core: &mut ShellCore, param_name: &str) -> Resu...
method reparse (line 54) | pub fn reparse(&mut self, core: &mut ShellCore, param_name: &str) -> R...
method parse (line 72) | pub fn parse(feeder: &mut Feeder, core: &mut ShellCore) -> Result<Opti...
type SubscriptType (line 17) | enum SubscriptType {
FILE: src/elements/substitution/value.rs
type ParsedDataType (line 13) | pub enum ParsedDataType {
type Value (line 22) | pub struct Value {
method from (line 30) | fn from(mut d: Box::<dyn Data>) -> Self {
method eval (line 40) | pub fn eval(
method is_obj (line 57) | pub fn is_obj(&self) -> bool {
method eval_as_value (line 64) | fn eval_as_value(
method eval_as_array (line 78) | fn eval_as_array(
method reparse_word (line 168) | fn reparse_word(&mut self, w: &mut Word, core: &mut ShellCore) -> Resu...
method reparse (line 181) | pub fn reparse(&mut self, core: &mut ShellCore, quoted: bool) -> Resul...
method parse (line 198) | pub fn parse(
FILE: src/elements/substitution/variable.rs
type Variable (line 12) | pub struct Variable {
method check_nameref (line 20) | pub fn check_nameref(&mut self, core: &mut ShellCore) -> Result<(), Ex...
method get_index (line 40) | pub fn get_index(
method is_array (line 70) | pub fn is_array(&mut self) -> bool {
method is_pos_param_array (line 74) | pub fn is_pos_param_array(&mut self) -> bool {
method is_var_array (line 78) | pub fn is_var_array(&mut self) -> bool {
method set_value (line 95) | pub fn set_value(&mut self, value: &str, core: &mut ShellCore) -> Resu...
method parse_and_set (line 104) | pub fn parse_and_set(arg: &str, value: &str, core: &mut ShellCore) -> ...
method init_variable (line 117) | pub fn init_variable(
method exist (line 180) | pub fn exist(&self, core: &mut ShellCore) -> Result<bool, ExecError> {
method parse (line 200) | pub fn parse(feeder: &mut Feeder, core: &mut ShellCore) -> Result<Opti...
FILE: src/elements/subword.rs
method fmt (line 45) | fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
method clone (line 51) | fn clone(&self) -> Box<dyn Subword> {
method default (line 57) | fn default() -> Box<dyn Subword> {
function from (line 65) | fn from(s: &String) -> Box<dyn Subword> {
function from (line 71) | fn from(s: &str) -> Box<dyn Subword> {
type Subword (line 78) | pub trait Subword {
method get_text (line 79) | fn get_text(&self) -> &str;
method set_text (line 80) | fn set_text(&mut self, _: &str) {}
method boxed_clone (line 81) | fn boxed_clone(&self) -> Box<dyn Subword>;
method substitute (line 82) | fn substitute(&mut self, _: &mut ShellCore) -> Result<(), ExecError> {
method alter (line 85) | fn alter(&mut self) -> Result<Vec<Box<dyn Subword>>, ExecError> {
method split (line 89) | fn split(&self, ifs: &str, prev_char: Option<char>) -> Vec<(Box<dyn Su...
method make_glob_string (line 97) | fn make_glob_string(&mut self) -> String {
method make_unquoted_string (line 101) | fn make_unquoted_string(&mut self) -> Option<String> {
method make_regex (line 108) | fn make_regex(&mut self) -> Option<String> {
method is_name (line 115) | fn is_name(&self) -> bool {
method is_array (line 118) | fn is_array(&self) -> bool {
method get_elem (line 121) | fn get_elem(&mut self) -> Vec<String> {
method is_extglob (line 124) | fn is_extglob(&self) -> bool {
method is_escaped_char (line 127) | fn is_escaped_char(&self) -> bool {
method is_to_proc_sub (line 130) | fn is_to_proc_sub(&self) -> bool {
method is_simple_param (line 133) | fn is_simple_param(&self) -> bool {
method get_child_subwords (line 136) | fn get_child_subwords(&self) -> Vec<Box<dyn Subword>> {
method set_heredoc_flag (line 139) | fn set_heredoc_flag(&mut self) {}
method set_pipe (line 141) | fn set_pipe(&mut self, _: &mut ShellCore) {}
function replace_history_expansion (line 144) | fn replace_history_expansion(feeder: &mut Feeder, core: &mut ShellCore) ...
function last_resort (line 170) | fn last_resort(
function parse (line 238) | pub fn parse(
FILE: src/elements/subword/ansi_c_quoted.rs
type AnsiCQuoted (line 10) | pub struct AnsiCQuoted {
method parse (line 54) | pub fn parse(feeder: &mut Feeder, core: &mut ShellCore) -> Result<Opti...
method get_text (line 17) | fn get_text(&self) -> &str {
method boxed_clone (line 20) | fn boxed_clone(&self) -> Box<dyn Subword> {
method make_unquoted_string (line 24) | fn make_unquoted_string(&mut self) -> Option<String> {
method make_glob_string (line 28) | fn make_glob_string(&mut self) -> String {
method split (line 44) | fn split(&self, _: &str, _: Option<char>) -> Vec<(Box<dyn Subword>, bool...
method set_heredoc_flag (line 48) | fn set_heredoc_flag(&mut self) {
FILE: src/elements/subword/arithmetic.rs
type Arithmetic (line 11) | pub struct Arithmetic {
method parse (line 31) | pub fn parse(feeder: &mut Feeder, core: &mut ShellCore) -> Result<Opti...
method get_text (line 17) | fn get_text(&self) -> &str {
method boxed_clone (line 20) | fn boxed_clone(&self) -> Box<dyn Subword> {
method substitute (line 24) | fn substitute(&mut self, core: &mut ShellCore) -> Result<(), ExecError> {
FILE: src/elements/subword/braced_param.rs
type BracedParam (line 16) | pub struct BracedParam {
method from (line 28) | fn from(s: &str) -> Self {
method check (line 149) | fn check(&mut self) -> Result<(), ExecError> {
method make_split (line 163) | fn make_split(&self) -> Vec<(Box<dyn Subword>, bool)> {
method index_replace (line 175) | fn index_replace(&mut self, core: &mut ShellCore) -> Result<(), ExecEr...
method array_replace (line 198) | fn array_replace(&mut self, core: &mut ShellCore) -> Result<(), ExecEr...
method indirect_preparation (line 214) | fn indirect_preparation(&mut self, core: &mut ShellCore) -> Result<boo...
method indirect_replace (line 241) | fn indirect_replace(&mut self, core: &mut ShellCore) -> Result<(), Exe...
method non_subscript_operation (line 270) | fn non_subscript_operation(&mut self, core: &mut ShellCore) -> Result<...
method subscript_operation (line 285) | fn subscript_operation(&mut self, core: &mut ShellCore) -> Result<(), ...
method atmark_operation (line 322) | fn atmark_operation(&mut self, core: &mut ShellCore, ifs: &str) -> Res...
method has_value_check (line 347) | fn has_value_check(&mut self) -> bool {
method optional_operation (line 354) | fn optional_operation(
method get_text (line 38) | fn get_text(&self) -> &str {
method boxed_clone (line 41) | fn boxed_clone(&self) -> Box<dyn Subword> {
method substitute (line 45) | fn substitute(&mut self, core: &mut ShellCore) -> Result<(), ExecError> {
method set_text (line 91) | fn set_text(&mut self, text: &str) {
method is_array (line 95) | fn is_array(&self) -> bool {
method get_elem (line 99) | fn get_elem(&mut self) -> Vec<String> {
method alter (line 109) | fn alter(&mut self) -> Result<Vec<Box<dyn Subword>>, ExecError> {
method split (line 116) | fn split(&self, ifs: &str, prev_char: Option<char>) -> Vec<(Box<dyn Subw...
method set_heredoc_flag (line 141) | fn set_heredoc_flag(&mut self) {
FILE: src/elements/subword/braced_param/optional_operation.rs
type OptionalOperation (line 25) | pub trait OptionalOperation {
method exec (line 26) | fn exec(&mut self, _: &Variable, _: &str, _: &mut ShellCore) -> Result...
method boxed_clone (line 27) | fn boxed_clone(&self) -> Box<dyn OptionalOperation>;
method get_text (line 28) | fn get_text(&self) -> String;
method has_array_replace (line 29) | fn has_array_replace(&self) -> bool {
method is_value_check (line 32) | fn is_value_check(&self) -> bool {
method init_array (line 35) | fn init_array(
method get_alternative (line 44) | fn get_alternative(&self) -> Vec<Box<dyn Subword>> {
method set_heredoc_flag (line 48) | fn set_heredoc_flag(&mut self) {}
method array_to_single (line 49) | fn array_to_single(&mut self) -> bool {
function parse (line 54) | pub fn parse(
method clone (line 76) | fn clone(&self) -> Box<dyn OptionalOperation> {
method fmt (line 82) | fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
FILE: src/elements/subword/braced_param/optional_operation/case_conv.rs
method get_text (line 14) | fn get_text(&self) -> String {
method exec (line 17) | fn exec(
method boxed_clone (line 26) | fn boxed_clone(&self) -> Box<dyn OptionalOperation> {
type CaseConv (line 32) | pub struct CaseConv {
method to_string (line 39) | fn to_string(&self, w: &Option<Word>, core: &mut ShellCore) -> Result<...
method get_match_length (line 53) | fn get_match_length(&self, text: &str, pattern: &[GlobElem], ch: char)...
method conv (line 60) | fn conv(&self, ch: char) -> String {
method get_text (line 76) | pub fn get_text(&self, text: &str, core: &mut ShellCore) -> Result<Str...
method parse (line 109) | pub fn parse(feeder: &mut Feeder, core: &mut ShellCore) -> Result<Opti...
FILE: src/elements/subword/braced_param/optional_operation/escape.rs
type Escape (line 10) | pub struct Escape {
method replace_single_data (line 64) | pub fn replace_single_data(&self, text: &str) -> Result<String, ExecEr...
method replace_array_elem (line 75) | pub fn replace_array_elem(&self, pos: &str, text: &str) -> Result<Stri...
method parse (line 94) | pub fn parse(feeder: &mut Feeder, core: &mut ShellCore) -> Option<Self> {
method get_text (line 16) | fn get_text(&self) -> String {
method exec (line 19) | fn exec(&mut self, _: &Variable, text: &str, _: &mut ShellCore) -> Resul...
method init_array (line 23) | fn init_array(
method boxed_clone (line 55) | fn boxed_clone(&self) -> Box<dyn OptionalOperation> {
method has_array_replace (line 58) | fn has_array_replace(&self) -> bool {
FILE: src/elements/subword/braced_param/optional_operation/remove.rs
method get_text (line 13) | fn get_text(&self) -> String {
method exec (line 16) | fn exec(
method boxed_clone (line 25) | fn boxed_clone(&self) -> Box<dyn OptionalOperation> {
method init_array (line 29) | fn init_array(
method has_array_replace (line 49) | fn has_array_replace(&self) -> bool {
type Remove (line 55) | pub struct Remove {
method set (line 62) | pub fn set(&mut self, text: &str, core: &mut ShellCore) -> Result<Stri...
method percent (line 89) | pub fn percent(&self, text: &mut String, pattern: &str, extglob: bool) {
method parse (line 108) | pub fn parse(feeder: &mut Feeder, core: &mut ShellCore) -> Result<Opti...
FILE: src/elements/subword/braced_param/optional_operation/replace.rs
type Replace (line 14) | pub struct Replace {
method to_string (line 78) | fn to_string(&self, w: &Option<Word>, core: &mut ShellCore) -> Result<...
method get_text_head (line 92) | fn get_text_head(
method get_text_tail (line 106) | fn get_text_tail(
method get_text (line 131) | pub fn get_text(&self, text: &str, core: &mut ShellCore) -> Result<Str...
method parse (line 178) | pub fn parse(feeder: &mut Feeder, core: &mut ShellCore) -> Result<Opti...
method get_text (line 25) | fn get_text(&self) -> String {
method exec (line 28) | fn exec(
method boxed_clone (line 40) | fn boxed_clone(&self) -> Box<dyn OptionalOperation> {
method init_array (line 44) | fn init_array(
method has_array_replace (line 72) | fn has_array_replace(&self) -> bool {
FILE: src/elements/subword/braced_param/optional_operation/substr.rs
type Substr (line 12) | pub struct Substr {
method set_partial_position_params (line 55) | fn set_partial_position_params(
method set_partial_array (line 110) | fn set_partial_array(
method get (line 163) | pub fn get(&mut self, text: &str, core: &mut ShellCore) -> Result<Stri...
method length (line 196) | fn length(&mut self, text: &str, core: &mut ShellCore) -> Result<Strin...
method eat_length (line 206) | fn eat_length(feeder: &mut Feeder, ans: &mut Self, core: &mut ShellCor...
method parse (line 220) | pub fn parse(feeder: &mut Feeder, core: &mut ShellCore) -> Option<Self> {
method get_text (line 19) | fn get_text(&self) -> String {
method exec (line 22) | fn exec(
method boxed_clone (line 31) | fn boxed_clone(&self) -> Box<dyn OptionalOperation> {
method has_array_replace (line 34) | fn has_array_replace(&self) -> bool {
method init_array (line 38) | fn init_array(
FILE: src/elements/subword/braced_param/optional_operation/value_check.rs
function is_special_param (line 16) | fn is_special_param(name: &str) -> bool {
type ValueCheck (line 22) | pub struct ValueCheck {
method set_alter_word (line 88) | fn set_alter_word(&mut self, core: &mut ShellCore) -> Result<String, E...
method apply_single_quote_rule (line 128) | fn apply_single_quote_rule(sw: &mut Box<dyn Subword>) {
method replace (line 150) | fn replace(&mut self, core: &mut ShellCore) -> Result<String, ExecErro...
method set_value (line 154) | fn set_value(
method show_error (line 175) | fn show_error(&mut self, name: &str, core: &mut ShellCore) -> Result<S...
method parse (line 181) | pub fn parse(feeder: &mut Feeder, core: &mut ShellCore) -> Result<Opti...
method get_text (line 30) | fn get_text(&self) -> String {
method exec (line 34) | fn exec(
method boxed_clone (line 62) | fn boxed_clone(&self) -> Box<dyn OptionalOperation> {
method is_value_check (line 65) | fn is_value_check(&self) -> bool {
method get_alternative (line 69) | fn get_alternative(&self) -> Vec<Box<dyn Subword>> {
method set_heredoc_flag (line 76) | fn set_heredoc_flag(&mut self) {
method array_to_single (line 82) | fn array_to_single(&mut self) -> bool {
FILE: src/elements/subword/braced_param/parse.rs
method eat_subscript (line 11) | fn eat_subscript(
method eat_param (line 28) | fn eat_param(feeder: &mut Feeder, ans: &mut Self, core: &mut ShellCore) ...
method eat_unknown (line 53) | fn eat_unknown(
method parse (line 75) | pub fn parse(feeder: &mut Feeder, core: &mut ShellCore) -> Result<Option...
FILE: src/elements/subword/command_sub.rs
type CommandSubstitution (line 18) | pub struct CommandSubstitution {
method set_line (line 44) | fn set_line(&mut self, line: Result<String, Error>) -> bool {
method interrupted (line 53) | fn interrupted(&mut self, count: usize, core: &mut ShellCore) -> Resul...
method read (line 64) | fn read(&mut self, fd: RawFd, core: &mut ShellCore) -> Result<(), Exec...
method parse_old_style (line 80) | pub fn parse_old_style(
method parse (line 130) | pub fn parse(feeder: &mut Feeder, core: &mut ShellCore) -> Result<Opti...
method get_text (line 24) | fn get_text(&self) -> &str {
method boxed_clone (line 27) | fn boxed_clone(&self) -> Box<dyn Subword> {
method substitute (line 31) | fn substitute(&mut self, core: &mut ShellCore) -> Result<(), ExecError> {
FILE: src/elements/subword/double_quoted.rs
type DoubleQuoted (line 12) | pub struct DoubleQuoted {
method connect_array (line 95) | fn connect_array(&mut self, core: &mut ShellCore) -> Result<(), ExecEr...
method replace_array (line 106) | fn replace_array(&mut self, core: &mut ShellCore) -> Result<Vec<Box<dy...
method eat_element (line 146) | fn eat_element(
method parse_escaped_char (line 174) | fn parse_escaped_char(feeder: &mut Feeder) -> Option<EscapedChar> {
method parse_name (line 187) | fn parse_name(feeder: &mut Feeder, core: &mut ShellCore) -> Option<Var...
method eat_char (line 196) | fn eat_char(
method parse (line 216) | pub fn parse(
method get_text (line 20) | fn get_text(&self) -> &str {
method boxed_clone (line 23) | fn boxed_clone(&self) -> Box<dyn Subword> {
method substitute (line 27) | fn substitute(&mut self, core: &mut ShellCore) -> Result<(), ExecError> {
method make_glob_string (line 49) | fn make_glob_string(&mut self) -> String {
method make_unquoted_string (line 61) | fn make_unquoted_string(&mut self) -> Option<String> {
method split (line 81) | fn split(&self, _: &str, _: Option<char>) -> Vec<(Box<dyn Subword>, bool...
FILE: src/elements/subword/escaped_char.rs
type EscapedChar (line 9) | pub struct EscapedChar {
method parse (line 48) | pub fn parse(feeder: &mut Feeder, core: &mut ShellCore) -> Option<Self> {
method get_text (line 14) | fn get_text(&self) -> &str {
method boxed_clone (line 17) | fn boxed_clone(&self) -> Box<dyn Subword> {
method make_unquoted_string (line 21) | fn make_unquoted_string(&mut self) -> Option<String> {
method make_glob_string (line 29) | fn make_glob_string(&mut self) -> String {
method split (line 38) | fn split(&self, _: &str, _: Option<char>) -> Vec<(Box<dyn Subword>, bool...
method is_escaped_char (line 42) | fn is_escaped_char(&self) -> bool {
FILE: src/elements/subword/ext_glob.rs
type ExtGlob (line 11) | pub struct ExtGlob {
method new (line 35) | pub fn new() -> ExtGlob {
method set_simple_subword (line 42) | fn set_simple_subword(feeder: &mut Feeder, ans: &mut Self, len: usize)...
method eat_braced_param (line 53) | fn eat_braced_param(
method eat_command_substitution (line 67) | fn eat_command_substitution(
method eat_special_or_positional_param (line 81) | fn eat_special_or_positional_param(
method eat_extglob (line 95) | fn eat_extglob(
method eat_doller (line 109) | fn eat_doller(feeder: &mut Feeder, ans: &mut Self) -> bool {
method eat_symbol (line 116) | fn eat_symbol(feeder: &mut Feeder, ans: &mut Self) -> bool {
method eat_escaped_char (line 121) | fn eat_escaped_char(feeder: &mut Feeder, ans: &mut Self, core: &mut Sh...
method eat_name (line 132) | fn eat_name(feeder: &mut Feeder, ans: &mut Self, core: &mut ShellCore)...
method eat_other (line 144) | fn eat_other(feeder: &mut Feeder, ans: &mut Self, core: &mut ShellCore...
method parse (line 149) | pub fn parse(feeder: &mut Feeder, core: &mut ShellCore) -> Result<Opti...
method get_text (line 17) | fn get_text(&self) -> &str {
method boxed_clone (line 20) | fn boxed_clone(&self) -> Box<dyn Subword> {
method get_child_subwords (line 23) | fn get_child_subwords(&self) -> Vec<Box<dyn Subword>> {
method is_extglob (line 26) | fn is_extglob(&self) -> bool {
method split (line 29) | fn split(&self, _: &str, _: Option<char>) -> Vec<(Box<dyn Subword>, bool...
FILE: src/elements/subword/file_input.rs
type FileInput (line 14) | pub struct FileInput {
method parse (line 57) | pub fn parse(feeder: &mut Feeder, core: &mut ShellCore) -> Result<Opti...
method get_text (line 20) | fn get_text(&self) -> &str {
method boxed_clone (line 23) | fn boxed_clone(&self) -> Box<dyn Subword> {
method substitute (line 27) | fn substitute(&mut self, core: &mut ShellCore) -> Result<(), ExecError> {
FILE: src/elements/subword/filler.rs
type FillerSubword (line 8) | pub struct FillerSubword {
method get_text (line 13) | fn get_text(&self) -> &str {
method set_text (line 16) | fn set_text(&mut self, text: &str) {
method boxed_clone (line 19) | fn boxed_clone(&self) -> Box<dyn Subword> {
FILE: src/elements/subword/parameter.rs
type Parameter (line 11) | pub struct Parameter {
method parse (line 67) | pub fn parse(feeder: &mut Feeder, core: &mut ShellCore) -> Option<Self> {
method get_text (line 17) | fn get_text(&self) -> &str {
method boxed_clone (line 20) | fn boxed_clone(&self) -> Box<dyn Subword> {
method substitute (line 24) | fn substitute(&mut self, core: &mut ShellCore) -> Result<(), ExecError> {
method is_array (line 37) | fn is_array(&self) -> bool {
method split (line 41) | fn split(&self, ifs: &str, prev_char: Option<char>) -> Vec<(Box<dyn Subw...
method is_simple_param (line 61) | fn is_simple_param(&self) -> bool {
FILE: src/elements/subword/paren.rs
type EvalLetParen (line 12) | pub struct EvalLetParen {
method connect_array (line 39) | fn connect_array(&mut self, core: &mut ShellCore) -> Result<(), ExecEr...
method eat_element (line 50) | fn eat_element(
method parse_name (line 86) | fn parse_name(feeder: &mut Feeder, core: &mut ShellCore) -> Option<Var...
method eat_char (line 95) | fn eat_char(
method parse (line 118) | pub fn parse(
method get_text (line 18) | fn get_text(&self) -> &str {
method boxed_clone (line 21) | fn boxed_clone(&self) -> Box<dyn Subword> {
method substitute (line 25) | fn substitute(&mut self, core: &mut ShellCore) -> Result<(), ExecError> {
method split (line 33) | fn split(&self, _: &str, _: Option<char>) -> Vec<(Box<dyn Subword>, bool...
FILE: src/elements/subword/process_sub.rs
type ProcessSubstitution (line 15) | pub struct ProcessSubstitution {
method substitute_in (line 56) | fn substitute_in(&mut self, core: &mut ShellCore) -> Result<(), ExecEr...
method parse (line 66) | pub fn parse(
method get_text (line 23) | fn get_text(&self) -> &str {
method boxed_clone (line 26) | fn boxed_clone(&self) -> Box<dyn Subword> {
method substitute (line 30) | fn substitute(&mut self, core: &mut ShellCore) -> Result<(), ExecError> {
method set_pipe (line 43) | fn set_pipe(&mut self, core: &mut ShellCore) {
method is_to_proc_sub (line 50) | fn is_to_proc_sub(&self) -> bool {
FILE: src/elements/subword/simple.rs
type SimpleSubword (line 8) | pub struct SimpleSubword {
method parse (line 28) | pub fn parse(feeder: &mut Feeder) -> Option<Self> {
method get_text (line 13) | fn get_text(&self) -> &str {
method set_text (line 16) | fn set_text(&mut self, text: &str) {
method boxed_clone (line 19) | fn boxed_clone(&self) -> Box<dyn Subword> {
method split (line 22) | fn split(&self, _: &str, _: Option<char>) -> Vec<(Box<dyn Subword>, bool...
FILE: src/elements/subword/single_quoted.rs
type SingleQuoted (line 9) | pub struct SingleQuoted {
method parse (line 40) | pub fn parse(feeder: &mut Feeder, core: &mut ShellCore,
method get_text (line 14) | fn get_text(&self) -> &str {
method boxed_clone (line 17) | fn boxed_clone(&self) -> Box<dyn Subword> {
method make_unquoted_string (line 21) | fn make_unquoted_string(&mut self) -> Option<String> {
method make_glob_string (line 25) | fn make_glob_string(&mut self) -> String {
method split (line 34) | fn split(&self, _: &str, _: Option<char>) -> Vec<(Box<dyn Subword>, bool...
FILE: src/elements/subword/varname.rs
type VarName (line 8) | pub struct VarName {
method parse (line 31) | pub fn parse(feeder: &mut Feeder, core: &mut ShellCore) -> Option<Self> {
method get_text (line 13) | fn get_text(&self) -> &str {
method set_text (line 16) | fn set_text(&mut self, text: &str) {
method boxed_clone (line 19) | fn boxed_clone(&self) -> Box<dyn Subword> {
method is_name (line 22) | fn is_name(&self) -> bool {
method split (line 25) | fn split(&self, _: &str, _: Option<char>) -> Vec<(Box<dyn Subword>, bool...
FILE: src/elements/word.rs
type WordMode (line 17) | pub enum WordMode {
type Word (line 34) | pub struct Word {
method from (line 42) | fn from(s: &str) -> Self {
method from (line 52) | fn from(subword: Box<dyn Subword>) -> Self {
method from (line 62) | fn from(subwords: Vec<Box<dyn Subword>>) -> Self {
method eval (line 72) | pub fn eval(&mut self, core: &mut ShellCore) -> Result<Vec<String>, Ex...
method eval_as_herestring (line 86) | pub fn eval_as_herestring(&self, core: &mut ShellCore) -> Result<Strin...
method eval_as_value (line 90) | pub fn eval_as_value(&self, core: &mut ShellCore) -> Result<String, Ex...
method eval_as_alter (line 97) | pub fn eval_as_alter(&self, core: &mut ShellCore) -> Result<String, Ex...
method eval_as_assoc_index (line 104) | pub fn eval_as_assoc_index(&self, core: &mut ShellCore) -> Result<Stri...
method eval_as_integer (line 110) | pub fn eval_as_integer(&self, core: &mut ShellCore) -> Result<String, ...
method eval_for_case_word (line 114) | pub fn eval_for_case_word(&self, core: &mut ShellCore) -> Option<Strin...
method eval_for_regex (line 124) | pub fn eval_for_regex(&self, core: &mut ShellCore) -> Option<String> {
method eval_for_case_pattern (line 144) | pub fn eval_for_case_pattern(&self, core: &mut ShellCore) -> Result<St...
method set_pipe (line 149) | pub fn set_pipe(&mut self, core: &mut ShellCore) {
method dollar_expansion (line 155) | pub fn dollar_expansion(&self, core: &mut ShellCore) -> Result<Word, E...
method tilde_and_dollar_expansion (line 161) | pub fn tilde_and_dollar_expansion(&self, core: &mut ShellCore) -> Resu...
method split_and_path_expansion (line 168) | pub fn split_and_path_expansion(&self, core: &mut ShellCore) -> Vec<Wo...
method path_expansion (line 187) | fn path_expansion(&self, core: &mut ShellCore) -> Vec<Word> {
method make_args (line 195) | fn make_args(words: &mut [Word]) -> Vec<String> {
method make_unquoted_word (line 202) | pub fn make_unquoted_word(&mut self) -> Option<String> {
method make_regex (line 217) | pub fn make_regex(&mut self) -> Option<String> {
method make_glob_string (line 232) | fn make_glob_string(&mut self) -> String {
method set_heredoc_flag (line 240) | pub fn set_heredoc_flag(&mut self) {
method is_to_proc_sub (line 244) | pub fn is_to_proc_sub(&mut self) -> bool {
method scan_pos (line 252) | fn scan_pos(&self, s: &str) -> Vec<usize> {
method push (line 261) | fn push(&mut self, subword: Box<dyn Subword>) {
method pre_check (line 266) | fn pre_check(feeder: &mut Feeder, mode: &Option<WordMode>) -> bool {
method post_check (line 289) | fn post_check(feeder: &mut Feeder, core: &mut ShellCore, mode: &Option...
method parse (line 316) | pub fn parse(
FILE: src/elements/word/brace_expansion.rs
type BraceType (line 8) | enum BraceType {
function after_dollar (line 13) | fn after_dollar(s: &str) -> bool {
function num_to_subword (line 17) | fn num_to_subword(n: i128) -> Box<dyn Subword> {
function ascii_to_subword (line 23) | fn ascii_to_subword(c: char) -> Box<dyn Subword> {
function connect_minus (line 43) | fn connect_minus(subwords: &mut Vec<Box<dyn Subword>>) {
function eval (line 78) | pub fn eval(word: &mut Word, compat_bash: bool) -> Vec<Word> {
function invalidate_brace (line 109) | fn invalidate_brace(subwords: &mut Vec<Box<dyn Subword>>) {
function parse (line 120) | fn parse(subwords: &[Box<dyn Subword>]) -> Option<(Vec<usize>, BraceType...
function get_delimiters (line 133) | fn get_delimiters(stack: &mut [Option<&str>]) -> Option<(Vec<usize>, Bra...
function comma_brace_to_subwords (line 176) | fn comma_brace_to_subwords(
function expand_comma_brace (line 189) | fn expand_comma_brace(
function expand_range_brace (line 202) | fn expand_range_brace(
function gen_nums (line 259) | fn gen_nums(start: &str, end: &str, skip: usize) -> Vec<Box<dyn Subword>> {
function gen_chars (line 279) | fn gen_chars(start: &str, end: &str, skip: usize, compat_bash: bool) -> ...
function subword_sets_to_words (line 314) | fn subword_sets_to_words(
function subwords_to_word (line 335) | fn subwords_to_word(subwords: &[Box<dyn Subword>]) -> Vec<Word> {
FILE: src/elements/word/path_expansion.rs
function eval (line 8) | pub fn eval(word: &mut Word, shopts: &Options) -> Vec<Word> {
function no_glob_symbol (line 25) | fn no_glob_symbol(pattern: &str) -> bool {
function expand (line 29) | pub fn expand(pattern: &str, shopts: &Options) -> Vec<String> {
FILE: src/elements/word/split.rs
type SplitResult (line 7) | type SplitResult = (usize, Vec<(Box<dyn Subword>, bool)>);
function eval (line 9) | pub fn eval(word: &Word, core: &mut ShellCore) -> Vec<Word> {
function gen_word (line 50) | fn gen_word(sws: Vec<Box<dyn Subword>>, remain: bool) -> Word {
function find_pos (line 58) | pub fn find_pos(word: &Word, ifs: &str) -> SplitResult {
FILE: src/elements/word/substitution.rs
function eval (line 10) | pub fn eval(word: &mut Word, core: &mut ShellCore) -> Result<(), ExecErr...
function connect_names (line 34) | fn connect_names(subwords: &mut [Box<dyn Subword>]) {
FILE: src/elements/word/tilde_expansion.rs
function eval (line 11) | pub fn eval(word: &mut Word, core: &mut ShellCore) {
function eval_single (line 26) | fn eval_single(word: &mut Word, core: &mut ShellCore) {
function eval_multi (line 49) | pub fn eval_multi(word: &mut Word, core: &mut ShellCore, permit_equal: b...
function prefix_length (line 84) | fn prefix_length(word: &Word) -> usize {
function get_value (line 102) | fn get_value(text: &str, core: &mut ShellCore) -> Result<String, ExecErr...
function get_home_dir (line 113) | fn get_home_dir(user: &str) -> String {
FILE: src/error.rs
function print (line 13) | pub fn print(s: &str, core: &mut ShellCore) {
function internal (line 23) | pub fn internal(s: &str) -> String {
function exponent (line 27) | pub fn exponent(s: &str) -> String {
function signaled (line 32) | pub fn signaled(pid: Pid, signal: Signal, coredump: bool) -> i32 {
FILE: src/error/arith.rs
type ArithError (line 5) | pub enum ArithError {
method from (line 22) | fn from(e: ArithError) -> String {
method from (line 28) | fn from(e: &ArithError) -> String {
function error_msg (line 53) | fn error_msg(msg: &str, token: &str) -> String {
FILE: src/error/exec.rs
type ExecError (line 13) | pub enum ExecError {
method from (line 50) | fn from(e: Errno) -> ExecError {
method from (line 56) | fn from(e: ParseIntError) -> ExecError {
method from (line 62) | fn from(e: ParseError) -> ExecError {
method from (line 68) | fn from(e: ArithError) -> ExecError {
method print (line 130) | pub fn print(&self, core: &mut ShellCore) {
method from (line 74) | fn from(e: ExecError) -> String {
method from (line 84) | fn from(e: &ExecError) -> String {
FILE: src/error/input.rs
type InputError (line 5) | pub enum InputError {
method from (line 13) | fn from(e: &InputError) -> String {
FILE: src/error/parse.rs
type ParseError (line 8) | pub enum ParseError {
method print (line 27) | pub fn print(&self, core: &mut ShellCore) {
method from (line 16) | fn from(e: &ParseError) -> String {
FILE: src/feeder.rs
type Feeder (line 15) | pub struct Feeder {
method new (line 28) | pub fn new(s: &str) -> Feeder {
method new_c_mode (line 37) | pub fn new_c_mode(s: String) -> Feeder {
method set_file (line 47) | pub fn set_file(&mut self, s: &str) -> Result<(), InputError> {
method consume (line 56) | pub fn consume(&mut self, cutpos: usize) -> String {
method refer (line 75) | pub fn refer(&mut self, cutpos: usize) -> &str {
method set_backup (line 79) | pub fn set_backup(&mut self) {
method pop_backup (line 83) | pub fn pop_backup(&mut self) {
method add_backup (line 89) | pub fn add_backup(&mut self, line: &str) {
method rewind (line 99) | pub fn rewind(&mut self) {
method read_script (line 106) | fn read_script(&mut self) -> Result<String, InputError> {
method feed_additional_line_core (line 125) | fn feed_additional_line_core(&mut self, core: &mut ShellCore) -> Resul...
method feed_additional_line (line 145) | pub fn feed_additional_line(&mut self, core: &mut ShellCore) -> Result...
method feed_line (line 159) | pub fn feed_line(&mut self, core: &mut ShellCore) -> Result<(), InputE...
method add_line (line 168) | pub fn add_line(&mut self, line: String, core: &mut ShellCore) {
method replace (line 179) | pub fn replace(&mut self, num: usize, to: &str) {
method starts_with (line 186) | pub fn starts_with(&self, s: &str) -> bool {
method starts_withs (line 190) | pub fn starts_withs<T: AsRef<str>>(&self, vs: &[T]) -> bool {
method len (line 194) | pub fn len(&self) -> usize {
method is_empty (line 198) | pub fn is_empty(&self) -> bool {
FILE: src/feeder/scanner.rs
method feed_and_connect (line 8) | fn feed_and_connect(&mut self, core: &mut ShellCore) {
method backslash_check_and_feed (line 16) | fn backslash_check_and_feed(&mut self, starts: Vec<&str>, core: &mut She...
method scanner_char (line 23) | pub fn scanner_char(&mut self) -> usize {
method scanner_chars (line 30) | fn scanner_chars(
method scanner_one_of (line 52) | fn scanner_one_of(&self, cands: &[&str]) -> usize {
method scanner_subword_symbol (line 61) | pub fn scanner_subword_symbol(&self) -> usize {
method scanner_math_symbol (line 68) | pub fn scanner_math_symbol(&mut self, core: &mut ShellCore) -> usize {
method scanner_unary_operator (line 73) | pub fn scanner_unary_operator(&mut self, core: &mut ShellCore) -> usize {
method scanner_math_output_format (line 82) | pub fn scanner_math_output_format(&mut self, core: &mut ShellCore) -> us...
method scanner_extglob_head (line 110) | pub fn scanner_extglob_head(&self) -> usize {
method scanner_escaped_char (line 114) | pub fn scanner_escaped_char(&mut self, core: &mut ShellCore) -> usize {
method scanner_ansi_c_oct (line 129) | pub fn scanner_ansi_c_oct(&mut self, core: &mut ShellCore) -> usize {
method scanner_ansi_c_hex (line 138) | pub fn scanner_ansi_c_hex(&mut self, core: &mut ShellCore) -> usize {
method scanner_ansi_unicode4 (line 158) | pub fn scanner_ansi_unicode4(&mut self, core: &mut ShellCore) -> usize {
method scanner_ansi_unicode8 (line 169) | pub fn scanner_ansi_unicode8(&mut self, core: &mut ShellCore) -> usize {
method scanner_history_expansion (line 180) | pub fn scanner_history_expansion(&mut self, _: &mut ShellCore) -> usize {
method scanner_dollar_special_and_positional_param (line 187) | pub fn scanner_dollar_special_and_positional_param(&mut self, core: &mut...
method scanner_special_and_positional_param (line 205) | pub fn scanner_special_and_positional_param(&mut self) -> usize {
method scanner_subword (line 218) | pub fn scanner_subword(&mut self) -> usize {
method scanner_double_quoted_subword (line 229) | pub fn scanner_double_quoted_subword(&mut self, core: &mut ShellCore) ->...
method scanner_extglob_subword (line 234) | pub fn scanner_extglob_subword(&mut self, core: &mut ShellCore) -> usize {
method scanner_single_quoted_subword (line 239) | pub fn scanner_single_quoted_subword(&mut self, core: &mut ShellCore) ->...
method scanner_inner_subscript (line 253) | pub fn scanner_inner_subscript(&mut self, core: &mut ShellCore) -> usize {
method scanner_unknown_in_param_brace (line 258) | pub fn scanner_unknown_in_param_brace(&mut self) -> usize {
method scanner_blank (line 271) | pub fn scanner_blank(&mut self, core: &mut ShellCore) -> usize {
method scanner_multiline_blank (line 276) | pub fn scanner_multiline_blank(&mut self, core: &mut ShellCore) -> usize {
method scanner_binary_operator (line 281) | pub fn scanner_binary_operator(&mut self, core: &mut ShellCore) -> usize {
method scanner_substitution (line 295) | pub fn scanner_substitution(&mut self, core: &mut ShellCore) -> usize {
method scanner_uint (line 305) | pub fn scanner_uint(&mut self, core: &mut ShellCore) -> usize {
method scanner_arith_number (line 310) | pub fn scanner_arith_number(&mut self, core: &mut ShellCore) -> usize {
method scanner_name (line 320) | pub fn scanner_name(&mut self, core: &mut ShellCore) -> usize {
method scanner_name_and_equal (line 332) | pub fn scanner_name_and_equal(&mut self, core: &mut ShellCore) -> usize {
method scanner_job_end (line 347) | pub fn scanner_job_end(&mut self) -> usize {
method scanner_and_or (line 351) | pub fn scanner_and_or(&mut self, core: &mut ShellCore) -> usize {
method scanner_pipe (line 356) | pub fn scanner_pipe(&mut self, core: &mut ShellCore) -> usize {
method scanner_comment (line 364) | pub fn scanner_comment(&self) -> usize {
method scanner_redirect_symbol (line 379) | pub fn scanner_redirect_symbol(&mut self, core: &mut ShellCore) -> usize {
method scanner_parameter_alternative_symbol (line 384) | pub fn scanner_parameter_alternative_symbol(&mut self) -> usize {
method scanner_parameter_remove_symbol (line 388) | pub fn scanner_parameter_remove_symbol(&mut self) -> usize {
method scanner_tabs (line 392) | pub fn scanner_tabs(&mut self) -> usize {
method scanner_test_check_option (line 396) | pub fn scanner_test_check_option(&mut self, core: &mut ShellCore) -> usi...
method scanner_escape_directive_in_braced_param (line 412) | pub fn scanner_escape_directive_in_braced_param(&mut self, core: &mut Sh...
method scanner_test_compare_op (line 417) | pub fn scanner_test_compare_op(&mut self, core: &mut ShellCore) -> usize {
method scanner_regex_symbol (line 425) | pub fn scanner_regex_symbol(&mut self) -> usize {
FILE: src/feeder/terminal.rs
type Terminal (line 24) | struct Terminal {
method new (line 86) | pub fn new(core: &mut ShellCore, ps: &str) -> Self {
method get_branch (line 119) | fn get_branch(cwd: &str) -> String {
method make_prompt_string (line 140) | fn make_prompt_string(raw: &str) -> String {
method make_width_map (line 172) | fn make_width_map(prompt: &str) -> Vec<usize> {
method write (line 194) | fn write(&mut self, s: &str) {
method flush (line 198) | fn flush(&mut self) {
method char_width (line 202) | fn char_width(&self, c: &char, pos: usize) -> usize {
method size (line 210) | fn size() -> (usize, usize) {
method shift_in_range (line 215) | fn shift_in_range(x: &mut usize, shift: i32, min: usize, max: usize) {
method head_to_cursor_pos (line 225) | fn head_to_cursor_pos(&self, head: usize, y_origin: usize) -> (usize, ...
method goto (line 248) | fn goto(&mut self, head: usize) {
method rewrite (line 257) | fn rewrite(&mut self, erase: bool) {
method insert (line 267) | pub fn insert(&mut self, c: char) {
method backspace (line 273) | pub fn backspace(&mut self) {
method delete (line 282) | pub fn delete(&mut self) {
method get_string (line 290) | pub fn get_string(&self, from: usize) -> String {
method goto_origin (line 294) | pub fn goto_origin(&mut self) {
method goto_end (line 300) | pub fn goto_end(&mut self) {
method shift_cursor (line 306) | pub fn shift_cursor(&mut self, shift: i32) {
method check_scroll (line 324) | pub fn check_scroll(&mut self) {
method check_terminal_size (line 334) | pub fn check_terminal_size(&mut self /*, prev_size: &mut (usize, usize...
method call_history (line 348) | pub fn call_history(&mut self, inc: i32, core: &mut ShellCore) {
method set_double_tab_completion (line 363) | pub fn set_double_tab_completion(&mut self, core: &ShellCore) {
method cloop (line 373) | pub fn cloop(&mut self) {
method completion_finish_check (line 378) | fn completion_finish_check(&mut self) {
function oct_string (line 42) | fn oct_string(s: &str) -> bool {
function oct_to_hex_in_str (line 61) | fn oct_to_hex_in_str(from: &str) -> String {
function signal_check (line 393) | fn signal_check(core: &mut ShellCore, term: &mut Terminal) -> Result<boo...
function read_line (line 401) | pub fn read_line(core: &mut ShellCore, prompt: &str) -> Result<String, I...
FILE: src/feeder/terminal/completion.rs
type Entry (line 14) | struct Entry<'a> {
function str_width (line 24) | fn str_width(s: &str) -> usize {
function common_length (line 28) | fn common_length(chars: &[char], s: &str) -> usize {
function common_string (line 38) | fn common_string(paths: &[String]) -> String {
function is_dir (line 54) | fn is_dir(s: &str, core: &mut ShellCore) -> bool {
function apply_o_options (line 61) | fn apply_o_options(cand: &mut String, core: &mut ShellCore, o_options: &...
method completion (line 85) | pub fn completion(&mut self, core: &mut ShellCore) -> Result<(), ExecErr...
method exec_complete_function (line 109) | fn exec_complete_function(
method exec_action (line 132) | fn exec_action(cur_pos: i32, core: &mut ShellCore) -> Result<(), ExecErr...
method set_custom_compreply (line 149) | fn set_custom_compreply(&mut self, core: &mut ShellCore) -> Result<(), E...
method get_cur_pos (line 181) | fn get_cur_pos(core: &mut ShellCore) -> i32 {
method set_default_compreply (line 189) | pub fn set_default_compreply(&mut self, core: &mut ShellCore) -> Result<...
method make_default_compreply (line 216) | fn make_default_compreply(
method try_completion (line 270) | pub fn try_completion(
method normalize_tab (line 287) | fn normalize_tab(&mut self, row_num: i32, col_num: i32) {
method show_list (line 293) | fn show_list(&mut self, list: &[String]) {
method print_an_entry (line 344) | fn print_an_entry(&mut self, entry: &Entry) {
method shave_existing_word (line 364) | fn shave_existing_word(&mut self) {
method replace_input (line 378) | pub fn replace_input(&mut self, to: &str) {
method set_tilde_transform (line 388) | fn set_tilde_transform(last: &str, core: &mut ShellCore) -> (String, Str...
method set_completion_info (line 406) | fn set_completion_info(&mut self, core: &mut ShellCore) -> Result<(), Ex...
function completion_from (line 445) | fn completion_from(ws: &[String], core: &mut ShellCore) -> usize {
FILE: src/feeder/terminal/key.rs
function action (line 11) | pub fn action(core: &mut ShellCore, term: &mut Terminal, c: &Key) -> Res...
function ctrl (line 25) | fn ctrl(core: &mut ShellCore, term: &mut Terminal, c: char) -> Result<()...
function arrow (line 50) | fn arrow(term: &mut Terminal, core: &mut ShellCore, key: &event::Key) {
function char_key (line 71) | fn char_key(term: &mut Terminal, core: &mut ShellCore, c: &char) -> Resu...
FILE: src/i18n.rs
type LangEntry (line 61) | struct LangEntry {
constant LANGS (line 90) | const LANGS: &[LangEntry] = &[
function get_system_language (line 203) | pub fn get_system_language() -> String {
function load_fluent_bundle (line 224) | pub fn load_fluent_bundle() -> Option<FluentBundle<FluentResource>> {
function fl (line 240) | pub fn fl(key: &str) -> String {
FILE: src/main.rs
function main (line 30) | fn main() {
function consume_file_and_subsequents (line 89) | fn consume_file_and_subsequents(args: &mut Vec<String>) -> Vec<String> {
function set_o_options (line 119) | fn set_o_options(args: &mut Vec<String>, core: &mut ShellCore) {
function set_short_options (line 142) | fn set_short_options(args: &mut Vec<String>, core: &mut ShellCore) {
function read_rc_file (line 159) | fn read_rc_file(core: &mut ShellCore) {
function set_parameters (line 178) | fn set_parameters(script_parts: Vec<String>, core: &mut ShellCore, comma...
function main_loop (line 193) | fn main_loop(core: &mut ShellCore, command: &str) {
function feed_script (line 227) | fn feed_script(feeder: &mut Feeder, core: &mut ShellCore) -> (bool, bool) {
function parse_and_exec (line 248) | fn parse_and_exec(feeder: &mut Feeder, core: &mut ShellCore, set_hist: b...
function set_history (line 275) | fn set_history(core: &mut ShellCore, s: &str) {
function show_message (line 289) | fn show_message() {
function show_version (line 298) | fn show_version() {
function show_help (line 314) | fn show_help() {
FILE: src/main_c_option.rs
function set_parameters (line 13) | pub fn set_parameters(c_parts: &[String], core: &mut ShellCore, command:...
function run_and_exit (line 27) | pub fn run_and_exit(args: &[String], c_parts: &[String], core: &mut Shel...
FILE: src/proc_ctrl.rs
function wait_pipeline (line 19) | pub fn wait_pipeline(
function wait_process (line 81) | fn wait_process(core: &mut ShellCore, child: Pid) -> WaitStatus {
function set_foreground (line 112) | fn set_foreground(core: &mut ShellCore) -> Result<(), ExecError> {
function set_pgid (line 133) | pub fn set_pgid(core: &mut ShellCore, pid: Pid, pgid: Pid) {
function show_time (line 143) | fn show_time(core: &ShellCore) {
function exec_command (line 172) | pub fn exec_command(args: &[String], core: &mut ShellCore, fullpath: &st...
function run_command_not_found (line 193) | fn run_command_not_found(arg: &str, core: &mut ShellCore) -> ! {
function close_proc_sub (line 208) | fn close_proc_sub(core: &mut ShellCore) {
FILE: src/signal.rs
function ignore (line 18) | pub fn ignore(sig: Signal) {
function restore (line 22) | pub fn restore(sig: Signal) {
function run_signal_check (line 26) | pub fn run_signal_check(core: &mut ShellCore) {
function input_interrupt_check (line 62) | pub fn input_interrupt_check(feeder: &mut Feeder, core: &mut ShellCore) ...
function check_trap (line 74) | pub fn check_trap(core: &mut ShellCore) {
FILE: src/utils.rs
function reserved (line 25) | pub fn reserved(w: &str) -> bool {
function split_words (line 47) | pub fn split_words(s: &str) -> Vec<String> {
function is_wsl (line 103) | pub fn is_wsl() -> bool {
function is_name (line 112) | pub fn is_name(s: &str, core: &mut ShellCore) -> bool {
function is_param (line 117) | pub fn is_param(s: &str) -> bool {
function is_var (line 146) | pub fn is_var(s: &str) -> bool {
function read_line_stdin_unbuffered (line 161) | pub fn read_line_stdin_unbuffered(delim: &str) -> Result<String, InputEr...
function to_ansi_c (line 195) | pub fn to_ansi_c(s: &str) -> String {
function get_command_path (line 240) | pub fn get_command_path(s: &str, core: &mut ShellCore) -> String {
function string_to_calculated_string (line 257) | pub fn string_to_calculated_string(from: &str, core: &mut ShellCore) -> ...
function gen_not_exist_var (line 268) | pub fn gen_not_exist_var(core: &mut ShellCore) -> String {
function groups (line 276) | pub fn groups() -> Vec<String> {
FILE: src/utils/arg.rs
function has_option (line 4) | pub fn has_option(option: &str, args: &[String]) -> bool {
function consume_arg (line 8) | pub fn consume_arg(option: &str, args: &mut Vec<String>) -> bool {
function consume_option (line 16) | pub fn consume_option(option: &str, args: &mut Vec<String>) -> bool {
function consume_starts_with (line 31) | pub fn consume_starts_with(s: &str, args: &mut Vec<String>) -> Vec<Strin...
function consume_with_next_arg (line 38) | pub fn consume_with_next_arg(prev_opt: &str, args: &mut Vec<String>) -> ...
function consume_with_subsequents (line 51) | pub fn consume_with_subsequents(prev_opt: &str, args: &mut Vec<String>) ...
function add_prefix (line 62) | fn add_prefix(prefix: char, opts: &str) -> Vec<String> {
function dissolve_option (line 70) | pub fn dissolve_option(arg: &str) -> Vec<String> {
function dissolve_options (line 82) | pub fn dissolve_options(args: &[String]) -> Vec<String> {
function dissolve_options_main (line 99) | pub fn dissolve_options_main() -> Vec<String> {
FILE: src/utils/c_string.rs
function to_carg (line 6) | pub fn to_carg(arg: &str) -> CString {
function to_cargs (line 31) | pub fn to_cargs(args: &[String]) -> Vec<CString> {
FILE: src/utils/clock.rs
function monotonic_time (line 8) | pub fn monotonic_time() -> Duration {
function get_epochseconds (line 39) | pub fn get_epochseconds() -> String {
function get_epochrealtime (line 44) | pub fn get_epochrealtime() -> String {
FILE: src/utils/directory.rs
function files (line 10) | pub fn files(dir: &str) -> Vec<String> {
function globstar (line 23) | fn globstar(dir: &str) -> Vec<String> {
function glob (line 56) | pub fn glob(dir: &str, pattern: &str, shopts: &Options) -> Vec<String> {
FILE: src/utils/exit.rs
function normal (line 8) | pub fn normal(core: &mut ShellCore) -> ! {
function run_script (line 15) | fn run_script(core: &mut ShellCore) {
function arg_list_too_long (line 47) | pub fn arg_list_too_long(command_name: &str, core: &mut ShellCore) -> ! {
function permission_denied (line 52) | pub fn permission_denied(command_name: &str, core: &mut ShellCore) -> ! {
function not_found (line 57) | pub fn not_found(command_name: &str, core: &mut ShellCore) -> ! {
function internal (line 62) | pub fn internal(s: &str) -> ! {
function check_e_option (line 66) | pub fn check_e_option(core: &mut ShellCore) {
FILE: src/utils/file.rs
function oss_to_name (line 11) | pub fn oss_to_name(oss: &OsString) -> String {
function buf_to_name (line 15) | pub fn buf_to_name(path: &Path) -> String {
function search_command (line 19) | pub fn search_command(command: &str) -> Option<String> {
function make_absolute_path (line 33) | pub fn make_absolute_path(core: &mut ShellCore, path_str: &str) -> PathB...
function make_canonical_path (line 63) | pub fn make_canonical_path(core: &mut ShellCore, path_str: &str) -> Path...
FILE: src/utils/file_check.rs
function exists (line 26) | pub fn exists(name: &str) -> bool {
function is_regular_file (line 35) | pub fn is_regular_file(name: &str) -> bool {
function is_dir (line 39) | pub fn is_dir(name: &str) -> bool {
function metadata_comp (line 43) | pub fn metadata_comp(left: &str, right: &str, tp: &str) -> bool {
function metadata_check (line 59) | pub fn metadata_check(name: &str, tp: &str) -> bool {
function is_symlink (line 96) | pub fn is_symlink(name: &str) -> bool {
function is_readable (line 100) | pub fn is_readable(name: &str) -> bool {
function is_executable (line 104) | pub fn is_executable(name: &str) -> bool {
function is_writable (line 108) | pub fn is_writable(name: &str) -> bool {
function is_tty (line 112) | pub fn is_tty(fd: RawFd) -> bool {
function is_tty_str (line 116) | pub fn is_tty_str(name: &str) -> bool {
FILE: src/utils/glob.rs
type GlobElem (line 9) | pub enum GlobElem {
type MetaChar (line 17) | pub enum MetaChar {
function parse_and_compare (line 23) | pub fn parse_and_compare(word: &str, pattern: &str, extglob: bool) -> bo...
function compare (line 28) | pub fn compare(word: &str, pattern: &[GlobElem]) -> bool {
function longest_match_length (line 34) | pub fn longest_match_length(word: &str, pattern: &[GlobElem]) -> usize {
function shortest_match_length (line 43) | pub fn shortest_match_length(word: &str, pattern: &[GlobElem]) -> usize {
function parse (line 52) | pub fn parse(pattern: &str, extglob: bool) -> Vec<GlobElem> {
FILE: src/utils/glob/comparator.rs
function shave_word (line 8) | pub fn shave_word(word: &str, pattern: &[GlobElem]) -> Vec<String> {
function shave (line 14) | pub fn shave(candidates: &mut Vec<String>, w: &GlobElem) {
function normal (line 25) | fn normal(cands: &mut Vec<String>, s: &str) {
function question (line 32) | fn question(cands: &mut Vec<String>) {
function asterisk (line 40) | fn asterisk(cands: &mut Vec<String>) {
function one_of (line 56) | fn one_of(cands: &mut Vec<String>, cs: &[MetaChar], not_inv: bool) {
function compare_head (line 72) | fn compare_head(cand: &str, c: &MetaChar) -> bool {
function range_check (line 81) | fn range_check(from: char, to: char, c: char) -> bool {
function charclass_check (line 91) | fn charclass_check(cls: &str, c: char) -> bool {
FILE: src/utils/glob/extglob.rs
function shave (line 9) | pub fn shave(cands: &mut Vec<String>, prefix: char, patterns: &[String]) {
function question (line 20) | fn question(cands: &mut Vec<String>, patterns: &[String]) {
function zero_or_more (line 32) | fn zero_or_more(cands: &mut Vec<String>, patterns: &[String]) {
function more_than_zero (line 49) | fn more_than_zero(cands: &mut Vec<String>, patterns: &[String]) {
function once (line 67) | fn once(cands: &mut Vec<String>, patterns: &[String]) {
function not (line 79) | fn not(cands: &mut Vec<String>, patterns: &[String]) {
function once_exact_match (line 91) | fn once_exact_match(cand: &str, patterns: &[String]) -> bool {
function scan (line 97) | pub fn scan(remaining: &str) -> (usize, Option<GlobElem>) {
function make_prefix_strings (line 157) | fn make_prefix_strings(s: &str) -> Vec<String> {
FILE: src/utils/glob/parser.rs
function eat_one_char (line 6) | fn eat_one_char(pattern: &mut String, ans: &mut Vec<GlobElem>) -> bool {
function eat_escaped_char (line 14) | fn eat_escaped_char(pattern: &mut String, ans: &mut Vec<GlobElem>) -> bo...
function cut_charclass (line 31) | fn cut_charclass(pattern: &mut String) -> Option<MetaChar> {
function cut_metachar (line 44) | fn cut_metachar(pattern: &mut String) -> Option<MetaChar> {
function eat_bracket (line 85) | fn eat_bracket(pattern: &mut String, ans: &mut Vec<GlobElem>) -> bool {
function eat_extglob (line 112) | fn eat_extglob(pattern: &mut String, ans: &mut Vec<GlobElem>) -> bool {
function eat_chars (line 122) | fn eat_chars(pattern: &mut String, ans: &mut Vec<GlobElem>) -> bool {
function parse (line 140) | pub fn parse(pattern: &str, extglob: bool) -> Vec<GlobElem> {
function consume (line 162) | fn consume(remaining: &mut String, cutpos: usize) -> String {
FILE: src/utils/restricted_shell.rs
function check (line 8) | pub fn check(db: &mut DataBase, name: &str, value: &Option<Vec<String>>)...
function rsh_cmd_check (line 23) | fn rsh_cmd_check(cmds: &[String]) -> Result<(), ExecError> {
FILE: src/utils/splitter.rs
function split (line 4) | pub fn split(sw: &str, ifs: &str, prev_char: Option<char>) -> Vec<(Strin...
function scanner_blank (line 17) | fn scanner_blank(s: &str, blank: &[char]) -> usize {
function scanner_ifs_blank (line 38) | fn scanner_ifs_blank(s: &str, blank: &[char], delim: &[char]) -> usize {
function split_str_special (line 63) | fn split_str_special(s: &str, ifs: &str, prev_char: Option<char>) -> Vec...
function split_str_normal (line 112) | fn split_str_normal(s: &str, ifs: &str) -> Vec<(String, bool)> {
function scanner_word (line 137) | fn scanner_word(s: &str, ifs: &str) -> usize {
Condensed preview — 191 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (1,058K chars).
[
{
"path": ".github/workflows/macos.yml",
"chars": 541,
"preview": "name: macos-latest\n\non:\n push:\n branches: [ main, alpha, beta, sd/* ]\n paths: ['src/**', 'test/**', '!README.md' "
},
{
"path": ".github/workflows/ubuntu.yml",
"chars": 470,
"preview": "name: ubuntu-latest\n\non:\n push:\n branches: [ main, alpha, beta, sd/* ]\n paths: ['src/**', 'test/**', '!README.md'"
},
{
"path": ".gitignore",
"chars": 339,
"preview": "# Generated by Cargo\n# will have compiled files and executables\n/target/\n\n# Remove Cargo.lock from gitignore if creating"
},
{
"path": ".sushrc",
"chars": 1411,
"preview": "case $- in\n *i*) ;;\n *) return;;\nesac\n\ncase \"$TERM\" in\n xterm-color|*-256color) color_prompt=yes;;\nesac\n\nbuil"
},
{
"path": "Cargo.toml",
"chars": 1759,
"preview": "[package]\nname = \"sush\"\nversion = \"1.2.7\"\nedition = \"2024\"\n\n# See more keys and their definitions at https://doc.rust-la"
},
{
"path": "LICENSE",
"chars": 1520,
"preview": "BSD 3-Clause License\n\nCopyright (c) 2024, Ryuichi Ueda\nAll rights reserved.\n\nRedistribution and use in source and binary"
},
{
"path": "README.md",
"chars": 13209,
"preview": "# Sushi shell (a.k.a. 🍣 Sush): a Bash clone shell implemented in Rust\n\nformer name: Rusty Bash\n\n[\n\n## c"
},
{
"path": "error",
"chars": 2622,
"preview": "./test_fixed.bash\n./test_fixed.bash\n./test_fixed.bash\n./test_fixed.bash\n./test_fixed.bash\n./test_fixed.bash\n./test_fixed"
},
{
"path": "i18n/ar.ftl",
"chars": 11891,
"preview": "license = ترخيص\nversion = إصدار\n\nusage = Usage: sushi [LONG OPTIONS] [OPTIONS] [SCRIPT] [ARGS]\n\noptions =\n Options:\n "
},
{
"path": "i18n/da.ftl",
"chars": 13142,
"preview": "license = Licens\nversion = version\n\nusage = Usage: sushi [LONG OPTIONS] [OPTIONS] [SCRIPT] [ARGS]\n\noptions =\n Options"
},
{
"path": "i18n/de.ftl",
"chars": 12017,
"preview": "license = Lizenz\nversion = Version\n\nusage = Usage: sushi [LONG OPTIONS] [OPTIONS] [SCRIPT] [ARGS]\n\noptions =\n Options"
},
{
"path": "i18n/el.ftl",
"chars": 12009,
"preview": "license = Άδεια\nversion = έκδοση\n\nusage = Usage: sushi [LONG OPTIONS] [OPTIONS] [SCRIPT] [ARGS]\n\noptions =\n Options:\n"
},
{
"path": "i18n/en.ftl",
"chars": 11944,
"preview": "license = License\nversion = version\n\nusage = Usage: sushi [LONG OPTIONS] [OPTIONS] [SCRIPT] [ARGS]\n\noptions =\n Option"
},
{
"path": "i18n/es.ftl",
"chars": 12008,
"preview": "license = Licencia\nversion = versión\n\nusage = Usage: sushi [LONG OPTIONS] [OPTIONS] [SCRIPT] [ARGS]\n\noptions =\n Optio"
},
{
"path": "i18n/fi.ftl",
"chars": 11938,
"preview": "license = Lisenssi\nversion = versio\n\nusage = Usage: sushi [LONG OPTIONS] [OPTIONS] [SCRIPT] [ARGS]\n\noptions =\n Option"
},
{
"path": "i18n/fr.ftl",
"chars": 12006,
"preview": "license = Licence\nversion = version\n\nusage = Usage: sushi [LONG OPTIONS] [OPTIONS] [SCRIPT] [ARGS]\n\noptions =\n Option"
},
{
"path": "i18n/hi.ftl",
"chars": 11935,
"preview": "license = लाइसेंस\nversion = संस्करण\n\nusage = Usage: sushi [LONG OPTIONS] [OPTIONS] [SCRIPT] [ARGS]\n\noptions =\n Option"
},
{
"path": "i18n/it.ftl",
"chars": 12001,
"preview": "License = Licenza\nversion = versione\n\nusage = Usage: sushi [LONG OPTIONS] [OPTIONS] [SCRIPT] [ARGS]\n\noptions =\n Optio"
},
{
"path": "i18n/ja.ftl",
"chars": 11750,
"preview": "license = ライセンス\nversion = バージョン\n\nusage = Usage: sushi [LONG OPTIONS] [OPTIONS] [SCRIPT] [ARGS]\n\noptions =\n Options:\n "
},
{
"path": "i18n/ko.ftl",
"chars": 11759,
"preview": "License = 라이선스\nversion = 버전\n\nusage = Usage: sushi [LONG OPTIONS] [OPTIONS] [SCRIPT] [ARGS]\n\noptions =\n Options:\n "
},
{
"path": "i18n/nl.ftl",
"chars": 11978,
"preview": "license = Licentie\nversion = versie\n\nusage = Usage: sushi [LONG OPTIONS] [OPTIONS] [SCRIPT] [ARGS]\n\noptions =\n Option"
},
{
"path": "i18n/no.ftl",
"chars": 11996,
"preview": "license = Lisens\nversion = versjon\n\nusage = Usage: sushi [LONG OPTIONS] [OPTIONS] [SCRIPT] [ARGS]\n\noptions =\n Options"
},
{
"path": "i18n/pl.ftl",
"chars": 11998,
"preview": "license = Licencja\nversion = wersja\n\nusage = Usage: sushi [LONG OPTIONS] [OPTIONS] [SCRIPT] [ARGS]\n\noptions =\n Option"
},
{
"path": "i18n/pt.ftl",
"chars": 12005,
"preview": "license = Licença\nversion = versão\n\nusage = Usage: sushi [LONG OPTIONS] [OPTIONS] [SCRIPT] [ARGS]\n\noptions =\n Options"
},
{
"path": "i18n/ru.ftl",
"chars": 12038,
"preview": "license = Лицензия\nversion = версия\n\nusage = Usage: sushi [LONG OPTIONS] [OPTIONS] [SCRIPT] [ARGS]\n\noptions =\n Option"
},
{
"path": "i18n/sl.ftl",
"chars": 11990,
"preview": "license = Licenca\nversion = različica\n\nusage = Usage: sushi [LONG OPTIONS] [OPTIONS] [SCRIPT] [ARGS]\n\noptions =\n Opti"
},
{
"path": "i18n/sv.ftl",
"chars": 11993,
"preview": "license = Licens\nversion = version\n\nusage = Usage: sushi [LONG OPTIONS] [OPTIONS] [SCRIPT] [ARGS]\n\noptions =\n Options"
},
{
"path": "i18n/sw.ftl",
"chars": 11954,
"preview": "license = Leseni\nversion = toleo\n\nusage = Usage: sushi [LONG OPTIONS] [OPTIONS] [SCRIPT] [ARGS]\n\noptions =\n Options:\n"
},
{
"path": "i18n/uk.ftl",
"chars": 12005,
"preview": "license = Ліцензія\nversion = версія\n\nusage = Usage: sushi [LONG OPTIONS] [OPTIONS] [SCRIPT] [ARGS]\n\noptions =\n Option"
},
{
"path": "i18n/zh.ftl",
"chars": 11689,
"preview": "license = 授權\nversion = 版本\n\nusage = Usage: sushi [LONG OPTIONS] [OPTIONS] [SCRIPT] [ARGS]\n\noptions =\n Options:\n "
},
{
"path": "src/core/builtins/alias.rs",
"chars": 1523,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::"
},
{
"path": "src/core/builtins/caller.rs",
"chars": 1453,
"preview": "//SPDX-FileCopyrightText: 2025 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::"
},
{
"path": "src/core/builtins/cd.rs",
"chars": 1837,
"preview": "//SPDX-FileCopyrightText: 2023 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-FileCopyrightText: 2023 @caro@mi.shellgei.org"
},
{
"path": "src/core/builtins/command.rs",
"chars": 4019,
"preview": "//SPDX-FileCopyrightText: 2025 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::"
},
{
"path": "src/core/builtins/compgen.rs",
"chars": 12408,
"preview": "//SPDX-FileCopyrightText: 2023 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::"
},
{
"path": "src/core/builtins/complete.rs",
"chars": 5718,
"preview": "//SPDX-FileCopyrightText: 2023 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::"
},
{
"path": "src/core/builtins/compopt.rs",
"chars": 3295,
"preview": "//SPDX-FileCopyrightText: 2023 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::"
},
{
"path": "src/core/builtins/echo.rs",
"chars": 1877,
"preview": "//SPDX-FileCopyrightText: 2025 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::"
},
{
"path": "src/core/builtins/exec.rs",
"chars": 1524,
"preview": "//SPDX-FileCopyrightText: 2025 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::"
},
{
"path": "src/core/builtins/getopts.rs",
"chars": 6318,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::"
},
{
"path": "src/core/builtins/hash.rs",
"chars": 1354,
"preview": "//SPDX-FileCopyrightText: 2025 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::"
},
{
"path": "src/core/builtins/history.rs",
"chars": 1206,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::"
},
{
"path": "src/core/builtins/job_commands.rs",
"chars": 17587,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse libc;\nu"
},
{
"path": "src/core/builtins/loop_control.rs",
"chars": 2181,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::"
},
{
"path": "src/core/builtins/option.rs",
"chars": 9430,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::"
},
{
"path": "src/core/builtins/printf.rs",
"chars": 12289,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::"
},
{
"path": "src/core/builtins/pwd.rs",
"chars": 1059,
"preview": "//SPDX-FileCopyrightText: 2023 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-FileCopyrightText: 2023 @caro@mi.shellgei.org"
},
{
"path": "src/core/builtins/read.rs",
"chars": 6265,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::"
},
{
"path": "src/core/builtins/source.rs",
"chars": 2166,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::"
},
{
"path": "src/core/builtins/trap.rs",
"chars": 3542,
"preview": "//SPDX-FileCopyrightText: 2023 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-FileCopyrightText: 2023 @caro@mi.shellgei.org"
},
{
"path": "src/core/builtins/type_.rs",
"chars": 4786,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-FileCopyrightText: 2023 @caro@mi.shellgei.org"
},
{
"path": "src/core/builtins/ulimit.rs",
"chars": 5912,
"preview": "//SPDX-FileCopyrightText: 2025 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::"
},
{
"path": "src/core/builtins/unset.rs",
"chars": 4589,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::"
},
{
"path": "src/core/builtins/variable/print.rs",
"chars": 2730,
"preview": "//SPDX-FileCopyrightText: 2025 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::"
},
{
"path": "src/core/builtins/variable/set_value.rs",
"chars": 5252,
"preview": "//SPDX-FileCopyrightText: 2025 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::"
},
{
"path": "src/core/builtins/variable.rs",
"chars": 3149,
"preview": "//SPDX-FileCopyrightText: 2025 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-License-Identifier: BSD-3-Clause\n\nmod print;\n"
},
{
"path": "src/core/builtins.rs",
"chars": 10127,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-FileCopyrightText: 2023 @caro@mi.shellgei.org"
},
{
"path": "src/core/completion.rs",
"chars": 535,
"preview": "//SPDXFileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDXLicense-Identifier: BSD-3-Clause\n\nuse std::collec"
},
{
"path": "src/core/database/data/array.rs",
"chars": 6639,
"preview": "//SPDXFileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDXLicense-Identifier: BSD-3-Clause\n\nuse super::{cas"
},
{
"path": "src/core/database/data/array_int.rs",
"chars": 7271,
"preview": "//SPDXFileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDXLicense-Identifier: BSD-3-Clause\n\nuse super::arra"
},
{
"path": "src/core/database/data/array_ondemand.rs",
"chars": 3742,
"preview": "//SPDXFileCopyrightText: 2025 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDXLicense-Identifier: BSD-3-Clause\n\nuse crate::util"
},
{
"path": "src/core/database/data/assoc.rs",
"chars": 5591,
"preview": "//SPDXFileCopyrightText: 2025 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDXLicense-Identifier: BSD-3-Clause\n\nuse super::{cas"
},
{
"path": "src/core/database/data/assoc_int.rs",
"chars": 5692,
"preview": "//SPDXFileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDXLicense-Identifier: BSD-3-Clause\n\nuse super::asso"
},
{
"path": "src/core/database/data/random.rs",
"chars": 1649,
"preview": "//SPDXFileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDXLicense-Identifier: BSD-3-Clause\n\nuse super::Data"
},
{
"path": "src/core/database/data/seconds.rs",
"chars": 1604,
"preview": "//SPDXFileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDXLicense-Identifier: BSD-3-Clause\n\nuse super::Data"
},
{
"path": "src/core/database/data/single.rs",
"chars": 3155,
"preview": "//SPDXFileCopyrightText: 2025 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDXLicense-Identifier: BSD-3-Clause\n\nuse super::{cas"
},
{
"path": "src/core/database/data/single_int.rs",
"chars": 2639,
"preview": "//SPDXFileCopyrightText: 2025 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDXLicense-Identifier: BSD-3-Clause\n\nuse super::sing"
},
{
"path": "src/core/database/data/single_ondemand.rs",
"chars": 1109,
"preview": "//SPDXFileCopyrightText: 2025 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDXLicense-Identifier: BSD-3-Clause\n\nuse super::{Dat"
},
{
"path": "src/core/database/data/srandom.rs",
"chars": 1092,
"preview": "//SPDXFileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDXLicense-Identifier: BSD-3-Clause\n\nuse super::Data"
},
{
"path": "src/core/database/data/uninit.rs",
"chars": 3119,
"preview": "//SPDXFileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDXLicense-Identifier: BSD-3-Clause\n\nuse super::Data"
},
{
"path": "src/core/database/data.rs",
"chars": 6664,
"preview": "//SPDXFileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDXLicense-Identifier: BSD-3-Clause\n\npub mod array;\n"
},
{
"path": "src/core/database/database_appenders.rs",
"chars": 2725,
"preview": "//SPDXFileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDXLicense-Identifier: BSD-3-Clause\n\nuse std::env;\nu"
},
{
"path": "src/core/database/database_checkers.rs",
"chars": 3564,
"preview": "//SPDXFileCopyrightText: 2025 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDXLicense-Identifier: BSD-3-Clause\n\nuse crate::core"
},
{
"path": "src/core/database/database_getters.rs",
"chars": 8535,
"preview": "//SPDXFileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDXLicense-Identifier: BSD-3-Clause\n\nuse super::data"
},
{
"path": "src/core/database/database_initializers.rs",
"chars": 4466,
"preview": "//SPDXFileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDXLicense-Identifier: BSD-3-Clause\n\nuse crate::core"
},
{
"path": "src/core/database/database_print.rs",
"chars": 1415,
"preview": "//SPDXFileCopyrightText: 2025 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDXLicense-Identifier: BSD-3-Clause\n\nuse super::{Dat"
},
{
"path": "src/core/database/database_setters/database_setter_backend.rs",
"chars": 3354,
"preview": "//SPDXFileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDXLicense-Identifier: BSD-3-Clause\n\nuse std::env;\nu"
},
{
"path": "src/core/database/database_setters.rs",
"chars": 5615,
"preview": "//SPDXFileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDXLicense-Identifier: BSD-3-Clause\n\nmod database_se"
},
{
"path": "src/core/database/database_unsetters.rs",
"chars": 3576,
"preview": "//SPDXFileCopyrightText: 2025 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDXLicense-Identifier: BSD-3-Clause\n\nuse crate::core"
},
{
"path": "src/core/database.rs",
"chars": 2553,
"preview": "//SPDXFileCopyrightText: 2025 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDXLicense-Identifier: BSD-3-Clause\n\n//The methods o"
},
{
"path": "src/core/file_descs.rs",
"chars": 3247,
"preview": "//SPDXFileCopyrightText: 2025 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDXLicense-Identifier: BSD-3-Clause\n\nextern crate li"
},
{
"path": "src/core/history.rs",
"chars": 2363,
"preview": "//SPDXFileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDXLicense-Identifier: BSD-3-Clause\n\nuse crate::Shel"
},
{
"path": "src/core/jobtable.rs",
"chars": 10044,
"preview": "//SPDX-FileCopyrightText: 2023 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::er"
},
{
"path": "src/core/options.rs",
"chars": 5375,
"preview": "//SPDXFileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDXLicense-Identifier: BSD-3-Clause\n\nuse crate::erro"
},
{
"path": "src/core.rs",
"chars": 10330,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-FileCopyrightText: 2024 @caro@mi.shellgei.org\n/"
},
{
"path": "src/elements/ansi_c_str.rs",
"chars": 10147,
"preview": "//SPDX-FileCopyrightText: 2025 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::"
},
{
"path": "src/elements/command/arithmetic.rs",
"chars": 3061,
"preview": "//SPDX-FileCopyrightText: 2022 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::{C"
},
{
"path": "src/elements/command/brace.rs",
"chars": 2059,
"preview": "//SPDX-FileCopyrightText: 2022 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::{C"
},
{
"path": "src/elements/command/case.rs",
"chars": 6502,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::"
},
{
"path": "src/elements/command/coproc.rs",
"chars": 7020,
"preview": "//SPDX-FileCopyrightText: 2025 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse libc;\nuse"
},
{
"path": "src/elements/command/for.rs",
"chars": 8879,
"preview": "//SPDX-FileCopyrightText: 2022 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::{F"
},
{
"path": "src/elements/command/function_def.rs",
"chars": 6318,
"preview": "//SPDX-FileCopyrightText: 2022 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::{C"
},
{
"path": "src/elements/command/if.rs",
"chars": 3686,
"preview": "//SPDX-FileCopyrightText: 2023 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::"
},
{
"path": "src/elements/command/paren.rs",
"chars": 3400,
"preview": "//SPDX-FileCopyrightText: 2022 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::{C"
},
{
"path": "src/elements/command/repeat.rs",
"chars": 2391,
"preview": "//SPDX-FileCopyrightText: 2022 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::{C"
},
{
"path": "src/elements/command/simple/alias.rs",
"chars": 1620,
"preview": "//SPDX-FileCopyrightText: 2025 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::Si"
},
{
"path": "src/elements/command/simple/hash.rs",
"chars": 1276,
"preview": "//SPDX-FileCopyrightText: 2025 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::Si"
},
{
"path": "src/elements/command/simple/parser.rs",
"chars": 3800,
"preview": "//SPDX-FileCopyrightText: 2025 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::{a"
},
{
"path": "src/elements/command/simple/run_internal.rs",
"chars": 2612,
"preview": "//SPDX-FileCopyrightText: 2025 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::Si"
},
{
"path": "src/elements/command/simple.rs",
"chars": 7847,
"preview": "//SPDX-FileCopyrightText: 2022 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\npub mod alias"
},
{
"path": "src/elements/command/test.rs",
"chars": 2680,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::{C"
},
{
"path": "src/elements/command/while.rs",
"chars": 3208,
"preview": "//SPDX-FileCopyrightText: 2022 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::{C"
},
{
"path": "src/elements/command.rs",
"chars": 7824,
"preview": "//SPDX-FileCopyrightText: 2023 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-License-Identifier: BSD-3-Clause\n\npub mod ari"
},
{
"path": "src/elements/expr/arithmetic/calculator.rs",
"chars": 6399,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::el"
},
{
"path": "src/elements/expr/arithmetic/elem/float.rs",
"chars": 2988,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::va"
},
{
"path": "src/elements/expr/arithmetic/elem/int.rs",
"chars": 5728,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::va"
},
{
"path": "src/elements/expr/arithmetic/elem/ternary.rs",
"chars": 1404,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::su"
},
{
"path": "src/elements/expr/arithmetic/elem/variable.rs",
"chars": 5895,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::su"
},
{
"path": "src/elements/expr/arithmetic/elem.rs",
"chars": 5483,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\npub mod float"
},
{
"path": "src/elements/expr/arithmetic/parser.rs",
"chars": 11325,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::el"
},
{
"path": "src/elements/expr/arithmetic/rev_polish.rs",
"chars": 1434,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::el"
},
{
"path": "src/elements/expr/arithmetic.rs",
"chars": 7404,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nmod calculato"
},
{
"path": "src/elements/expr/conditional/elem.rs",
"chars": 1593,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::Co"
},
{
"path": "src/elements/expr/conditional/parser.rs",
"chars": 5877,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::{C"
},
{
"path": "src/elements/expr/conditional.rs",
"chars": 13732,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\npub mod elem;"
},
{
"path": "src/elements/expr.rs",
"chars": 148,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\npub mod arith"
},
{
"path": "src/elements/io/pipe.rs",
"chars": 2881,
"preview": "//SPDX-FileCopyrightText: 2023 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::er"
},
{
"path": "src/elements/io/redirect.rs",
"chars": 12936,
"preview": "//SPDX-FileCopyrightText: 2023 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::el"
},
{
"path": "src/elements/io.rs",
"chars": 494,
"preview": "//SPDX-FileCopyrightText: 2022 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\npub mod pipe;"
},
{
"path": "src/elements/job.rs",
"chars": 8384,
"preview": "//SPDX-FileCopyrightText: 2025 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::pi"
},
{
"path": "src/elements/pipeline.rs",
"chars": 6929,
"preview": "//SPDX-FileCopyrightText: 2022 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::co"
},
{
"path": "src/elements/script.rs",
"chars": 5033,
"preview": "//SPDX-FileCopyrightText: 2022-2024 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse su"
},
{
"path": "src/elements/substitution/array.rs",
"chars": 4130,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::su"
},
{
"path": "src/elements/substitution/subscript.rs",
"chars": 2827,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::el"
},
{
"path": "src/elements/substitution/value.rs",
"chars": 6540,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::ar"
},
{
"path": "src/elements/substitution/variable.rs",
"chars": 6880,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::co"
},
{
"path": "src/elements/substitution.rs",
"chars": 8397,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\npub mod array"
},
{
"path": "src/elements/subword/ansi_c_quoted.rs",
"chars": 1709,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::Su"
},
{
"path": "src/elements/subword/arithmetic.rs",
"chars": 1285,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::el"
},
{
"path": "src/elements/subword/braced_param/optional_operation/case_conv.rs",
"chars": 4116,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::su"
},
{
"path": "src/elements/subword/braced_param/optional_operation/escape.rs",
"chars": 3077,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::su"
},
{
"path": "src/elements/subword/braced_param/optional_operation/remove.rs",
"chars": 3832,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::su"
},
{
"path": "src/elements/subword/braced_param/optional_operation/replace.rs",
"chars": 6700,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::su"
},
{
"path": "src/elements/subword/braced_param/optional_operation/substr.rs",
"chars": 6604,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::su"
},
{
"path": "src/elements/subword/braced_param/optional_operation/value_check.rs",
"chars": 6218,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::su"
},
{
"path": "src/elements/subword/braced_param/optional_operation.rs",
"chars": 2268,
"preview": "//SPDX-FileCopyrightText: 2025 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nmod case_conv"
},
{
"path": "src/elements/subword/braced_param/parse.rs",
"chars": 3131,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::op"
},
{
"path": "src/elements/subword/braced_param.rs",
"chars": 11398,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nmod optional_"
},
{
"path": "src/elements/subword/command_sub.rs",
"chars": 4213,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::el"
},
{
"path": "src/elements/subword/double_quoted.rs",
"chars": 7082,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::{B"
},
{
"path": "src/elements/subword/escaped_char.rs",
"chars": 1382,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::el"
},
{
"path": "src/elements/subword/ext_glob.rs",
"chars": 5594,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::{B"
},
{
"path": "src/elements/subword/file_input.rs",
"chars": 2717,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::el"
},
{
"path": "src/elements/subword/filler.rs",
"chars": 519,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::Su"
},
{
"path": "src/elements/subword/parameter.rs",
"chars": 2068,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::Su"
},
{
"path": "src/elements/subword/paren.rs",
"chars": 4124,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::{B"
},
{
"path": "src/elements/subword/process_sub.rs",
"chars": 2674,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::el"
},
{
"path": "src/elements/subword/simple.rs",
"chars": 1034,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::Su"
},
{
"path": "src/elements/subword/single_quoted.rs",
"chars": 1467,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::Su"
},
{
"path": "src/elements/subword/varname.rs",
"chars": 930,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::el"
},
{
"path": "src/elements/subword.rs",
"chars": 7807,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\npub mod ansi_"
},
{
"path": "src/elements/word/brace_expansion.rs",
"chars": 9495,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::el"
},
{
"path": "src/elements/word/path_expansion.rs",
"chars": 1583,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::co"
},
{
"path": "src/elements/word/split.rs",
"chars": 1940,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::el"
},
{
"path": "src/elements/word/substitution.rs",
"chars": 1358,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::el"
},
{
"path": "src/elements/word/tilde_expansion.rs",
"chars": 3177,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::el"
},
{
"path": "src/elements/word.rs",
"chars": 9804,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nmod brace_exp"
},
{
"path": "src/elements.rs",
"chars": 297,
"preview": "//SPDX-FileCopyrightText: 2022 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\npub mod ansi_"
},
{
"path": "src/error/arith.rs",
"chars": 2161,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\n#[derive(Debu"
},
{
"path": "src/error/exec.rs",
"chars": 5314,
"preview": "//SPDX-FileCopyrightText: 2025 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::er"
},
{
"path": "src/error/input.rs",
"chars": 661,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\n#[derive(Debu"
},
{
"path": "src/error/parse.rs",
"chars": 1191,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::in"
},
{
"path": "src/error.rs",
"chars": 1030,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\npub mod arith"
},
{
"path": "src/feeder/scanner.rs",
"chars": 12885,
"preview": "//SPDX-FileCopyrightText: 2023 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::Fe"
},
{
"path": "src/feeder/terminal/completion.rs",
"chars": 14692,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::co"
},
{
"path": "src/feeder/terminal/key.rs",
"chars": 3051,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::Te"
},
{
"path": "src/feeder/terminal.rs",
"chars": 13133,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nmod completio"
},
{
"path": "src/feeder.rs",
"chars": 5553,
"preview": "//SPDX-FileCopyrightText: 2022 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nmod scanner;\n"
},
{
"path": "src/i18n.rs",
"chars": 6754,
"preview": "//SPDX-FileCopyrightText: 2022 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\n///// Interna"
},
{
"path": "src/main.rs",
"chars": 8381,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nmod core;\nmod"
},
{
"path": "src/main_c_option.rs",
"chars": 1429,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::co"
},
{
"path": "src/proc_ctrl.rs",
"chars": 6270,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::er"
},
{
"path": "src/signal.rs",
"chars": 2890,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nextern crate "
},
{
"path": "src/utils/arg.rs",
"chars": 2824,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\npub fn has_op"
},
{
"path": "src/utils/c_string.rs",
"chars": 1126,
"preview": "//SPDX-FileCopyrightText: 2025 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse std::ff"
},
{
"path": "src/utils/clock.rs",
"chars": 1361,
"preview": "//SPDX-FileCopyrightText: 2024 @caro@mi.shellgei.org\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse nix::time;\nuse nix::ti"
},
{
"path": "src/utils/directory.rs",
"chars": 2504,
"preview": "//SPDX-FileCopyrightText: 2025 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::"
},
{
"path": "src/utils/exit.rs",
"chars": 1812,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::{F"
},
{
"path": "src/utils/file.rs",
"chars": 2166,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-FileCopyrightText: 2023 @caro@mi.shellgei.org"
},
{
"path": "src/utils/file_check.rs",
"chars": 3243,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda ryuichiueda@gmail.com\n//SPDX-License-Identifier: BSD-3-Clause\n\nextern crate "
},
{
"path": "src/utils/glob/comparator.rs",
"chars": 3404,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::"
},
{
"path": "src/utils/glob/extglob.rs",
"chars": 4105,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::"
},
{
"path": "src/utils/glob/parser.rs",
"chars": 4477,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse super::"
},
{
"path": "src/utils/glob.rs",
"chars": 1286,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-License-Identifier: BSD-3-Clause\n\nmod compara"
},
{
"path": "src/utils/restricted_shell.rs",
"chars": 1012,
"preview": "//SPDX-FileCopyrightText: 2025 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-License-Identifier: BSD-3-Clause\n\nuse crate::"
},
{
"path": "src/utils/splitter.rs",
"chars": 3626,
"preview": "//SPDX-FileCopyrightText: 2025 @caro@mi.shellgei.org\n//SPDX-License-Identifier: BSD-3-Clause\n\npub fn split(sw: &str, ifs"
},
{
"path": "src/utils.rs",
"chars": 6689,
"preview": "//SPDX-FileCopyrightText: 2024 Ryuichi Ueda <ryuichiueda@gmail.com>\n//SPDX-License-Identifier: BSD-3-Clause\n\npub mod arg"
},
{
"path": "test/README",
"chars": 153,
"preview": "Test files are moved to https://github.com/shellgei/rusty_bash_test\nbecause it starts containing test cases from Bash re"
}
]
About this extraction
This page contains the full source code of the shellgei/rusty_bash GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 191 files (981.8 KB), approximately 240.6k tokens, and a symbol index with 1565 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.