about summary refs log tree commit diff
path: root/src/tools/rust-analyzer/editors/code/rustdoc.json
diff options
context:
space:
mode:
authorLaurențiu Nicola <lnicola@dend.ro>2024-02-18 09:41:20 +0200
committerLaurențiu Nicola <lnicola@dend.ro>2024-02-18 09:41:20 +0200
commitb72ae2c9ea7781ce34fe8f8af706d0431e51adc3 (patch)
tree8c17fcfd5aaba570e40ff1ea59def1c6ad04322f /src/tools/rust-analyzer/editors/code/rustdoc.json
parentd3df8ff85121146f2ac5e863e0c9eaba4bf35d32 (diff)
parentac998a74b3c8ff4b81c3eeb9a18811d4cc76226d (diff)
downloadrust-b72ae2c9ea7781ce34fe8f8af706d0431e51adc3.tar.gz
rust-b72ae2c9ea7781ce34fe8f8af706d0431e51adc3.zip
Merge commit 'ac998a74b3c8ff4b81c3eeb9a18811d4cc76226d' into sync-from-ra
Diffstat (limited to 'src/tools/rust-analyzer/editors/code/rustdoc.json')
-rw-r--r--src/tools/rust-analyzer/editors/code/rustdoc.json82
1 files changed, 82 insertions, 0 deletions
diff --git a/src/tools/rust-analyzer/editors/code/rustdoc.json b/src/tools/rust-analyzer/editors/code/rustdoc.json
new file mode 100644
index 00000000000..cecfae9d753
--- /dev/null
+++ b/src/tools/rust-analyzer/editors/code/rustdoc.json
@@ -0,0 +1,82 @@
+{
+    "name": "rustdoc",
+    "patterns": [
+        {
+            "include": "#fenced_code_block"
+        },
+        {
+            "include": "#markdown"
+        }
+    ],
+    "scopeName": "text.html.markdown.rustdoc",
+    "repository": {
+        "markdown": {
+            "patterns": [
+                {
+                    "include": "text.html.markdown"
+                }
+            ]
+        },
+        "fenced_code_block": {
+            "patterns": [
+                {
+                    "include": "#fenced_code_block_rust"
+                },
+                {
+                    "include": "#fenced_code_block_unknown"
+                }
+            ]
+        },
+        "fenced_code_block_rust": {
+            "begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(rust|not run|not_run)?((\\s+|:|,|\\{|\\?)[^`~]*)?$)",
+            "name": "markup.fenced_code.block.markdown",
+            "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
+            "beginCaptures": {
+                "3": {
+                    "name": "punctuation.definition.markdown"
+                },
+                "4": {
+                    "name": "fenced_code.block.language.markdown"
+                },
+                "5": {
+                    "name": "fenced_code.block.language.attributes.markdown"
+                }
+            },
+            "endCaptures": {
+                "3": {
+                    "name": "punctuation.definition.markdown"
+                }
+            },
+            "patterns": [
+                {
+                    "begin": "(^|\\G)(\\s*)(.*)",
+                    "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
+                    "contentName": "meta.embedded.block.rust",
+                    "patterns": [
+                        {
+                            "include": "source.rust"
+                        }
+                    ]
+                }
+            ]
+        },
+        "fenced_code_block_unknown": {
+            "begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?=([^`~]+)?$)",
+            "beginCaptures": {
+                "3": {
+                    "name": "punctuation.definition.markdown"
+                },
+                "4": {
+                    "name": "fenced_code.block.language"
+                }
+            },
+            "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
+            "endCaptures": {
+                "3": {
+                    "name": "punctuation.definition.markdown"
+                }
+            },
+            "name": "markup.fenced_code.block.markdown"
+        }
+    }
+}