wezterm.action_callback(callback)

Since: 20211204-082213-a66c61ee9

This function is a helper to register a custom event and return an action triggering it.

It is helpful to write custom key bindings directly, without having to declare the event and use it in a different place.

The implementation is essentially the same as:

function wezterm.action_callback(callback)
  local event_id = '...' -- the function generates a unique event id
  wezterm.on(event_id, callback)
  return wezterm.action.EmitEvent(event_id)
end

See wezterm.on and wezterm.action for more info on what you can do with these.

Usage

local wezterm = require 'wezterm'

return {
  keys = {
    {
      mods = 'CTRL|SHIFT',
      key = 'i',
      action = wezterm.action_callback(function(win, pane)
        wezterm.log_info 'Hello from callback!'
        wezterm.log_info(
          'WindowID:',
          win:window_id(),
          'PaneID:',
          pane:pane_id()
        )
      end),
    },
  },
}