[Monaco] Add support for gitignore files (#26331)

* [Monaco] Add support for gitignore files

* Update definition

* Fix

---------

Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
This commit is contained in:
Aaron Junker
2023-06-06 16:54:06 +02:00
committed by GitHub
parent 1e481b1162
commit 177c58f494
5 changed files with 20 additions and 2 deletions

View File

@@ -50,7 +50,7 @@ if ($isWinAppSdkProj -eq $True) {
$fileExclusionList = @("*Test*", "*.pdb", "*.lastcodeanalysissucceeded", "createdump.exe") + $interopFilesList + $winAppSDKfilesList
$fileInclusionList = @("*.dll", "*.exe", "*.json", "*.msix", "*png", "*gif", "*ico", "*cur", "*svg", "index.html", "reg.js", "monacoSpecialLanguages.js", "resources.pri")
$fileInclusionList = @("*.dll", "*.exe", "*.json", "*.msix", "*png", "*gif", "*ico", "*cur", "*svg", "index.html", "reg.js", "gitignore.js", "monacoSpecialLanguages.js", "resources.pri")
$dllsToIgnore = @("System.CodeDom.dll", "WindowsBase.dll")

View File

@@ -20,6 +20,9 @@
<None Update="customLanguages\reg.js">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="customLanguages\gitignore.js">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="index.html">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>

View File

@@ -0,0 +1,13 @@
export function gitignoreDefinition() {
return {
defaultToken: 'invalid',
tokenizer: {
root: [
[/^#.*$/, 'comment'],
[/^\s*!.*/, 'invalid'],
[/^\s*[^#]+/, "tag"]
]
}
};
}

View File

@@ -1,6 +1,7 @@
// This file adds new languages to monaco
import { regDefinition } from './customLanguages/reg.js';
import { gitignoreDefinition } from './customLanguages/gitignore.js';
export async function registerAdditionalLanguages(monaco){
await languageDefinitions();
@@ -13,6 +14,7 @@ export async function registerAdditionalLanguages(monaco){
registerAdditionalLanguage("vbExt", [".vbs"], "vb", monaco)
registerAdditionalLanguage("iniExt", [".inf", ".gitconfig", ".gitattributes", ".editorconfig"], "ini", monaco)
registerAdditionalNewLanguage("reg", [".reg"], regDefinition(), monaco)
registerAdditionalNewLanguage("gitignore", [".gitignore"], gitignoreDefinition(), monaco)
}
// Language definitions taken from Monaco source code

File diff suppressed because one or more lines are too long