Commit Graph

1414 Commits

Author SHA1 Message Date
Ryan Nowak 4cd24a2b08 Add experimental flag to un-special-case data-
This change allows blazor to opt into treating data- attributes the same
way as normal attributes in the parser.
2018-04-05 15:27:04 -07:00
Ryan Nowak d1c0ab587c Add support for type parameters to class nodes
This change will allow someone extending Razor to use generic type
parameters in generated classes.

There's no user-level extensibility provided here yet, as in there is no
language support for adding type parameters.
2018-04-05 15:26:42 -07:00
Ajay Bhargav Baaskaran ae42d7599d Show error if page directive is not at the top of file 2018-04-04 17:27:10 -07:00
Ryan Nowak 0a450d2f53 Add a version to the Razor about dialog entry 2018-03-22 14:54:20 -07:00
N. Taylor Mullen c874f84c3d Revert "Revert "Make Razor HTML Comments aware (#2178)""
This reverts commit 1f3f4b79da.
2018-03-20 15:23:53 -07:00
N. Taylor Mullen 1f3f4b79da Revert "Make Razor HTML Comments aware (#2178)"
This reverts commit b58986414e.
2018-03-20 11:54:09 -07:00
Ajay Bhargav Baaskaran 9dc7c65205 Fix: Missing Html intellisense after directives 2018-03-19 17:16:11 -07:00
Ajay Bhargav Baaskaran 79e744f691 Handle unreadable import items in design time 2018-03-19 15:39:25 -07:00
Ryan Nowak d1bf120c54 Make 2.1 MVC the default for uninitialized projects 2018-03-19 15:06:57 -07:00
Ryan Nowak 130a751dfa Add an experimental Language Version
Adding a secret language version for Blazor and other experiments.
2018-03-19 14:10:33 -07:00
Artak b58986414e
Make Razor HTML Comments aware (#2178)
* Merging changes (from dev branch; doing manually to squash them really)of HTML Parser to be aware of HTML Comments so TagHelpers don't complain about comments as content.
2018-03-19 10:18:29 -07:00
Ryan Nowak 989a6c699f Don't add the tag helper provider by default
Since the default tag helper provider is used by MVC then MVC should
include it. Now that Blazor is in the mix we shouldn't include it for
all configurations.
2018-03-08 15:41:34 -08:00
Ryan Nowak 92c511b2b4 Fix #2099 - make AssemblyExtension public
This is needed when a runtime wants to construct its own configuration
manually, especially useful in tests.
2018-02-28 17:58:21 -08:00
Ryan Nowak e05c2abd94 Fix #2041 - Add static constructor to DocumentWriter
The instance Create method was always supposed to be static.
2018-02-28 13:46:18 -08:00
Ryan Nowak d6784b5f16 Report faults on Razor project system exceptions
Using the async-tasks service will automatically handle and report
exceptions from the project system
2018-02-28 13:04:42 -08:00
Ryan Nowak cf5743ea86 Fix a bug in tag helper discovery on build 2018-02-20 13:07:01 -08:00
Ryan Nowak 0b777dad3f Decouple tooling from MVC assemblies 2018-02-19 14:39:19 -08:00
Ryan Nowak 5008c7803c Add a project system
Step 1: Add HostProject

This is a somewhat complex addition to the ProjectSnapshotManager. Now
that we accept updates from the underlying IDE project system we need to
coordinate those with the Workspace.

This means that ProjectSnapshot itself now also has a version concept.

Step 2: Introduce a new project system based on CPS

We use project capabilities defined by the Razor SDK to determine
whether to rely on MSBuild evaluation to detect the configuration or
whether to fallback to assembly-based detection.

Step 3: Flow RazorConfiguration everywhere

We use now expose the RazorConfiguration to the language service and
editor. This means that we no longer need to detect the project's
configuration asynchronously, it happens much faster now.
2018-02-19 14:39:19 -08:00
Ryan Nowak 59a1cf9293 Add support for method parameters to Razor IR 2018-02-19 14:38:03 -08:00
Ryan Nowak fcf6ea03a9 Add IDE extensibility for project engine 2018-02-19 14:03:41 -08:00
Ryan Nowak b644ecfeaa Relayer interaction between extensions and engine 2018-02-19 14:00:31 -08:00
Nate McMaster 13824c418e Catch 15.7 up with dev
This change integrates most of the non-breaking work that we did in 2.1
including the updates to make Razor less coupled to MVC.
2018-02-19 10:46:16 -08:00
Ryan Nowak c1b96eaabc Update KoreBuild
This branch roughly tracks our preview2 stuff for now
2018-02-19 10:45:33 -08:00
Ryan Nowak f13577ca95 Update KoreBuild
This branch roughly tracks our preview2 stuff for now
2018-02-06 18:44:28 -08:00
Ryan Nowak 870f023aa9 Add prelimianry support for extensions to Razor (#2012)
* Add prelimianry support for extensions to Razor

This PR adds MSBuild insfrastructure to the SDK that can understand
concepts we need to expose to the project, code generator and runtime
like:
- Language version
- Configuration
- Extensions (plugins)

As an example of how this works, I've done the wireup for MVC. This will
now generate assembly attributes in your application that can act as a
source-of-truth for what should be included in runtime compilation, and
it's all based on the project-file. This means that it can be delivered
and configured by packages.

The next step here is to implement a loader for RazorProjectEngine based
on these primitives, and then use it in our CLI tools and MVC.

The next step after that is to expose it in VS and VS4Mac through the
project system.

(cherry picked from commit 5b28c06d64)
2018-02-03 20:13:24 -08:00
Ryan Nowak eb5abc6ac5 Add CPS dependencies
Getting this in to avoid pain when rebasing/merging.
2018-02-02 13:16:24 -08:00
N. Taylor Mullen a01fa1c5b6 Flow RazorLanguageVersion to RazorEngine.
- Restructured RazorLanguageVersion to be a sealed concrete type to enable things like `RazorLanguageVersion.Latest`; it also allows us to make broader changes in the future. Also, in the future if we want to add support for overriding operators to enable greater than comparisons we can as well.
- Removed version validity checks because we restrict who can construct a `RazorLanguageVersion` now. This way we don't have to check for valid versions all throughout our code.
- Added a simple `ProjectExtensibilityConfiguration` => `RazorLanguageVersion` method in the `DefaultProjectExtensibilityConfigurationFactory` to temporarily enable letting the system operate on the `RazorLanguageVersion`. Eventually that entire class will change.

#1961
2018-01-25 09:17:37 -08:00
N. Taylor Mullen af12a455ff Update RazorExtensions VSIX version to 15.7. 2018-01-23 12:08:15 -08:00
N. Taylor Mullen 92111ea515 Make Block and Span cache Length.
- Part of caching length required the `Span`'s `ReplaceWith` method to propagate its changes to its parent so that it can propogate the change to invalidate all parent length caches.
- Added Span and Block tests to validate the interaction of caching.

#1927
2018-01-16 20:53:35 -08:00
N. Taylor Mullen 5e0e09ac06 Remove MPack assets. 2018-01-16 20:19:11 -08:00
Nate McMaster 141b0b4763 Upgrade to build tools 2.1.0-preview1-15651 2018-01-16 20:19:11 -08:00
Nate McMaster 23e3a872af Update build tools to 2.1.0-preview1-15670 and update list of exclusions for Razor.Design 2018-01-16 20:19:11 -08:00
ASP.NET CI e35bc1176c Update dependencies.props
[auto-updated: dependencies]
2018-01-16 20:19:11 -08:00
ASP.NET CI 03ef44aa1d Update dependencies.props
[auto-updated: dependencies]
2018-01-16 20:19:11 -08:00
Nate McMaster c88f7be1ab Include the VSIX and MPack files in the bill of materials 2018-01-16 20:19:11 -08:00
ASP.NET CI f578819c6e Update dependencies.props 2018-01-16 20:19:11 -08:00
ASP.NET CI 3413c74c2d Update dependencies.props
[auto-updated: dependencies]
2018-01-16 20:19:11 -08:00
Pranav K ec4e127a70 Use MicrosoftNETCoreApp21PackageVersion to determine the runtime framework in netcoreapp2.1 2018-01-16 20:19:11 -08:00
Ryan Brandenburg 9edbf87f31 Remove unneeded exclusion 2018-01-16 20:19:11 -08:00
Ryan Brandenburg 4b81c9261b Update bootstrappers 2018-01-16 20:19:11 -08:00
Pranav K a5ddd2baf1 Specify runtime versions to install 2018-01-16 20:19:11 -08:00
Pranav K 50fa43d35b Replace aspnetcore-ci-dev feed with aspnetcore-dev 2018-01-16 20:19:11 -08:00
Nate McMaster 89243f8bb8 Use MSBuild to set NuGet feeds instead of NuGet.config 2018-01-16 20:19:11 -08:00
N. Taylor Mullen 4af7a47aac Change code document provider to work in old Razor.
- Prior to this the old code document provider would utilize the editor factory service which would incorrectly create a parser for older Razor documents. This was wrong on many levels.
- Updated tests to react to new expectations.
2017-11-20 02:26:14 -08:00
N. Taylor Mullen 4f7aab7720 Prevent Razor Core from running in non-core scenarios.
- Also added tests.

#1776
2017-11-16 16:23:24 -08:00
N. Taylor Mullen fa2d79296a Merge branch 'dev' into rel/vs15.6 2017-11-15 16:55:09 -08:00
Ajay Bhargav Baaskaran 9a2e3ceab6 Added public api changes for TagHelper project system 2017-11-15 15:52:02 -08:00
N. Taylor Mullen 6cf78ceb1b Move TagHelperCompletionService to VS.Editor.Razor and export it.
- Moved service poco types: `AttributeCompletionContext`, `AttributeCompletionResult`, `ElementCompletionContext` and `ElementCompletionResult`.
- Exported DefaultTagHelperCompletionService.

#1762
2017-11-15 13:01:06 -08:00
N. Taylor Mullen 458111ad03 Move TagHelperFactsService and export it.
- Created a `TagHelperFactsServiceInternal` and export its public counterpart in `Microsoft.VisualStudio.Editor.Razor`.
- Updated tests to react to new naming.

#1762
2017-11-15 13:01:06 -08:00
N. Taylor Mullen 520876e55d Re-add some Legacy ITagHelperResolver infrastructure.
- This is required until the TagHelperProjectSystem is completed.
2017-11-14 16:49:35 -08:00