summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitmodules4
m---------helix-syntax/languages/tree-sitter-markdown0
-rw-r--r--languages.toml9
-rw-r--r--runtime/queries/markdown/highlights.scm35
-rw-r--r--runtime/queries/markdown/injections.scm0
-rw-r--r--runtime/queries/svelte/highlights.scm2
-rw-r--r--theme.toml6
7 files changed, 55 insertions, 1 deletions
diff --git a/.gitmodules b/.gitmodules
index 6295b9e9..9c10846d 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -150,3 +150,7 @@
path = helix-syntax/languages/tree-sitter-llvm
url = https://github.com/benwilliamgraham/tree-sitter-llvm
shallow = true
+[submodule "helix-syntax/languages/tree-sitter-markdown"]
+ path = helix-syntax/languages/tree-sitter-markdown
+ url = https://github.com/MDeiml/tree-sitter-markdown
+ shallow = true
diff --git a/helix-syntax/languages/tree-sitter-markdown b/helix-syntax/languages/tree-sitter-markdown
new file mode 160000
+Subproject ad8c32917a16dfbb387d1da567bf0c3fb6fffde
diff --git a/languages.toml b/languages.toml
index 07b6dba9..abb94acf 100644
--- a/languages.toml
+++ b/languages.toml
@@ -421,3 +421,12 @@ roots = []
file-types = ["ll"]
comment-token = ";"
indent = { tab-width = 2, unit = " " }
+
+[[language]]
+name = "markdown"
+scope = "source.md"
+injection-regex = "md|markdown"
+file-types = ["md"]
+roots = []
+
+indent = { tab-width = 2, unit = " " }
diff --git a/runtime/queries/markdown/highlights.scm b/runtime/queries/markdown/highlights.scm
new file mode 100644
index 00000000..a102719b
--- /dev/null
+++ b/runtime/queries/markdown/highlights.scm
@@ -0,0 +1,35 @@
+[
+ (atx_heading)
+ (setext_heading)
+] @markup.heading
+
+(code_fence_content) @none
+
+[
+ (indented_code_block)
+ (fenced_code_block)
+] @markup.raw.block
+
+(code_span) @markup.raw.inline
+
+(emphasis) @markup.italic
+
+(strong_emphasis) @markup.bold
+
+(link_destination) @markup.underline.link
+
+; (link_label) @markup.label ; TODO: rename
+
+[
+ (list_marker_plus)
+ (list_marker_minus)
+ (list_marker_star)
+ (list_marker_dot)
+ (list_marker_parenthesis)
+] @punctuation.special
+
+[
+ (backslash_escape)
+ (hard_line_break)
+] @string.character.escape
+
diff --git a/runtime/queries/markdown/injections.scm b/runtime/queries/markdown/injections.scm
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/runtime/queries/markdown/injections.scm
diff --git a/runtime/queries/svelte/highlights.scm b/runtime/queries/svelte/highlights.scm
index 4fcdfd66..f9eef6b5 100644
--- a/runtime/queries/svelte/highlights.scm
+++ b/runtime/queries/svelte/highlights.scm
@@ -25,7 +25,7 @@
((attribute
(attribute_name) @_attr
- (quoted_attribute_value (attribute_value) @markup.undeline.link))
+ (quoted_attribute_value (attribute_value) @markup.underline.link))
(#match? @_attr "^(href|src)$"))
(tag_name) @tag
diff --git a/theme.toml b/theme.toml
index 8c0d1f6c..0a79861e 100644
--- a/theme.toml
+++ b/theme.toml
@@ -28,6 +28,12 @@ string = "silver"
# used for lifetimes
label = "honey"
+"markup.heading" = "lilac"
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.underline.link" = { fg = "silver", modifiers = ["underlined"] }
+"markup.raw" = "almond"
+
# TODO: diferentiate doc comment
# concat (ERROR) @error.syntax and "MISSING ;" selectors for errors