Commit graph

691 commits

Author SHA1 Message Date
Matt Bierner ae977ba1e0 Make sure we always kill the syntax server when the semantic server exists 2019-07-01 17:30:42 -07:00
Matt Bierner 35f77aab43 Enable useSeparateSyntaxServer by default and remove the experimental section from setting name
Fixes #76420
2019-07-01 15:10:21 -07:00
Alex Ross 01e7c59b1d Force drive letter to lowercase in tsc tasks
Fixes #75084
2019-06-27 12:30:25 +02:00
Matt Bierner cefbf36d1d Add docCommentTemplate to syntax commands 2019-06-26 15:17:17 -07:00
Matt Bierner 9670060267 Make sure we never cancel a request to just one of the ts servers
Fixes #76143
2019-06-25 16:22:13 -07:00
Alex Ross 7f365d2ff2 Fix drive letter casing on typescript tasks
Occurs when opening by double clicking on workspace file. Fixes #75084
2019-06-25 16:36:45 +02:00
Matt Bierner 8c8f79dcef Auto restart when changing typescript.experimental.useSeparateSyntaxServer 2019-06-24 17:07:07 -07:00
Matt Bierner 14bc8002eb Use openExternal 2019-06-24 17:07:07 -07:00
Matt Bierner e32e2a90c5 Make RelativeWorkspacePathResolver a static class 2019-06-24 17:07:07 -07:00
Matt Bierner 85ab838037 Add explicit win32 gheck for using user specific temp folder 2019-06-24 15:19:03 -07:00
Matt Bierner e642a0a5db
Merge pull request #75547 from asztal/patch-1
Handle multiple users with /tmp/vscode-typescript
2019-06-24 12:54:45 -07:00
Matt Bierner 777010a734 Fix file name spelling 2019-06-24 11:54:45 -07:00
Matt Bierner ffecce0476 Better encapsulate logic of spawning different server kinds 2019-06-20 18:25:12 -07:00
Matt Bierner 5fc7a8c5c0 Renames 2019-06-20 18:15:33 -07:00
Matt Bierner fd245fcda0 Fix method name 2019-06-20 18:13:06 -07:00
Matt Bierner 362ca1d638 Also include format in the syntax commands 2019-06-20 18:01:49 -07:00
Matt Bierner ec191a08f4 Make execute command a configuration object 2019-06-20 18:01:49 -07:00
Matt Bierner 1958209daf Include server id in TS server errors 2019-06-20 18:01:49 -07:00
Matt Bierner 87b8402b59 Add experimental dual TS server
Fixes #75866
2019-06-20 17:11:20 -07:00
Matt Bierner 8ec2559029 Move getQueueingType into class 2019-06-20 17:11:20 -07:00
Matt Bierner 45ea4703c2 Renames 2019-06-20 17:11:20 -07:00
Matt Bierner 4a053c9d6d Extract server spanwer to own file 2019-06-20 17:11:20 -07:00
Matt Bierner ccf4a04d5a extract server error to own file 2019-06-20 17:11:20 -07:00
Matt Bierner 7e1f8d4f1d Extract ITypeScript server interface 2019-06-20 17:11:20 -07:00
Matt Bierner 8b93c01655 Re-queue canceled geterr requests before remaining buffers
We should give higher priority to files that have previously had geterr triggered on them but did not have their request completed
2019-06-20 10:27:36 -07:00
Matt Bierner 459939b905 Provide full TS symbol range when previewing definitions in VSCode
Fixes #72017

Has two fixes:

- Hooks up the JS/TS extension to consume the full symbol range provided by https://github.com/microsoft/TypeScript/pull/31587

- Makes the go the definition mouse implementation use the locationLink to compute the preview range. If a`targetSelectionRange` is provided, this means we use the normal `range` to get the preview range
2019-06-17 15:39:56 -07:00
Lee Houghton fa4f870501
Handle multiple users with /tmp/vscode-typescript
This fixes an issue where the typescript language server fails to load if multiple users launch VS Code on the same Linux machine.

Steps to reproduce:
- Log in as user1
- Launch VS Code
- Log out
- Log in as user2
- Launch VS Code
- It tries to write to files in /tmp/vscode-typescript, but that directory is not writeable because it is owned by user1
- You cannot use TypeScript intellisense

This fix namespaces the directory with the current uid so that each user will get their own. 

On Windows, this shouldn't be an issue anyway since each user gets their own temp directory.
2019-06-15 00:36:23 +01:00
Matt Bierner e3294dc7b1 Fix exception if extension is not installed 2019-06-14 16:30:05 -07:00
Matt Bierner c419355b5b
Merge pull request #75375 from microsoft/dev/mjbvz/vscode-api-readonly-events
Mark events as readonly in VS Code api
2019-06-14 11:59:57 -07:00
Benjamin Pasero c6d9e8ea64 status - push proposed API for statusbar id/name and adopt 2019-06-14 11:52:39 +02:00
Andrius 2ac8fbb7d0 notify tsserver about changes in external files. 2019-06-13 19:20:33 +03:00
Matt Bierner b4f6130fe4 Fix some compile errors resutling from readonly change 2019-06-12 16:54:16 -07:00
Matt Bierner a6a376e933
Merge pull request #75092 from microsoft/dev/mjbvz/readonly-diagnostics-api
Use readonly arrays for the vscode.DiagnosticCollection api
2019-06-12 14:46:17 -07:00
Matt Bierner 1f4e2a21fc Add support for loading contributed TS version
Fixes https://github.com/microsoft/vscode/issues/75222
Fixes https://github.com/microsoft/TypeScript/issues/31623
2019-06-10 15:42:35 -07:00
Matt Bierner a1c33c6c12 Don't try creating untitled files in a refactoring
Fixes #75132
2019-06-10 11:11:12 -07:00
Matt Bierner 8448512143 Use readonly arrays for the vscode.DiagnosticCollection api
## Problem
The diagnostic collection object is set up so that it does not mutate the arrays of diagnostics you pass to it. It also does not expect or allow mutation of diagnostics that it returns.

However it it currently typed using normal arrays. This means that if an extension (such as JS/TS) wishes to use readonly diagnostics intnernally, it cannot do so without casting.

## Proposed Fix
Use `ReadonlyArray` in diagnostic collection. This should be a safe change for the `set` type methods. The changes to `get` and `forEach` have the risk of breaking the typing of some extensions, but `get` already returned a frozen array of diagnostic so trying to mutate the array itself would have resulted in runtime error.
2019-06-07 11:41:33 -07:00
Matt Bierner dc2245f164 Use readonlyArray for diagnostics 2019-06-07 11:25:16 -07:00
Matt Bierner dc8e21138f Extend disposable 2019-06-07 11:23:14 -07:00
Matt Bierner 69a7b7ef24 Extract areLanguageDiagnosticSettingsEqual 2019-06-07 11:22:06 -07:00
Matt Bierner a87c73527e Remove extra work in DiagnosticSettings ctor
The langauges map is written so that it is lazy. We do not need to pre-populate it
2019-06-07 11:21:22 -07:00
Matt Bierner 5b01e094c2 Use includes instead of indexOf 2019-06-07 11:12:54 -07:00
Matt Bierner 809386b670 Working on getting ts server class in a testable state 2019-06-05 15:41:45 -07:00
Benjamin Pasero d78a75973c
update @types/node (#74881) 2019-06-05 10:20:01 +02:00
Matt Bierner 76e774e4bd Add arrays.empty
This helps with `a === b` checks  in arrays.equals
2019-05-30 17:22:38 -07:00
Matt Bierner 015f1c7909 Use array prototype instead of creating instance 2019-05-30 17:13:10 -07:00
Matt Bierner a8a0fa763f Use every for equals 2019-05-30 17:01:10 -07:00
Matt Bierner 55d6317a4f Don't update js/ts diagnostics if they have not changed
Fixes #74633

This was the indirect cause of  #74633. See that issue for an explaination of why it was problematic.  In summary, updating diagnostics can retrigger code actions even if the user facing diagnostics have not actually changed
2019-05-30 16:59:32 -07:00
Matt Bierner c62a6aa38a Set extract kind for type alias refactoring
This lets you set up a single keybinding that applies to both extract constant and extract type
2019-05-29 14:22:45 -07:00
Matt Bierner a9e31b19d7 Make sure we don't de-prioritize this. member suggestions
Fixes #74164
2019-05-23 16:06:34 -07:00
Matt Bierner a4532de9af Make sure we reset editors being iterations of test 2019-05-23 16:06:34 -07:00