Skip to content

Commit c85c525

Browse files
committed
fix(init): set up config before state
This makes sure that when state reads config.default_mode, it gets the value set by the user (if they set it)
1 parent a471a63 commit c85c525

File tree

2 files changed

+11
-10
lines changed

2 files changed

+11
-10
lines changed

lua/opencode/init.lua

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
local M = {}
2-
local config = require('opencode.config')
3-
local keymap = require('opencode.keymap')
4-
local api = require('opencode.api')
5-
local config_file = require('opencode.config_file')
62

73
function M.setup(opts)
84
vim.schedule(function()
9-
require('opencode.core').setup()
5+
-- Have to setup config first, especially before state as
6+
-- it initializes at least one value (current_mode) from config.
7+
-- If state is require'd first then it will not get what may
8+
-- be set by the user
9+
local config = require('opencode.config')
1010
config.setup(opts)
11-
api.setup()
12-
keymap.setup(config.keymap)
1311

12+
require('opencode.core').setup()
13+
require('opencode.api').setup()
14+
require('opencode.keymap').setup(config.keymap)
1415
require('opencode.ui.completion').setup()
1516
require('opencode.event_manager').setup()
1617
end)

lua/opencode/state.lua

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,12 @@ local config = require('opencode.config')
3333
---@field opencode_server_job OpencodeServer|nil
3434
---@field api_client OpencodeApiClient
3535
---@field event_manager EventManager|nil
36+
---@field required_version string
37+
---@field opencode_cli_version string|nil
38+
---@field append fun( key:string, value:any)
3639
---@field subscribe fun( key:string|nil, cb:fun(key:string, new_val:any, old_val:any))
3740
---@field unsubscribe fun( key:string|nil, cb:fun(key:string, new_val:any, old_val:any))
3841
---@field is_running fun():boolean
39-
---@field append fun( key:string, value:any)
40-
---@field required_version string
41-
---@field opencode_cli_version string|nil
4242

4343
-- Internal raw state table
4444
local _state = {

0 commit comments

Comments
 (0)