Vim 7.4.2170 で timer_info() が追加された
patch 7.4.2170 で timer_info()
関数が追加されました。
この関数は現在実行中の timer
の情報を返す関数です。
echo timer_info() " => [ " { " 'callback': function('<SNR>489_timer_handler'), " 'id': 2, " 'remaining': 420, " 'repeat': -1, " 'time': 500 " }, " { " 'callback': function('<SNR>489_timer_handler'), " 'id': 1, " 'remaining': 420, " 'repeat': -1, " 'time': 500 " } " ]
また、timer id
を指定することも出来ます。
let s:id = timer_start(500, function({ l -> \ execute("let l.value += 1 | echo l.value", "") \}, [{"value" : 0}]), { "repeat" : 5 }) " Timer ID を指定することもできる " この時にも戻り値は配列なので注意 echo timer_info(s:id) " => [{'id': 16, 'repeat': 5, 'remaining': 499, 'time': 500, 'callback': function('<lambda>7', [{'value': 0}])}] " ちょっと待機 sleep 1 " 残りの repeat 回数が減ってる echo timer_info(s:id) " => [{'id': 16, 'repeat': 3, 'remaining': 498, 'time': 500, 'callback': function('<lambda>7', [{'value': 2}])}]
あとから timer
を止めたい場合とかに便利そう。