From 01f8d3b05dee77614203df6da06a8693fecf3fbf Mon Sep 17 00:00:00 2001 From: Frank Date: Tue, 22 Jul 2025 11:21:26 -0400 Subject: wip: vscode extension --- .../tui/internal/components/commands/commands.go | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'packages/tui/internal/components/commands') diff --git a/packages/tui/internal/components/commands/commands.go b/packages/tui/internal/components/commands/commands.go index 7f293230c..71e608888 100644 --- a/packages/tui/internal/components/commands/commands.go +++ b/packages/tui/internal/components/commands/commands.go @@ -11,6 +11,7 @@ import ( "github.com/sst/opencode/internal/commands" "github.com/sst/opencode/internal/styles" "github.com/sst/opencode/internal/theme" + "github.com/sst/opencode/internal/util" ) type CommandsComponent interface { @@ -24,6 +25,7 @@ type commandsComponent struct { width, height int showKeybinds bool showAll bool + showVscode bool background *compat.AdaptiveColor limit *int } @@ -73,6 +75,30 @@ func (c *commandsComponent) View() string { commandsToShow = commandsToShow[:*c.limit] } + if c.showVscode { + commandsToShow = append(commandsToShow, + // empty line + commands.Command{ + Name: "", + Description: "", + }, + commands.Command{ + Name: commands.CommandName(util.Ide()), + Description: "open opencode", + Keybindings: []commands.Keybinding{ + {Key: "cmd+esc", RequiresLeader: false}, + }, + }, + commands.Command{ + Name: commands.CommandName(util.Ide()), + Description: "reference file", + Keybindings: []commands.Keybinding{ + {Key: "cmd+opt+k", RequiresLeader: false}, + }, + }, + ) + } + if len(commandsToShow) == 0 { muted := styles.NewStyle().Foreground(theme.CurrentTheme().TextMuted()) if c.showAll { @@ -196,6 +222,12 @@ func WithShowAll(showAll bool) Option { } } +func WithVscode(showVscode bool) Option { + return func(c *commandsComponent) { + c.showVscode = showVscode + } +} + func New(app *app.App, opts ...Option) CommandsComponent { c := &commandsComponent{ app: app, -- cgit v1.2.3