diff options
| author | Chris Covington <[email protected]> | 2025-09-11 12:21:08 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-09-11 14:21:08 -0500 |
| commit | 53f1f161229a5da0ccee92653a13fa0af9656a2d (patch) | |
| tree | 272bc32862c84c50b7ee2878093b38959532a805 | |
| parent | 4614e4983ec667c3ab188516793c458fc9ee246b (diff) | |
| download | opencode-53f1f161229a5da0ccee92653a13fa0af9656a2d.tar.gz opencode-53f1f161229a5da0ccee92653a13fa0af9656a2d.zip | |
feat: Add an experimental option to disable paste summaries (#2552)
Co-authored-by: rekram1-node <[email protected]>
| -rw-r--r-- | packages/opencode/src/config/config.ts | 1 | ||||
| -rw-r--r-- | packages/sdk/go/config.go | 22 | ||||
| -rw-r--r-- | packages/tui/internal/components/chat/editor.go | 5 |
3 files changed, 18 insertions, 10 deletions
diff --git a/packages/opencode/src/config/config.ts b/packages/opencode/src/config/config.ts index 786ddcc65..f4b8608d8 100644 --- a/packages/opencode/src/config/config.ts +++ b/packages/opencode/src/config/config.ts @@ -499,6 +499,7 @@ export namespace Config { .optional(), }) .optional(), + disable_paste_summary: z.boolean().optional(), }) .optional(), }) diff --git a/packages/sdk/go/config.go b/packages/sdk/go/config.go index b0473f844..b79bcb2ef 100644 --- a/packages/sdk/go/config.go +++ b/packages/sdk/go/config.go @@ -698,16 +698,18 @@ func (r configCommandJSON) RawJSON() string { } type ConfigExperimental struct { - Hook ConfigExperimentalHook `json:"hook"` - JSON configExperimentalJSON `json:"-"` + Hook ConfigExperimentalHook `json:"hook"` + DisablePasteSummary bool `json:"disable_paste_summary"` + JSON configExperimentalJSON `json:"-"` } // configExperimentalJSON contains the JSON metadata for the struct // [ConfigExperimental] type configExperimentalJSON struct { - Hook apijson.Field - raw string - ExtraFields map[string]apijson.Field + Hook apijson.Field + SummarizePaste apijson.Field + raw string + ExtraFields map[string]apijson.Field } func (r *ConfigExperimental) UnmarshalJSON(data []byte) (err error) { @@ -1751,15 +1753,15 @@ func (r ConfigShare) IsKnown() bool { // TUI specific settings type ConfigTui struct { // TUI scroll speed - ScrollSpeed float64 `json:"scroll_speed,required"` - JSON configTuiJSON `json:"-"` + ScrollSpeed float64 `json:"scroll_speed,required"` + JSON configTuiJSON `json:"-"` } // configTuiJSON contains the JSON metadata for the struct [ConfigTui] type configTuiJSON struct { - ScrollSpeed apijson.Field - raw string - ExtraFields map[string]apijson.Field + ScrollSpeed apijson.Field + raw string + ExtraFields map[string]apijson.Field } func (r *ConfigTui) UnmarshalJSON(data []byte) (err error) { diff --git a/packages/tui/internal/components/chat/editor.go b/packages/tui/internal/components/chat/editor.go index 31de346f5..2841e2cc8 100644 --- a/packages/tui/internal/components/chat/editor.go +++ b/packages/tui/internal/components/chat/editor.go @@ -668,6 +668,11 @@ func (m *editorComponent) shouldSummarizePastedText(text string) bool { if m.app.IsBashMode { return false } + + if m.app.Config != nil && m.app.Config.Experimental.DisablePasteSummary { + return false + } + lines := strings.Split(text, "\n") lineCount := len(lines) charCount := len(text) |
