Commit Graph

3353 Commits

Author SHA1 Message Date
Orta Therox
30aad9db8d Support more terminators for parsing jsdoc filepaths 2019-07-29 09:46:42 -04:00
Orta Therox
b902a71e5f Handle namepaths inside JSDoc type expressions a bit better - fixes #31298 2019-07-25 19:38:48 -04:00
Nathan Shively-Sanders
e543d8bc5a Fix type keyword completions (#32474)
* Fix type keyword completions

1. In functions, type keywords were omitted.
2. In All context, no keywords were omitted.

(1) fixes #28737
(2) removes 17 keywords that should not be suggested, even at the
toplevel of a typescript file:

* private
* protected
* public
* static
* abstract
* as
* constructor
* get
* infer
* is
* namespace
* require
* set
* type
* from
* global
* of

I don't know whether we have a bug tracking this or not.

* Change keyword filter in filterGlobalCompletion

Instead of changing FunctionLikeBodyKeywords

* Add more tests cases

* Make type-only completions after < more common

Because isPossiblyTypeArgumentPosition doesn't give false positives now
that it uses type information.
2019-07-19 15:22:04 -07:00
Andrew Branch
387c917765 Revert "Proposal: If there’s a package.json, only auto-import things in it, more or less (#31893)" (#32448)
This reverts commit 60a1b1dc1a.
2019-07-17 14:02:18 -07:00
Dmitrijs Minajevs
7608dc2306 Merge branch 'master' into fix29666 2019-07-16 10:52:26 +03:00
Dmitrijs Minajevs
9a37ef8667 typeAssertionKeywords tests 2019-07-16 10:04:14 +03:00
Daniel Rosenwasser
c7b8b2ae9b Merge pull request #32382 from dragomirtitian/GH-29769-generic-auto-completion-missing-primitives
Fixed auto completion after a < token to return types not values.
2019-07-15 16:41:03 -07:00
Andrew Branch
7cdfbceb43 Improve accuracy of remove unnecessary await fix (#32384) 2019-07-15 15:17:32 -07:00
Sheetal Nandi
0038b0baa3 Merge pull request #31815 from gb714us/bug/31631
create outlining span for JsxFragment
2019-07-15 11:19:24 -07:00
Orta
2c26ac2e43 Merge pull request #32243 from orta/fix-30536
Adds support for class completions after ASI inserted class property definition
2019-07-15 11:54:13 -04:00
Orta
4bb0aaea06 Merge pull request #32359 from orta/fix_14589
Don't add extra indentation for objects inside function parameters
2019-07-15 11:33:48 -04:00
Titian Cernicova-Dragomir
ba79b5ffac Fixed auto completion after a < token to return types not values. 2019-07-12 23:14:42 +03:00
Orta Therox
59d5585814 Don't indent properties if an object literal follows directly from another object on the same line 2019-07-12 15:24:07 -04:00
Andrew Branch
89badcc9d5 Add 'Remove unnecessary await' suggestion and fix (#32363)
* Add remove unnecessary await fix

* Add test for removing unnecessary parens after await is gone

* Fix handling of numbers in property access expressions

* Don’t offer suggestion when awaited type is any/unknown

* Fix random other test

* Fix new expression edge cases

* Only remove parens for identifiers and call expressions
2019-07-12 11:03:20 -07:00
Andrew Branch
60a1b1dc1a Proposal: If there’s a package.json, only auto-import things in it, more or less (#31893)
* Move package.json related utils to utilities

* Add failing test

* Make first test pass

* Don’t filter when there’s no package.json, fix scoped package imports

* Use type acquisition as a heuristic for whether a JS project is using node core

* Make same fix in getCompletionDetails

* Fix re-exporting

* Change JS node core module heuristic to same-file utilization

* Remove unused method

* Remove other unused method

* Remove unused triple-slash ref

* Update comment

* Refactor findAlias to forEachAlias to reduce iterations

* Really fix re-exporting

* Use getModuleSpecifier instead of custom hack

* Fix offering auto imports to paths within node modules

* Rename things and make comments better

* Add another reexport test

* Inline `symbolHasBeenSeen`

* Simplify forEachAlias to findAlias

* Add note that symbols is mutated

* Symbol order doesn’t matter here

* Style nits

* Add test with nested package.jsons

* Fix and add tests for export * re-exports
2019-07-12 10:08:55 -07:00
Andrew Branch
71bec5b698 Add quick fix to add missing 'await' (#32356)
* Start prototyping addMissingAwait codefix

* Filter by diagnostics that have missing-await related info

* Start writing tests and checking precedence

* Implement codeFixAll, add test for binary expressions

* Add test for iterables

* Add test for passing argument

* Add test for call/construct signatures

* Add test for awaiting initializer

* Improve assertion error

* Replace specific property access error with general one and add await related info

* Add test for property access

* Require code to be inside a function body to offer await

* Accept suggestion

Co-Authored-By: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>

* Add explicit test for code fix being not available unless something is a Promise

* Skip looking for function body if already in AwaitContext flags

* Inline getCodeActions function for symmetry
2019-07-12 10:07:55 -07:00
Dmitrijs Minajevs
b2c555a57d Added new keword compeltion filter for assertions 2019-07-12 15:25:00 +03:00
Dmitrijs Minajevs
74805c2e23 Fixed failing test due to changed details 2019-07-12 14:11:23 +03:00
Orta Therox
dfc97db323 Don't add extra indentation for objects inside function parameters 2019-07-11 14:26:03 -04:00
Titian Cernicova-Dragomir
d2c9d6cc1b Improved parameter names for call signatures resulting from unions when only one parameter name is available. (#32056) 2019-07-11 10:06:49 -07:00
Andrew Branch
8eb3822ae0 Merge pull request #28290 from rflorian/add-codefix-cannot-find-name-in-for-loop
Add codefix for 'Cannot find name' diagnostic
2019-07-10 21:47:36 -07:00
Florian Regensburger
f273448925 Added addMissingConst codefix for comma separated initializers 2019-07-10 02:11:02 +02:00
Florian Regensburger
1de7881141 Add negative test case for addMissingConst codeFix with unexpected array elements 2019-07-09 02:07:54 +02:00
Florian Regensburger
384669a1ce Finish addMissingConst codefix for single variable and array literal assignments 2019-07-09 01:56:50 +02:00
Florian Regensburger
7d08f172d8 Added fourslash tests for standalone and array initialization cases and started implementing them 2019-07-07 13:56:34 +02:00
Orta Therox
6e9d098d41 Adds support for completions after ASI inserted expressions
Signed-off-by: Andrew Branch <andrew.branch@microsoft.com>
2019-07-03 18:02:44 -04:00
Nathan Shively-Sanders
6f0baa3ae1 Merge pull request #29717 from petersandor/jsdoc-tag-author-email-support
Support email in author JSDoc tag
2019-07-03 10:42:02 -07:00
Florian Regensburger
bd9f39dbcc Merge branch 'master' into add-codefix-cannot-find-name-in-for-loop 2019-07-02 00:41:27 +02:00
Florian Regensburger
41ebeec057 Revert unrelated fourslash test changes 2019-07-02 00:36:44 +02:00
Andrew Branch
11a62cb0ab Merge pull request #31801 from andrewbranch/semicolons
Detect semicolons before writing from TextChanges
2019-07-01 13:23:31 -07:00
Andrew Branch
a890275463 Merge pull request #31912 from andrewbranch/bug/31657
Fix smartSelection returning extra span inside string quotes when cursor is outside them
2019-07-01 11:53:24 -07:00
Nathan Shively-Sanders
fefb857847 Use only immediately preceding JSDoc
Now only the immediately preceding jsdoc of a node is retrieved by
getJSDoc, although it still does the correct non-local lookup for nodes
like ParameterDeclaration.

This doesn't change parsing or binding, which use the per-node Node.jsdoc
property directly. But it does change everything that relies on getJSDoc,
which includes the checker and language service.

Fixes #32062, which contains the analysis that justifies the change.
2019-06-29 08:05:10 -07:00
Nathan Shively-Sanders
2362dd4fac Add fourslash test of jsdoc backtick parsing 2019-06-27 08:49:56 -07:00
Orta
a50a5d309c Merge pull request #32088 from orta/fix-32068
Handle making sure that two less thans are never converted into >>
2019-06-26 14:10:02 -07:00
Andrew Branch
871bdeeec4 Merge pull request #31480 from andrewbranch/bug/25487
Fix invalid JSXExpressions having identifier-ish things in their trivia, improve error messages for comma expressions in JSX
2019-06-26 10:13:42 -07:00
Wesley Wigham
34eb5ddf75 Fix tuple and array comparisons during identity checking (#32089) 2019-06-25 20:56:41 -07:00
Orta Therox
897fb3a2a6 Handle making sure that two less thans are never converted into >> 2019-06-25 15:16:15 -07:00
Sheetal Nandi
7ed3896a0a Merge pull request #31587 from microsoft/definitionSpan
Include declarationSpan as relevant declaration span when defintion or other places are declaration name
2019-06-18 14:07:15 -07:00
Josh Goldberg
ca00b3248b Added --noImplicitThis code fix for functions used as object properties (#31138)
* Added --noImplicitThis code fix for functions used as object properties

Before trying out all the various possibilities for where these functions could be used, I figured I'd start out with a relatively simple use case to verify this is the right approach. Is it? 😄

Starts on #28964.

* Fixed function expression names; included new baselines

* Got JSDocs to work, hooray!

* Added test for 'any' case of no function uses

* Refactored for inferFunctionReferencesFromUsage

* Fixed inference bug: undefined references cause parameters to default

* Removed dead code comments
2019-06-17 19:00:15 -07:00
Andrew Branch
b6c415485a Add failing test for smartSelect string literals 2019-06-14 15:42:29 -07:00
Sheetal Nandi
73bf2684ac Rename to use contextSpan 2019-06-13 12:41:21 -07:00
Benjamin Lichtman
0628adc056 Merge pull request #31865 from amcasey/FunctionHintSpan
Correct outline hint spans for functions
2019-06-12 10:13:21 -07:00
Andrew Casey
1bf28f21de Add regression test 2019-06-11 17:50:36 -07:00
Anders Hejlsberg
ad322a561a Merge pull request #31838 from microsoft/emptyIntersectionReduction
Empty intersection reduction
2019-06-11 12:25:51 -07:00
Daniel Rosenwasser
79aff027f3 Merge pull request #31290 from a-tarasyuk/bug/29880
29880 - No completions for computed string properties
2019-06-10 13:45:58 -07:00
Anders Hejlsberg
aa0ea51169 Update fourslash tests 2019-06-09 10:11:36 -07:00
gb714us
29f995829b Added test cases for JSXFragment span 2019-06-08 15:23:50 -07:00
Sheetal Nandi
a84ed93f72 Merge branch 'master' into definitionSpan 2019-06-06 14:13:09 -07:00
Sheetal Nandi
a67b375d0e Handle module specifiers 2019-06-06 13:39:04 -07:00
Sheetal Nandi
a120c59015 Handle Lable 2019-06-06 12:04:48 -07:00