microsoft / microsoft/TypeScript
Should the native TypeScript LSP include top-level imports in its `textDocument/documentSymbol` response?
- Dominant language
- Go
- Stars
- 111k
- Forks
- 14.3k
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 132
Description
### Acknowledgement
- [x] I acknowledge that issues using this template may be closed without further explanation at the maintainer's discretion.
### Comment
## Question
The existing VS Code TypeScript extension intentionally filters imports from
the Outline view. This behavior was introduced in:
- https://github.com/microsoft/vscode/issues/50829
- https://github.com/microsoft/vscode/commit/f1efd11c2a6da4533f65d66bf7921c552270ca4e
The native TypeScript LSP currently appears to include imports instead. For
example:
```ts
import DefaultComponent from './component';
import * as utils from './utils';
import { value, original as renamed } from './values';
import type { Options } from './types';
```
## Expected Behavior
I am not certain which behavior is intended. I would appreciate clarification
on whether:
1. The difference from the existing VS Code TypeScript extension is intentional.
2. The native LSP should preserve the established Outline behavior.
The LSP specification does not appear to describe whether imports should be
reported as document symbols, so this seems to be a language-server policy
decision.
## Motivation
Including imports can substantially clutter the Outline without providing much value in return. Knowing the intended behavior would help determine whether downstream servers and users should expect that behavior to cease when adopting TS 7.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.