updated for version 7.3.1248
Problem: Still have old hacking code for Input Method.
Solution: Add 'imactivatefunc' and 'imstatusfunc' as a generic solution to
Input Method activation. (Yukihiro Nakadaira)
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 93504a4..f9fa9d1 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -3993,6 +3993,26 @@
Can be overruled by using "\c" or "\C" in the pattern, see
|/ignorecase|.
+ *'imactivatefunc'* *'imaf'*
+'imactivatefunc' 'imaf' string (default "")
+ global
+ {not in Vi}
+ {only available when compiled with |+xim| and
+ |+GUI_GTK|}
+ This option specifies a function that will be called to
+ activate/inactivate Input Method.
+
+ Example: >
+ function ImActivateFunc(active)
+ if a:active
+ ... do something
+ else
+ ... do something
+ endif
+ " return value is not used
+ endfunction
+ set imactivatefunc=ImActivateFunc
+<
*'imactivatekey'* *'imak'*
'imactivatekey' 'imak' string (default "")
global
@@ -4089,6 +4109,24 @@
The value 0 may not work correctly with Athena and Motif with some XIM
methods. Use 'imdisable' to disable XIM then.
+ *'imstatusfunc'* *'imsf'*
+'imstatusfunc' 'imsf' string (default "")
+ global
+ {not in Vi}
+ {only available when compiled with |+xim| and
+ |+GUI_GTK|}
+ This option specifies a function that is called to obtain the status
+ of Input Method. It must return a positive number when IME is active.
+
+ Example: >
+ function ImStatusFunc()
+ let is_active = ...do something
+ return is_active ? 1 : 0
+ endfunction
+ set imstatusfunc=ImStatusFunc
+<
+ NOTE: This function is invoked very often. Keep it fast.
+
*'include'* *'inc'*
'include' 'inc' string (default "^\s*#\s*include")
global or local to buffer |global-local|