- Supports more colors in the prompt.
- upgraded dependency libs.
- Fixed issues run
!sort
inside Vim.
- Git branch name length in PROMPT can be adjusted.
- Fixed an issue of env names start with
_
- Fixed an issue of parenthesis in command:
- e.g.
(echo "foo")
- e.g.
foo="(135)"
- e.g.
- New builtin: unpath
- Fixed a job control issue.
- added multiple-line mode.
- some completion improvements.
- Replaced dep chrono with time.
- due to rustsec/advisory-db#1082
- fixed an escape char
\
handling issue.- e.g.
alias c='printf "\ec"'
got\
char removed.
- e.g.
- added builtin:
vox create
- upgraded some dep-libs for security.
- No changes to previous, just add Cargo.lock into git.
- Fixed a minor prompt render issue.
- No changes, only a version fix for Termux.
- fixed an issue that PATH searching will break when items in it cannot be read due to permissions.
- updated
PATH
initialization.
- updated to use rust edition 2021.
- disable self-defined signal handler by default for safety.
- upgraded dep-libs to latest versions.
- Fixed an issue that captured commands does not got reaped.
- Made cicada more stable from crashing.
- Fixed issues on exhausting opened files
ulimit -n
.
- Fixed a fd leaking issue.
- Established signal handler for SIGCHLD.
- Fixed some issues in job control.
- Refine redirections of aliases.
- Fix & imporve redirections/pipelines for builtins.
- Added new beta builtins: set, minfd.
- fix compiling issue on 32bit systems.
- Make
history -d
shows local date time. - Can add optional
; then
,; do
in heads ofif
,for
,while
in scripting. - Added a new builtin:
read
. - Added here string.
- Fix & improve the builtin
ulimit
.
- The shell now ignores signal SIGQUIT and SIGTSTP.
- Added support of
fg %1
,bg %1
syntax. - Added builtin
ulimit
.
- Fixed pipeline stuck when right hand commands finish first.
- Fixed an cd/pwd issue.
- Fixed an env extension bug introduced in 0.9.13
- Made
$gitbr
prompt item searching parent dirs too.
- cd: Update
$PWD
when changing directory. - Added
history add
sub-command. - Fixed an ENV expension issue.
- show full datetime in output of
history -d
. - Fixed divide by zero panic in arithmetic (e.g.
2 / 0
). - Arithmetic commands change
previous status
too.
- Upgraded some deps.
- Made
HISTORY_DELETE_DUPS=1
as default.
- Updated
rc-file
default path incinfo
. - Fixed glob expansion issue:
ls *.1
- Added more features for builtin
history
.
- Improved error messages for running scripts.
- Fixed issue that
ls ~
does not work. - Fixed filename expansion issue for
2*
. - Updated math arithmetic recognize rule.
- In scripting, test head's status should not be catched.
- Fixed a completion issue like
echo $USER /App<TAB>
. - Upgraded dependency libs.
- Fixed a double expansion issue:
${1,2}-${foo}
. source
can take extra args now.- Recognized new RC file location:
~/.config/cicada/cicadarc
. - Replaced
~/.cicada/
with~/.config/cicada/
. - Fixed issue of not closing pipes when running commands.
- Added functions ability into scripting.
- Fixed alias expansion when using
xargs
:foo | xargs ls
. - Other minor fixes.
- Added
if
,for
,while
expression into cicada scripting ability. - Added new braces range expansion:
{1..10}
. - Fixed a parsing issue for:
alias foo-bar='echo foo bar'
. - Fixed cannot define single-char-long env/variable.
- Added
-l
as an equivalent to--login
. - Replaced dep nom 3.0 with pest.
- Replaced dep time with chrono.
- Fixed redirection issue with
echo foo\>bar
. - Fixed completion issue with
ls \[<TAB>
. - Fixed issues that on Linux some commands sometimes would
STOPPED
just after start. - Support math calculation in sub commands:
echo "hi $(1 + 1)"
.
- Added basic scripting ability.
- Builtin
source
fully implemented. - Removed
include
from rcfile, please usesource
instead. - Added new builtin
alias
,unalias
. - Only login shell loads rcfile.
- Some other bug fixes.
- Made brace expansion behavior align with bash.
- Two more issues fixes on path completion.
- Partly implemented builtin command
source
(RC loading only).
- Wrap prompt when it's too long.
- Replace dep crate
sqlite
withrusqlite
. - Fixed a completion issue for paths include unicode.
- Fixed an alias expansion issue.
- Changed to use Rust 2018.
- Correct behavior of
foo; echo $?
.
- Skip hidden files when expanding
foo/*
. - Support
include
in rc file. - Added completion for ENV.
- Added new prompt item:
$GITBR
.
- Works on escape file names.
- Some improvements on command line parser (escape chars etc).
- Added suport for customizing prompt.
- Fixed issue of finding command in
$PATH
. - Fixed issue of cmds like
(ls)
. - Fixed stuck issue of:
sort < foo.txt
. - Some improvements on history file init.
- Improved path completion on chars needing escape.
- Make command
touch "foo"/bar.txt
works as expected.
- Some enhancement on job control.
- Added builtins
bg
.
- Drop use of
std::process::Command
. - Added job control.
- Added builtins:
fg
,jobs
.
- Fix some minor issues of processes exiting status.
- Updated history item display.
- Added history delete.
- Added completion sub-command feature.
- Fixed
$$
and$?
extension.
- Fixed path completion issue when contains spaces.
- Fixed environment variable manipulating issues.
- Skip from saving into history for commands start with spaces.
- Fixed parser issue on commands like:
mv a\ b xy
. - Fixed issue that when extending globs when file name contains spaces.
- Fixed issue that rm will fail in
touch foo\ bar.txt && rm foo*
.
- Minor updates on
cinfo
. - Fixed a path completion bug.
- Fixed parsing strings like
foo'bar baz'
. - Upgraded linefeed to 0.5.
- Added support for
!!
(the last command string, eg.sudo !!
). - Fixed an issue on glob extending.
- Removed
os_type
from dependency. - Updated
cicada::run()
API (BETA). - Added completion on aliases and builtins.
- Better support for stdio redirection.
- Improved completion on soft links on directories.
- Upgraded linefeed to
0.4.0
. - Removed binding of
history-search-forward
.
- Fixed a glob bug like
ls ../*.md
. - Upgraded
linefeed
to its latest master to fix a cmd line length issue. - Make
Ctrl-D
exit cicada; and added envNO_EXIT_ON_CTRL_D
. - Added
exit
as a built-in. - Extend brace before globbing, for cmds like
echo {a,b,c}*
. - Fixed a line parsing bug on strong quote
'
.
- Renamed lib API
line_to_tokens()
tocmd_to_tokens()
. - Added new lib API
is_valid_input()
.
- Made cicada also a library.
- More info added in
cinfo
command.
- fixed an issue when current dir become not available (e.g. be deleted).
- fixed an issue that commands like
echo "|"
cannot be run. - Let command
echo 'a * b'
does not extend*
. - Added dollar cmd replacement (i.e.
ls -lh $(which bash)
) support. - Aliases now support cmds like
alias test="echo hi && echo yoo"
- rename builtins command
version
tocinfo
. - prehandle command lines from args too.
- fixed a bug of alias expension.
- Fixed an issue that
echo a || echo b
was broken. - Added Env
CICADA_LOG_FILE
.
- Pipelines can be used without spaces:
ls|wc
. it was required to run asls | wc
previously. - Added support
echo $?
andecho $$
.
- Improved cicada's stability.
- Fixed an issue that
echo ''
would crash.
export
now can set multiple envs at onceecho $NON_EXIST
prints empty string now
- Now we can parse following command lines correctly:
export OPENSSL_INCLUDE_DIR=`brew --prefix openssl`/include
echo "`date` and `go version`"
echo `date` and `go version`
- updated logger
- Added
make
completion. - Added
ssh
completion. - Fixed an alias extension issue.