Releases: shellgei/rusty_bash
v1.1.0-beta
Additional implementation
- Addition on
printfcommand- added "%x", "%X" as the formatter
- fixed behavior of "%q"
- enabled to repeatedly output when arguments are more than formatters
- support of format by number on "%d", "%s", "%X" (e.g. "%010d")
- Implementation of
letcommand - Support of definition of functions without
()whenfunctionkeyword is used - Implementation of (nearly) accurate behavior of
readandsettowardIFS - Enable to refer positional parameters after
${10} - Implementation of globstar
Full Changelog: v1.0.8...v1.1.0
v1.0.8-beta
Stability enhancement and addition of some features
- Enabled to use here documents and here strings on terminal without fork
- Enabled
readto remove escapes - Enlarged the range of numbers from 32bit to 64bit on the brace expansion
{n..m} - Added
-boption for bash compatibility
Full Changelog: v1.0.6...v1.0.8
v1.0.6
Stability enhancement for bash-completion
- following supports of commands
shopt -po <command>compgen -G <glob pattern>
- crude implementation of followings
- heredocment
- old style command substitution with backquotes
- implovement of codes
- abstraction of the options in braced parameter substitutions
Full Changelog: v1.0.4...v1.0.6
v1.0.5-beta
Support of file completion at redirects
A bug that prevents completions after redirect symbols is fixed. It is a quick fix version. Details will be expleined in v1.0.6.
Full Changelog: v1.0.4...v1.0.5
v1.0.4-beta
Fix for bash-completion (especially for completion on vim)
Known bugs and unimplemented features around bash-completion are removed.
Added Features
- Enabled to give
compgen -Wunexpanded arrays (e.g.compgen -W '"${toks[@]}"') - Fixed a problem when
a=(a ""); set ${a[@]+"${a[@]}"}is executed. In this case, the number of parameters (the value of$#) must be two - Improved the code for expanding
${name/#...}and${name/%...}and implemented a right substitution way toward${name[@]/...},${name[@]/...}, and{name[@]:i:j} - Fixed a bug at the substitution procedure of
B=${name[key]-${name[key]}}whennameis an associative array - Enabled to give arguments to
source - Fixed some bugs
Full Changelog: v1.0.2...v1.0.4
v1.0.3-beta
Fixed bugs on completion for cd command
This is an emergency update. Some bugs remain for vim command
Full Changelog: v1.0.2...v1.0.3
v1.0.2-beta
Support of dynamic load of completion functions in bash-completion
We don't need to load completion functions of git or some commands in .sushrc.
Other improvelments
- Enabled to use
BASH_RESOURCE - Implemented
readonlyandexportas builtin commands - Enabled to use
compgen -A shopt - Enabled to use
nogloboption - Fixed some bugs
For contributions
- We start using the test scripts in the Bash repository according to issue #124 . See this document.
Full Changelog: v1.0.1...v1.0.2
Thank you.
v1.0.1-beta
Enhancement around bash-completion
Some unmatured implementations are fixed.
- Fixed a bug when
--is used aftercd - Fixed a bug at tilde expansion in
compgen -f compopt -o nospaceis actually available.- Enabled to change compopt temporarily
Full Changelog: v1.0.0...v1.0.1
v1.0.0-beta
Update for Git completion scripts in bash-completion
Our shell starts understanding the completion scripts in bash-completion. Here is an example:
How to use
Add the following lines in ~/.sushrc after the line for installing bash-completion.
_completion_loader git
complete -o bashdefault -o default -o nospace -F __git_wrap__git_main git Though completion scripts for Git are automatically loaded in Bash, we have to load them in .sushrc. See .sushrc if you want an example.
Improved parts
As tested with this script, these features are updated.
- End symbols (e.g.
;;) can be omitted beforeesac. ${!name[@]}and${!name[*]}are available.- The getopts command is enabled to understand concatenated options.
- The process substitution
<(...)is supproted. (>(..)is not supported. ) - Some bugs around parameters are fixed.
Full Changelog: v0.11.2...v1.0.0
v0.11.2
Fixed for bash-completion
Some bugs and non-implemented features are fixed. Resultantly, the file completion becomes stable. You can see what are fixed in test/test_fixed.bash.
added or fixed things
- prevented the shell quitting when a non-array parameter is referred as
${a[@]} - fixed a bug when strings containing backslashes are compared as
[[ "a\ b" == "a\ b" ]] - supported
IFSat word splitting - fixed a bug that causes panics when a substitution of parameters like
${a//...}is given - supported
[:space:]at substitutions of parameters - fixed a bug at
${a+...} - fixed a bug around a tilde expansion in
[[ ... ]] - add a temporary patch to
printf ... %q - fixed around regex when a pattern is quoted by double quotations

