microsoft / microsoft/TypeScript
Content mapper duplicated inlay hints
@andrewbranch ya está trabajando en esto.
Desde el 27/8/2026.
- Lenguaje dominante
- Go
- Estrellas
- 111k
- Forks
- 14.3k
- Merge medio
- 2 d 4 h
- PR fusionados (30 d)
- 132
Descripción
### 🔎 Search Terms
inlay hints
content-mapper
### 🕗 Version & Regression Information
I was unable to test this on prior versions because this is newly added
### ⏯ Playground Link
_No response_
### 💻 Code
### 🙁 Actual behavior
When a content mapper splits a statement into multiple spans, the inlay hints result is duplicated. In the inlay hints request, the request range is mapped into multiple ranges and calculated separately. Because the statement is in multiple spans, the hint for that statement is returned multiple times.
Four slash test failed case:
```go
package fourslash_test
import (
"testing"
"github.com/microsoft/TypeScript/tsc/internal/ls/lsutil"
"github.com/microsoft/TypeScript/tsc/internal/testutil"
"github.com/microsoft/TypeScript/tsc/internal/testutil/contentmappertest"
)
func TestContentMapperInlayHints(t *testing.T) {
t.Parallel()
defer testutil.RecoverAndFail(t, "Panic on fourslash test")
f, done := newContentMapperFourslash(t, `// @Filename: /app.lisp
(+ 1 2 "oops")
// @Filename: /main.ts
declare function add(a: number, b: number, c: string): number;
`, contentmappertest.LispMapper, ".lisp")
defer done()
f.GoToFile(t, "/app.lisp")
f.VerifyBaselineInlayHints(t, nil /*span*/, &lsutil.UserPreferences{InlayHints: lsutil.InlayHintsPreferences{IncludeInlayParameterNameHints: lsutil.IncludeInlayParameterNameHintsAll}})
}
```
### 🙂 Expected behavior
Probably need to deduplicate when multiple spans map to the inlay hint request range.
### Additional information about the issue
_No response_
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Evaluación
Este issue todavía no se ha evaluado.