diff --git a/extension.toml b/extension.toml index 94f94e2..eb60624 100644 --- a/extension.toml +++ b/extension.toml @@ -13,13 +13,14 @@ languages = ["Ruby"] [language_servers.ruby-lsp] name = "Ruby LSP" -languages = ["Ruby", "ERB", "HTML/ERB", "YAML/ERB"] +languages = ["Ruby", "ERB", "HTML/ERB", "YAML/ERB", "JS/ERB"] [language_servers.ruby-lsp.language_ids] "Ruby" = "ruby" "ERB" = "erb" "HTML/ERB" = "erb" "YAML/ERB" = "erb" +"JS/ERB" = "erb" [language_servers.rubocop] name = "Rubocop" diff --git a/languages/js-erb/config.toml b/languages/js-erb/config.toml new file mode 100644 index 0000000..e213661 --- /dev/null +++ b/languages/js-erb/config.toml @@ -0,0 +1,7 @@ +name = "JS+ERB" +grammar = "embedded_template" +path_suffixes = ["js.erb"] +autoclose_before = ">})" +brackets = [{ start = "<", end = ">", close = true, newline = true }] +block_comment = ["<%#", "%>"] +word_characters = ["?", "!"] diff --git a/languages/js-erb/highlights.scm b/languages/js-erb/highlights.scm new file mode 100644 index 0000000..0bf76a7 --- /dev/null +++ b/languages/js-erb/highlights.scm @@ -0,0 +1,12 @@ +(comment_directive) @comment + +[ + "<%#" + "<%" + "<%=" + "<%_" + "<%-" + "%>" + "-%>" + "_%>" +] @keyword diff --git a/languages/js-erb/injections.scm b/languages/js-erb/injections.scm new file mode 100644 index 0000000..f90deea --- /dev/null +++ b/languages/js-erb/injections.scm @@ -0,0 +1,7 @@ +((code) @content + (#set! "language" "ruby") + (#set! "combined")) + +((content) @content + (#set! "language" "javascript") + (#set! "combined"))