forked from akinomyoga/ble.sh
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdef.sh
127 lines (105 loc) · 3.22 KB
/
def.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# -*- mode: sh; mode: sh-bash -*-
# Constants (様々な箇所から使うので此処に置く)
_ble_term_nl=$'\n'
_ble_term_FS=$'\034'
_ble_term_SOH=$'\001'
_ble_term_DEL=$'\177'
_ble_term_IFS=$' \t\n'
_ble_term_CR=$'\r'
function blehook/declare {
local name=$1
builtin eval "_ble_hook_h_$name=()"
builtin eval "_ble_hook_c_$name=0"
}
# ble.pp
blehook/declare EXIT
blehook/declare INT
# blehook/declare ERR # inactive
# blehook/declare RETURN # inactive
# blehook/declare DEBUG # inactive
blehook/declare internal_EXIT
blehook/declare internal_INT
blehook/declare internal_ERR
blehook/declare internal_RETURN
blehook/declare internal_DEBUG
blehook/declare unload
blehook/declare ATTACH
blehook/declare DETACH
# util.sh
blehook/declare term_DA1R
blehook/declare term_DA2R
# color.sh
blehook/declare color_defface_load
blehook/declare color_setface_load
# history.sh
blehook/declare ADDHISTORY
blehook/declare history_reset_background
blehook/declare history_leave
blehook/declare history_change
blehook/declare history_message
# edit.sh
blehook/declare WINCH
blehook/declare internal_WINCH
blehook/declare CHPWD
blehook/declare PRECMD
blehook/declare internal_PRECMD
blehook/declare PREEXEC
blehook/declare POSTEXEC
blehook/declare ERREXEC
blehook/declare widget_bell
blehook/declare textarea_render_defer
blehook/declare info_reveal
# deprecated function
function ble-edit/prompt/print { ble/prompt/print "$@"; }
function ble-edit/prompt/process-prompt-string { ble/prompt/process-prompt-string "$@"; }
# keymap
blehook/declare keymap_load
blehook/declare keymap_vi_load
blehook/declare keymap_emacs_load
# core-syntax.sh
blehook/declare syntax_load
# core-complete.sh
blehook/declare complete_load
blehook/declare complete_insert
#------------------------------------------------------------------------------
# for compatibility:
function blehook/.compatibility-ble-0.3 {
blehook keymap_load!='ble/util/invoke-hook _ble_keymap_default_load_hook'
blehook keymap_emacs_load!='ble/util/invoke-hook _ble_keymap_emacs_load_hook'
blehook keymap_vi_load!='ble/util/invoke-hook _ble_keymap_vi_load_hook'
blehook complete_load!='ble/util/invoke-hook _ble_complete_load_hook'
}
function blehook/.compatibility-ble-0.3/check {
if ble/is-array _ble_keymap_default_load_hook ||
ble/is-array _ble_keymap_vi_load_hook ||
ble/is-array _ble_keymap_emacs_load_hook ||
ble/is-array _ble_complete_load_hook
then
ble/bin/cat << EOF
# [Change in ble-0.4.0]
#
# Please update your blerc settings for ble-0.4+.
# In ble-0.4+, use the following form:
#
# blehook/eval-after-load keymap SHELL-COMMAND
# blehook/eval-after-load keymap_vi SHELL-COMMAND
# blehook/eval-after-load keymap_emacs SHELL-COMMAND
# blehook/eval-after-load complete SHELL-COMMAND
#
# instead of the following older form:
#
# ble/array#push _ble_keymap_default_load_hook SHELL-COMMAND
# ble/array#push _ble_keymap_vi_load_hook SHELL-COMMAND
# ble/array#push _ble_keymap_emacs_load_hook SHELL-COMMAND
# ble/array#push _ble_complete_load_hook SHELL-COMMAND
#
# Note: "blehook/eval-after-load" should be called
# after you defined SHELL-COMMAND.
#
EOF
fi
}
# Deprecated names
function ble/complete/action/inherit-from {
ble/complete/action#inherit-from "$@"
}