This new call works as a type guard and can help avoid writing double negations
Avoid either call in cases where we were iterating over the possibly undefined value. Use `|| []` for these
Introduces the concept of a re-trigger character to the signature help provider. This is a seperate set of characters that are registered with the provider. Typing a retrigger character fires a new signature help request if signature help is already showing.
#54972
We compile using the alwaysStrict flag so these directives are not needed
This part removes most `use strict` directives that are right after the file header
* Initial work on signature help context
Fixes#54972
Adds `SignatureHelpContext`. This tells providers why signature help was requested
TODO:
- [ ] Better understand semantics of retrigger. Should `retrigger` be an flag instead of a `triggerReason`?
- [ ] Fix skipped test
- [ ] Add more tests for trigger reasons / trigger characters
* Fix unit test
* Make sure we retrigger sig help if it is already showing
* Add test for dismiss and re-invoke
* Extract some constants
* Extract createMockEditor
* Add extension logging when returned code action will be dropped
Fixes#54803
Adds a loggin warning when a code action provider returns code actions that will be dropped. Warn in the the following cases:
- A provider returns code actions (not commands)
- And a specific code action type is requested.
- And the returned code actions either don't set kind or are of the wrong kind
* Use log service
* Include extension id in warning
Finalize the definition link api
- Gives fields more explicit names (target and origin)
- Moves api to vscode.d.ts
- Makes other definition providers (such as type definition provider and implementation provider) also return definition links
Fixes#54101
* Definition link
Add a new `DefinitionLink` type. This type allows definition providers to return additional metadata about a definition, such as the defining span.
Hook up this new provider for typescript
This PR replaces #48001
* Correctly mark field optional
* Small code fixes
- Use lift
- Remove unused param
* Adding documentation