mirror of
https://github.com/aljazceru/opencode.git
synced 2025-12-20 17:24:22 +01:00
feat: Add an experimental option to disable paste summaries (#2552)
Co-authored-by: rekram1-node <aidenpcline@gmail.com>
This commit is contained in:
@@ -499,6 +499,7 @@ export namespace Config {
|
|||||||
.optional(),
|
.optional(),
|
||||||
})
|
})
|
||||||
.optional(),
|
.optional(),
|
||||||
|
disable_paste_summary: z.boolean().optional(),
|
||||||
})
|
})
|
||||||
.optional(),
|
.optional(),
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user