From 725d9aecf08262e83553e54aa57d9bbec4841c80 Mon Sep 17 00:00:00 2001 From: Roberto Vidal Date: Sun, 5 Mar 2023 03:36:01 +0100 Subject: [PATCH] Add support for reStructuredText (#6180) --- book/src/generated/lang-support.md | 1 + languages.toml | 11 +++++++++ runtime/queries/rst/highlights.scm | 38 ++++++++++++++++++++++++++++++ 3 files changed, 50 insertions(+) create mode 100644 runtime/queries/rst/highlights.scm diff --git a/book/src/generated/lang-support.md b/book/src/generated/lang-support.md index cf8e50236..48cb66f1f 100644 --- a/book/src/generated/lang-support.md +++ b/book/src/generated/lang-support.md @@ -114,6 +114,7 @@ | rescript | ✓ | ✓ | | `rescript-language-server` | | rmarkdown | ✓ | | ✓ | `R` | | ron | ✓ | | ✓ | | +| rst | ✓ | | | | | ruby | ✓ | ✓ | ✓ | `solargraph` | | rust | ✓ | ✓ | ✓ | `rust-analyzer` | | sage | ✓ | ✓ | | | diff --git a/languages.toml b/languages.toml index b0a34be0d..e9a77b5a4 100644 --- a/languages.toml +++ b/languages.toml @@ -2244,3 +2244,14 @@ indent = { tab-width = 8, unit = " " } [[grammar]] name = "nasm" source = { git = "https://github.com/naclsn/tree-sitter-nasm", rev = "a0db15db6fcfb1bf2cc8702500e55e558825c48b" } + +[[language]] +name = "rst" +scope = "source.rst" +comment-token = ".." +file-types = ["rst"] +roots = [] + +[[grammar]] +name = "rst" +source = { git = "https://github.com/stsewd/tree-sitter-rst", rev = "25e6328872ac3a764ba8b926aea12719741103f1" } diff --git a/runtime/queries/rst/highlights.scm b/runtime/queries/rst/highlights.scm new file mode 100644 index 000000000..73c0def43 --- /dev/null +++ b/runtime/queries/rst/highlights.scm @@ -0,0 +1,38 @@ +(comment) @comment + +[ + (title) +] @markup.heading.1 + +[ + "adornment" +] @markup.heading.marker + +[ + (target) + (reference) +] @markup.link.url + +[ + "bullet" +] @markup.list.unnumbered + +(strong) @markup.bold +(emphasis) @markup.italic +(literal) @markup.raw.inline + +(list_item + (term) @markup.bold + (classifier)? @markup.italic) + +(directive + [".." (type) "::"] @function +) + +(field + [":" (field_name) ":"] @variable.other.member +) + +(interpreted_text) @markup.raw.inline + +(interpreted_text (role)) @keyword