### Why are the changes in this PR needed?
The DAP debugger currently truncates variable values to a hardcoded
limit of 100 characters, with no way for callers to configure it.
Long values cannot be inspected or copied whole from a debugger UI.
### What are the changes in this PR?
- Add a new `SetMaxVariableLength` Debugger option (in both
`v1/debug` and the top-level `debug` package)
- A value of 0 disables truncation; the default stays 100 characters
for backward compatibility
- Plumb the limit through `variableManager` and `namedVar`, so it
applies to top-level and nested (object/array/set) variables alike
- Relax `truncatedString` to return the original string unchanged
when the limit is <= 0
- Add `TestTruncatedString` and `TestVariableValueLengthLimit`
covering the default limit, unlimited (0), negative, custom limits,
and boundary cases
### Notes
- `go build ./...` and `go test ./v1/debug/...` both pass
- Default behavior is unchanged; the new option is opt-in
- This PR was developed with AI assistance (Claude Code)
### Further comments
Refs #8890
---------
Signed-off-by: summy wu <summy.wu81@gmail.com>
Go 1.23 is no longer supported as per Go release policy.
Changes:
- Use Go v1.24.6 as the project SDK requirement
- Apply lint fixes for Go 1.24
- Fix "non-constant format string in call" issues as seen in CI.
Signed-off-by: Ville Vesilehto <ville@vesilehto.fi>
Brace yourselves! For there are many touched files here. No changes
in semantics however.
Spent a long time trying out the various optional rules gocritic
provides, and settled for a few of them. There are more I really
like, but that would take many hours to address across the codebase.
Perhaps others find gocritic too pedantic? If so, we can merge the
fixes without enabling the rule.
Signed-off-by: Anders Eknert <anders@styra.com>
And update code to conform to the rule.
- Replace unnecessary fmt.Sprintf with string concatenation
- Replace fmt.Sprint with more efficient strconv.Itoa
- Replace static fmt.Errorf calls with more efficient errors.New
Thanks @srenatus for pushing me down this rabbit hole!
Signed-off-by: Anders Eknert <anders@styra.com>
And a few other small fixes in tests. This i not so much
about performance but about choosing the best tool for a
given task :) But that the alternatives are also faster
doesn't hurt either.
Signed-off-by: Anders Eknert <anders@styra.com>