summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeith Hall <keith-hall@users.noreply.github.com>2021-05-15 10:02:11 +0300
committerGitHub <noreply@github.com>2021-05-15 10:02:11 +0300
commit52c11fe23d2d9ed027fae81d2f84de48710ac9ff (patch)
treeae097b3b2d4a2e2961e98bd234fed42221d9fa5c
parent93f710bdffcd71fb1533609339778ea699a0c8b8 (diff)
parent6fc9641f6adfa9c3fbc3ab3c6e2ffcaed6efc502 (diff)
Merge pull request #1655 from mohamed-abdelnour/support-xaml-files
Add support for XAML files
-rw-r--r--CHANGELOG.md2
-rw-r--r--assets/patches/XML.sublime-syntax.patch12
-rw-r--r--assets/syntaxes.binbin701786 -> 701806 bytes
-rw-r--r--tests/syntax-tests/highlighted/XAML/ItemPage.xaml264
-rw-r--r--tests/syntax-tests/source/XAML/ItemPage.xaml264
-rw-r--r--tests/syntax-tests/source/XAML/LICENSE.md23
6 files changed, 565 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 14397645..522b1744 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -11,6 +11,8 @@
## Syntaxes
+- Added support for `XAML` syntax, see #1590 and #1655 (@mohamed-abdelnour)
+
## New themes
diff --git a/assets/patches/XML.sublime-syntax.patch b/assets/patches/XML.sublime-syntax.patch
new file mode 100644
index 00000000..ea68b956
--- /dev/null
+++ b/assets/patches/XML.sublime-syntax.patch
@@ -0,0 +1,12 @@
+diff --git syntaxes/01_Packages/XML/XML.sublime-syntax syntaxes/01_Packages/XML/XML.sublime-syntax
+index ad7d9c87..af4a00f0 100644
+--- syntaxes/01_Packages/XML/XML.sublime-syntax
++++ syntaxes/01_Packages/XML/XML.sublime-syntax
+@@ -12,6 +12,7 @@ file_extensions:
+ - rss
+ - opml
+ - svg
++ - xaml
+ first_line_match: |-
+ (?x:
+ ^(?:
diff --git a/assets/syntaxes.bin b/assets/syntaxes.bin
index cd87edd8..958b2dfb 100644
--- a/assets/syntaxes.bin
+++ b/assets/syntaxes.bin
Binary files differ
diff --git a/tests/syntax-tests/highlighted/XAML/ItemPage.xaml b/tests/syntax-tests/highlighted/XAML/ItemPage.xaml
new file mode 100644
index 00000000..ea33f0d4
--- /dev/null
+++ b/tests/syntax-tests/highlighted/XAML/ItemPage.xaml
@@ -0,0 +1,264 @@
+<!--
+ //*********************************************************
+ //
+ // Copyright (c) Microsoft. All rights reserved.
+ // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
+ // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
+ // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
+ // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
+ //
+ //*********************************************************
+-->
+<Page
+ x:Class="AppUIBasics.ItemPage"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:common="using:AppUIBasics.Common"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:data="using:AppUIBasics.Data"
+ xmlns:local="using:AppUIBasics"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ x:Name="pageRoot"
+ mc:Ignorable="d">
+
+ <!--
+ This grid acts as a root panel for the page that defines two rows:
+ * Row 0 contains the back button and page title
+ * Row 1 contains the rest of the page layout
+ -->
+ <Grid x:Name="rootPanel" d:DataContext="{Binding Groups[0].Items[0], Source={d:DesignData Source=/DataModel/ControlinfoData.json, Type=data:ControlInfoDataSource}}" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
+ <VisualStateManager.VisualStateGroups>
+ <VisualStateGroup>
+ <VisualState>
+ <VisualState.StateTriggers>
+ <local:DeviceFamilyTrigger DeviceFamily="Windows.Xbox" />
+ </VisualState.StateTriggers>
+ <VisualState.Setters>
+ <Setter Target="svPanel.Margin" Value="0,0,48,27" />
+ </VisualState.Setters>
+ </VisualState>
+ </VisualStateGroup>
+ <VisualStateGroup>
+ <VisualState x:Name="NormalFrameContent" />
+ <VisualState x:Name="WideFrameContent">
+ <VisualState.Setters>
+ <Setter Target="contentFrame.Width" Value="1028" />
+ <Setter Target="contentFrame.HorizontalAlignment" Value="Left" />
+ </VisualState.Setters>
+ </VisualState>
+ </VisualStateGroup>
+ <VisualStateGroup x:Name="LayoutVisualStates">
+ <VisualState x:Name="LargeLayout">
+ <VisualState.StateTriggers>
+ <AdaptiveTrigger MinWindowWidth="1372" />
+ </VisualState.StateTriggers>
+ </VisualState>
+ <VisualState x:Name="WideLayout">
+ <VisualState.StateTriggers>
+ <AdaptiveTrigger MinWindowWidth="{StaticResource Breakpoint640Plus}" />
+ </VisualState.StateTriggers>
+ <VisualState.Setters>
+ <Setter Target="seeAlsoPanel.Width" Value="Auto" />
+ <Setter Target="seeAlsoPanel.(Grid.Row)" Value="3" />
+ <Setter Target="seeAlsoPanel.(Grid.Column)" Value="0" />
+ <Setter Target="seeAlsoPanel.(Grid.ColumnSpan)" Value="3" />
+
+ <Setter Target="SourcePanel.(Grid.ColumnSpan)" Value="1" />
+
+ <Setter Target="DocumentationPanel.(Grid.ColumnSpan)" Value="1" />
+
+ <Setter Target="RelatedControlsPanel.(Grid.Row)" Value="0" />
+ <Setter Target="RelatedControlsPanel.(Grid.Column)" Value="2" />
+ <Setter Target="RelatedControlsPanel.(Grid.ColumnSpan)" Value="1" />
+
+ <Setter Target="FeedbackPanel.(Grid.Row)" Value="1" />
+ <Setter Target="FeedbackPanel.(Grid.Column)" Value="2" />
+ <Setter Target="FeedbackPanel.(Grid.ColumnSpan)" Value="1" />
+ </VisualState.Setters>
+ </VisualState>
+ <VisualState x:Name="NarrowLayout">
+ <VisualState.StateTriggers>
+ <AdaptiveTrigger MinWindowWidth="0" />
+ </VisualState.StateTriggers>
+ <VisualState.Setters>
+ <Setter Target="seeAlsoPanel.Width" Value="Auto" />
+ <Setter Target="seeAlsoPanel.(Grid.Row)" Value="3" />
+ <Setter Target="seeAlsoPanel.(Grid.Column)" Value="0" />
+ <Setter Target="seeAlsoPanel.(Grid.ColumnSpan)" Value="3" />
+
+ <Setter Target="SourcePanel.(Grid.ColumnSpan)" Value="1" />
+
+ <Setter Target="DocumentationPanel.(Grid.ColumnSpan)" Value="1" />
+
+ <Setter Target="RelatedControlsPanel.(Grid.Row)" Value="0" />
+ <Setter Target="RelatedControlsPanel.(Grid.Column)" Value="2" />
+ <Setter Target="RelatedControlsPanel.(Grid.ColumnSpan)" Value="1" />
+
+ <Setter Target="FeedbackPanel.(Grid.Row)" Value="1" />
+ <Setter Target="FeedbackPanel.(Grid.Column)" Value="2" />
+ <Setter Target="FeedbackPanel.(Grid.ColumnSpan)" Value="1" />
+
+ <Setter Target="rightMargin.Width" Value="0" />
+ <Setter Target="contentRoot.Padding" Value="14,0" />
+ </VisualState.Setters>
+ </VisualState>
+ </VisualStateGroup>
+ </VisualStateManager.VisualStateGroups>
+
+ <!-- Content Region -->
+ <ScrollViewer
+ x:Name="svPanel"
+
+ VerticalScrollBarVisibility="Auto"
+ VerticalScrollMode="Auto">
+ <Grid x:Name="contentRoot" Padding="24,0,0,0" SizeChanged="OnContentRootSizeChanged">
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition x:Name="contentColumn" />
+ <ColumnDefinition x:Name="rightMargin" Width="20" />
+ <ColumnDefinition x:Name="infoColumn" Width="Auto" />
+ </Grid.ColumnDefinitions>
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="*" />
+ <RowDefinition Height="20" />
+ <RowDefinition Height="Auto" />
+ </Grid.RowDefinitions>
+
+ <TextBlock
+ x:Name="descriptionText"
+ Style="{ThemeResource BodyTextBlockStyle}"
+ Grid.ColumnSpan="2"
+ Margin="0,5,24,0"
+ Text="{x:Bind Item.Description}" />
+
+ <Frame x:Name="contentFrame" Grid.Row="1" />
+
+ <Grid
+ x:Name="seeAlsoPanel"
+ Grid.Row="0"
+ Grid.RowSpan="2"
+ Grid.Column="2"
+ Width="280"
+ Margin="0,0,24,24">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="Auto" />
+ </Grid.RowDefinitions>
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition />
+ <ColumnDefinition Width="20" />
+ <ColumnDefinition />
+ </Grid.ColumnDefinitions>
+
+ <StackPanel x:Name="SourcePanel" Grid.Row="0" Grid.ColumnSpan="3" Margin="0,0,0,40">
+ <TextBlock
+ x:Name="SourceHeader"
+ x:Uid="SourceHeader"
+ Style="{ThemeResource SubtitleTextBlockStyle}"
+ Text="View page code on GitHub"/>
+ <HyperlinkButton
+ x:Name="PageMarkupGitHubLink"
+ ToolTipService.ToolTip="{x:Bind PageMarkupGitHubLink.NavigateUri, Mode=OneWay}">
+ <TextBlock Text="XAML source code"/>
+ </HyperlinkButton>
+ <HyperlinkButton
+ x:Name="PageCodeGitHubLink"
+ ToolTipService.ToolTip="{x:Bind PageCodeGitHubLink.NavigateUri, Mode=OneWay}"