Skip to content

multi-line string command continuation behavior #639

@travisdowns

Description

@travisdowns

First, thanks of all for ble.sh. I came to ble.sh primarily to integrate with atuin, which needs a pre/post hook which ble provides, but I've also come to like some of the other functionality ble provides.

My question/issue is how to (optionally, i.e., via config) get ble.sh multi-line edits to work more like vanilla bash. Specifically, when using coding agents, the agents expect to insert multi-line strings without any continuation character like:

echo "hello
world"

and have it work (this works in vanilla bash). In my ble.sh I instead get bash: unexpected EOF while looking for matching "' after the first line, and then the second line world" will be sent separately with another error.

Can I get the default bash behavior here?

Here

$ ble summary

GNU bash, version 5.2.21(1)-release (x86_64-pc-linux-gnu) [Ubuntu 24.04.3 LTS]
ble.sh, version 0.4.0-devel4+14f98dd (noarch) [git 2.43.0, GNU Make 4.3, GNU Awk 5.2.1, API 3.2, PMA Avon 8-g1, (GNU MPFR 4.2.1, GNU MP 6.3.0)]
bash-completion, version 2.11 (hash:9abb523dbcb688e7fae4b87f5fc9d155b658d9ba, 76898 bytes) (noarch)
fzf key-bindings, (hash:c4dce3ba5bfafecbc6c47695f89ef02c305b984e, 5524 bytes) (noarch) (integration: off)
WARNING: fzf integration "integration/fzf-key-bindings" is not activated.
atuin, version 18.5.0 (/home/tdowns/.atuin/bin/atuin)
locale: LANG=en_US.UTF-8
terminal: TERM=xterm-256color wcwidth=15.0-west/16.0-2+ri, vte:7600 (61;7600;1)
options: +extglob +histappend -hostcomplete +inherit_errexit

The condensed version of my .blerc:

bleopt complete_auto_complete=
function blerc/emacs-load-hook {
  ble-bind -f 'C-m' accept-line
  ble-bind -f 'RET' accept-line
  return 0
}
blehook/eval-after-load keymap_emacs blerc/emacs-load-hook
function blerc/vim-load-hook {
  ((_ble_bash>=40300)) && builtin bind 'set keyseq-timeout 1'
}
blehook/eval-after-load keymap_vi blerc/vim-load-hook

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions