summaryrefslogtreecommitdiffhomepage
path: root/packages/tui/internal/components/commands
diff options
context:
space:
mode:
authorFrank <[email protected]>2025-07-22 11:21:26 -0400
committerFrank <[email protected]>2025-07-22 11:21:29 -0400
commit01f8d3b05dee77614203df6da06a8693fecf3fbf (patch)
tree58283896e6683723d86911e0948c3e59d36cff4b /packages/tui/internal/components/commands
parent99d6a28249f10ba1fcb7d61599c008154663a51f (diff)
downloadopencode-01f8d3b05dee77614203df6da06a8693fecf3fbf.tar.gz
opencode-01f8d3b05dee77614203df6da06a8693fecf3fbf.zip
wip: vscode extension
Diffstat (limited to 'packages/tui/internal/components/commands')
-rw-r--r--packages/tui/internal/components/commands/commands.go32
1 files changed, 32 insertions, 0 deletions
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,