11local core = require (' opencode.core' )
22local util = require (' opencode.util' )
33local session = require (' opencode.session' )
4- local input_window = require (' opencode.ui.input_window' )
4+ local config_file = require (' opencode.config_file' )
5+ local state = require (' opencode.state' )
56
7+ local input_window = require (' opencode.ui.input_window' )
68local ui = require (' opencode.ui.ui' )
79local icons = require (' opencode.ui.icons' )
8- local state = require (' opencode.state' )
910local git_review = require (' opencode.git_review' )
1011local history = require (' opencode.history' )
11- local id = require (' opencode.id' )
1212
1313local M = {}
1414
@@ -348,6 +348,8 @@ function M.debug_session()
348348end
349349
350350function M .initialize ()
351+ local id = require (' opencode.id' )
352+
351353 ui .render_output (true )
352354
353355 local new_session = core .create_new_session (' AGENTS.md Initialization' )
@@ -382,7 +384,7 @@ function M.agent_build()
382384end
383385
384386function M .select_agent ()
385- local modes = require ( ' opencode. config_file' ) .get_opencode_agents ()
387+ local modes = config_file .get_opencode_agents ()
386388 vim .ui .select (modes , {
387389 prompt = ' Select mode:' ,
388390 }, function (selection )
@@ -395,7 +397,7 @@ function M.select_agent()
395397end
396398
397399function M .switch_mode ()
398- local modes = require ( ' opencode. config_file' ) .get_opencode_agents () --[[ @as string[] ]]
400+ local modes = config_file .get_opencode_agents () --[[ @as string[] ]]
399401
400402 local current_index = util .index_of (modes , state .current_mode )
401403
@@ -478,8 +480,7 @@ function M.help()
478480end
479481
480482function M .mcp ()
481- local info = require (' opencode.config_file' )
482- local mcp = info .get_mcp_servers ()
483+ local mcp = config_file .get_mcp_servers ()
483484 if not mcp then
484485 vim .notify (' No MCP configuration found. Please check your opencode config file.' , vim .log .levels .WARN )
485486 return
@@ -520,8 +521,7 @@ function M.mcp()
520521end
521522
522523function M .commands_list ()
523- local info = require (' opencode.config_file' )
524- local commands = info .get_user_commands ()
524+ local commands = config_file .get_user_commands ()
525525 if not commands then
526526 vim .notify (' No user commands found. Please check your opencode config file.' , vim .log .levels .WARN )
527527 return
@@ -533,13 +533,13 @@ function M.commands_list()
533533 local msg = M .with_header ({
534534 ' ### Available User Commands' ,
535535 ' ' ,
536- ' | Name | Description |' ,
537- ' |------|-------------|' ,
536+ ' | Name | Description |Arguments| ' ,
537+ ' |------|-------------|---------| ' ,
538538 })
539539
540540 for name , def in pairs (commands ) do
541541 local desc = def .description or ' '
542- table.insert (msg , string.format (' | %s | %s |' , name , desc ))
542+ table.insert (msg , string.format (' | %s | %s | %s | ' , name , desc , tostring ( config_file . command_takes_arguments ( def )) ))
543543 end
544544
545545 table.insert (msg , ' ' )
552552function M .run_user_command (name , args )
553553 M .open_input ()
554554
555- ui .render_output (true )
556555 if not state .active_session then
557556 vim .notify (' No active session' , vim .log .levels .WARN )
558557 return
@@ -1023,7 +1022,6 @@ M.commands = {
10231022 command = {
10241023 desc = ' Run user-defined command' ,
10251024 completions = function ()
1026- local config_file = require (' opencode.config_file' )
10271025 local user_commands = config_file .get_user_commands ()
10281026 if not user_commands then
10291027 return {}
@@ -1224,7 +1222,6 @@ function M.get_slash_commands()
12241222 })
12251223 end
12261224
1227- local config_file = require (' opencode.config_file' )
12281225 local user_commands = config_file .get_user_commands ()
12291226 if user_commands then
12301227 for name , def in pairs (user_commands ) do
0 commit comments