diff --git a/CHANGELOG.md b/CHANGELOG.md index 6859f71a..55fb6c5d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ - Improvements to CSV/TSV highlighting, with autodetection of delimiter and support for TSV files, see #3186 (@keith- - Improve (Sys)log error highlighting, see #3205 (@keith-hall) - Map `ndjson` extension to JSON syntax, see #3209 (@keith-hall) +- Map files with `csproj`, `vbproj`, `props` and `targets` extensions to XML syntax, see #3213 (@keith-hall) ## Themes diff --git a/src/syntax_mapping/builtins/common/50-dotnet-xml.toml b/src/syntax_mapping/builtins/common/50-dotnet-xml.toml new file mode 100644 index 00000000..1e3a860a --- /dev/null +++ b/src/syntax_mapping/builtins/common/50-dotnet-xml.toml @@ -0,0 +1,2 @@ +[mappings] +"XML" = ["*.csproj", "*.vbproj", "*.props", "*.targets"] diff --git a/tests/syntax-tests/highlighted/XML/Directory.Build.props b/tests/syntax-tests/highlighted/XML/Directory.Build.props new file mode 100644 index 00000000..bd4b97a0 --- /dev/null +++ b/tests/syntax-tests/highlighted/XML/Directory.Build.props @@ -0,0 +1,5 @@ +<Project> + <PropertyGroup> + <OutDir>C:\output\$(MSBuildProjectName) +  + diff --git a/tests/syntax-tests/highlighted/XML/console.csproj b/tests/syntax-tests/highlighted/XML/console.csproj new file mode 100644 index 00000000..ee49fbf0 --- /dev/null +++ b/tests/syntax-tests/highlighted/XML/console.csproj @@ -0,0 +1,11 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <OutputType>Exe + <TargetFramework>net9.0 + <RootNamespace>SomeNamespace + <ImplicitUsings>enable + <Nullable>enable +  + + diff --git a/tests/syntax-tests/highlighted/XML/projectname.targets b/tests/syntax-tests/highlighted/XML/projectname.targets new file mode 100644 index 00000000..0af85fbd --- /dev/null +++ b/tests/syntax-tests/highlighted/XML/projectname.targets @@ -0,0 +1,8 @@ + +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <Target Name="TestTarget" AfterTargets="Build"> + <Message Importance="High" Text="-------------MHM----------------" /> +  + + diff --git a/tests/syntax-tests/source/XML/Directory.Build.props b/tests/syntax-tests/source/XML/Directory.Build.props new file mode 100644 index 00000000..95da98cf --- /dev/null +++ b/tests/syntax-tests/source/XML/Directory.Build.props @@ -0,0 +1,5 @@ + + + C:\output\$(MSBuildProjectName) + + diff --git a/tests/syntax-tests/source/XML/console.csproj b/tests/syntax-tests/source/XML/console.csproj new file mode 100644 index 00000000..61dd6821 --- /dev/null +++ b/tests/syntax-tests/source/XML/console.csproj @@ -0,0 +1,11 @@ + + + + Exe + net9.0 + SomeNamespace + enable + enable + + + diff --git a/tests/syntax-tests/source/XML/projectname.targets b/tests/syntax-tests/source/XML/projectname.targets new file mode 100644 index 00000000..fc597ed2 --- /dev/null +++ b/tests/syntax-tests/source/XML/projectname.targets @@ -0,0 +1,8 @@ + + + + + + + +