aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPřemysl Eric Janouch <p@janouch.name>2020-10-20 03:42:14 +0200
committerPřemysl Eric Janouch <p@janouch.name>2020-10-20 03:44:15 +0200
commit6f40b8db3a4e413cfd0462e38ec1476bb6c0bffe (patch)
tree6cd9423fb22fd85d62915335248699a79c1e1739
parent63e7895905a1cc31c5b6881b4738cd04217adbc1 (diff)
downloadsdn-6f40b8db3a4e413cfd0462e38ec1476bb6c0bffe.tar.gz
sdn-6f40b8db3a4e413cfd0462e38ec1476bb6c0bffe.tar.xz
sdn-6f40b8db3a4e413cfd0462e38ec1476bb6c0bffe.zip
Fix ext-helpers with older bash versions
See Midnight Commander commit 436296f, blindly trusting it. wc(1) could be used unconditionally but let's make it clear.
-rw-r--r--README.adoc8
1 files changed, 7 insertions, 1 deletions
diff --git a/README.adoc b/README.adoc
index de865de..780ff60 100644
--- a/README.adoc
+++ b/README.adoc
@@ -100,11 +100,17 @@ there's no way to invoke `prompt_again()` from a `bind -x` handler but we can
work around it by submitting a blank line:
----
+sdn-cursor () {
+ if [[ $BASH_VERSINFO -lt 5 ]]
+ then echo -n "$SDN_L" | wc -m
+ else echo "$SDN_P"
+ fi
+}
sdn-navigate () {
SDN_L=$READLINE_LINE SDN_P=$READLINE_POINT
READLINE_LINE=
- while eval "`sdn "$SDN_L" "$SDN_P"`"; do
+ while eval "`sdn "$SDN_L" "$(sdn-cursor)"`"; do
[[ -z "$cd" ]] || cd "$cd"
[[ -z "$insert" ]] || {
SDN_L="${SDN_L:0:$SDN_P}$insert ${SDN_L:$SDN_P}"