[Mlir-commits] [mlir] 2d4f3ed - [mlir][vscode] Highlight inside c++ raw strings

Jacques Pienaar llvmlistbot at llvm.org
Fri Dec 17 12:58:18 PST 2021


Author: Jacques Pienaar
Date: 2021-12-17T12:56:08-08:00
New Revision: 2d4f3ed5517a52d9eaab82fee7d937f91b4b884c

URL: https://github.com/llvm/llvm-project/commit/2d4f3ed5517a52d9eaab82fee7d937f91b4b884c
DIFF: https://github.com/llvm/llvm-project/commit/2d4f3ed5517a52d9eaab82fee7d937f91b4b884c.diff

LOG: [mlir][vscode] Highlight inside c++ raw strings

Within C++ raw strings with mlir delimitter use MLIR syntax.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D115963

Added: 
    mlir/utils/vscode/cpp-grammar.json

Modified: 
    mlir/utils/vscode/package.json

Removed: 
    


################################################################################
diff  --git a/mlir/utils/vscode/cpp-grammar.json b/mlir/utils/vscode/cpp-grammar.json
new file mode 100644
index 0000000000000..c39f6dbb56fc5
--- /dev/null
+++ b/mlir/utils/vscode/cpp-grammar.json
@@ -0,0 +1,44 @@
+{
+  "scopeName": "source.cpp.mlir",
+  "injectionSelector": "L:source.cpp",
+  "patterns": [
+    {
+      "include": "#mlir-raw-string"
+    }
+  ],
+  "repository": {
+    "mlir-raw-string": {
+      "begin": "R\"(?i:mlir)(\\()",
+      "beginCaptures": {
+        "0": {
+          "name": "punctuation.definition.string.begin.cpp"
+        },
+        "1": {
+          "name": "mlir.delimeter.raw.string.cpp"
+        }
+      },
+      "end": "\\)(?i:mlir)\"",
+      "endCaptures": {
+        "0": {
+          "name": "punctuation.definition.string.end.cpp"
+        },
+        "1": {
+          "name": "mlir.delimeter.raw.string.cpp"
+        }
+      },
+      "name": "mlir.raw.string.cpp",
+      "patterns": [
+        {
+          "contentName": "source.mlir",
+          "begin": "(?!\\G)",
+          "end": "(?i)(?=\\)mlir\")",
+          "patterns": [
+            {
+              "include": "source.mlir"
+            }
+          ]
+        }
+      ]
+    }
+  }
+}

diff  --git a/mlir/utils/vscode/package.json b/mlir/utils/vscode/package.json
index 99fb946964540..ebb6487d43744 100644
--- a/mlir/utils/vscode/package.json
+++ b/mlir/utils/vscode/package.json
@@ -1,118 +1,128 @@
 {
-	"name": "vscode-mlir",
-	"displayName": "MLIR",
-	"description": "MLIR Language Extension",
-	"version": "0.0.2",
-	"publisher": "llvm-vs-code-extensions",
-	"homepage": "https://mlir.llvm.org/",
-	"icon": "icon.png",
-	"engines": {
-		"vscode": "^1.52.0"
-	},
-	"categories": [
-		"Programming Languages"
-	],
-	"keywords": [
-		"LLVM",
-		"MLIR"
-	],
-	"activationEvents": [
-		"onLanguage:mlir"
-	],
-	"main": "./out/extension",
-	"scripts": {
-		"vscode:prepublish": "tsc -p ./",
-		"compile": "tsc -watch -p ./",
-		"format": "clang-format -i --glob=\"{src,test}/*.ts\"",
-		"package": "vsce package",
-		"publish": "vsce publish",
-		"git-clang-format": "git-clang-format"
-	},
-	"dependencies": {
-		"chokidar": "3.5.2",
-		"vscode-languageclient": "^5.2.1",
-		"vscode-languageserver-types": "3.16.0"
-	},
-	"devDependencies": {
-		"@types/mocha": "^5.2.0",
-		"@types/node": "^8.0.0",
-		"@types/vscode": "1.52.*",
-		"clang-format": "1.4.0",
-		"tslint": "^5.16.0",
-		"typescript": "^3.5.1",
-		"vsce": "^1.75.0",
-		"vscode-test": "^1.3.0"
-	},
-	"repository": {
-		"type": "git",
-		"url": "https://github.com/llvm/vscode-mlir.git"
-	},
-	"contributes": {
-		"languages": [
-			{
-				"id": "mlir",
-				"aliases": [
-					"MLIR",
-					"mlir"
-				],
-				"extensions": [
-					".mlir"
-				],
-				"configuration": "./language-configuration.json"
-			},
-			{
-				"id": "mlir-injection"
-			}
-		],
-		"grammars": [
-			{
-				"language": "mlir",
-				"scopeName": "source.mlir",
-				"path": "./grammar.json"
-			},
-			{
-				"language": "mlir-injection",
-				"scopeName": "markdown.mlir.codeblock",
-				"path": "markdown-grammar.json",
-				"injectTo": [
-					"text.html.markdown"
-				],
-				"embeddedLanguages": {
-					"meta.embedded.block.mlir": "mlir"
-				}
-			}
-		],
-		"configuration": {
-			"type": "object",
-			"title": "MLIR",
-			"properties": {
-				"mlir.server_path": {
-					"scope": "resource",
-					"type": "string",
-					"description": "The file path of the mlir-lsp-server executable."
-				},
-				"mlir.onSettingsChanged": {
-					"type": "string",
-					"default": "prompt",
-					"description": "Action taken when a setting change requires a server restart to take effect.",
-					"enum": [
-						"prompt",
-						"restart",
-						"ignore"
-					],
-					"enumDescriptions": [
-						"Prompt the user for restarting the server",
-						"Automatically restart the server",
-						"Do nothing"
-					]
-				}
-			}
-		},
-		"commands": [
-			{
-				"command": "mlir.restart",
-				"title": "mlir: Restart language server"
-			}
-		]
-	}
+  "name": "vscode-mlir",
+  "displayName": "MLIR",
+  "description": "MLIR Language Extension",
+  "version": "0.0.3",
+  "publisher": "llvm-vs-code-extensions",
+  "homepage": "https://mlir.llvm.org/",
+  "icon": "icon.png",
+  "engines": {
+    "vscode": "^1.52.0"
+  },
+  "categories": [
+    "Programming Languages"
+  ],
+  "keywords": [
+    "LLVM",
+    "MLIR"
+  ],
+  "activationEvents": [
+    "onLanguage:mlir"
+  ],
+  "main": "./out/extension",
+  "scripts": {
+    "vscode:prepublish": "tsc -p ./",
+    "compile": "tsc -watch -p ./",
+    "format": "clang-format -i --glob=\"{src,test}/*.ts\"",
+    "package": "vsce package",
+    "publish": "vsce publish",
+    "git-clang-format": "git-clang-format"
+  },
+  "dependencies": {
+    "chokidar": "3.5.2",
+    "vscode-languageclient": "^5.2.1",
+    "vscode-languageserver-types": "3.16.0"
+  },
+  "devDependencies": {
+    "@types/mocha": "^5.2.0",
+    "@types/node": "^8.0.0",
+    "@types/vscode": "1.52.*",
+    "clang-format": "1.4.0",
+    "tslint": "^5.16.0",
+    "typescript": "^3.5.1",
+    "vsce": "^1.75.0",
+    "vscode-test": "^1.3.0"
+  },
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/llvm/vscode-mlir.git"
+  },
+  "contributes": {
+    "languages": [
+      {
+        "id": "mlir",
+        "aliases": [
+          "MLIR",
+          "mlir"
+        ],
+        "extensions": [
+          ".mlir"
+        ],
+        "configuration": "./language-configuration.json"
+      },
+      {
+        "id": "mlir-injection"
+      }
+    ],
+    "grammars": [
+      {
+        "language": "mlir",
+        "scopeName": "source.mlir",
+        "path": "./grammar.json"
+      },
+      {
+        "language": "mlir-injection",
+        "scopeName": "markdown.mlir.codeblock",
+        "path": "markdown-grammar.json",
+        "injectTo": [
+          "text.html.markdown"
+        ],
+        "embeddedLanguages": {
+          "meta.embedded.block.mlir": "mlir"
+        }
+      },
+      {
+        "scopeName": "source.cpp.mlir",
+        "path": "./cpp-grammar.json",
+        "injectTo": [
+          "source.cpp"
+        ],
+        "embeddedLanguages": {
+          "source.mlir": "mlir"
+        }
+      }
+    ],
+    "configuration": {
+      "type": "object",
+      "title": "MLIR",
+      "properties": {
+        "mlir.server_path": {
+          "scope": "resource",
+          "type": "string",
+          "description": "The file path of the mlir-lsp-server executable."
+        },
+        "mlir.onSettingsChanged": {
+          "type": "string",
+          "default": "prompt",
+          "description": "Action taken when a setting change requires a server restart to take effect.",
+          "enum": [
+            "prompt",
+            "restart",
+            "ignore"
+          ],
+          "enumDescriptions": [
+            "Prompt the user for restarting the server",
+            "Automatically restart the server",
+            "Do nothing"
+          ]
+        }
+      }
+    },
+    "commands": [
+      {
+        "command": "mlir.restart",
+        "title": "mlir: Restart language server"
+      }
+    ]
+  }
 }


        


More information about the Mlir-commits mailing list