Skip to content

Commit 153c1a2

Browse files
committed
refactor(state): add mutation type annotations for state modules
1 parent 951df8c commit 153c1a2

6 files changed

Lines changed: 49 additions & 58 deletions

File tree

lua/opencode/state/context.lua

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
1+
12
local store = require('opencode.state.store')
23

4+
---@class OpencodeContextStateMutations
5+
---@field set_current_context_config fun(config: OpencodeContextConfig|nil)
6+
---@field set_context_updated_at fun(timestamp: number|nil)
7+
---@field set_current_cwd fun(cwd: string|nil)
8+
39
local M = {}
410

511
---@param config OpencodeContextConfig|nil

lua/opencode/state/init.lua

Lines changed: 0 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -23,64 +23,6 @@
2323
---@class OpencodeToggleDecision
2424
---@field action 'open'|'close'|'hide'|'close_hidden'|'restore_hidden'|'migrate'
2525

26-
---@class OpencodeSessionStateMutations
27-
---@field set_active fun(session: Session|nil, opts?: OpencodeProtectedStateSetOptions)
28-
---@field clear_active fun(opts?: OpencodeProtectedStateSetOptions)
29-
---@field set_restore_points fun(points: RestorePoint[], opts?: OpencodeProtectedStateSetOptions)
30-
---@field reset_restore_points fun(opts?: OpencodeProtectedStateSetOptions)
31-
---@field set_last_sent_context fun(context: OpencodeContext|nil)
32-
---@field set_user_message_count fun(count: table<string, number>)
33-
34-
---@class OpencodeJobStateMutations
35-
---@field increment_count fun(delta?: integer, opts?: OpencodeProtectedStateSetOptions)
36-
---@field decrement_count fun(delta?: integer, opts?: OpencodeProtectedStateSetOptions)
37-
---@field set_count fun(count: integer, opts?: OpencodeProtectedStateSetOptions)
38-
---@field set_server fun(server: OpencodeServer|nil, opts?: OpencodeProtectedStateSetOptions)
39-
---@field clear_server fun(opts?: OpencodeProtectedStateSetOptions)
40-
---@field set_api_client fun(client: OpencodeApiClient|nil)
41-
---@field set_event_manager fun(manager: EventManager|nil)
42-
---@field set_opencode_cli_version fun(version: string|nil)
43-
44-
---@class OpencodeUiStateMutations
45-
---@field set_windows fun(windows: OpencodeWindowState|nil)
46-
---@field clear_windows fun()
47-
---@field set_opening fun(is_opening: boolean)
48-
---@field set_panel_focused fun(is_focused: boolean)
49-
---@field set_last_focused_window fun(win_type: 'input'|'output'|nil)
50-
---@field set_display_route fun(route: any)
51-
---@field clear_display_route fun()
52-
---@field set_last_code_window fun(win_id: integer|nil)
53-
---@field set_current_code_buf fun(bufnr: integer|nil)
54-
---@field set_last_window_width_ratio fun(ratio: number|nil)
55-
---@field clear_last_window_width_ratio fun()
56-
---@field set_input_content fun(lines: table)
57-
---@field set_saved_window_options fun(opts: table|nil)
58-
---@field set_pre_zoom_width fun(width: integer|nil)
59-
60-
---@class OpencodeModelStateMutations
61-
---@field set_mode fun(mode: string|nil)
62-
---@field clear_mode fun()
63-
---@field set_model fun(model: string|nil)
64-
---@field clear_model fun()
65-
---@field set_model_info fun(info: table|nil)
66-
---@field set_variant fun(variant: string|nil)
67-
---@field clear_variant fun()
68-
---@field set_mode_model_map fun(mode_map: table<string, string>)
69-
---@field set_mode_model_override fun(mode: string, model: string)
70-
71-
---@class OpencodeRendererStateMutations
72-
---@field set_messages fun(messages: OpencodeMessage[]|nil)
73-
---@field set_current_message fun(message: OpencodeMessage|nil)
74-
---@field set_last_user_message fun(message: OpencodeMessage|nil)
75-
---@field set_pending_permissions fun(permissions: OpencodePermission[])
76-
---@field set_cost fun(cost: number)
77-
---@field set_tokens_count fun(count: number)
78-
79-
---@class OpencodeContextStateMutations
80-
---@field set_current_context_config fun(config: OpencodeContextConfig|nil)
81-
---@field set_context_updated_at fun(timestamp: number|nil)
82-
---@field set_current_cwd fun(cwd: string|nil)
83-
8426
---@class OpencodeState
8527
---@field windows OpencodeWindowState|nil
8628
---@field is_opening boolean

lua/opencode/state/jobs.lua

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
local store = require('opencode.state.store')
22

3+
---@class OpencodeJobStateMutations
4+
---@field increment_count fun(delta?: integer, opts?: OpencodeProtectedStateSetOptions)
5+
---@field decrement_count fun(delta?: integer, opts?: OpencodeProtectedStateSetOptions)
6+
---@field set_count fun(count: integer, opts?: OpencodeProtectedStateSetOptions)
7+
---@field set_server fun(server: OpencodeServer|nil, opts?: OpencodeProtectedStateSetOptions)
8+
---@field clear_server fun(opts?: OpencodeProtectedStateSetOptions)
9+
---@field set_api_client fun(client: OpencodeApiClient|nil)
10+
---@field set_event_manager fun(manager: EventManager|nil)
11+
---@field set_opencode_cli_version fun(version: string|nil)
12+
313
local M = {}
414

515
---@param delta integer|nil

lua/opencode/state/renderer.lua

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
1+
12
local store = require('opencode.state.store')
23

4+
---@class OpencodeRendererStateMutations
5+
---@field set_messages fun(messages: OpencodeMessage[]|nil)
6+
---@field set_current_message fun(message: OpencodeMessage|nil)
7+
---@field set_last_user_message fun(message: OpencodeMessage|nil)
8+
---@field set_pending_permissions fun(permissions: OpencodePermission[])
9+
---@field set_cost fun(cost: number)
10+
---@field set_tokens_count fun(count: number)
11+
312
local M = {}
413

514
---@param messages OpencodeMessage[]|nil

lua/opencode/state/session.lua

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
local store = require('opencode.state.store')
22

3+
---@class OpencodeSessionStateMutations
4+
---@field set_active fun(session: Session|nil, opts?: OpencodeProtectedStateSetOptions)
5+
---@field clear_active fun(opts?: OpencodeProtectedStateSetOptions)
6+
---@field set_restore_points fun(points: RestorePoint[], opts?: OpencodeProtectedStateSetOptions)
7+
---@field reset_restore_points fun(opts?: OpencodeProtectedStateSetOptions)
8+
---@field set_last_sent_context fun(context: OpencodeContext|nil)
9+
---@field set_user_message_count fun(count: table<string, number>)
10+
311
local M = {}
412

513
---@param session Session|nil

lua/opencode/state/ui.lua

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,21 @@
11
local store = require('opencode.state.store')
22

3+
---@class OpencodeUiStateMutations
4+
---@field set_windows fun(windows: OpencodeWindowState|nil)
5+
---@field clear_windows fun()
6+
---@field set_opening fun(is_opening: boolean)
7+
---@field set_panel_focused fun(is_focused: boolean)
8+
---@field set_last_focused_window fun(win_type: 'input'|'output'|nil)
9+
---@field set_display_route fun(route: any)
10+
---@field clear_display_route fun()
11+
---@field set_last_code_window fun(win_id: integer|nil)
12+
---@field set_current_code_buf fun(bufnr: integer|nil)
13+
---@field set_last_window_width_ratio fun(ratio: number|nil)
14+
---@field clear_last_window_width_ratio fun()
15+
---@field set_input_content fun(lines: table)
16+
---@field set_saved_window_options fun(opts: table|nil)
17+
---@field set_pre_zoom_width fun(width: integer|nil)
18+
319
local M = {}
420

521
local _state = store.state()

0 commit comments

Comments
 (0)