Commit Graph
4018 Commits
Author SHA1 Message Date
Wenlu Wang d1ff12e0a6 add completion filter for function like body (#21257) 2018-01-19 17:26:58 -08:00
Sheetal Nandi cc6d18e4db Merge pull request #20234 from Microsoft/builderApi
Api for creating program in watch mode and using builder to get incremental emit/semantic diagnostics
2018-01-19 16:14:50 -08:00
Andy 6224d51f84 For { type: "a" } | { type: "b" }, find references for the union property (#21298) 2018-01-19 16:04:30 -08:00
Sheetal Nandi 8a51cdaf42 Merge branch 'master' into builderApi 2018-01-19 15:56:40 -08:00
Andy dcfd634559 in goToDefinition, use array helpers and clean up code (#21304)
* in goToDefinition, use array helpers and clean up code

* fix lint
2018-01-19 13:03:53 -08:00
Andy 0a90c67c07 Support testing definition range of a reference gruop (#21302) 2018-01-19 12:15:41 -08:00
Andy d46653a2ac Handle undefined input to firstDefined (#21300) 2018-01-19 10:10:43 -08:00
Andy a6c42a63a1 Remove unused properties from interface Refactor (#21286) 2018-01-18 16:39:33 -08:00
Andrew Casey ebbb3a4dc4 Merge pull request #21158 from amcasey/NewlineConsistency
Handle linebreaks consistently in code fixes and refactorings
2018-01-18 16:02:27 -08:00
Andrew Casey d97dec8574 Fold newline logic into getNewLineOrDefaultFromHost 2018-01-18 13:56:12 -08:00
Andy dffa8b1329 Add a TriviaKind type to allow more specific types (#21237) 2018-01-18 09:44:30 -08:00
Andy 801bded31d computeIndentation: Simplify control flow (#21239) 2018-01-18 09:44:00 -08:00
Andrew Casey 50fd476233 Make SymbolContext a subtype of TextChangesContext 2018-01-17 16:16:22 -08:00
Sheetal Nandi ed23ca582a Merge branch 'master' into builderApi 2018-01-17 16:11:44 -08:00
Andy 73922301bc In formatter, get lineAction directly from applyRuleEdits (#21245) 2018-01-17 16:02:42 -08:00
Andrew Casey 3a38c8ea58 Replace TextChangesContext with RefactorOrCodeFixContext
Thanks to @andy-ms for the suggestion!
2018-01-17 15:43:36 -08:00
Andrew Casey 13bf7f9c7c Ensure getNewLineFromContext never returns undefined 2018-01-17 15:37:05 -08:00
Andrew Casey b4a382bdd2 Stop explicitly storing newline in refactoring/code fix contexts
It's already in the EditorSettings and the LanguageServiceHost.

Fixes #18291
Fixes #18445
2018-01-17 15:14:03 -08:00
Andrew Casey 9a83077d78 Add explanatory comment 2018-01-17 15:12:39 -08:00
Andrew Casey 5de6ac1a2f Simplify test cases 2018-01-17 15:06:54 -08:00
Andrew Casey e354754b2a Special case arrow functions with only parameter unused
Fixes GH #18274
2018-01-17 15:06:53 -08:00
Andy 1dcc83e6d2 Minor cleanup in getDynamicIndentation (#21240) 2018-01-17 14:29:19 -08:00
Andy e248d08e4c Combine repeatString helper functions (#21235) 2018-01-17 12:43:41 -08:00
Andy f96dc84a70 Make getCombinedCodeFix API public (#21234) 2018-01-17 12:42:31 -08:00
Andy 8ed885db3e Add completions from the 'this' type (#21231)
* Add completions from the 'this' type

* Code review
2018-01-17 12:05:31 -08:00
Andy be607bd28f getStringLiteralCompletionEntries: switch on parent.type (#21169)
* getStringLiteralCompletionEntries: switch on parent.type

* Use a 'default' case and reduce findPrecedingToken calls

* fromType -> fromContextualType
2018-01-17 07:33:03 -08:00
Sheetal Nandi 5bd3f97b18 Merge branch 'master' into builderApi 2018-01-16 11:14:39 -08:00
Wesley Wigham 76d9524866 Fully deprecate the symbol display builder, reimplement in terms of node builder (#18860)
* Remove SymbolWriter, give methods to EmitTextWriter

* Unification of writers is done-ish

* Make node builder support more flags

* Write out mixins like we used to

* Accept prototype-free baselines

* Use instantiated constraint when building mapped type nodes

* Accept better mapped type baselines

* Report inaccessible this in node builder

* Turns out there was a bug in our codefix, too

* Symbol display builder usage falling

* Replace signatureToString with a nodeBuilder solution

* Replace the last internal usages of the symbol writer

* Accept semicolon additions

* Accept updated symbol baseline output

* Start using node builder for some LS operations

* Remove those pesky trailing semicolons on signatures

* Get signature printing much closer to old output

* Parameter lists should not be indented by default, especially when single-line

* Signatures up to snuff

* Type quickinfo emit is up to snuff

* Start of symbol writer replacement, needs a bit more for full compat

* Slightly mor accurate to old behavior

* Replicate qualified name type argument output correctly

* Bring back the old symbol baselines

* Mostly identical to old symbol emit now

* Perfectly matches old behavior thus far

* Replace another usage of the symbol builder

* Another usage removed

* Another usage removed

* Remove final uses of symbol display builder

* Remove implementation and types for unused symbol display builder

* Cleanup in the checker

* monomorphize new emitter code

* Replace emitWithSuffix

* Push space character to interface with writer

* List emit

* Fix lack of usage of emitExpression

* writeList, not printList

* Remove listy writes and replace with new printer calls

* Move ListFormat into types.ts

* Remove most new XToString functions in favor of node builder functions

* Accept API breaks

* Add getSymbolDisplayBuilder polyfill

* Accept updated API baseline

* Move definition to make diff easier to read

* Reinternalize some things

* Remove trailign whitespace

* Reorder for zero diff

* Remove newline

* Make shim mor eperfectly imitate old behavior

* Style feedback

* Rename reset to clear to maintain backcompat with SymbolWriter

* Fix quickfix

* Keep EmitTextWriter internal

* Remove EmitTextWriter from public API

* Mimic default name declaration emit fix

* Fix tests broken by merge

* use isFunctionLike

* Cleanup, sync TypeFormat and NodeBuilder flags

* Reorder Node initialization so pos and end are first, so a TextRange hidden class is made first to reduce future polymorphism

* Use variable instead of ternary

* Write helper for emitNodeWithWriter

* Emitter cleanup

* Cleanup whitespace, comment

* Reuse printer

* Raise error if display parts writer uses rawWrite

* Hide writer parameter through different function instead of overload, rename function in emitter

* Make less printer

* fix lint
2018-01-16 09:53:42 -08:00
Alan Agius bcb9fd7825 fix: formatting for chaining methods (#21027)
Closes: #20996
2018-01-16 08:53:43 -08:00
Andy d2fd137d88 Add a getFullText() helper method to IScriptSnapshot (#21155)
* Add a `getFullText()` helper method to `IScriptSnapshot`

* Use a function instead of a method
2018-01-12 10:44:39 -08:00
Andy 269867f5e8 Fix bug: get merged symbol of symbol.parent before checking against module symbol (#21147) 2018-01-11 13:42:08 -08:00
Andrew Casey e3da8fb526 Merge pull request #21131 from amcasey/GH15533
Unmangle scoped package names in import completions
2018-01-11 11:03:34 -08:00
Andy a77c6014b3 Parse comment on @property tag and use as documentation comment (#21119)
* Parse comment on @property tag and use as documentation comment

* Fix comment parsing bug -- back up after seeing `@` character

* Add test for indent

* Don't default comment to ""
2018-01-11 10:49:39 -08:00
Andrew Casey 9a4fe8eb7e Rename getPackageNameFromAtTypesDirectoryWithoutPrefix to getUnmangledNameForScopedPackage 2018-01-10 15:17:27 -08:00
Andrew Casey 71c92bf2f6 Fix lint error 2018-01-10 13:38:25 -08:00
Priyantha Lankapura 743d8dbe0a Fix to remove extra space between function and array index. (#21113)
https://github.com/Microsoft/TypeScript/issues/21111
2018-01-10 09:30:35 -08:00
Sharon Rolel c0bdd12c4c add fixAwaitInSyncFunction code fix (#21069)
* add fixAwaitInSyncFunction code fix

* Just insert the keyword

* only one codefix

* remove comment

* Change explicit return type T to Promise<T>

* Review changes

* Change codefix message
2018-01-09 17:15:08 -08:00
Andrew Casey e48312df54 De-dup typing module completions 2018-01-09 16:54:58 -08:00
Andrew Casey db09a593d3 Unmangle package names from typings during completion 2018-01-09 16:45:42 -08:00
Andrew Casey fa758cc357 Tidy up code to make it harder to call incorrectly 2018-01-09 15:33:54 -08:00
Andy 8bce69e6bd Add refactoring to convert CommonJS module to ES6 module (#19916)
* Add refactoring to convert CommonJS module to ES6 module

* Code review

* includeGlobals -> excludeGlobals

* Improve handling of `module.exports = require("...")`

* Allow NoSubstitutionTemplateLiteral as argument to createLiteral
2018-01-09 13:15:47 -08:00
Andy 9aa99b90c7 Include directories in completions for path mapping (#21103) 2018-01-09 13:15:30 -08:00
Andy fed34cd616 Fix bug: normalize path after combining (#21100) 2018-01-09 11:54:35 -08:00
Andy 82fb294924 For import fix, support path mapping value that begins in "./" or ends in ".ts" (#21035)
* For import fix, support path mapping value that begins in "./" or ends in ".ts"

* Handle repeated "./" in path

* Rename parameters to indicate that they're relative to baseUrl

* Support relative path beginning with `..\`

* Remove unused function
2018-01-09 10:34:35 -08:00
Andrew Casey ef5a289966 Merge pull request #21014 from amcasey/GH19115
Handle different default export forms the same way in import code fixes
2018-01-08 19:07:43 -08:00
Andy 89ceb4b9b5 Support completions that require changing from dot to bracket access (#20547)
* Support completions that require changing from dot to bracket access

* Use insertText and replacementSpan

* Rename includeBracketCompletions to includeInsertTextCompletions

* Don't add completions that start with space
2018-01-08 18:57:46 -08:00
Wesley Wigham 7e6315075d Synthesize namespace records for proper esm interop (#19675)
* Integrate importStar and importDefault helpers

* Accept baselines

* Support dynamic imports, write helpers for umd module (and amd is possible) kinds

* Accept baselines

* Support AMD, use same helper initialization as is normal

* update typechecker to have errors on called imported namespaces and good error recovery with a quickfix

* Overhaul allowSyntheticDefaultExports to be safer

* Put the new behavior behind a flag

* Rename strictESM to ESMInterop

* ESMInterop -> ESModuleInterop, make default for tsc --init

* Rename ESMInterop -> ESModuleInterop in module.ts, add emit test (since fourslash doesnt do that)

* Remove erroneous semicolons from helper

* Reword diagnostic

* Change style

* Edit followup diagnostic

* Add secondary quickfix for call sites, tests forthcoming

* Add synth default to namespace import type, enhance quickfix

* Pair of spare tests for good measure

* Fix typos in diagnostic message

* Improve comment clarity

* Actually accept the updated changes to the esmodule interop description

* ESModule -> esModule

* Use find and not forEach

* Use guard

* Rely on implicit falsiness of Result.False

* These should have been emit flags
2018-01-08 16:36:23 -08:00
Mohamed Hegazy 45a10c8401 Merge branch 'import-quickinfo' of https://github.com/jwbay/TypeScript into jwbay-import-quickinfo 2018-01-08 14:43:56 -08:00
Wenlu Wang 7154df10df add support for insertSpaceBeforeTypeAnnotation (#20466) 2018-01-08 13:25:02 -08:00
Sheetal Nandi 5bc78afcbb Merge branch 'master' into builderApi 2018-01-08 13:01:09 -08:00