Skip to content

Commit 6678094

Browse files
committed
feat(wezterm-sessions): add type annotations
Signed-off-by: Guennadi Maximov C <g.maxc.fox@protonmail.com>
1 parent fcc5d3a commit 6678094

6 files changed

Lines changed: 128 additions & 0 deletions

File tree

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ This project also features type annotations for various WezTerm plugins.
101101
| [wezterm-config.nvim](https://github.com/winter-again/wezterm-config.nvim) | [docs/wezterm-config.md](./docs/wezterm-config.md) | [:h wezterm-types-plugin.wezterm-config.txt](./doc/wezterm-types-plugin.wezterm-config.txt) |
102102
| [wezterm-quota-limit](https://github.com/btrachey/EdenGibson/wezterm-quota-limit) | [docs/quota-limit.md](./docs/quota-limit.md) | [:h wezterm-types-plugin.quota-limit.txt](./doc/wezterm-types-plugin.quota-limit.txt) |
103103
| [wezterm-replay](https://github.com/btrachey/wezterm-replay) | [docs/replay.md](./docs/replay.md) | [:h wezterm-types-plugin.replay.txt](./doc/wezterm-types-plugin.replay.txt) |
104+
| [wezterm-sessions](https://github.com/abidibo/wezterm-sessions) | [docs/wezterm-sessions.md](./docs/wezterm-sessions.md) | [:h wezterm-types-plugin.wezterm-sessions.txt](./doc/wezterm-types-plugin.wezterm-sessions.txt) |
104105
| [wezterm-status](https://github.com/yriveiro/wezterm-status) | [docs/wezterm-status.md](./docs/wezterm-status.md) | [:h wezterm-types-plugin.wezterm-status.txt](./doc/wezterm-types-plugin.wezterm-status.txt) |
105106
| [wezterm-tabs](https://github.com/yriveiro/wezterm-tabs) | [docs/wezterm-tabs.md](./docs/wezterm-tabs.md) | [:h wezterm-types-plugin.wezterm-tabs.txt](./doc/wezterm-types-plugin.wezterm-tabs.txt) |
106107
| [wezterm-theme-rotator](https://github.com/koh-sh/wezterm-theme-rotator) | [docs/wezterm-theme-rotator.md](./docs/wezterm-theme-rotator.md) | [:h wezterm-types-plugin.wezterm-theme-rotator.txt](./doc/wezterm-types-plugin.wezterm-theme-rotator.txt) |

doc/wezterm-types-plugin.wezterm-sessions.txt

Whitespace-only changes.

docs/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ We will keep adding more community plugins as we find them.
3434
- [wezterm-config.nvim](./wezterm-config.md)
3535
- [wezterm-quota-limit](./quota-limit.md)
3636
- [wezterm-replay](./replay.md)
37+
- [wezterm-sessions](./wezterm-sessions.md)
3738
- [wezterm-status](./wezterm-status.md)
3839
- [wezterm-tabs](./wezterm-tabs.md)
3940
- [wezterm-theme-rotator](./wezterm-theme-rotator.md)

docs/wezterm-sessions.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
### `wezterm-sessions`
2+
3+
You can import type annotations for
4+
[`abidibo/wezterm-sessions`](https://github.com/abidibo/wezterm-sessions) as shown below:
5+
6+
```lua
7+
---@type WeztermSessions
8+
local sessions = wezterm.plugin.require("https://github.com/abidibo/wezterm-sessions")
9+
```
10+
11+
<!-- vim: set ts=2 sts=2 sw=2 et ai si sta: -->
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
---@meta
2+
---@diagnostic disable:unused-local
3+
4+
---@class WeztermSessionsOpts
5+
---@field auto_save_interval_s? integer
6+
---@field git_branch_warn? boolean
7+
8+
---@class WeztermSessions
9+
local M = {}
10+
11+
---Sets default keybindings.
12+
---
13+
---@param config Config
14+
---@param user_config? WeztermSessionsOpts
15+
function M.apply_to_config(config, user_config) end
16+
17+
---Allows to select which workspace to delete.
18+
---
19+
---@param window Window
20+
---@param pane Pane
21+
function M.delete_state(window, pane) end
22+
23+
---Allows to select which workspace state to edit in favourite editor.
24+
---
25+
---@param window Window
26+
---@param pane Pane
27+
function M.edit_state(window, pane) end
28+
29+
---Forks the current session into a new one.
30+
---
31+
---@param window Window
32+
---@param pane Pane
33+
function M.fork_state(window, pane) end
34+
35+
---Allows to select which workspace to load or which tab to restore.
36+
---
37+
---@param window Window
38+
---@param pane Pane
39+
function M.load_state(window, pane) end
40+
41+
---Loads the saved json file matching the current workspace.
42+
---
43+
---@param window Window
44+
function M.restore_state(window) end
45+
46+
---Orchestrator function to save the current workspace state.
47+
---
48+
---Collects workspace data, saves it to a JSON file, and displays a notification.
49+
---
50+
---@param window Window
51+
---@param notify boolean
52+
function M.save_state(window, notify) end
53+
54+
---Start autosave.
55+
---
56+
---@param window Window
57+
function M.start_autosave(window) end
58+
59+
---Stop autosave.
60+
---
61+
---@param window Window
62+
function M.stop_autosave(window) end
63+
64+
---Toggle autosave.
65+
---
66+
---@param window Window
67+
function M.toggle_autosave(window) end
68+
69+
-- vim: set ts=2 sts=2 sw=2 et ai si sta:

lua/wezterm/types/wezterm.lua

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1943,6 +1943,52 @@ function M.on(event, callback) end
19431943

19441944
---=================================================================================
19451945

1946+
---============================= wezterm-sessions ==================================
1947+
1948+
---This is for `wezterm-sessions` only!
1949+
---
1950+
---@param event "delete_session"
1951+
---@param callback fun(window: Window, pane: Pane)
1952+
function M.on(event, callback) end
1953+
1954+
---This is for `wezterm-sessions` only!
1955+
---
1956+
---@param event "edit_session"
1957+
---@param callback fun(window: Window, pane: Pane)
1958+
function M.on(event, callback) end
1959+
1960+
---This is for `wezterm-sessions` only!
1961+
---
1962+
---@param event "fork_session"
1963+
---@param callback fun(window: Window, pane: Pane)
1964+
function M.on(event, callback) end
1965+
1966+
---This is for `wezterm-sessions` only!
1967+
---
1968+
---@param event "load_session"
1969+
---@param callback fun(window: Window, pane: Pane)
1970+
function M.on(event, callback) end
1971+
1972+
---This is for `wezterm-sessions` only!
1973+
---
1974+
---@param event "restore_session"
1975+
---@param callback fun(window: Window)
1976+
function M.on(event, callback) end
1977+
1978+
---This is for `wezterm-sessions` only!
1979+
---
1980+
---@param event "save_session"
1981+
---@param callback fun(window: Window)
1982+
function M.on(event, callback) end
1983+
1984+
---This is for `wezterm-sessions` only!
1985+
---
1986+
---@param event "toggle_autosave"
1987+
---@param callback fun(window: Window)
1988+
function M.on(event, callback) end
1989+
1990+
---=================================================================================
1991+
19461992
---This function opens the specified `path_or_url` with
19471993
---either the specified application or the default application
19481994
---if `application` was not passed in.

0 commit comments

Comments
 (0)