diff --git a/book/src/generated/lang-support.md b/book/src/generated/lang-support.md index caf5d525b16b..c166af2967ed 100644 --- a/book/src/generated/lang-support.md +++ b/book/src/generated/lang-support.md @@ -120,6 +120,7 @@ | v | ✓ | | | `vls` | | vala | ✓ | | | `vala-language-server` | | verilog | ✓ | ✓ | | `svlangserver` | +| vhs | ✓ | | | | | vue | ✓ | | | `vls` | | wast | ✓ | | | | | wat | ✓ | | | | diff --git a/languages.toml b/languages.toml index 0a87fad243e6..c5c45afc5017 100644 --- a/languages.toml +++ b/languages.toml @@ -1872,3 +1872,16 @@ formatter = { command = "dfmt" } [[grammar]] name = "d" source = { git = "https://github.com/gdamore/tree-sitter-d", rev="601c4a1e8310fb2f3c43fa8a923d0d27497f3c04" } + +[[language]] +name = "vhs" +scope = "source.vhs" +file-types = ["tape"] +roots = [] +comment-token = "#" +indent = { tab-width = 2, unit = " " } +grammar = "vhs" + +[[grammar]] +name = "vhs" +source = { git = "https://github.com/charmbracelet/tree-sitter-vhs", rev = "c6d81f34c011c29ee86dd73b45a8ecc9f2e2bdaf" } diff --git a/runtime/queries/vhs/highlights.scm b/runtime/queries/vhs/highlights.scm new file mode 100644 index 000000000000..9a2d05cf4635 --- /dev/null +++ b/runtime/queries/vhs/highlights.scm @@ -0,0 +1,36 @@ +[ + "Output" + "Backspace" + "Down" + "Enter" + "Escape" + "Left" + "Right" + "Space" + "Tab" + "Up" + "Set" + "Type" + "Sleep" + "Hide" + "Show" ] @keyword + +[ "FontFamily" + "FontSize" + "Framerate" + "Height" + "LetterSpacing" + "TypingSpeed" + "LineHeight" + "Padding" + "Theme" + "Width" ] @type + +[ "@" ] @operator +(control) @function.macro +(float) @constant.numeric.float +(integer) @constant.numeric.integer +(comment) @comment +(path) @string.special.path +[(string) (json)] @string +(time) @string.special.symbol \ No newline at end of file