Skip to main content
Deno 2 is finally here 🎉️
Learn more
Module

x/ddu_vim/deps.ts>fn.timer_start

Dark deno-powered UI framework for neovim/Vim
Go to Latest
function fn.timer_start
import { fn } from "https://deno.land/x/ddu_vim@v4.0.0/deps.ts";
const { timer_start } = fn;

Create a timer and return the timer ID.

{time} is the waiting time in milliseconds. This is the minimum time before invoking the callback. When the system is busy or Vim is not waiting for input the time will be longer. Zero can be used to execute the callback when Vim is back in the main loop.

{callback} is the function to call. It can be the name of a function or a Funcref. It is called with one argument, which is the timer ID. The callback is only invoked when Vim is waiting for input. If you want to show a message look at popup_notification() to avoid interfering with what the user is doing.

{options} is a dictionary. Supported entries: "repeat" Number of times to repeat calling the callback. -1 means forever. When not present the callback will be called once. If the timer causes an error three times in a row the repeat is cancelled. This avoids that Vim becomes unusable because of all the error messages.

Returns -1 on error.

Example:

func MyHandler(timer)
  echo 'Handler called'
endfunc
let timer = timer_start(500, 'MyHandler',
        \ {'repeat': 3})

This will invoke MyHandler() three times at 500 msec intervals.

Can also be used as a method:

GetMsec()->timer_start(callback)

Not available in the sandbox. only available when compiled with the +timers feature

Parameters

denops: Denops
time: unknown
callback: unknown
optional
options: unknown

Returns

Promise<number>