# typescript: Complete function calls with snippets \(\#11157\) · gitcafe/zed

[View on GitCafe](https://git.cafe/gitcafe/zed/commit/c81230405f267c5bad06c732bc99bf6b537fcf18)

Repository: [gitcafe/zed](https://git.cafe/gitcafe/zed)

Visibility: public

Requested revision: c81230405f267c5bad06c732bc99bf6b537fcf18

Requested commit: c81230405f267c5bad06c732bc99bf6b537fcf18

Commit: c81230405f267c5bad06c732bc99bf6b537fcf18

Tree: 9a55d37df57d6deec06add6ae40b3d3279be9ddc

Author: Thorsten Ball

Committer: GitHub

## Message

```
typescript: Complete function calls with snippets (#11157)

This allows function call (i.e. snippet) completion with
`typescript-language-server`. So far that didn't work, because
`typescript-language-server` doesn't respond with `insertText` when
getting the completions, but only when then sending
`completionItem/resolve` requests. See:
https://github.com/hrsh7th/nvim-cmp/issues/646#issuecomment-992765479

What this PR does is to support text edits in the response to
`completionItem/resolve`, which means updating the completion item.

It then enables this feature by default for
`typescript-language-server`.


TODOs:

- [x] Make this work over collab
- [x] Test that this doesn't break existing language server support
- [x] Refactor duplicated code

Release Notes:

- Added support for function call completion when using
`typescript-language-server`. This will result in parameters being
added, which can then be changed and navigated with `<tab>`. For this to
work with `typescript-language-server`, the documentation for a given
completion item needs to be resolved, meaning that if one types very
quickly and accepts completion before `typescript-language-server` could
respond with the documentation, no full function completion is used.

Demo:


https://github.com/zed-industries/zed/assets/1185253/c23ebe12-5902-4b50-888c-d9b8cd32965d
```

## Parents

- [d8ca15372c5dccb4f49b6ae13014059f9594dc03](https://git.cafe/gitcafe/zed/commit/d8ca15372c5dccb4f49b6ae13014059f9594dc03?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zed/tree/c81230405f267c5bad06c732bc99bf6b537fcf18?format=markdown)
