feat: Add an experimental option to disable paste summaries (#2552)

Co-authored-by: rekram1-node <aidenpcline@gmail.com>
This commit is contained in:
Chris Covington
2025-09-11 12:21:08 -07:00
committed by GitHub
parent 4614e4983e
commit 53f1f16122
3 changed files with 18 additions and 10 deletions

View File

@@ -499,6 +499,7 @@ export namespace Config {
.optional(), .optional(),
}) })
.optional(), .optional(),
disable_paste_summary: z.boolean().optional(),
}) })
.optional(), .optional(),
}) })

View File

@@ -698,16 +698,18 @@ func (r configCommandJSON) RawJSON() string {
} }
type ConfigExperimental struct { type ConfigExperimental struct {
Hook ConfigExperimentalHook `json:"hook"` Hook ConfigExperimentalHook `json:"hook"`
JSON configExperimentalJSON `json:"-"` DisablePasteSummary bool `json:"disable_paste_summary"`
JSON configExperimentalJSON `json:"-"`
} }
// configExperimentalJSON contains the JSON metadata for the struct // configExperimentalJSON contains the JSON metadata for the struct
// [ConfigExperimental] // [ConfigExperimental]
type configExperimentalJSON struct { type configExperimentalJSON struct {
Hook apijson.Field Hook apijson.Field
raw string SummarizePaste apijson.Field
ExtraFields map[string]apijson.Field raw string
ExtraFields map[string]apijson.Field
} }
func (r *ConfigExperimental) UnmarshalJSON(data []byte) (err error) { func (r *ConfigExperimental) UnmarshalJSON(data []byte) (err error) {
@@ -1751,15 +1753,15 @@ func (r ConfigShare) IsKnown() bool {
// TUI specific settings // TUI specific settings
type ConfigTui struct { type ConfigTui struct {
// TUI scroll speed // TUI scroll speed
ScrollSpeed float64 `json:"scroll_speed,required"` ScrollSpeed float64 `json:"scroll_speed,required"`
JSON configTuiJSON `json:"-"` JSON configTuiJSON `json:"-"`
} }
// configTuiJSON contains the JSON metadata for the struct [ConfigTui] // configTuiJSON contains the JSON metadata for the struct [ConfigTui]
type configTuiJSON struct { type configTuiJSON struct {
ScrollSpeed apijson.Field ScrollSpeed apijson.Field
raw string raw string
ExtraFields map[string]apijson.Field ExtraFields map[string]apijson.Field
} }
func (r *ConfigTui) UnmarshalJSON(data []byte) (err error) { func (r *ConfigTui) UnmarshalJSON(data []byte) (err error) {

View File

@@ -668,6 +668,11 @@ func (m *editorComponent) shouldSummarizePastedText(text string) bool {
if m.app.IsBashMode { if m.app.IsBashMode {
return false return false
} }
if m.app.Config != nil && m.app.Config.Experimental.DisablePasteSummary {
return false
}
lines := strings.Split(text, "\n") lines := strings.Split(text, "\n")
lineCount := len(lines) lineCount := len(lines)
charCount := len(text) charCount := len(text)