Paul van Brenk
34cc5ccb38
First try at getting logic in for showing the builder.
2015-01-19 17:29:39 -08:00
Paul van Brenk
1d2554b166
Fix to make the completionlist work correctly when typing a new generic type + fourslash tests
2015-01-19 16:42:35 -08:00
Paul van Brenk
85c5b3d30b
This fixes #1505 by not showing completionlist when defining a property.
2015-01-09 14:55:06 -08:00
unknown
308f13fb9b
infrastructure for builder item in completion list
2015-01-09 12:21:30 -08:00
Cyrus Najmabadi
12cb284e5d
CR feedback.
2014-12-29 16:23:11 -08:00
Cyrus Najmabadi
a1d04c3c65
Merge branch 'master' into mergeMarkers1
2014-12-28 18:58:47 -08:00
Cyrus Najmabadi
52e15e7bee
Enable incremental parsing by default.
2014-12-26 22:21:53 -08:00
Cyrus Najmabadi
a6ea497ff1
Classify the '=' sign in variable/parameter/property as if it was an operator.
2014-12-18 19:38:19 -08:00
Cyrus Najmabadi
48bef4698b
Provide better error recovery when we encounter merge markers in the source.
...
Previously we would just treat each merge marker as trivia and then continue
scanning and parsing like normal. This worked well in some scenarios, but
fell down in others like:
```
class C {
public foo() {
<<<<<<< HEAD
this.bar();
}
=======
this.baz();
}
>>>>>>> Branch
public bar() { }
}
```
The problem stems from the previous approach trying to incorporate both branches of the merge into
the final tree. In a case like this, that approach breaks down entirely. The the parser ends up
seeing the close curly in both included sections, and it considers the class finished. Then, it
starts erroring when it encounters "public bar()".
The fix is to only incorporate one of these sections into the tree. Specifically, we only include
the first section. The second sectoin is treated like trivia and does not affect the parse at all.
To make the experience more pleasant we do *lexically* classify the second section. That way it
does not appear as just plain black text in the editor. Instead, it will have appropriate lexicla
classifications for keywords, literals, comments, operators, punctuation, etc. However, any syntactic
or semantic feature will not work in the second block due to this being trivia as far as any feature
is concerned.
This experience is still much better than what we had originally (where merge markers would absolutely)
destroy the parse tree. And it is better than what we checked in last week, which could easily create
a borked tree for many types of merges.
Now, almost all merges should still leave the tree in good shape. All LS features will work in the
first section, and lexical classification will work in the second.
2014-12-18 19:18:13 -08:00
Cyrus Najmabadi
ef2087add5
Merge branch 'master' into layering
2014-12-18 12:20:32 -08:00
Cyrus Najmabadi
b155351e0a
Remove unnecessary capture of the diagnostics type checker.
2014-12-17 17:06:12 -08:00
Cyrus Najmabadi
b37b98138d
Merge branch 'master' into layering
...
Conflicts:
src/compiler/checker.ts
src/compiler/utilities.ts
2014-12-17 15:35:30 -08:00
Daniel Rosenwasser
90a32ad2b0
Fixed messed-up formatting from moving around code.
2014-12-17 15:11:26 -08:00
Daniel Rosenwasser
017486b119
Made 'location' non-optional in 'getSymbolKind'.
2014-12-17 15:11:22 -08:00
Daniel Rosenwasser
b37221142c
Moved helpers to bottom of 'getDefinitionAtPosition'.
2014-12-17 15:11:18 -08:00
Cyrus Najmabadi
4545549e07
Disable incremental by default before merging into master.
2014-12-17 12:41:08 -08:00
Cyrus Najmabadi
f459951431
Merge branch 'diagnostics' into sourceFileUpdate
...
Conflicts:
src/compiler/parser.ts
2014-12-16 23:48:00 -08:00
Cyrus Najmabadi
2748a5b163
Remove 'grammarDiagnostics' from SourceFile.
2014-12-16 23:00:14 -08:00
Cyrus Najmabadi
9df59c39ee
Change TextChangeRange to be a record type as well.
2014-12-16 18:40:15 -08:00
Cyrus Najmabadi
7f3a73b7c8
Change 'TextSpan' to be a simple record type with free floating functions.
2014-12-16 18:31:06 -08:00
Cyrus Najmabadi
b73128c50f
CR feedback.
2014-12-16 16:17:48 -08:00
Cyrus Najmabadi
5a2fb94a95
Clean things up so the services layer can easily emit without having to contort compiler hosts.
2014-12-16 14:42:58 -08:00
Cyrus Najmabadi
96c3c90d9a
Rename typechecker parameter related to whether or not we produce diagnostics.
...
Comment what the flag means.
2014-12-16 13:30:34 -08:00
Cyrus Najmabadi
4aa361d4bf
Layer the compiler so that every layer only depends on hte layers below it.
...
The layering is now:
types
core
scanner
parser
binder
checker
emitter
program
2014-12-16 13:14:14 -08:00
Cyrus Najmabadi
8917e96663
Merge branch 'funcDeclsInBlocks' into sourceFileUpdate
...
Conflicts:
src/compiler/parser.ts
src/compiler/utilities.ts
2014-12-16 03:12:31 -08:00
Cyrus Najmabadi
592ad476a8
Reduce unnecessary arrow function allocations.
2014-12-16 02:53:58 -08:00
Cyrus Najmabadi
c7bb0a5ae6
Don't store variable statement flags on its variable declaration children.
2014-12-16 02:50:38 -08:00
Cyrus Najmabadi
bd76ebd02b
Enable incremental parsing by default.
...
Provide flag to disable incremental parsing if necessary.
2014-12-14 12:39:11 -08:00
Cyrus Najmabadi
ffdddd53af
Merge branch 'master' into funcDeclsInBlocks
...
Conflicts:
src/compiler/diagnosticInformationMap.generated.ts
src/compiler/diagnosticMessages.json
src/compiler/parser.ts
2014-12-12 14:05:09 -08:00
Cyrus Najmabadi
2f833d5f97
Provide a way for tests to try out incremental parsing.
2014-12-12 02:21:45 -08:00
Cyrus Najmabadi
f218ce7684
Merge branch 'master' into sourceFileUpdate
...
Conflicts:
src/compiler/diagnosticInformationMap.generated.ts
src/compiler/diagnosticMessages.json
src/compiler/parser.ts
tests/baselines/reference/APISample_node_compile.js
tests/baselines/reference/APISample_node_compile.types
tests/baselines/reference/APISample_standalone_compile.js
tests/baselines/reference/APISample_standalone_compile.types
2014-12-12 00:52:07 -08:00
Cyrus Najmabadi
0391e02fee
Merge branch 'master' into sourceFileUpdate
...
Conflicts:
src/compiler/parser.ts
src/services/formatting/tokenSpan.ts
src/services/text.ts
2014-12-11 18:08:57 -08:00
CyrusNajmabadi
122d8a4d98
Merge pull request #1456 from Microsoft/mergeMarkers
...
Make the compiler resilient to encountering merge conflict markers in a source code file.
2014-12-11 18:04:25 -08:00
Cyrus Najmabadi
7df3a407c2
Make the compiler resilient to encountering merge conflict markers in a source code file.
2014-12-11 16:56:10 -08:00
Cyrus Najmabadi
fbeb7dd75e
Merge branch 'funcDeclsInBlocks' into sourceFileUpdate
...
Conflicts:
src/services/outliningElementsCollector.ts
2014-12-11 15:16:46 -08:00
Cyrus Najmabadi
63dbb78d02
Merge branch 'master' into sourceFileUpdate
2014-12-11 15:07:49 -08:00
Cyrus Najmabadi
b692ea9b66
Remove TryBlock and FinallyBlock.
...
They break the rule that syntactically identical constructs use the same syntax kind. This
prevents node reuse in incremental parsing.
2014-12-11 14:40:25 -08:00
Daniel Rosenwasser
0ce3861602
Moved non-exposed functions to utilities; fix up emitted .d.ts in Jakefile.
...
Conflicts:
src/compiler/parser.ts
2014-12-11 14:00:36 -08:00
Mohamed Hegazy
1fe19136d7
Remove unused parameter to getCompletionsAtPosition
...
Conflicts:
tests/baselines/reference/APISample_node_compile.js
tests/baselines/reference/APISample_node_compile.types
tests/baselines/reference/APISample_standalone_compile.js
tests/baselines/reference/APISample_standalone_compile.types
2014-12-11 13:44:38 -08:00
Daniel Rosenwasser
8420fae7a4
Make getLocalizedDiagnosticMessages and getCancellationToken optional
2014-12-11 13:44:32 -08:00
Mohamed Hegazy
a7219e7569
move OutliningSpan definitions to services to ensure it is visible in definitions file
2014-12-11 13:44:12 -08:00
Mohamed Hegazy
b87a7fafaf
move formatting.ts and smartIndernter.ts into formatting folder to match thier namespace
2014-12-11 13:44:02 -08:00
Mohamed Hegazy
606ee84fd1
move text defintions to services.ts
2014-12-11 13:43:39 -08:00
Cyrus Najmabadi
888b88ee43
Move textSpan and textChangeRange impls to the compiler layer.
2014-12-10 14:36:37 -08:00
Vladimir Matveev
51903106c7
Merge pull request #1395 from Microsoft/dev_mode
...
Add 'dev mode' to the language service
2014-12-10 14:34:23 -08:00
Cyrus Najmabadi
c2d4cd5887
Move TextSpan into the compiler layer.
2014-12-10 13:45:08 -08:00
Cyrus Najmabadi
f400e5955a
Don't call into the incremental parser for now.
...
Return a tree if the textChangeRange is empty.
2014-12-10 13:19:01 -08:00
Cyrus Najmabadi
5bd49fec1d
Initial entrypoint in SourceFile for the LS to call to peform incremental parsing.
...
Right now the entrypoint just causes a full parse to happen. But the LS code is
cleaned up to take advantage of it appropriately.
2014-12-10 11:45:33 -08:00
Cyrus Najmabadi
1170a1c436
Only set parents for parse trees in the LS for the syntactic trees.
...
we don't need this for the semantic trees because the compiler will set them all during
the binding.
2014-12-10 10:09:40 -08:00
Cyrus Najmabadi
fa4b68fa6c
Initial test harness for incremental parser tests.
2014-12-09 16:39:52 -08:00