diff --git a/extension.toml b/extension.toml index 1751072..4d43224 100644 --- a/extension.toml +++ b/extension.toml @@ -13,7 +13,13 @@ languages = ["Ruby"] [language_servers.ruby-lsp] name = "Ruby LSP" -languages = ["Ruby", "ERB"] +languages = ["Ruby", "ERB", "HTML/ERB", "YAML/ERB"] + +[language_servers.ruby-lsp.language_ids] +"Ruby" = "ruby" +"ERB" = "erb" +"HTML/ERB" = "erb" +"YAML/ERB" = "erb" [language_servers.rubocop] name = "Rubocop" @@ -29,7 +35,7 @@ languages = ["Ruby"] [language_servers.herb] name = "Herb" -languages = ["ERB"] +languages = ["HTML/ERB"] [grammars.ruby] repository = "https://github.com/tree-sitter/tree-sitter-ruby" diff --git a/languages/erb/config.toml b/languages/erb/config.toml index 19a74a4..9dddd55 100644 --- a/languages/erb/config.toml +++ b/languages/erb/config.toml @@ -1,7 +1,3 @@ name = "ERB" grammar = "embedded_template" path_suffixes = ["erb"] -autoclose_before = ">})" -brackets = [{ start = "<", end = ">", close = true, newline = true }] -block_comment = ["<%#", "%>"] -word_characters = ["?", "!"] diff --git a/languages/erb/injections.scm b/languages/erb/injections.scm index 10702a2..f0e4d20 100644 --- a/languages/erb/injections.scm +++ b/languages/erb/injections.scm @@ -3,5 +3,5 @@ (#set! "combined")) ((content) @content - (#set! "language" "html") + (#set! "language" "plaintext") (#set! "combined")) diff --git a/languages/html-erb/config.toml b/languages/html-erb/config.toml new file mode 100644 index 0000000..c284c76 --- /dev/null +++ b/languages/html-erb/config.toml @@ -0,0 +1,7 @@ +name = "HTML/ERB" +grammar = "embedded_template" +path_suffixes = ["html.erb"] +autoclose_before = ">})" +brackets = [{ start = "<", end = ">", close = true, newline = true }] +block_comment = ["<%#", "%>"] +word_characters = ["?", "!"] diff --git a/languages/html-erb/highlights.scm b/languages/html-erb/highlights.scm new file mode 100644 index 0000000..0bf76a7 --- /dev/null +++ b/languages/html-erb/highlights.scm @@ -0,0 +1,12 @@ +(comment_directive) @comment + +[ + "<%#" + "<%" + "<%=" + "<%_" + "<%-" + "%>" + "-%>" + "_%>" +] @keyword diff --git a/languages/html-erb/injections.scm b/languages/html-erb/injections.scm new file mode 100644 index 0000000..10702a2 --- /dev/null +++ b/languages/html-erb/injections.scm @@ -0,0 +1,7 @@ +((code) @content + (#set! "language" "ruby") + (#set! "combined")) + +((content) @content + (#set! "language" "html") + (#set! "combined")) diff --git a/languages/yaml-erb/config.toml b/languages/yaml-erb/config.toml new file mode 100644 index 0000000..5c9c6fa --- /dev/null +++ b/languages/yaml-erb/config.toml @@ -0,0 +1,3 @@ +name = "YAML/ERB" +grammar = "embedded_template" +path_suffixes = ["yml.erb", "yaml.erb"] diff --git a/languages/yaml-erb/highlights.scm b/languages/yaml-erb/highlights.scm new file mode 100644 index 0000000..0bf76a7 --- /dev/null +++ b/languages/yaml-erb/highlights.scm @@ -0,0 +1,12 @@ +(comment_directive) @comment + +[ + "<%#" + "<%" + "<%=" + "<%_" + "<%-" + "%>" + "-%>" + "_%>" +] @keyword diff --git a/languages/yaml-erb/injections.scm b/languages/yaml-erb/injections.scm new file mode 100644 index 0000000..e2e39bb --- /dev/null +++ b/languages/yaml-erb/injections.scm @@ -0,0 +1,7 @@ +((code) @content + (#set! "language" "ruby") + (#set! "combined")) + +((content) @content + (#set! "language" "yaml") + (#set! "combined"))