mirror of
https://github.com/wez/wezterm.git
synced 2024-12-23 21:32:13 +03:00
add wezterm.has_action
refs: https://github.com/wez/wezterm/issues/3454
This commit is contained in:
parent
b1c58bad39
commit
b45a4d7215
@ -346,6 +346,12 @@ end
|
|||||||
)?;
|
)?;
|
||||||
wezterm_mod.set("hostname", lua.create_function(hostname)?)?;
|
wezterm_mod.set("hostname", lua.create_function(hostname)?)?;
|
||||||
wezterm_mod.set("action", luahelper::enumctor::Enum::<KeyAssignment>::new())?;
|
wezterm_mod.set("action", luahelper::enumctor::Enum::<KeyAssignment>::new())?;
|
||||||
|
wezterm_mod.set(
|
||||||
|
"has_action",
|
||||||
|
lua.create_function(|_lua, name: String| {
|
||||||
|
Ok(KeyAssignment::variants().contains(&name.as_str()))
|
||||||
|
})?,
|
||||||
|
)?;
|
||||||
|
|
||||||
lua.set_named_registry_value(LUA_REGISTRY_USER_CALLBACK_COUNT, 0)?;
|
lua.set_named_registry_value(LUA_REGISTRY_USER_CALLBACK_COUNT, 0)?;
|
||||||
wezterm_mod.set("action_callback", lua.create_function(action_callback)?)?;
|
wezterm_mod.set("action_callback", lua.create_function(action_callback)?)?;
|
||||||
|
@ -67,6 +67,8 @@ As features stabilize some brief notes about them will accumulate here.
|
|||||||
* [pane:get_tty_name()](config/lua/pane/get_tty_name.md) and
|
* [pane:get_tty_name()](config/lua/pane/get_tty_name.md) and
|
||||||
[PaneInformation.tty_name](config/lua/PaneInformation.md) to reason about the
|
[PaneInformation.tty_name](config/lua/PaneInformation.md) to reason about the
|
||||||
tty name on local unix systems.
|
tty name on local unix systems.
|
||||||
|
* [wezterm.has_action()](config/lua/wezterm/has_action.md) makes it easier to
|
||||||
|
author a wezterm config that works across different wezterm versions. #3454
|
||||||
|
|
||||||
#### Fixed
|
#### Fixed
|
||||||
* mux: Stale remote window mapping could prevent spawning new tabs in remote domain. #2759
|
* mux: Stale remote window mapping could prevent spawning new tabs in remote domain. #2759
|
||||||
|
21
docs/config/lua/wezterm/has_action.md
Normal file
21
docs/config/lua/wezterm/has_action.md
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# wezterm.has_action(NAME)
|
||||||
|
|
||||||
|
{{since('nightly')}}
|
||||||
|
|
||||||
|
Returns true if the string *NAME* is a valid key assignment action variant
|
||||||
|
that can be used with [wezterm.action](action.md).
|
||||||
|
|
||||||
|
This is useful when you want to use a wezterm configuration across multiple
|
||||||
|
different versions of wezterm.
|
||||||
|
|
||||||
|
```lua
|
||||||
|
if wezterm.has_action 'PromptInputLine' then
|
||||||
|
table.insert(config.keys, {
|
||||||
|
key = 'p',
|
||||||
|
mods = 'LEADER',
|
||||||
|
action = wezterm.action.PromptInputLine {
|
||||||
|
-- other parameters here
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end
|
||||||
|
```
|
Loading…
Reference in New Issue
Block a user