From 2c8d46da09d088fe1dcd875445541baf7f2c6772 Mon Sep 17 00:00:00 2001 From: "Artyom V. Gorchakov" Date: Mon, 26 Oct 2020 19:34:55 +0300 Subject: [PATCH] feature: Add XamlXRawNameReferenceXamlParser (#4) * Add XAML parser based on XamlX --- .gitignore | 2 +- .gitmodules | 3 + external/.gitkeep.txt | 0 external/XamlX | 1 + .../App.xaml | 0 .../App.xaml.cs | 0 .../Controls/CustomTextBox.cs | 0 .../Program.cs | 4 +- .../SignUpView.xaml | 16 ++--- .../SignUpView.xaml.cs | 0 .../XamlNameReferenceGenerator.Sandbox.csproj | 6 +- .../XamlNameReferenceGenerator.sln | 0 .../NameReferenceDebugger.cs | 0 .../NameReferenceGenerator.cs | 5 +- .../NameReferenceSyntaxReceiver.cs | 0 .../Parsers/INameReferenceXamlParser.cs | 9 +++ .../XamlXCompiledNameReferenceXamlParser.cs | 12 ++++ .../XamlXRawNameReferenceXamlParser.cs | 67 +++++++++++++++++++ .../XmlDocumentNameReferenceXamlParser.cs | 8 +-- .../XamlNameReferenceGenerator.csproj | 7 +- 20 files changed, 115 insertions(+), 25 deletions(-) create mode 100644 .gitmodules create mode 100644 external/.gitkeep.txt create mode 160000 external/XamlX rename {XamlNameReferenceGenerator.Sandbox => src/XamlNameReferenceGenerator.Sandbox}/App.xaml (100%) rename {XamlNameReferenceGenerator.Sandbox => src/XamlNameReferenceGenerator.Sandbox}/App.xaml.cs (100%) rename {XamlNameReferenceGenerator.Sandbox => src/XamlNameReferenceGenerator.Sandbox}/Controls/CustomTextBox.cs (100%) rename {XamlNameReferenceGenerator.Sandbox => src/XamlNameReferenceGenerator.Sandbox}/Program.cs (86%) rename {XamlNameReferenceGenerator.Sandbox => src/XamlNameReferenceGenerator.Sandbox}/SignUpView.xaml (77%) rename {XamlNameReferenceGenerator.Sandbox => src/XamlNameReferenceGenerator.Sandbox}/SignUpView.xaml.cs (100%) rename {XamlNameReferenceGenerator.Sandbox => src/XamlNameReferenceGenerator.Sandbox}/XamlNameReferenceGenerator.Sandbox.csproj (89%) rename XamlNameReferenceGenerator.sln => src/XamlNameReferenceGenerator.sln (100%) rename {XamlNameReferenceGenerator => src/XamlNameReferenceGenerator}/NameReferenceDebugger.cs (100%) rename {XamlNameReferenceGenerator => src/XamlNameReferenceGenerator}/NameReferenceGenerator.cs (96%) rename {XamlNameReferenceGenerator => src/XamlNameReferenceGenerator}/NameReferenceSyntaxReceiver.cs (100%) create mode 100644 src/XamlNameReferenceGenerator/Parsers/INameReferenceXamlParser.cs create mode 100644 src/XamlNameReferenceGenerator/Parsers/XamlXCompiledNameReferenceXamlParser.cs create mode 100644 src/XamlNameReferenceGenerator/Parsers/XamlXRawNameReferenceXamlParser.cs rename XamlNameReferenceGenerator/NameReferenceXamlParser.cs => src/XamlNameReferenceGenerator/Parsers/XmlDocumentNameReferenceXamlParser.cs (86%) rename {XamlNameReferenceGenerator => src/XamlNameReferenceGenerator}/XamlNameReferenceGenerator.csproj (65%) diff --git a/.gitignore b/.gitignore index d92c9cc733..80170358cb 100644 --- a/.gitignore +++ b/.gitignore @@ -4,7 +4,7 @@ ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore # User-specific files -.idea +**/.idea *.rsuser *.suo *.user diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000000..3e69f97bea --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "external/XamlX"] + path = external/XamlX + url = git@github.com:kekekeks/XamlX.git diff --git a/external/.gitkeep.txt b/external/.gitkeep.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/external/XamlX b/external/XamlX new file mode 160000 index 0000000000..5420df861c --- /dev/null +++ b/external/XamlX @@ -0,0 +1 @@ +Subproject commit 5420df861ce6f2be5ead9efa078fe7242ce88f18 diff --git a/XamlNameReferenceGenerator.Sandbox/App.xaml b/src/XamlNameReferenceGenerator.Sandbox/App.xaml similarity index 100% rename from XamlNameReferenceGenerator.Sandbox/App.xaml rename to src/XamlNameReferenceGenerator.Sandbox/App.xaml diff --git a/XamlNameReferenceGenerator.Sandbox/App.xaml.cs b/src/XamlNameReferenceGenerator.Sandbox/App.xaml.cs similarity index 100% rename from XamlNameReferenceGenerator.Sandbox/App.xaml.cs rename to src/XamlNameReferenceGenerator.Sandbox/App.xaml.cs diff --git a/XamlNameReferenceGenerator.Sandbox/Controls/CustomTextBox.cs b/src/XamlNameReferenceGenerator.Sandbox/Controls/CustomTextBox.cs similarity index 100% rename from XamlNameReferenceGenerator.Sandbox/Controls/CustomTextBox.cs rename to src/XamlNameReferenceGenerator.Sandbox/Controls/CustomTextBox.cs diff --git a/XamlNameReferenceGenerator.Sandbox/Program.cs b/src/XamlNameReferenceGenerator.Sandbox/Program.cs similarity index 86% rename from XamlNameReferenceGenerator.Sandbox/Program.cs rename to src/XamlNameReferenceGenerator.Sandbox/Program.cs index 4e8b7b98ad..f28ce4d379 100644 --- a/XamlNameReferenceGenerator.Sandbox/Program.cs +++ b/src/XamlNameReferenceGenerator.Sandbox/Program.cs @@ -1,6 +1,4 @@ -using System; -using Avalonia; -using Avalonia.Logging.Serilog; +using Avalonia; using Avalonia.ReactiveUI; namespace XamlNameReferenceGenerator.Sandbox diff --git a/XamlNameReferenceGenerator.Sandbox/SignUpView.xaml b/src/XamlNameReferenceGenerator.Sandbox/SignUpView.xaml similarity index 77% rename from XamlNameReferenceGenerator.Sandbox/SignUpView.xaml rename to src/XamlNameReferenceGenerator.Sandbox/SignUpView.xaml index 5e58f95202..168b6e7bce 100644 --- a/XamlNameReferenceGenerator.Sandbox/SignUpView.xaml +++ b/src/XamlNameReferenceGenerator.Sandbox/SignUpView.xaml @@ -4,23 +4,24 @@ xmlns:controls="clr-namespace:XamlNameReferenceGenerator.Sandbox.Controls" x:Class="XamlNameReferenceGenerator.Sandbox.SignUpView"> + - + - - + -