Skip to content

Commit

Permalink
menu (ble/widget/menu/append-arg): add option "bell"
Browse files Browse the repository at this point in the history
  • Loading branch information
akinomyoga committed Aug 26, 2023
1 parent f7ec170 commit 3f31be1
Show file tree
Hide file tree
Showing 4 changed files with 54 additions and 3 deletions.
5 changes: 3 additions & 2 deletions docs/ChangeLog.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,15 @@
- cmdspec: add completion options for builtins (motivated by EmilySeville7cfg) `#D2040` 9bd24691
- syntax: support bash-5.3 function subst `${ list; }` `#2045` 0906fd95 71272a4b
- complete: support `bleopt complete_requote_threshold` (requested by rauldipeas) `#2048` bb7e118e
- menu (`ble/widget/menu/append-arg`): add option `bell` (motivated by bkerin) `#D2066` xxxxxxxx

## Changes

- edit: clear character highlighting for overwriting mode (requested by mozirilla213) `#D2052` 1afc616b
- history (`ble/builtin/history -w`): write file even without any new entries (requested by Jai-JAP) `#D2053` c78e5c9f
- auto-complete: overwrite subsequent characters with self-insert in overwrite mode `#D2059` 7044b2db
- complete: move face definitions `menu_filter_*` to `core-complete-def.sh` `#D2060` af022266
- make: add `INSDIR_LICENSE` for install location of licenses (reported by willemw) `#D2064` d39998f0 xxxxxxxx
- make: add `INSDIR_LICENSE` for install location of licenses (reported by willemw) `#D2064` d39998f0 acf3b091

## Fixes

Expand All @@ -43,7 +44,7 @@
- complete: update a workaround for cobra-1.5.0 (reported by 3ximus) `#D2057` a24435d3
- make: work around ecryptfs bug (reported by juanejot) `#D2058` 969a763e dc0cdb30
- edit: update mc-4.8.29 integration (reported by mooreye) `#D2062` 2c4194a2 68c5c5c4
- make: work around `make-3.81` bug of pattern rules `#D2065` xxxxxxxx
- make: work around `make-3.81` bug of pattern rules `#D2065` f7ec170b

## Contrib

Expand Down
16 changes: 15 additions & 1 deletion lib/core-complete.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7573,6 +7573,7 @@ function ble/widget/complete/.select-menu-with-arg {

local arg_opts= opts=$1
[[ :$opts: == *:enter-menu:* ]] && arg_opts=always
[[ :$opts: == *:bell:* ]] && arg_opts=$arg_opts:bell

# 現在のキーが実際に引数の一部として解釈され得る時のみ menu に入る
ble/widget/menu/append-arg/.is-argument "$arg_opts" || return 1
Expand Down Expand Up @@ -7941,6 +7942,15 @@ function ble-decode/keymap:menu_complete/define {
_ble_complete_menu_arg=
## @fn ble/widget/menu/append-arg [opts]
## @param[in,opt] opts
## A colon-separated list of the options:
##
## always
## When a numeric argument is not started, the normal digit is by default
## treated as normal user input. This option makes the normal digit
## always start a numeric argument.
## bell
## Call edit bell when no corresponding item is found.
##
function ble/widget/menu/append-arg {
[[ ${LASTWIDGET%%' '*} == */append-arg ]] || _ble_complete_menu_arg=

Expand All @@ -7963,7 +7973,11 @@ function ble/widget/menu/append-arg {
while ((_ble_complete_menu_arg>count)); do
((_ble_complete_menu_arg=10#0${_ble_complete_menu_arg:1}))
done
((_ble_complete_menu_arg)) || return 0
if ! ((_ble_complete_menu_arg)); then
[[ :$1: == *:bell:* ]] &&
ble/widget/.bell 'menu: out of range'
return 0
fi

# 移動
ble/complete/menu#select "$((_ble_complete_menu_arg-1))"
Expand Down
32 changes: 32 additions & 0 deletions note.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1905,6 +1905,19 @@ bash_tips
- make_command.sh の整理 (scan 分離, char_width 分離)
- note.txt -> memo.txt

2023-08-17

* ext: Android OS コンパイル環境での問題
https://github.com/akinomyoga/ble.sh/issues/353

Android OS をコンパイルする時に応答がなくなると言っている。これは Android
OS のバグなのではないか。調べてみると Android OS をコンパイルするのには4コ
ア使って数時間かかるとか言っている。仮想マシンの中で実行しようと思うとます
ます時間がかかるのではないか。しかも 18.04 LTS とかいう古い Ubuntu の OS で
やっている。

応答がない。

2023-07-31

* bash <= 4.4 & contra & mercury で矢印キーが動かない
Expand Down Expand Up @@ -6923,6 +6936,11 @@ bash_tips
Done (実装ログ)
-------------------------------------------------------------------------------

2023-08-26

* menu: append-arg で対応する項目がない時 bell (motivated by bkerin) [#D2066]
https://github.com/akinomyoga/ble.sh/issues/354

2023-08-17

* Makefile: github/workflows の macos-latest で失敗する [#D2065]
Expand Down Expand Up @@ -7617,6 +7635,20 @@ bash_tips
これらの関数は外側の状態を (グローバル変数ではなく) ローカル変数に記録し
てそれをまた復元するという形を取っている。なので問題ない筈。

2023-08-17 まだ問題があるという。然し問題が起こる理由が分からない。

古い ble.sh をロードしてから後で新しい ble.sh をロードしている可能性もある
のではないか。取り敢えず nocasematch / nocaseglob が怪しくてそれを修正した
ら手元では再現しなくなった。

a その他の可能性は bash-4.3 では問題が依然として発生するという事→再現しな
い。

b 或いは、Ubuntu 16.04 LTS だと問題が発生するという可能性→これも再現しない。

c oh-my-bash と組み合わせると問題が発生するという可能性? → 特に問題は発生
していない。

2023-06-12

* complete: fzf-completion で生成された path が full path になる (reported by teutat3s) [#D2049]
Expand Down
4 changes: 4 additions & 0 deletions src/edit.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2433,7 +2433,11 @@ function ble/keymap:generic/clear-arg {
## @param[in] widget
## @param[in,opt] opts
## enter-menu
## 補完 menu が表示されている時、menu に入ってから menu 選択を行います。
## 修飾なしの数字であっても常に引数として取り扱います。
## bell
## 補完 menu に入った後で対応する項目がなかった時に bell を鳴らします。
##
function ble/widget/append-arg-or {
# ble/widget/complete 直後 (menu 表示時) の引数で menu に入る
ble/function#try ble/widget/complete/.select-menu-with-arg "${@:2}" && return 0
Expand Down

0 comments on commit 3f31be1

Please sign in to comment.