Commit Graph
2389 Commits
Author SHA1 Message Date
Ryan Cavanaugh 5c99c67b4b Fixes #20542 2017-12-07 12:39:17 -08:00
Ryan Cavanaugh b7b43fe601 Fixes #20527 2017-12-07 12:39:16 -08:00
Ryan Cavanaugh 2cf7295c4e Fix #20520 2017-12-07 12:38:44 -08:00
Ryan Cavanaugh 6e74f7ee11 Fix #20523 2017-12-07 12:38:08 -08:00
Andy 19ea189b42 Support a "getCombinedCodeFix" service (#20338)
* Support a "getCombinedCodeFix" service

* Rename things

* Code review

* Rename things

* Update API baselines

* CodeActionAll -> CombinedCodeActions

* Take a `scope` parameter instead of `fileName` for flexibility

* Renames and bugfixes

* Make API changes internal

* Code review

* Update comment
2017-12-07 12:14:18 -08:00
Andy 18a7c3fb53 For import fix, prefer symlink over a real path (#20395)
* For import fix, prefer symlink over a real path

* fixes

* Use best result from all symlinks

* Make originalPath optional more

* Only include real path if a symlink isn't available
2017-12-06 11:27:38 -08:00
wenlu.wang ae25d09761 add supports of completion label list (#20362) 2017-12-06 07:01:37 -08:00
Andy 8f23bf813c Add textChanges methods to insert nodes at the start of multiline bodies (#20445)
* Add textChanges methods to insert nodes at the start of multiline bodies

* Replace constructor body if not already multiline
2017-12-05 08:33:29 -08:00
Andy 93551ab93b Update test that import code fix doesn't use node_modules global import if classic resolution is set (#20453) 2017-12-04 13:15:45 -08:00
Andy 334bf4eaf7 Remove 'debugger' statement from test (#20444) 2017-12-04 10:47:50 -08:00
Mohamed Hegazy 65af685b49 Remove periods from refactor/quickfix messages (#20237)
* Fix #19959 and #19958: Remove un-localizable messages

* Update message

* Reorder error messages

* Fix https://github.com/Microsoft/TypeScript/issues/15399: remove periods at the end of messages

* Accept baselines for error code changes

* accept baselines for removed periods

* Update diagnostic messages
2017-12-01 16:38:59 -08:00
Andy fd4d8ab96e Support a 'recommended' completion entry (#20020)
* Support a 'recommended' completion entry

* Code review

* Restore duplicate comments
2017-12-01 13:00:01 -08:00
Andrew Casey 8f1cdc9b0c Merge pull request #20373 from amcasey/PropertyUnderscore
Don't offer to prepend an underscore to the name of an unused private property
2017-11-30 13:08:26 -08:00
Andy 75e5b13775 Don't suggest import completions for /a/node_modules if we're in /b (#19928)
* Don't suggest import completions for /a/node_modules if we're in /b

* Remove test for delving into dependencies of dependencies
2017-11-30 11:25:01 -08:00
Andy 43a35bad2e Miscellaneous fixes to avoid duplicate completions (#20349)
* Miscellaneous fixes to avoid duplicate completions

* Move typeHasCallOrConstructSignatures to utility
2017-11-30 09:36:17 -08:00
Andy 56a046ddf4 installTypesForPackage refactor: Trigger even if resolved to a ".js" file (#20353)
* installTypesForPackage refactor: Trigger even if resolved to a ".js" file

* Use `extensionIsTypeScript`
2017-11-30 08:41:15 -08:00
Andrew Casey d7da7d48d3 Update affected fourslash test 2017-11-29 18:27:56 -08:00
Andy 93dca009f9 In navigation tree, don't merge static with non-static (#20347) 2017-11-29 15:25:06 -08:00
Andy 94ea38859b Disable import fix for method of 'export =' value (#20208)
* Disable import fix for method of 'export =' value

* Exclude primitives, but allow other interfaces

* Use type.flags

* Fix comment
2017-11-28 17:46:06 -05:00
Andy cb5fd53731 Handle shebang in import code fix (#20306) 2017-11-28 15:41:59 -05:00
Andy bbb56fed11 Support parameter properties in getRelatedSymbol (#20202) 2017-11-28 14:12:28 -05:00
Andy 185f15d2af Support both baseUrl and relative paths when adding missing import (#19724)
* Support both baseUrl and relative paths when adding missing import

* Code review

* Always use getRelativePathNParents, not getRelativePathLength
2017-11-28 14:01:51 -05:00
Mohamed Hegazy 6b3cfc7008 Fix #19959 and #19958: Remove un-localizable messages (#20019)
* Fix #19959 and #19958: Remove un-localizable messages

* Update message

* Update diagnostic messages
2017-11-24 22:02:48 -08:00
Andrew Casey dc3b4166b2 Update test baseline 2017-11-22 15:11:38 -08:00
Andy 6e57c2630f Support getJSDocCommentsAndTags for special property assignments (#20193) 2017-11-21 14:29:52 -05:00
Andy 7c5a0ec9c6 Clean up outliningElementsCollector (#20143)
* Clean up outliningElementsCollector

* Use depthRemaining instead of maxDepth
2017-11-21 14:27:26 -05:00
Andy 97bb471e48 For import completion, if multiple re-exports exist, choose the one with the shortest path (#20049)
* For import completion, if multiple re-exports exist, choose the one with the shortest path

* Code review
2017-11-17 14:35:32 -08:00
Andy e7adb1ce79 Bundle fileName with CodeActionCommand (#19881)
* Bundle fileName with CodeActionCommand

* Update test

* Fix API tests

* Add new overloads in services

* Fix overload

* Update API baselines
2017-11-17 14:16:38 -08:00
Andy 74a44e09a7 Support semantic classification of alias (#20012) 2017-11-17 08:04:51 -08:00
Andy 9992395f42 Support arbitrary prototype property assignments in navigation bar (#19923) 2017-11-16 16:51:02 -08:00
Andy 478b404f42 Detect re-exports from "export *" in completions (#20043) 2017-11-16 11:15:14 -08:00
Andy 94581c1946 Strip "/index" from import fix module specifiers (#19962)
* Strip "/index" from import fix module specifiers

* Require "node" module resolution

* More tests
2017-11-16 11:12:34 -08:00
Ron Buckton a21a129abb Merge branch 'master' into dynamicNames 2017-11-15 15:24:05 -08:00
Andy 4b96edf72f Treat ... in jsdoc type as creating a synthetic rest parameter -- not as an array type (#19483)
* Treat `...` in jsdoc type as creating a synthetic rest parameter -- not as an array type

* Change type parsing so `...T[]` parses as `...(T[])` and not `(...T)[]`

* Replace the last parameter with ...args, and make access to it potentially undefined

* Code review
2017-11-15 13:04:08 -08:00
Andy d49491b3a7 smartIndenter: Don't indent after control-flow ending statements like break; (#20016)
* smartIndenter: Don't indent after control-flow ending statements like `break;`

* Fix bug

* Fix bug for function after `return`
2017-11-15 11:08:51 -08:00
Andy 592ee00906 Have CompletionEntryDetails source use a relative path (#19917)
* Have CompletionEntryDetails source use a relative path

* Use getCanonicalFileName from services Instead of creating a new one
2017-11-14 14:26:49 -08:00
Andy 7e8851e65b Always require '=' before parsing an initializer (#19979)
* Always require '=' before parsing an initializer

* Fix fourslash tests
2017-11-14 07:15:59 -08:00
Ron Buckton 804c7d3690 Merge branch 'master' into dynamicNames 2017-11-13 13:24:20 -08:00
Wilson Hobbs c2f0c580db add types for escape and unescape methods #18813 (#19015)
* add types for escape and unescape methods #18813
although the issue is marked working as expected, it is important to mention that most major browsers maintain support for escape and unescape, and some javascript codebases moving to typescript may have escape and unescape in them. They are valid JavaScript, and thus they should be included in the global definition.

* add escape and unescape types to lib in tests

* update tests to turn CI green
2017-11-13 10:37:54 -08:00
Andy 65a191fa2b For import completion of default import, convert module name to identifier (#19875)
* For import completion of default import, convert module name to identifier

* Suggestions from code review
2017-11-09 13:13:23 -08:00
wenlu.wang e9841f3899 fix completions protected members in recursive generic types (#19192) (#19242) 2017-11-08 17:44:12 -08:00
Andy 1a0ec81488 quickInfo: Display info for signature on a separate line from variable info (#18698) 2017-11-08 09:56:50 -08:00
Aluan Haddad b2b54cbf5c Import fix add import require support (#19802)
* import fix: suggest import..require where supported if synthetic defaults are unavailable

* Add tests for import..require fix when targeting CommonJS, AMD, and UMD modules

* fix failing tests
2017-11-07 09:45:30 -08:00
Andy 2fcf8b7068 Fix assertion -- an import may come from a require() call (#19667)
* Fix assertion -- an import may come from a require() call

* Add test for `import("./a")`
2017-11-07 07:41:21 -08:00
Aluan Haddad 70cabdda41 fix inconsistencies in import UMD code fixes adapting to module format (#19572)
* improve import code fixes for UMD modules
 - use default import under --allowSyntheticDefaultImports
 - import..require support
 - make make quick fix info match resulting import
 - make diagnostics

* Address PR feedback:
 - extract test for synethetic default imports into getAllowSyntheticDefaultImports in core.ts
 - use getAllowSyntheticDefaultImports in checker.ts and importFixes.ts
 - move compilerOptions to top level destructuring

* add tests

* remove `import =` quick fix and supporting code.

* update feature tests

* remove errant whitespace
2017-11-06 22:55:37 -08:00
Andy 6d273cfb33 Consistently use "JSX Attribute" completion kind (#19781)
* Consistently use "JSX Attribute" completion kind

* Update tests and fix bug

* Fix bug: In a JsxOpeningElement, if at an Identifier we are not at an attribute but at the tag itself.
If at a GreaterThanToken, we are about to fill in an attribute.
2017-11-06 19:14:24 -08:00
Ron Buckton 3f248ecfe1 Merge pull request #19452 from Microsoft/compareStrings
Clean up outdated string comparison logic
2017-11-06 18:48:15 -08:00
Ron Buckton ee36e6a2ff Merge branch 'master' into dynamicNames 2017-11-06 17:54:48 -08:00
Sean Barag a46d2705ef Use documentation comments from inherited properties when @inheritDoc is present (#18804)
* Use documentation comments from inherited properties when @inheritDoc is present

The JSDoc `@ineheritDoc` [tag](http://usejsdoc.org/tags-inheritdoc.html)
"indicates that a symbol should inherit its documentation from its
parent class".  In the case of a TypeScript file, this also includes
implemented interfaces and parent interfaces.

With this change, a class method or property (or an interface property)
with the `@inheritDoc` tag in its JSDoc comment will automatically use
the comments from its nearest ancestor that has no `@inheritDoc` tag.
To prevent breaking backwards compatibility,
`Symbol.getDocumentationComment` now accepts an optional `TypeChecker`
instance to support this feature.

fixes #8912

* Use ts.getJSDocTags as per @andy-ms 's recommendation

* Convert @inheritDoc tests to verify.quickInfoAt

* Concatenate inherited and local docs when @inheritDoc is present

* Make typeChecker param explicitly `TypeChecker | undefined`

* Re-accept baseline after switch to explicit `| undefined`

* Update APISample_jsodc.ts to match new getDocumentationComment signature

* Re-accept baselines after rebasing
2017-11-06 13:18:21 -08:00
Ron Buckton 33e09f9a9d Merge branch 'master' into dynamicNames 2017-11-06 12:05:25 -08:00