Bash Line Editor―a line editor written in pure Bash with syntax highlighting, auto suggestions, vim modes, etc. for Bash interactive sessions.
Prerequisites
Bash 3.0+ and basic POSIX utilities are required.
Download ble-0.3.4.tar.xz
https://github.com/akinomyoga/ble.sh/releases/download/v0.3.4/ble-0.3.4.tar.xz
# DOWNLOAD with wget
wget https://github.com/akinomyoga/ble.sh/releases/download/v0.3.4/ble-0.3.4.tar.xz
# DOWNLOAD with curl
curl -LO https://github.com/akinomyoga/ble.sh/releases/download/v0.3.4/ble-0.3.4.tar.xz
Trial & Install
# TRIAL
tar xJf ble-0.3.4.tar.xz
source ble-0.3.4/ble.sh
# INSTALL
tar xJf ble-0.3.4.tar.xz -C ~/.local/share/blesh
# Add the following line near the top of ~/.bashrc
[[ $- == *i* ]] && source ~/.local/share/blesh/ble.sh --attach=none
# Add the following line at the end of ~/.bashrc
[[ ${BLE_VERSION-} ]] && ble-attach
bind
emulation in .bashrc (v0.3) 742777e#D1428
1c7786e (master: 98fbc1c)#D1435
#D1436
d40847f (master: bc4735e)builtin eval
#D1438
cc8ca96 (master: 8379d4a)#D1440
b52a798 (master: 4d3c595)sword
(shell words) #D1441
2370bce (master: f923388)kill-forward-logical-line
): fix a bug not deleting newline at the end of the line #D1443
2a8a7f6 (master: 09cf7f1)declare -gA
(reported by 0xC0ncord) #D1470
2f85ed3 (master: 8856a04)ble-reload
(reported by 0xC0ncord) #D1471
422de69 (master: 3cae6e4)ble/util/msleep
): fix hang in Cygwin by swithing from /dev/udp/0.0.0.0/80
to /dev/zero
#D1452
5ace564 (master: d4d718a)[[
keyword #D1454
1d48e79 (master: 69658ef)ble-measure
): work around a locale-dependent decimal point of EPOCHREALTIME
(reported by 3ximus) #D1460
f3833ad (master: 1aa471b)ble/util/msleep
): work around the bash-4.3 bug of read -t
(reported by 3ximus) #D1468
#D1469
70797cf (master: 4ca9b2e)cmd_xmap
after switching the editing mode #D1478
909f461 (master: 8d354c1)#D1479
59ede5c (master: 18bb2d5)#D1483
948a38d (master: 3559658) beb0383 37363be#D1498
6871634 (master: 4bdfdbf)eval() { :; }
, declare() { :; }
are not treated as function definition #D1529
6c1d295 (master: b429095)#D1531
d4b0700 (master: 24ea379)complete -C prog
(reported by Archehandoro) #D1535
47b3ade (master: 026432d)bind '"seq":"key"'
causes a loop macro bind -s key key
(reported by thanosz) #D1536
e2a502d (master: ea05fc5). ble.sh --{test,update,clear-cache}
in intereactive sessions #D1555
500915f (master: bbc2a90)#D1558
9372670bash ble.sh --test
(fixup 500915f (master: bbc2a90)) #D1558
641238able.sh
inside subshells #D1554
500915f (master: bbc2a90)declare -gA
by separating assignment #D1567
40827ef (master: 2408a20)"${scal[@]/xxx}"
#D1570
7e10cf4 (master: 24f79da)#D1579
6987ae8 (master: 301d40f)CR => LF
conversion (reported by alborotogarcia) #D1587
2651c8e (master: 8d6da16)LC_COLLATE=C
#D1588
94cc9d2 (master: e87ac21)layer:region
): fix blocked lower-layer changes without selection changes #D1596
d40d42a (master: 5ede3c6)auto-menu
): fix sleep loops by clock/sclock difference #D1597
0abc15b (master: 53dd018)^A
and ^?
in Bash 3.2 #D1614
0eac4df (master: b9f7611)ble-measure
): fix a bug that the result is always 0 in Bash 3 and 4 (fixup bbc2a904) #D1615
bc3cdab (master: a034c91)#D1625
97bce68 (master: c6473b7) 2ea48d7command-help
doesn't work #D1635
c375fbb (master: 0f6a083)#D1636
df9f932 (master: fea5f5b)char_width_mode
change (reported by Barbarossa93) #D1642
00f9ce8 (master: 68ee111)#D1670
734bd50 (master: 430f449)ble/util/readfile
): fix a bug of always exiting with 1 in bash <= 3.2
(reported by laoshaw) #D1678
51d244a (master: 61705bf)#D1684
dea87c7 (master: b90ac78)#D1689
dea87c7 (master: b90ac78)#D1691
5b1e5be (master: 60d244f)ble/canvas/trace
on items (motivated by banoris) #D1710
3d56593 (master: acc9661)FIGNORE
(reported by seanfarley) #D1711
49e75ee (master: 144ea5d)#D1712
02aeb4a (master: b547a41)ble/string#escape-for-bash-specialchars
): fix escaping of TAB #D1713
accf8f3 (master: 7db3d2b)#D1723
72a11ae (master: 0da0c1c)ble/function
): work around shopt -u extglob
#D1725
3819e83 (master: 952c388)#D1731
7bd03a5 (master: e3f5bf7)set -eu
and refactor #D1743
a949af0 (master: 6a946f0)$? == 124
also for non-default completions (reported by SuperSandro2000) #D1759
e217932 (master: 82b9c01)ble/util/import
): work around filenames with bash special characters #D1763
4179e3d (master: b27f758)PS1
and PROMPT_COMMAND
on ble-detach
#D1784
4f4c924 (master: b9fdaab)#D1787
7bf32ca (master: f8bbe2c)*
in the history output #D1808
84184ce (master: 64a740d)ble/util/eval-pathname-expansion
): fix restoring shopt options in bash-4.0 #D1825
d3b3f7b (master: 736f4da)set -e
with --prompt=attach
#D1832
51cb735 (master: 5111323)encoding:C
): fix initialization for isolated ESC #D1839
aaa74b5 (master: c3bba5b)#D1849
a1adc7f (master: fa955c1) #D1855
a22e145COMP_WORDBREAKS
is ignored #D1872
b338066 (master: 4d2dd35)return $?
#D1884
4f14f7a (master: 801d14a)#D1895
7bd25c9 (master: 138c476)#D1928
6351e7f (master: 7da9bce)bash-4.2 -o emacs
) #D1920
02f45f3 (master: a410b03)..
and .
in the path #D1930
fdb76e9 (master: 632e90a)#D1931
58de996 (master: b7ae2fa)#D1954
9a24b1e (master: 651c70c1)ble/textarea#render
): fix interleaving outputs to _ble_util_buffer
and DRAW_BUFF
#D1987
62519a7 (master: 6d61388)operator:filter
): do not append newline at the end of line #D1994
8207d4f (master: bce2033)expand-range-for-linewise-operator
): fix the end point being not extended #D1994
8207d4f (master: bce2033)echo arr[i]+=rhs
[sabbrev: apply sabbrev to right-hand sides of variable assignments] #D2007
948f50f (master: 41faa494)\ + LF
at the word beginning from words (motivated by cmplstofB) #D1431
1b00fd2 (master: 67e62d6)READLINE_{LINE,POINT,MARK}
#D1437
cc8ca96 (master: 8379d4a)#D1448
b1fd84a (master: 47a3301)ble/builtin/read
): cancel by C-d on an empty line #D1473
4fae77a (master: ecb8888)time ;
and ! ;
for Bash 4.4 #D1477
e55e3df (master: 4628370)vi-replace
in imap
and vi-editing-mode
in nmap
(reported by onelittlehope) #D1484
3a2d0fe (master: f2ca811)#D1492
e28f330 (master: 1f55913)blerc
and add option --norc
#D1530
4b0eb87 (master: 7244e2f)LINENO
and prompt sequence \#
(reported by tycho-kirchner) #D1542
f3668ba (master: 8b0257e)#D1612
0ee8415 (master: 8f974aa)stderr
with internal_suppress_bash_output
(motivated by rashil2000) #D1646
b0a9021 (master: a30887f)PROMPT_COMMAND
for subprompts #D1654
9c0e515 (master: 08e903e)#D1676
a602876 (master: 0525528) 88e2df5#D1676
0525528 79efd42 (master: 88e2df5)#D1609
e09fcab#D1690
99f2234 (master: 371a5a4)#D1609
a1d1286 (master: e09fcab)#D1745
d878fce (master: 02b9da6) dc3827bble-bind -x
): preserve multiline prompts on execution of bind -x
commands (requested by SuperSandro2000) #D1755
240bfaa (master: 7d05a28)ble/util/buffer
): hide cursor in rendering #D1758
5907567 (master: e332dc5)action:file
): always suffix /
to complete symlinked directory names (reported by SuperSandro2000) #D1759
ebdc58b (master: 397ac1f)prompt_rps1
caused by missing opts=relative
for ble/textmap#update
#D1769
e799191 (master: f6af802)ble-detach
): prepend a space to stty sane
for HISTIGNORE=' *'
#D1796
31bc2b7 (master: 26b532e){kill,copy,delete}-region-or
now receives widgets as arguments #D1021
e222c48 (master: bbbd155)bind
): do not treat non-beginning #
as comments #D1820
f9db7d8 (master: 65c4138)HISTFILE
is empty #D1836
7153250 (master: 9549e83)ble-reload
): preserve the original initialization options #D1852
8912d81 (master: d8c92cc)#D1872
b338066 (master: 4d2dd35)bleopt term_index_colors
override the default if specified #D1878
e7c657c (master: 7d238c0)vi_imap-rlfunc.txt
): update the widget for backward-kill-word
as kill-backward-{u => c}word
#D1896
3c4e3a4 (master: e19b796)_ble_term_TERM
): detect wezterm-20220408 #D1909
f3a8382 (master: 486564a)decompose-meta
): translate S-a to A #D1988
9e0c187 (master: 600e845)_ble_term_TERM
): detect konsole #D1988
9e0c187 (master: 600e845) ed53858#D1485
4d77fab (master: e130619)modifyOtherKeys
): work around a quirk of kitty (reported by NoahGorny) #D1549
823eb83 (master: f599525)vi_imap
cache by tmux-resurrect
#D1562
d7d2a23 (master: 560160b)kitty
and treat \e[27u
as isolated ESC (reported by lyiriyah) #D1585
2f7404e (master: c2a84a2)bash-completion
(reported by oc1024, Lun4m) #D1622
558322c (master: d117973)modifyOtherKeys
): update the workaround for a new quiark of kitty #D1627
90d9284 (master: 3e4ecf5)set -B
and set -k
#D1628
55494eb (master: a860769)modifyOtherKeys
and do not send DA2
for st
(requested by Shahabaz-Bagwan) #D1632
7e08766 (master: 92c7b26)st
-specific escape sequences for cursor keys #D1633
1391c90 (master: acfb879)inputrc.keys
(reported by cornfeedhobo) #D1648
886cc07 (master: c4d28f4)#D1674
7d02058 (master: fdfe62a)set
(reported by eadmaster) #D1680
5acb117 (master: a6b4e2c)modifyOtherKeys
): use the kitty protocol for kitty 0.23+ which removes the support of modifyOtherKeys
(reported by kovidgoyal) #D1681
696264b (master: ec91574)virsh
completion from libvirt
(reported by telometto) #D1682
7a65fc3 (master: f985b9a)#D1683
ff8fb83 (master: 82f74f0)ble/builtin/bind
): improve compatibility of the deprecated form bind key:rlfunc
(motivated by cmplstofB) #D1698
c3904ff (master: b6fc4f0)XDG_RUNTIME_DIR
of a different user by su
(reported by zim0369) #D1712
dbf58e4 (master: 8d37048)ble/util/readlink
): work around non-standard or missing readlink
(motivated by peterzky) #D1720
60595bd (master: a41279e)ble/builtin/bind
): fix a bug that only lowercase is accepted for deprecated form bind key:rlfunc
(reported by returntrip) #D1726
43cf9b9 (master: a67458e) e363f1bble/builtin/bind
): fix a bug that only lowercase is accepted for deprecated form bind key:rlfunc
(reported by returntrip) #D1726
a67458e dd358d7 (master: e363f1b)10#
in Bash-5.1 #D1734
b321b57 (master: 7545ea3)patsub_replacement
#D1738
66ae615 (master: 4590997)/dev/tty
on startup (reported by andychu) #D1749
e6c2855 (master: 711c69f)shopt -s compat42
#D1754
1f254b5 (master: a75bb25)${v/%$empty/"$rep"}
remains #D1753
1f254b5 (master: a75bb25)ble/prompt/print
redundantly quoting $
#D1752
1f254b5 (master: a75bb25)compat42
quoting of "${v/pat/"$rep"}"
#D1751
1f254b5 (master: a75bb25)wt
#D1758
5907567 (master: e332dc5)"${v-$''}"
#D1774
30440b2 (master: 9b96578)modifyOtherKeys
): fix a bug that kitty protocol is never activated #D1842
f8aeb51 (master: 14f3c81)modifyOtherKeys
): work around delayed terminal identification #D1842
f8aeb51 (master: 14f3c81)HOSTNAME
[originally: contrib: add histdb
] #D1925
e82230e (master: 44d9e104)LANG
[originally: main: support an option --inputrc={diff,all,user,none}
] #D1926
ede4ee7 (master: 92f2006)terminology
): work around terminal glitches #D1946
ccb93a5 (master: 9a1b4f9)bind -x
(reported by linwaytin) #D1983
992131c (master: 5d14cf1)#D1989
1f0d8e1 (master: 1e7b884)set -e
[progcomp: work around slow nix
completion] #D1997
2ab4e4b (master: 2c1aacfc)string#quote-word
): work around set -ue
[util, edit: add ble/util/message
and ble append-line
] #D2001
2317562 (master: 2a524f34)_adb
#D2005
2f77171 (master: f2aa32b)PS1
while processing bind -x
#D2024
604c092 (master: 2eadcd5)ble/complete/source:file
): remove slow old codes (reported by timjrd) #D1512
60a33e2 (master: e5be0c1)ble/util/assign
): work around subshell conflicts #D1578
4117d1b (master: 6e4bb12)$?
in ${PS1@P}
evaluation (reported by nihilismus) #D1644
a3cfd0d (master: 521aff9)ble/string#split
): optimize #D1826
9dcbbd4 (master: 7bb10a7)ble/debug/profiler
(motivated by SuperSandro2000) #D1824
f629698 11aa4ab 9dcbbd4 (master: 7bb10a7)awk -v var=value
#D1827
9edb1aa (master: 82232de)#D1444
3e648a9 (master: 6494836)ble-measure
): support -T TIME
and -B TIME
option #D1460
f3833ad (master: 1aa471b)#D1467
f190f9a (master: e886883)IFS
#D1490
#D1491
c33fad0 (master: 5f9adfe)localvar_inherit
for varname-list init #D1566
8c67b79 (master: 5c2edfc)ble/util/dense-array#fill-range
e397120 (master: a46fdaf)buff
, trap
, {x,y}{1,2}
#D1572
82113e9 (master: 5967d6c)#D1643
0817df6 (master: fcf634b)command-help
): use ble/util/assign/.mktmp
to determine the temporary filename #D1663
2ff6078 (master: 1af0800)#D1805
ea8b966 (master: e5d8d00)#D1933
9e2e823 (master: 8d5cab8)#D1938
450f70b (master: 00cae745)#D1971
482ddb5 (master: e0566bdc)_a-zA-Z
[sabbrev: apply sabbrev to right-hand sides of variable assignments] #D2006
a101fe6 (master: 41faa494)set -u
[lib: add util.bgproc
for ble/util/bgproc
] #D2017
8787ca5 (master: 7803305f)ble/util/conditional-sync
[util.bgproc: increase frequency of bgproc termination check] #D2027
79fd13c (master: 8d623c1)#D1881
45f3df3 (master: 2e1a7c1)#D1881
45f3df3 (master: 2e1a7c1)#D1881
45f3df3 (master: 2e1a7c1)#D1881
b534799 (master: 0b3e611)blerc
to blerc.template
#D1899
3c4e3a4 (master: e19b796)#D1898
3c4e3a4 (master: e19b796)#D1896
#D1897
3c4e3a4 (master: e19b796)modifyOtherKeys
is not reflected (reported by SuperSandro2000) #D1908
f3a8382 (master: 486564a)bleopt emoji_version
(motivated by endorfina) #D1454
3f6c9b9 (master: d1f8c27)#D1513
e32914f (master: 0506df2)contrib/prompt-git
): support dirty checking #D1601
50a0094 (master: b2713d9)bleopt
, bind
): fix error message and exit status, respectively #D1640
29728b1 (master: b663cee)prior/next
to history-search-{for,back}ward
#D1661
a3a353e (master: d26a6e1)bind
inside non-interactive shells (reported by wukuan405) #D1823
82c9934 (master: 1e19a67)magic-space
#D1913
05c0888 (master: 01b4f67)#D1922
6d1e1ba (master: 8a716ad)((...))
and [[ ... ]]
in bash-5.2 #D1962
57d7674 (master: 67cb967)Prerequisites
Bash 3.0+ and basic POSIX utilities are required.
Download ble-0.2.7.tar.xz
https://github.com/akinomyoga/ble.sh/releases/download/v0.2.7/ble-0.2.7.tar.xz
# DOWNLOAD with wget
wget https://github.com/akinomyoga/ble.sh/releases/download/v0.2.7/ble-0.2.7.tar.xz
# DOWNLOAD with curl
curl -LO https://github.com/akinomyoga/ble.sh/releases/download/v0.2.7/ble-0.2.7.tar.xz
Trial & Install
# TRIAL
tar xJf ble-0.2.7.tar.xz
source ble-0.2.7/ble.sh
# INSTALL
tar xJf ble-0.2.7.tar.xz -C ~/.local/share/blesh
# Add the following line near the top of ~/.bashrc
[[ $- == *i* ]] && source ~/.local/share/blesh/ble.sh --noattach
# Add the following line at the end of ~/.bashrc
((_ble_bash)) && ble-attach
ble/{is- => util/is}function
5e82ca7a#D1435
#D1436
795a647c (master: bc4735e0)sword
(shell words) #D1441
5e73cf6b (master: f9233889)kill-forward-logical-line
): fix a bug not deleting newline at the end of the line #D1443
03787a2d (master: 09cf7f14)declare -gA
(reported by 0xC0ncord) #D1470
a2ace444 (master: 8856a04f)ble-reload
(reported by 0xC0ncord) #D1471
533eba77 (master: 3cae6e4d)ble/util/msleep
): fix hang in Cygwin by swithing from /dev/udp/0.0.0.0/80
to /dev/zero
#D1452
46992e79 (master: d4d718ab)[[
keyword #D1454
0482bf64 (master: 69658efc)ble/util/msleep
): work around the bash-4.3 bug of read -t
(reported by 3ximus) #D1468
#D1469
fad78ea5 (master: 4ca9b2e2)cmd_xmap
after switching the editing mode #D1478
97ca1171 (master: 8d354c1b)#D1479
759b96dd (master: 18bb2d5c)#D1498
a6ac1216 (master: 4bdfdbf8)eval() { :; }
, declare() { :; }
are not treated as function definition #D1529
a4cda9c3 (master: b4290958)#D1531
a4c13ab8 (master: 24ea3792)ble-measure
): fix a bug that the result is always 0 in Bash 3 and 4 (fixup 8eb493a9 (master: bbc2a904)) #D1615
a034c91. ble.sh --{test,update,clear-cache}
in intereactive sessions #D1555
8eb493a9 (master: bbc2a904)#D1558
9372670bash ble.sh --test
(fixup 8eb493a9 (master: bbc2a904)) #D1558
641238able.sh
inside subshells #D1554
8eb493a9 (master: bbc2a904)declare -gA
by separating assignment #D1567
0b7de999 (master: 2408a207)CR => LF
conversion (reported by alborotogarcia) #D1587
ac738bb4 (master: 8d6da161)layer:region
): fix blocked lower-layer changes without selection changes #D1596
650140ff (master: 5ede3c69)^A
and ^?
in Bash 3.2 #D1614
0ed7f6dc (master: b9f76118)ble-measure
): fix a bug that the result is always 0 in Bash 3 and 4 (fixup bbc2a904) #D1615
28e8dfed (master: a034c91a)#D1625
c9e4198b (master: c6473b78) 2ea48d7command-help
doesn't work #D1635
b992bb5d (master: 0f6a0834)char_width_mode
change (reported by Barbarossa93) #D1642
56b77a83 (master: 68ee1112)ble/util/readfile
): fix a bug of always exiting with 1 in bash <= 3.2
(reported by laoshaw) #D1678
5b843bb6 (master: 61705bf6)#D1691
7211b1ec (master: 60d244fe)FIGNORE
(reported by seanfarley) #D1711
90f388aa (master: 144ea5db)#D1712
d2bf86c1 (master: b547a41a)#D1731
6aa12c82 (master: e3f5bf74)$? == 124
also for non-default completions (reported by SuperSandro2000) #D1759
c641fb1b (master: 82b9c011)ble/util/import
): work around filenames with bash special characters #D1763
7da5f048 (master: b27f7585)PS1
and PROMPT_COMMAND
on ble-detach
#D1784
47dfdd94 (master: b9fdaabd)*
in the history output #D1808
cc14f59c (master: 64a740d7)set -e
with --prompt=attach
#D1832
958aae6b (master: 51113237)#D1849
8f0acf3d (master: fa955c1a) #D1855
a22e145return $?
#D1884
9e10b54b (master: 801d14af)bash-4.2 -o emacs
) #D1920
342826f3 (master: a410b038)operator:filter
): do not append newline at the end of line #D1994
2a8e746f (master: bce20339)expand-range-for-linewise-operator
): fix the end point being not extended #D1994
2a8e746f (master: bce20339)echo arr[i]+=rhs
[sabbrev: apply sabbrev to right-hand sides of variable assignments] #D2006
4ed4fd4f (master: 41faa494)echo arr[i]+=rhs
#D2007
4ed4fd4f (master: 41faa494)\ + LF
at the word beginning from words (motivated by cmplstofB) #D1431
6044a485 (master: 67e62d64)#D1448
787ff57f (master: 47a3301a){kill,copy,delete}-region-or
now receives widgets as arguments #D1021
8f48aff1 (master: bbbd155f)ble/builtin/read
): cancel by C-d on an empty line #D1473
551bde3a (master: ecb8888d)time ;
and ! ;
for Bash 4.4 #D1477
0b66cf4a (master: 46283706)#D1492
54d310df (master: 1f559135)LINENO
and prompt sequence \#
(reported by tycho-kirchner) #D1542
4b63b164 (master: 8b0257e2)#D1612
608ac2ad (master: 8f974aa1)PROMPT_COMMAND
for subprompts #D1654
5c0cfdef (master: 08e903e0)#D1676
2587bb01 (master: 05255282) 88e2df5#D1676
0525528 5f638563 (master: 88e2df51)ble/util/buffer
): hide cursor in rendering #D1758
4ecbbdc2 (master: e332dc5f)ble-detach
): prepend a space to stty sane
for HISTIGNORE=' *'
#D1796
bd903716 (master: 26b532e7)HISTFILE
is empty #D1836
d97ca100 (master: 9549e831)decompose-meta
): translate S-a to A #D1988
eaf66c7c (master: 600e845e)_ble_term_TERM
): detect konsole #D1988
eaf66c7c (master: 600e845e) ed53858source:argument
): fallback to rhs completion also for name+=rhs
#D2006
4ed4fd4f (master: 41faa494)#D1393
36f9d809 (master: 2ddb1ba2) #D1395
ef09932#D1393
2ddb1ba #D1395
6bcb4053 (master: ef099326)vi_imap
cache by tmux-resurrect
#D1562
d7130d55 (master: 560160b0)set -B
and set -k
#D1628
3c97ae84 (master: a8607692)st
-specific escape sequences for cursor keys #D1633
bf46e344 (master: acfb8790)inputrc.keys
(reported by cornfeedhobo) #D1648
ad675556 (master: c4d28f40)#D1674
f41b8004 (master: fdfe62a4)set
(reported by eadmaster) #D1680
93ae08d0 (master: a6b4e2ca)virsh
completion from libvirt
(reported by telometto) #D1682
ee2ac075 (master: f985b9a4)#D1683
c01487bf (master: 82f74f0a)XDG_RUNTIME_DIR
of a different user by su
(reported by zim0369) #D1712
e5501a31 (master: 8d370486)ble/util/readlink
): work around non-standard or missing readlink
(motivated by peterzky) #D1720
d785f5db (master: a41279ed)10#
in Bash-5.1 #D1734
2b55aa16 (master: 7545ea31)patsub_replacement
#D1738
359a3891 (master: 4590997a)/dev/tty
on startup (reported by andychu) #D1749
19fa0924 (master: 711c69f1)shopt -s compat42
#D1754
e7adfb34 (master: a75bb25a)${v/%$empty/"$rep"}
remains #D1753
e7adfb34 (master: a75bb25a)ble/prompt/print
redundantly quoting $
#D1752
e7adfb34 (master: a75bb25a)compat42
quoting of "${v/pat/"$rep"}"
#D1751
e7adfb34 (master: a75bb25a)wt
#D1758
4ecbbdc2 (master: e332dc5f)"${v-$''}"
#D1774
fb607ad6 (master: 9b96578c)HOSTNAME
[add histdb
] #D1925
5812f2ef (master: 44d9e104)LANG
[main: support an option --inputrc={diff,all,user,none}
] #D1926
3f29bee3 (master: 92f20063)/etc/inputrc
in openSUSE (motivated by Ultra980) #D1926
3f29bee3 (master: 92f20063) 0ceb0cb#D1927
3f29bee3 (master: 92f20063)terminology
): work around terminal glitches #D1946
2d4caa67 (master: 9a1b4f9f)bind -x
(reported by linwaytin) #D1983
cdda7c44 (master: 5d14cf17)#D1989
78dd47ee (master: 1e7b884d)PS1
while processing bind -x
(reported by adoyle-h) #D2024
c46f4230 (master: 2eadcd5b)ble/util/assign
): work around subshell conflicts #D1578
59d6355c (master: 6e4bb126)$?
in ${PS1@P}
evaluation (reported by nihilismus) #D1644
66fd10b7 (master: 521aff9b)ble/string#split
): optimize #D1826
5b3fc89c (master: 7bb10a79)ble/debug/profiler
(motivated by SuperSandro2000) #D1824
f629698 11aa4ab 5b3fc89c (master: 7bb10a79)awk -v var=value
#D1827
4571695a (master: 82232de5)#D1444
d19ab298 (master: 64948361)#D1467
0bcc12c9 (master: e886883b)IFS
#D1490
#D1491
2fe60b64 (master: 5f9adfe8)ble/util/dense-array#fill-range
b708ee29 (master: a46fdaf4)buff
, trap
, {x,y}{1,2}
#D1572
36d151e2 (master: 5967d6ce)#D1805
6498a5d3 (master: e5d8d00c)#D1933
002dda7f (master: 8d5cab85)histdb-word
] #D1938
edd48d1c (master: 00cae745):
[histdb: support timeout of background processes] #D1971
8640dc41 (master: e0566bdc)_a-zA-Z
/ _a-zA-Z0-9
#D2006
4ed4fd4f (master: 41faa494)set -u
[util.bgproc: separate ble/util/bgproc
from histdb
] #D2017
d60758ae (master: 7803305f)#D1881
99e217d3 (master: 2e1a7c17)#D1881
99e217d3 (master: 2e1a7c17)#D1881
99e217d3 (master: 2e1a7c17)((...))
and [[ ... ]]
in bash-5.2 #D1962
74af9e60 (master: 67cb967a)Prerequisites
Bash 3.0+ and basic POSIX utilities are required.
Download ble-0.1.15.tar.xz
https://github.com/akinomyoga/ble.sh/releases/download/v0.1.15/ble-0.1.15.tar.xz
# DOWNLOAD with wget
wget https://github.com/akinomyoga/ble.sh/releases/download/v0.1.15/ble-0.1.15.tar.xz
# DOWNLOAD with curl
curl -LO https://github.com/akinomyoga/ble.sh/releases/download/v0.1.15/ble-0.1.15.tar.xz
Trial & Install
# TRIAL
tar xJf ble-0.1.15.tar.xz
source ble-0.1.15/ble.sh
# INSTALL
tar xJf ble-0.1.15.tar.xz -C ~/.local/share/blesh
# Add the following line near the top of ~/.bashrc
[[ $- == *i* ]] && source ~/.local/share/blesh/ble.sh --noattach
# Add the following line at the end of ~/.bashrc
((_ble_bash)) && ble-attach
sword
(shell words) #D1441
03980f1 (master: f923388)cmd_xmap
after switching the editing mode #D1478
847e602 (master: 8d354c1)ble-measure
): fix a bug that the result is always 0 in Bash 3 and 4 (fixup 4759768 (master: bbc2a90)) #D1615
a034c91. ble.sh --{test,update,clear-cache}
in intereactive sessions #D1555
4759768 (master: bbc2a90)#D1558
9372670bash ble.sh --test
(fixup 4759768 (master: bbc2a90)) #D1558
641238able.sh
inside subshells #D1554
4759768 (master: bbc2a90)^A
and ^?
in Bash 3.2 #D1614
9648bd4 (master: b9f7611)#D1625
40a0ec9 (master: c6473b7) 2ea48d7command-help
doesn't work #D1635
c99e2f1 (master: 0f6a083)char_width_mode
change (reported by Barbarossa93) #D1642
5b22cd6 (master: 68ee111)#D1691
cd75f39 (master: 60d244f)$? == 124
also for non-default completions (reported by SuperSandro2000) #D1759
a66b547 (master: 82b9c01)PS1
and PROMPT_COMMAND
on ble-detach
#D1784
a0f6594 (master: b9fdaab)*
in the history output #D1808
0ed2ffb (master: 64a740d)#D1849
1dc5938 (master: fa955c1) #D1855
a22e145return $?
#D1884
c2ba90b (master: 801d14a)bash-4.2 -o emacs
) #D1920
de577dc (master: a410b03)\ + LF
at the word beginning from words (motivated by cmplstofB) #D1431
69156f1 (master: 67e62d6)#D1448
0a07c13 (master: 47a3301){kill,copy,delete}-region-or
now receives widgets as arguments #D1021
ec16708 (master: bbbd155)#D1612
8f989e4 (master: 8f974aa)#D1676
2a045d8 (master: 0525528) 88e2df5#D1676
0525528 4ef844e (master: 88e2df5)ble/util/buffer
): hide cursor in rendering #D1758
444abff (master: e332dc5)ble-detach
): prepend a space to stty sane
for HISTIGNORE=' *'
#D1796
acb7c08 (master: 26b532e)HISTFILE
is empty #D1836
a79095a (master: 9549e83)vi_imap
cache by tmux-resurrect
#D1562
b0cc0a3 (master: 560160b)st
-specific escape sequences for cursor keys #D1633
ae298f1 (master: acfb879)inputrc.keys
(reported by cornfeedhobo) #D1648
603cf41 (master: c4d28f4)#D1674
66263c4 (master: fdfe62a)set
(reported by eadmaster) #D1680
43dcb66 (master: a6b4e2c)virsh
completion from libvirt
(reported by telometto) #D1682
d13ce5b (master: f985b9a)#D1683
6335dc2 (master: 82f74f0)ble/util/readlink
): work around non-standard or missing readlink
(motivated by peterzky) #D1720
94137b7 (master: a41279e)10#
in Bash-5.1 #D1734
7c2463e (master: 7545ea3)patsub_replacement
#D1738
f1599ee (master: 4590997)/dev/tty
on startup (reported by andychu) #D1749
28e9c44 (master: 711c69f)shopt -s compat42
#D1754
59075cc (master: a75bb25)${v/%$empty/"$rep"}
remains #D1753
59075cc (master: a75bb25)ble/prompt/print
redundantly quoting $
#D1752
59075cc (master: a75bb25)compat42
quoting of "${v/pat/"$rep"}"
#D1751
59075cc (master: a75bb25)wt
#D1758
444abff (master: e332dc5)"${v-$''}"
#D1774
d0dc13e (master: 9b96578)#D1393
2ddb1ba #D1395
8c33557 (master: ef09932)HOSTNAME
[add histdb
] #D1925
e6cc6c3 (master: 44d9e10)LANG
[main: support an option --inputrc={diff,all,user,none}
] #D1926
2bd1544 (master: 92f2006)terminology
): work around terminal glitches #D1946
c5c3bc9 (master: 9a1b4f9)PS1
while processing bind -x
(reported by adoyle-h) #D2024
94db09b (master: 2eadcd5)$?
in ${PS1@P}
evaluation (reported by nihilismus) #D1644
a7b5c4b (master: 521aff9)#D1444
1a5e90a (master: 6494836)#D1467
b56d638 (master: e886883)IFS
#D1490
#D1491
7228fd0 (master: 5f9adfe)buff
, trap
, {x,y}{1,2}
#D1572
de71ada (master: 5967d6c)#D1805
2cb758f (master: e5d8d00)#D1933
a2197a6 (master: 8d5cab8)histdb-word
] #D1938
492349f (master: 00cae74)#D1881
a8d7fd7 (master: 2e1a7c1)#D1881
a8d7fd7 (master: 2e1a7c1)#D1881
a8d7fd7 (master: 2e1a7c1)Prerequisites
Bash 3.0+ and basic POSIX utilities are required.
Download ble-nightly.tar.xz
Link kept updated for every nightly build:
https://github.com/akinomyoga/ble.sh/releases/download/nightly/ble-nightly.tar.xz
Permalink to the current nightly build:
https://github.com/akinomyoga/ble.sh/releases/download/nightly/ble-nightly-20240515+59787ee.tar.xz
# DOWNLOAD with wget
wget https://github.com/akinomyoga/ble.sh/releases/download/nightly/ble-nightly.tar.xz
# DOWNLOAD with curl
curl -LO https://github.com/akinomyoga/ble.sh/releases/download/nightly/ble-nightly.tar.xz
# DOWNLOAD with wget (this specific nightly build)
wget https://github.com/akinomyoga/ble.sh/releases/download/nightly/ble-nightly-20240515+59787ee.tar.xz
# DOWNLOAD with curl (this specific nightly build)
curl -LO https://github.com/akinomyoga/ble.sh/releases/download/nightly/ble-nightly-20240515+59787ee.tar.xz
Trial & Install
# TRIAL
tar xJf ble-nightly.tar.xz
source ble-nightly/ble.sh
# INSTALL (quick)
tar xJf ble-nightly.tar.xz
bash ble-nightly/ble.sh --install ~/.local/share
echo 'source ~/.local/share/blesh' >> ~/.bashrc
# Note: After installation, directory ble-nightly-20240515+59787ee can be removed.
# INSTALL (more robust)
tar xJf ble-nightly.tar.xz
bash ble-nightly/ble.sh --install ~/.local/share
# Add the following line near the top of ~/.bashrc
[[ $- == *i* ]] && source ~/.local/share/blesh/ble.sh --attach=none
# Add the following line at the end of ~/.bashrc
[[ ${BLE_VERSION-} ]] && ble-attach
# Note: After installation, directory ble-nightly-20240515+59787ee can be removed.
2020-01-12...2020-12-02
(#D1215...#D1426
) c74abc5...276baf2
Prerequisites
Bash 3.0+ and basic POSIX utilities are required.
Download ble-0.4.0-devel2.tar.xz
https://github.com/akinomyoga/ble.sh/releases/download/v0.4.0-devel2/ble-0.4.0-devel2.tar.xz
# DOWNLOAD with wget
wget https://github.com/akinomyoga/ble.sh/releases/download/v0.4.0-devel2/ble-0.4.0-devel2.tar.xz
# DOWNLOAD with curl
curl -LO https://github.com/akinomyoga/ble.sh/releases/download/v0.4.0-devel2/ble-0.4.0-devel2.tar.xz
Trial & Install
# TRIAL
tar xJf ble-0.4.0-devel2.tar.xz
source ble-0.4.0-devel2/ble.sh
# INSTALL (quick)
tar xJf ble-0.4.0-devel2.tar.xz
mkdir -p ~/.local/share/blesh
cp -fR ble-0.4.0-devel2/* ~/.local/share/blesh
echo 'source ~/.local/share/blesh' >> ~/.bashrc
# INSTALL (more robust)
tar xJf ble-0.4.0-devel2.tar.xz
mkdir -p ~/.local/share/blesh
cp -fR ble-0.4.0-devel2/* ~/.local/share/blesh
# Add the following line near the top of ~/.bashrc
[[ $- == *i* ]] && source ~/.local/share/blesh/ble.sh --attach=none
# Add the following line at the end of ~/.bashrc
[[ ${BLE_VERSION-} ]] && ble-attach
bleopt complete_auto_wordbreaks
(suggestion by dylankb) #D1219
c294e31~/.config/blesh/init.sh
#D1224
a82f961#D1218
0770234 #D1244
9cb3583 #D1245
8e8a296 #D1247
154f638 #D1269
fa0036c#D1251
441117c ef23ad1coproc
#D1252
7ff68d2#D1258
846e0becompopt -o quote/default
for fzf
(motivated by dylankb) #D1275
58e1be4ble-import
): support an option -d
(--delay
) #D1285
9673e4e${var/#pat}
, ${var/%pat}
#D1286
e2f4809bleopt editor line_limit_{type,length} history_limit_length
#D1295
2f9a000{vi,emacs}-editing-mode
#D1301
0c6c76e[!
and [^
in simple-word
(reported by cmplstofB) #D1303
1efe833ble/util/print-global-definitions
): support arrays and unset variables (test-util) 6e85f1cble/util/cat
): support NUL and multiple files (test-util) d19a9afREADLINE_MARK
and PROMPT_COMMANDS
#D1328
e97a858 #D1338
657bea5
#D1380
b852a4f${#@}
, etc. #D1330
b7b42eb#D1335
f290115${var@UuLK}
in Bash 5.1 #D1336
04da4dd--test
#D1340
1410c72ble/builtin/trap
): support return
in INT
/EXIT
/WINCH
#D1347
#D1348
3865488#D1351
4bcbd71 #D1356
350bb15 #D1364
1d8adf9PS0
#D1357
23a1ac5bleopt keymap_vi_mode_{update_prompt,show,name_*}
(suggested by Dave-Elec) #D1365
76be6f1\q{...}
#D1365
76be6f1bind 'set show-mode-in-prompt'
#D1365
76be6f1
auto_complete
and other sub-modes (reported by tigger04) #D1371
f6fc7ff#D1371
1954a1ebleopt prompt_{{ps1,rps1}{_final,_transient}}
(suggested by Dave-Elec) #D1366
06381c9
#D1374
0770cdableopt prompt_rps1
is reset #D1377
1904b1dPROMPT_COMMAND
are not reflected immediately #D1426
bbda197#D1368
e747ee3TERM=*-direct
#D1369
0d38897 #D1370
f7dc477bleopt complete_auto_menu
#D1373
77bfabd
#D1381
3b1d8acbleopt complete_menu_maxlines
#D1375
8e81cd7_ble_prompt_update
#D1376
0fa8739bleopt prompt_{xterm_title,screen_title,status_line}
#D1378
5c3f6fe
TERM
for prompt window titles when _ble_term_TERM
is unavailable #D1388
3c88869bleopt highlight_{syntax,filename,vartype}
to turn off highlighting (requested by pjmp) #D1379
0116f8bshopt progcomp_alias
#D1397
d68afa5#D1405
8183455
bleopt complete_menu_style
is globally changed #D1412
b91fd10#D1409
2f40422
syntax_error
(reported by cmplstofB) #D1411
46e2ac6#D1418
4395484#D1419
4395484#D1410
2f40422
declare
command options #D1420
f0df481~+
(reported by cmplstofB) #D1424
a32962e#D1249
25e8a72insert-on-end
to C-e
#D1250
90b45ebwidget/shell-expand-line
): not quote expanded results by default #D1255
a9b7810#D1258
0beac33bind -Xsp
#D1259
eef14d0ble-bind
with uninitialized cmap #D1260
5d98210sed
rejecting unencoded bytes from bind -p
(reported by dylankb) #D1277
0cc9160$BASH_COMMAND
and $_
for PS1, PROMPT_COMMAND, PRECMD, etc. #D1276
7db48dc#D1291
420c933decode_abort_char
for modifyOtherKeys
#D1293
ad98416#D1295
2f9a000bleopt
): fail when a specified bleopt variable does not exist (test-util) 5966f22--help
#D1323
731896cPS1
when internal_suppress_bash_output
is set #D1344
6ede0c7#D1358
3683305#D1359
a441d4dble-update
): clone github repository if the original repository is not found #D1363
6e3b3b5time -- command
for Bash 5.1 #D1367
00d0e93{forward,backward}-line
#D1396
3d5a341ble_debug
to bleopt syntax_debug
#D1398
3cda58bbleopt syntax_debug
#D1399
3cda58b.
by default #D1425
987436dtrap INT
(reported by dylankb) #D1221
db8b0c2#D1220
b726225source ble.sh --noattach && ble-attach
(reported by dylankb) #D1223
59c1ce4 3031007#D1227
06ae2b1#D1228
90e4f35set -C
(reported by cmplstofB) #D1229
604bb8bble/builtin/bind
): fix widget mapping for default_keymap=safe
#D1234
750a9f5make
does not work in Bash 3.2 #D1236
08ced81#D1239
327661f#D1248
06cc7deeval
are not highlighted #D1254
5046d14command=${[key]-}
for mouse input #D1263
09bb274ble-reload
#D1266
f2f30d1ble/builtin/bind
): remove comment from bind argument #D1267
880bb2cBRE
instead of ERE
for POSIX sed
(reported by dylankb) #D1283
2184739fzf
(convert DEL to C-?) #D1281
744c8e8TERM
change #D1287
ac7ab55 7a99bf3tput
(reported by killermoehre) #D1289
f8c54ef#D1290
fb794b3 #D1315
99880ef#D1292
da6cc47#D1295
2f9a000complete_menu_filter
#D1298
b3654e2#D1301
91bdb64shopt -s assoc_expand_once
#D1305
31908e1TMOUT
for builtin read
#D1306
1c22a9d<<$(echo A)
#D1308
3212fd2ble-bind
): fix an error message #D1311
c868b6dbleopt
): fix a bug that a new setting is not defined with name:=
(test-util) #D1312
c757b92ble/util/{save,restore}-vars
): fix a bug that name
and prefix
cannot be saved/restored (test-util) 5f2480cble/is-{inttype,readonly,transformed}
(test-util) 485e1acble/path#remove{,-glob}
): fix corner cases (test-util) ccbc9f8history -a
in bashrc
#D1314
34821feble/variable#get-attr
): fix an error message with special variable names such as ?
and *
#D1321
557b774#D1326
dc292a2set +H
is cancelled on command execution #D1332
02bdf4eble/syntax/parse/shift
): fix a bug of shift skip in nested words #D1333
65fbba0return
in trap handlers #D1334
aa09d15ble-stackdump
): fix a shift of line numbers #D1337
a14b72f d785b64ble-bind -x
): check range of READLINE_{POINT,MARK}
#D1339
efe1e81~/.config/blesh/init.sh
is not detected (GitHub #53 by rux616) 61f9e10ble/string#to{upper,lower}
): work around LC_COLLATE=en_US.utf8
(test-util) #D1341
1f6b44e #D1355
4da6103 5f0d49fble/util/c2keyseq
: work around bash ambiguous keyseq \M-\C-\\
ble/util/c2keyseq
: fix a bug that C1
characters are not properly encodedble/util/keyseq2chars
: fix a bug that \xHH
is not properly processedble/encoding:UTF-8/b2c
: work around Bash-4.2 arithmetic crashble/encoding:UTF-8/b2c
: fix a bug that G0
characters lose its seventh bitble/encoding:UTF-8/c2b
: fix a bug that the first byte gets redundant bitsWINCH
not updating COLUMNS
/LINES
after ble-reload
#D1345
a190455bleopt complete_menu_style
options before complete_load
hook (reported by rux616) #D1352
8a9a386source ble.sh
in bashrc #D1354
5476933{a}<>
#D1360
4760409#
and ~
at the beginning of word #D1362
f62fe54bind
): work around shopt -s nocasematch
(reported by tigger04) #D1372
855cacfwtype
of reconstructed words at the end #D1385
98576c7#D1386
98576c7#D1387
98576c7#D1390
98576c7#D1389
71afaba#D1400
d84bcd8#D1401
d84bcd8#D1402
6fd9e22ble/syntax:bash/simple-word/evaluate-path-spec
): fix a bug of unrecognized [!...]
and [^...]
#D1403
0b842f5cd
): fix duplicate candidates by CDPATH
(reported by Lennart00 at oh-my-bash
) #D1415
5777d7fsource:file
): fix a bug that tilde expansion candidates are always filtered out #D1416
5777d7f#D1417
5777d7f#D1421
#D1422
1066653dotglob
is changed #D1425
987436d#D1225
#D1226
b9278bc#D1238
defdbd4 #D1241
1720ec0TERM=minix
#D1262
ae0b80f#D1264
47e2863
\$
in PS1
for MSYS2 #D1265
f6f8956#D1270
71f3498paste-from-clipboard
#D1271
cd26c65#D1272
630d659
#D1273
6f6c2e5SPD
#D1288
1e65f2cLC_CTYPE=C eval command
(test-util) b2c7d1cble/variable#get-attr
): fix a bug that attributes are not obtained in Bash <= 4.3 (test-util) b2c7d1cdeclare -f
rejecting special characters in function names (test-util) b2c7d1cble/widget/bracketed-paste
): fix error messages on paste_end
in older version of Bash (test-util) b2c7d1c#D1320
557b77410#
#D1322
557b774#D1327
16b56bf-v var
option in Bash <= 4.1 (test-util) f1a2818compgen -c
in Cygwin #D1329
5327f5dmc
(reported by onelittlehope) #D1392
e97aa07
#D1393
2ddb1ba #D1395
ef09932ble/util/{save,restore}-{arrs => vars}
#D1217
6acb9a3test
into memo
#D1230
f0c38b6DD1231
d3a7a52#D1232
4b882fb#D1235
5f949e8ble/syntax/parse
for syntax highlighting #D1237
bb31b11memo.txt
-> note.txt
, done.txt
and ChangeLog.md
#D1243
31bc9aa 8b0fe34 419155e#D1246
19cc99d 2e74b6dble/function#{advice,push,pop}
to patch functions (motivated by dylankb) #D1275
fbe531able/util/stackdump
): output to stdout
instead of stderr
#D1279
9d3c50dble-sabbrev
): delay initialization #D1282
dfc4f66lib/test-{core => util}.sh
(reported by andychu) #D1294
e835b0d#D1296
0a45596 #D1300
3f33dab #D1302
5ee06c8 10ad274ble-decode-char
#D1297
0d9d867mwg_pp.awk
(for branch osh) 978ea32lib/core-test.sh
#D1309
68f8077local -i
#D1310
f9f0f9b#D1313
b3b06f7#D1316
#D1317
6c2f863ble/util/openat
): change to open unused fds #D1318
6c2f863ble/{util/openat => fd#alloc}
#D1319
6c2f863ble/function#advice remove
): restore original command 149a640ble-edit/prompt/*
-> ble/prompt/*
#D1365
76be6f1PROMPT_COMMAND
in bash-5.1 for prompt attach #D1380
b852a4fBLE_VERSION
, _ble_bash
, etc. on ble-unload
#D1382
6b615b6ble/variable#is-global
implementation #D1383
6b5468f#D1384
445a5adble/widget/{accept-line,newline}
): automatically switch widgets by the keymap #D1391
5bed6e6ble/complete/cand/yield
#D1404
7c6b67b 83fa830
ble/cmdinfo/complete:cd
candidates are unfiltered (reported by cmplstofB) #D1413
5c17a31#D1414
5777d7f#D1423
dabc515type -a -t -- cmd
to get command types hidden by keywords #D1406
ef2d912#D1407
5386e93Prerequisites
Bash 3.0+ and basic POSIX utilities are required.
Download ble-0.3.3.tar.xz
https://github.com/akinomyoga/ble.sh/releases/download/v0.3.3/ble-0.3.3.tar.xz
# DOWNLOAD with wget
wget https://github.com/akinomyoga/ble.sh/releases/download/v0.3.3/ble-0.3.3.tar.xz
# DOWNLOAD with curl
curl -LO https://github.com/akinomyoga/ble.sh/releases/download/v0.3.3/ble-0.3.3.tar.xz
Trial & Install
# TRIAL
tar xJf ble-0.3.3.tar.xz
source ble-0.3.3/ble.sh
# INSTALL
tar xJf ble-0.3.3.tar.xz
mkdir -p ~/.local/share/blesh
cp -fR ble-0.3.3/* ~/.local/share/blesh
# Add the following line near the top of ~/.bashrc
[[ $- == *i* ]] && source ~/.local/share/blesh/ble.sh --attach=none
# Add the following line at the end of ~/.bashrc
[[ ${BLE_VERSION-} ]] && ble-attach
[!
and [^
in simple-word
(reported by cmplstofB) #D1303
4bf8b86 (master: 1efe833)insert-on-end
to C-e
#D1250
1070aba (master: 90b45eb)bleopt
): fail when a specified bleopt variable does not exist (test-util) 0a51044 (master: 5966f22)PS1
when internal_suppress_bash_output
is set #D1344
537acf2 (master: 6ede0c7).
by default #D1425
e26867d (master: 987436d)ble-reload
#D1266
f2f30d1 (master: N/A)ble/builtin/bind
): remove comment from bind argument #D1267
82f4aaa (master: 880bb2c)#D1248
04fddd6 (master: 06cc7de)eval
are not highlighted #D1254
38a7fc7 (master: 5046d14)BRE
instead of ERE
for POSIX sed
(reported by dylankb) #D1283
a577ec4 (master: 2184739)#D1292
ea2fa8e (master: da6cc47)complete_menu_filter
#D1298
7278e27 (master: b3654e2)<<$(echo A)
#D1308
5ba9400 (master: 3212fd2)bleopt
): fix a bug that a new setting is not defined with name:=
(test-util) #D1312
f2dbad0 (master: c757b92)ble/util/{save,restore}-vars
): fix a bug that name
and prefix
cannot be saved/restored (test-util) f91f7ed (master: 5f2480c)ble/path#remove{,-glob}
): fix corner cases (test-util) 2ba1d42 (master: ccbc9f8)ble/variable#get-attr
): fix an error message with special variable names such as ?
and *
#D1321
b58f006 (master: 557b774)set +H
is cancelled on command execution #D1332
bc454a2 (master: 02bdf4e)ble/syntax/parse/shift
): fix a bug of shift skip in nested words #D1333
78e2170 (master: 65fbba0)ble-stackdump
): fix a shift of line numbers #D1337
1505a5b (master: a14b72f)ble-bind -x
): check range of READLINE_{POINT,MARK}
#D1339
1bc1ff6 (master: efe1e81)~/.config/blesh/init.sh
is not detected (GitHub #53 by rux616) 9f74da6 (master: 61f9e10)ble/string#to{upper,lower}
): work around LC_COLLATE=en_US.utf8
(test-util) #D1341
5d9aa64 (master: 1f6b44e) #D1355
4e67719 (master: 4da6103)
WINCH
not updating COLUMNS
/LINES
after ble-reload
#D1345
e2d54a2 (master: a190455)bleopt complete_menu_style
options before complete_load
hook (reported by rux616) #D1352
15ba24f (master: 8a9a386)source ble.sh
in bashrc #D1354
983e8a9 (master: 5476933){a}<>
#D1360
52de342 (master: 4760409)bind
): work around shopt -s nocasematch
(reported by tigger04) #D1372
b34ad58 (master: 855cacf)bleopt prompt_rps1
is reset #D1377
c736bd5 (master: 1904b1d)#D1390
048f17e (master: 98576c7)#D1387
048f17e (master: 98576c7)#D1386
048f17e (master: 98576c7)wtype
of reconstructed words at the end #D1385
048f17e (master: 98576c7)#D1389
bd4657a (master: 71afaba)#D1401
9266961 (master: d84bcd8)#D1400
9266961 (master: d84bcd8)#D1402
e1eca65 (master: 6fd9e22)ble/syntax:bash/simple-word/evaluate-path-spec
): fix a bug of unrecognized [!...]
and [^...]
#D1403
50fcd03 (master: 0b842f5)#D1421
#D1422
0f85719 (master: 1066653)~+
(reported by cmplstofB) #D1424
1f9abf6 (master: a32962e)dotglob
is changed #D1425
e26867d (master: 987436d)#D1417
20cb6af (master: 5777d7f)source:file
): fix a bug that tilde expansion candidates are always filtered out #D1416
20cb6af (master: 5777d7f)cd
): fix duplicate candidates by CDPATH
(reported by Lennart00 at oh-my-bash
) #D1415
20cb6af (master: 5777d7f)#D1264
500e051 (master: 47e2863)
\$
in PS1
for MSYS2 #D1265
b8c2ca6 (master: f6f8956)#D1270
8c09190 (master: 71f3498)ble/widget/bracketed-paste
): fix error messages on paste_end
in older version of Bash (test-util) 1631069 (master: b2c7d1c)declare -f
rejecting special characters in function names (test-util) 1631069 (master: b2c7d1c)ble/variable#get-attr
): fix a bug that attributes are not obtained in Bash <= 4.3 (test-util) 1631069 (master: b2c7d1c)LC_CTYPE=C eval command
(test-util) 1631069 (master: b2c7d1c)10#
#D1322
b58f006 (master: 557b774)#D1320
b58f006 (master: 557b774)#D1327
4b15993 (master: 16b56bf)-v var
option in Bash <= 4.1 (test-util) 360211c (master: f1a2818)compgen -c
in Cygwin #D1329
185a443 (master: 5327f5d)mc
(reported by onelittlehope) #D1392
4d534b4 (master: e97aa07)
#D1393
f47a5b8 (master: 2ddb1ba) #D1395
8c1e17c (master: ef09932)#D1246
f92ba5c (master: 19cc99d) 9461953 (master: 2e74b6d)BLE_VERSION
, _ble_bash
, etc. on ble-unload
#D1382
2bbd0fb (master: 6b615b6)
#D1414
20cb6af (master: 5777d7f)Prerequisites
Bash 3.0+ and basic POSIX utilities are required.
Download ble-0.2.6.tar.xz
https://github.com/akinomyoga/ble.sh/releases/download/v0.2.6/ble-0.2.6.tar.xz
# DOWNLOAD with wget
wget https://github.com/akinomyoga/ble.sh/releases/download/v0.2.6/ble-0.2.6.tar.xz
# DOWNLOAD with curl
curl -LO https://github.com/akinomyoga/ble.sh/releases/download/v0.2.6/ble-0.2.6.tar.xz
Trial & Install
# TRIAL
tar xJf ble-0.2.6.tar.xz
source ble-0.2.6/ble.sh
# INSTALL
tar xJf ble-0.2.6.tar.xz -C ~/.local/share/blesh
# Add the following line near the top of ~/.bashrc
[[ $- == *i* ]] && source ~/.local/share/blesh/ble.sh --noattach
# Add the following line at the end of ~/.bashrc
((_ble_bash)) && ble-attach
[!
and [^
in simple-word
(reported by cmplstofB) #D1303
5cff40f (master: 1efe833)PS1
when internal_suppress_bash_output
is set #D1344
72ae9c6 (master: 6ede0c7)BRE
instead of ERE
for POSIX sed
(reported by dylankb) #D1283
bca4598 (master: 2184739)#D1292
4260bc2 (master: da6cc47)<<$(echo A)
#D1308
1f874ba (master: 3212fd2)bleopt
): fix a bug that a new setting is not defined with name:=
(test-util) #D1312
a9eb0e9 (master: c757b92)ble/util/{save,restore}-vars
): fix a bug that name
and prefix
cannot be saved/restored (test-util) 49841db (master: 5f2480c)set +H
is cancelled on command execution #D1332
2ff6d06 (master: 02bdf4e)ble/syntax/parse/shift
): fix a bug of shift skip in nested words #D1333
bc935bd (master: 65fbba0)ble-stackdump
): fix a shift of line numbers #D1337
b597e90 (master: a14b72f)ble-bind -x
): check range of READLINE_{POINT,MARK}
#D1339
47a93e8 (master: efe1e81)ble/string#to{upper,lower}
): work around LC_COLLATE=en_US.utf8
(test-util) #D1341
5b32621 (master: 1f6b44e) #D1355
b38ef10 (master: 4da6103)WINCH
not updating COLUMNS
/LINES
after ble-reload
#D1345
50af6a5 (master: a190455){a}<>
#D1360
f81734f (master: 4760409)#D1402
b7ea892 (master: 6fd9e22)#D1421
#D1422
cc5e4d1 (master: 1066653)~+
(reported by cmplstofB) #D1424
3f7f044 (master: a32962e)#D1264
7cf81c0 (master: 47e2863)
\$
in PS1
for MSYS2 #D1265
8f44624 (master: f6f8956)#D1270
bbe1b61 (master: 71f3498)ble/widget/bracketed-paste
): fix error messages on paste_end
in older version of Bash (test-util) a80f1d1 (master: b2c7d1c)declare -f
rejecting special characters in function names (test-util) a80f1d1 (master: b2c7d1c)ble/variable#get-attr
): fix a bug that attributes are not obtained in Bash <= 4.3 (test-util) a80f1d1 (master: b2c7d1c)LC_CTYPE=C eval command
(test-util) a80f1d1 (master: b2c7d1c)#D1327
366e8c1 (master: 16b56bf)-v var
option in Bash <= 4.1 (test-util) 4f11463 (master: f1a2818)compgen -c
in Cygwin #D1329
887be6e (master: 5327f5d)mc
(reported by onelittlehope) #D1392
a2d6099 (master: e97aa07)#D1246
146c98b (master: 19cc99d)Prerequisites
Bash 3.0+ and basic POSIX utilities are required.
Download ble-0.1.14.tar.xz
https://github.com/akinomyoga/ble.sh/releases/download/v0.1.14/ble-0.1.14.tar.xz
# DOWNLOAD with wget
wget https://github.com/akinomyoga/ble.sh/releases/download/v0.1.14/ble-0.1.14.tar.xz
# DOWNLOAD with curl
curl -LO https://github.com/akinomyoga/ble.sh/releases/download/v0.1.14/ble-0.1.14.tar.xz
Trial & Install
# TRIAL
tar xJf ble-0.1.14.tar.xz
source ble-0.1.14/ble.sh
# INSTALL
tar xJf ble-0.1.14.tar.xz -C ~/.local/share/blesh
# Add the following line near the top of ~/.bashrc
[[ $- == *i* ]] && source ~/.local/share/blesh/ble.sh --noattach
# Add the following line at the end of ~/.bashrc
((_ble_bash)) && ble-attach
PS1
when internal_suppress_bash_output
is set #D1344
549f8f5 (master: 6ede0c7)BRE
instead of ERE
for POSIX sed
(reported by dylankb) #D1283
1244d86 (master: 2184739)set +H
is cancelled on command execution #D1332
ba3687a (master: 02bdf4e)ble/syntax/parse/shift
): fix a bug of shift skip in nested words #D1333
16fb351 (master: 65fbba0)ble-stackdump
): fix a shift of line numbers #D1337
5d5b86b (master: a14b72f)ble-bind -x
): check range of READLINE_{POINT,MARK}
#D1339
6909cc0 (master: efe1e81)ble/string#to{upper,lower}
): work around LC_COLLATE=en_US.utf8
(test-util) #D1341
31476cc (master: 1f6b44e) #D1355
65cab5c (master: 4da6103)WINCH
not updating COLUMNS
/LINES
after ble-reload
#D1345
e15c5a6 (master: a190455){a}<>
#D1360
6bbed24 (master: 4760409)#D1421
#D1422
bf8fdc8 (master: 1066653)#D1238
566f53e (master: defdbd4) #D1241
#D1264
19a36ea (master: 47e2863)
\$
in PS1
for MSYS2 #D1265
8658738 (master: f6f8956)#D1270
b72c063 (master: 71f3498)#D1327
fc6ded3 (master: 16b56bf)-v var
option in Bash <= 4.1 (test-util) cb2389c (master: f1a2818)compgen -c
in Cygwin #D1329
d6d49cc (master: 5327f5d)mc
(reported by onelittlehope) #D1392
15111cf (master: e97aa07)#D1246
03b3204 (master: 19cc99d) 2e74b6dsource ble.sh --noattach && ble-attach
(reported by dylankb) #D1223
ce93c08 896fa3b (master: 59c1ce4 3031007)~/.config/blesh/init.sh
#D1224
8e1ae73 (master: a82f961)#D1225
#D1226
6aa1732 (master: b9278bc)#D1232
d912e69 (master: 4b882fb)#D1235
057183c (master: 5f949e8)make
does not work in Bash 3.2 #D1236
840d6d6 (master: 08ced81)#D1238
#D1241
1f4e2bb (master: defdbd4 1720ec0)