Commit Graph
2371 Commits
Author SHA1 Message Date
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
Benjamin Lichtman 4977bf4328 Merge pull request #19544 from uniqueiniquity/interfaceJsDoc
Insert JsDoc comment templates for additional nodes
2017-11-06 09:49:59 -08:00
Ron Buckton 31c3d444f1 Merge branch 'master' into compareStrings 2017-11-03 23:01:51 -07:00
Ron Buckton 208dfa6b01 Merge branch 'master' into dynamicNames 2017-11-03 22:10:28 -07:00
uniqueiniquity d2114e1b9e Rename offsets in tests 2017-11-03 16:14:47 -07:00
Andy bb7fb7dda9 For getCompletionsAtPosition, require a flag to provide completions with code actions (#19687)
* For getCompletionsAtPosition, require a flag to provide completions with code actions

* Change name

* Increase API version

* Update API baselines

* Add comment

* Update API baseline
2017-11-03 15:55:31 -07:00
Andy 749e151c23 Support path completions inside node_modules (#19692)
* Support path completions inside node_modules

* Fix: Start searching from current file's directory, not host.getCurrentDirectory()

* Add test for nested node_modules

* Also test in /src/folder/b.ts
2017-11-03 15:05:44 -07:00
uniqueiniquity 612616a105 Loosen restrictions on jsdoc completion locations 2017-11-03 09:53:56 -07:00
Andy d54ad4b01a Add refactoring to use default import (#19659)
* Add refactoring to use default import

* Add localizable description
2017-11-03 08:31:13 -07:00
Andy 01ad4f7dfb Support quick info at function and => locations (#19669)
* Support quick info at `function` and `=>` locations

* Fixes
2017-11-02 14:47:23 -07:00
uniqueiniquity b17b7b9374 Revert "Update tests to expect empty doc comment template"
This reverts commit b566480aaa.
2017-11-02 11:00:30 -07:00
uniqueiniquity 509b9ad087 Complete to single line jsdoc comment if no params 2017-11-02 09:55:56 -07:00
Benjamin Lichtman dcc1f1497f Merge pull request #19619 from uniqueiniquity/indentJsxText
Properly indent JSXText on format document
2017-11-01 09:03:52 -07:00
uniqueiniquity 9f68ff5b0f Remove markers 2017-10-31 16:10:17 -07:00
uniqueiniquity 20e1f5258b Update test 2017-10-31 16:09:30 -07:00
Armando Aguirre cf2bdf8250 Merge pull request #19175 from armanio123/AddDefinitionAndBoundSpan
Added DefinitionAndBoundSpan command
2017-10-31 14:58:36 -07:00
uniqueiniquity b6ea2f955a Refactor test and annotate object literal 2017-10-31 14:52:15 -07:00
wenlu.wang deb94886fd fix completion module path (#19351)(#19367) (#19366)
* completion module path with re-export(#19351)

* completion module path with dynamic import(#19367)
2017-10-31 14:10:38 -07:00
uniqueiniquity 9b9032f8c5 Add JSXText indentation test 2017-10-31 14:09:36 -07:00