1name = "JavaScript"
2grammar = "tsx"
3path_suffixes = ["js", "jsx", "mjs", "cjs"]
4# [/ ] is so we match "env node" or "/node" but not "ts-node"
5first_line_pattern = '^#!.*\b(?:[/ ]node|deno run.*--ext[= ]js)\b'
6line_comments = ["// "]
7autoclose_before = ";:.,=}])>"
8brackets = [
9 { start = "{", end = "}", close = true, newline = true },
10 { start = "[", end = "]", close = true, newline = true },
11 { start = "(", end = ")", close = true, newline = true },
12 { start = "<", end = ">", close = false, newline = true, not_in = ["comment", "string"] },
13 { start = "\"", end = "\"", close = true, newline = false, not_in = ["comment", "string"] },
14 { start = "'", end = "'", close = true, newline = false, not_in = ["comment", "string"] },
15 { start = "`", end = "`", close = true, newline = false, not_in = ["comment", "string"] },
16 { start = "/*", end = " */", close = true, newline = false, not_in = ["comment", "string"] },
17]
18word_characters = ["$", "#"]
19tab_size = 2
20scope_opt_in_language_servers = ["tailwindcss-language-server", "emmet-language-server"]
21prettier_parser_name = "babel"
22
23[jsx_tag_auto_close]
24open_tag_node_name = "jsx_opening_element"
25close_tag_node_name = "jsx_closing_element"
26jsx_element_node_name = "jsx_element"
27tag_name_node_name = "identifier"
28
29[overrides.element]
30line_comments = { remove = true }
31block_comment = ["{/* ", " */}"]
32opt_into_language_servers = ["emmet-language-server"]
33
34[overrides.string]
35completion_query_characters = ["-", "."]
36opt_into_language_servers = ["tailwindcss-language-server"]