| |
| |
| const pathExtensions = new Set([ |
| "a51", |
| "abap", |
| "abnf", |
| "action", |
| "ada", |
| "adb", |
| "adml", |
| "admx", |
| "ado", |
| "adoc", |
| "adp", |
| "ads", |
| "afm", |
| "agc", |
| "agda", |
| "ahk", |
| "ahkl", |
| "aidl", |
| "aj", |
| "ak", |
| "al", |
| "alg", |
| "als", |
| "ampl", |
| "angelscript", |
| "anim", |
| "ant", |
| "antlers.html", |
| "antlers.php", |
| "antlers.xml", |
| "apacheconf", |
| "apex", |
| "apib", |
| "apl", |
| "app", |
| "app.src", |
| "applescript", |
| "arc", |
| "arpa", |
| "arr", |
| "as", |
| "asax", |
| "asc", |
| "asciidoc", |
| "ascx", |
| "asd", |
| "asddls", |
| "ash", |
| "ashx", |
| "asl", |
| "asm", |
| "asmx", |
| "asn", |
| "asn1", |
| "asp", |
| "aspx", |
| "asset", |
| "astro", |
| "asy", |
| "au3", |
| "aug", |
| "auk", |
| "aux", |
| "avdl", |
| "avsc", |
| "aw", |
| "awk", |
| "axaml", |
| "axd", |
| "axi", |
| "axi.erb", |
| "axml", |
| "axs", |
| "axs.erb", |
| "b", |
| "bal", |
| "baml", |
| "bas", |
| "bash", |
| "bat", |
| "bats", |
| "bb", |
| "bbappend", |
| "bbclass", |
| "bbx", |
| "bdf", |
| "bdy", |
| "be", |
| "befunge", |
| "bf", |
| "bi", |
| "bib", |
| "bibtex", |
| "bicep", |
| "bicepparam", |
| "bison", |
| "blade", |
| "blade.php", |
| "blp", |
| "bmx", |
| "bones", |
| "boo", |
| "boot", |
| "bpl", |
| "bqn", |
| "brd", |
| "bro", |
| "brs", |
| "bru", |
| "bs", |
| "bsl", |
| "bst", |
| "bsv", |
| "builder", |
| "builds", |
| "bzl", |
| "c", |
| "c++", |
| "c++-objdump", |
| "c++objdump", |
| "c-objdump", |
| "c3", |
| "cabal", |
| "caddyfile", |
| "cairo", |
| "cake", |
| "capnp", |
| "carbon", |
| "cats", |
| "cbl", |
| "cbx", |
| "cc", |
| "ccp", |
| "ccproj", |
| "ccxml", |
| "cdc", |
| "cdf", |
| "cds", |
| "ceylon", |
| "cfc", |
| "cfg", |
| "cfm", |
| "cfml", |
| "cgi", |
| "cginc", |
| "ch", |
| "chem", |
| "chpl", |
| "chs", |
| "cil", |
| "circom", |
| "cirru", |
| "cj", |
| "cjs", |
| "cjsx", |
| "ck", |
| "cl", |
| "cl2", |
| "clar", |
| "click", |
| "clixml", |
| "clj", |
| "cljc", |
| "cljs", |
| "cljs.hl", |
| "cljscm", |
| "cljx", |
| "clp", |
| "cls", |
| "clue", |
| "clw", |
| "cmake", |
| "cmake.in", |
| "cmd", |
| "cmp", |
| "cnc", |
| "cnf", |
| "cob", |
| "cobol", |
| "cocci", |
| "code-snippets", |
| "code-workspace", |
| "coffee", |
| "coffee.md", |
| "com", |
| "command", |
| "conll", |
| "conllu", |
| "container", |
| "containerfile", |
| "cook", |
| "coq", |
| "cp", |
| "cpp", |
| "cpp-objdump", |
| "cppm", |
| "cppobjdump", |
| "cproject", |
| "cps", |
| "cpy", |
| "cql", |
| "cr", |
| "crc32", |
| "creole", |
| "cs", |
| "cs.pp", |
| "csc", |
| "cscfg", |
| "csd", |
| "csdef", |
| "csh", |
| "cshtml", |
| "csl", |
| "cson", |
| "csproj", |
| "css", |
| "csv", |
| "csx", |
| "ct", |
| "ctl", |
| "ctp", |
| "cts", |
| "cu", |
| "cue", |
| "cuh", |
| "curry", |
| "cw", |
| "cwl", |
| "cxx", |
| "cxx-objdump", |
| "cy", |
| "cylc", |
| "cyp", |
| "cypher", |
| "d", |
| "d-objdump", |
| "d2", |
| "dae", |
| "darcspatch", |
| "dart", |
| "das", |
| "dats", |
| "db2", |
| "dcl", |
| "ddl", |
| "decls", |
| "depproj", |
| "desktop", |
| "desktop.in", |
| "dfm", |
| "dfy", |
| "dhall", |
| "di", |
| "diff", |
| "dircolors", |
| "dita", |
| "ditamap", |
| "ditaval", |
| "djs", |
| "dll.config", |
| "dlm", |
| "dm", |
| "do", |
| "dockerfile", |
| "dof", |
| "doh", |
| "dot", |
| "dotsettings", |
| "dpatch", |
| "dpr", |
| "druby", |
| "dsc", |
| "dsl", |
| "dsp", |
| "dsr", |
| "dtx", |
| "duby", |
| "dwl", |
| "dyalog", |
| "dyl", |
| "dylan", |
| "dzn", |
| "e", |
| "eam.fs", |
| "eb", |
| "ebnf", |
| "ebuild", |
| "ec", |
| "ecl", |
| "eclass", |
| "eclxml", |
| "ecr", |
| "ect", |
| "edc", |
| "edge", |
| "edgeql", |
| "editorconfig", |
| "edn", |
| "eh", |
| "ejs", |
| "ejs.t", |
| "el", |
| "eliom", |
| "eliomi", |
| "elm", |
| "elv", |
| "em", |
| "emacs", |
| "emacs.desktop", |
| "emberscript", |
| "eml", |
| "env", |
| "epj", |
| "eps", |
| "epsi", |
| "eq", |
| "erb", |
| "erb.deface", |
| "erl", |
| "es", |
| "es6", |
| "escript", |
| "esdl", |
| "ex", |
| "exs", |
| "eye", |
| "f", |
| "f03", |
| "f08", |
| "f77", |
| "f90", |
| "f95", |
| "factor", |
| "fan", |
| "fancypack", |
| "fbs", |
| "fcgi", |
| "fea", |
| "feature", |
| "filters", |
| "fir", |
| "fish", |
| "flex", |
| "flf", |
| "flix", |
| "flux", |
| "fnc", |
| "fnl", |
| "for", |
| "forth", |
| "fp", |
| "fpp", |
| "fr", |
| "frag", |
| "frg", |
| "frm", |
| "frt", |
| "fs", |
| "fsh", |
| "fshader", |
| "fsi", |
| "fsproj", |
| "fst", |
| "fsti", |
| "fsx", |
| "fth", |
| "ftl", |
| "ftlh", |
| "fun", |
| "fut", |
| "fx", |
| "fxh", |
| "fxml", |
| "fy", |
| "g", |
| "g4", |
| "gaml", |
| "gap", |
| "gawk", |
| "gbl", |
| "gbo", |
| "gbp", |
| "gbr", |
| "gbs", |
| "gco", |
| "gcode", |
| "gd", |
| "gdb", |
| "gdbinit", |
| "gdnlib", |
| "gdns", |
| "gdshader", |
| "gdshaderinc", |
| "ged", |
| "gemspec", |
| "geo", |
| "geojson", |
| "geom", |
| "gf", |
| "gi", |
| "gitconfig", |
| "gitignore", |
| "gjs", |
| "gko", |
| "glade", |
| "gleam", |
| "glf", |
| "glsl", |
| "glslf", |
| "glslv", |
| "gltf", |
| "glyphs", |
| "gmi", |
| "gml", |
| "gms", |
| "gmx", |
| "gn", |
| "gni", |
| "gnu", |
| "gnuplot", |
| "go", |
| "god", |
| "gohtml", |
| "golo", |
| "gotmpl", |
| "gp", |
| "gpb", |
| "gpt", |
| "gpx", |
| "gql", |
| "grace", |
| "gradle", |
| "gradle.kts", |
| "graphql", |
| "graphqls", |
| "groovy", |
| "grt", |
| "grxml", |
| "gs", |
| "gsc", |
| "gsh", |
| "gshader", |
| "gsp", |
| "gst", |
| "gsx", |
| "gtkrc", |
| "gtl", |
| "gto", |
| "gtp", |
| "gtpl", |
| "gts", |
| "gv", |
| "gvy", |
| "gyp", |
| "gypi", |
| "h", |
| "h++", |
| "h.in", |
| "ha", |
| "hack", |
| "haml", |
| "haml.deface", |
| "handlebars", |
| "har", |
| "hats", |
| "hb", |
| "hbs", |
| "hc", |
| "hcl", |
| "heex", |
| "hh", |
| "hhi", |
| "hic", |
| "hip", |
| "hlean", |
| "hlsl", |
| "hlsli", |
| "hocon", |
| "hoon", |
| "hpp", |
| "hqf", |
| "hql", |
| "hrl", |
| "hs", |
| "hs-boot", |
| "hsc", |
| "hta", |
| "htm", |
| "html", |
| "html.eex", |
| "html.hl", |
| "html.tmpl", |
| "http", |
| "hurl", |
| "hx", |
| "hxml", |
| "hxsl", |
| "hxx", |
| "hy", |
| "hzp", |
| "i", |
| "i3", |
| "i7x", |
| "ical", |
| "ice", |
| "iced", |
| "icl", |
| "icls", |
| "ics", |
| "idc", |
| "idr", |
| "ig", |
| "ihlp", |
| "ijm", |
| "ijs", |
| "ik", |
| "il", |
| "ily", |
| "imba", |
| "iml", |
| "inc", |
| "ini", |
| "ink", |
| "inl", |
| "ino", |
| "ins", |
| "intr", |
| "io", |
| "iol", |
| "ipf", |
| "ipp", |
| "ipynb", |
| "irclog", |
| "isl", |
| "ispc", |
| "iss", |
| "iuml", |
| "ivy", |
| "ixx", |
| "j", |
| "j2", |
| "jac", |
| "jade", |
| "jai", |
| "jake", |
| "janet", |
| "jav", |
| "java", |
| "javascript", |
| "jbuilder", |
| "jcl", |
| "jelly", |
| "jflex", |
| "jinja", |
| "jinja2", |
| "jison", |
| "jisonlex", |
| "jl", |
| "jq", |
| "js", |
| "js.erb", |
| "jsb", |
| "jscad", |
| "jsfl", |
| "jsh", |
| "jslib", |
| "jsm", |
| "json", |
| "json-tmlanguage", |
| "json.example", |
| "json5", |
| "jsonc", |
| "jsonl", |
| "jsonld", |
| "jsonnet", |
| "jsp", |
| "jspre", |
| "jsproj", |
| "jss", |
| "jst", |
| "jsx", |
| "jte", |
| "just", |
| "k", |
| "kak", |
| "kdl", |
| "kicad_mod", |
| "kicad_pcb", |
| "kicad_sch", |
| "kicad_sym", |
| "kicad_wks", |
| "kid", |
| "kit", |
| "kk", |
| "kml", |
| "kojo", |
| "kql", |
| "krl", |
| "ks", |
| "ksh", |
| "ksy", |
| "kt", |
| "ktm", |
| "kts", |
| "kv", |
| "l", |
| "lagda", |
| "langium", |
| "lark", |
| "las", |
| "lasso", |
| "lasso8", |
| "lasso9", |
| "latte", |
| "launch", |
| "lbx", |
| "ld", |
| "lds", |
| "lean", |
| "leex", |
| "lektorproject", |
| "leo", |
| "less", |
| "lex", |
| "lfe", |
| "lgt", |
| "lhs", |
| "libsonnet", |
| "lid", |
| "lidr", |
| "ligo", |
| "linq", |
| "liq", |
| "liquid", |
| "lisp", |
| "litcoffee", |
| "livecodescript", |
| "livemd", |
| "lkml", |
| "ll", |
| "lmi", |
| "lock", |
| "lockb", |
| "logtalk", |
| "lol", |
| "lookml", |
| "lp", |
| "lpr", |
| "ls", |
| "lsl", |
| "lslp", |
| "lsp", |
| "ltx", |
| "lua", |
| "luau", |
| "lvclass", |
| "lvlib", |
| "lvproj", |
| "ly", |
| "m", |
| "m2", |
| "m3", |
| "m3u", |
| "m3u8", |
| "m4", |
| "ma", |
| "mak", |
| "make", |
| "makefile", |
| "mako", |
| "man", |
| "mao", |
| "markdown", |
| "marko", |
| "mask", |
| "mat", |
| "mata", |
| "matah", |
| "mathematica", |
| "matlab", |
| "mawk", |
| "maxhelp", |
| "maxpat", |
| "maxproj", |
| "mbox", |
| "mbt", |
| "mc", |
| "mcfunction", |
| "mch", |
| "mcmeta", |
| "mcr", |
| "md", |
| "md2", |
| "md4", |
| "md5", |
| "mdoc", |
| "mdown", |
| "mdpolicy", |
| "mdwn", |
| "mdx", |
| "me", |
| "mediawiki", |
| "mermaid", |
| "meta", |
| "metal", |
| "metta", |
| "mg", |
| "minid", |
| "mint", |
| "mir", |
| "mirah", |
| "mjml", |
| "mjs", |
| "mk", |
| "mkd", |
| "mkdn", |
| "mkdown", |
| "mkfile", |
| "mkii", |
| "mkiv", |
| "mkvi", |
| "ml", |
| "ml4", |
| "mli", |
| "mligo", |
| "mlir", |
| "mll", |
| "mly", |
| "mm", |
| "mmd", |
| "mmk", |
| "mms", |
| "mo", |
| "mod", |
| "mojo", |
| "monkey", |
| "monkey2", |
| "moo", |
| "moon", |
| "mount", |
| "move", |
| "mpl", |
| "mps", |
| "mq4", |
| "mq5", |
| "mqh", |
| "mrc", |
| "ms", |
| "msd", |
| "msg", |
| "mspec", |
| "mss", |
| "mt", |
| "mtl", |
| "mtml", |
| "mts", |
| "mu", |
| "mud", |
| "muf", |
| "mumps", |
| "muse", |
| "mustache", |
| "mxml", |
| "mxt", |
| "mysql", |
| "myt", |
| "mzn", |
| "n", |
| "nanorc", |
| "nas", |
| "nasl", |
| "nasm", |
| "natvis", |
| "nawk", |
| "nb", |
| "nbp", |
| "nc", |
| "ncl", |
| "ndproj", |
| "ne", |
| "nearley", |
| "ned", |
| "neon", |
| "network", |
| "nf", |
| "nginx", |
| "nginxconf", |
| "ni", |
| "nim", |
| "nim.cfg", |
| "nimble", |
| "nimrod", |
| "nims", |
| "ninja", |
| "nit", |
| "nix", |
| "njk", |
| "njs", |
| "nl", |
| "nlogo", |
| "no", |
| "nomad", |
| "nproj", |
| "nqp", |
| "nr", |
| "nse", |
| "nsh", |
| "nsi", |
| "nss", |
| "nu", |
| "numpy", |
| "numpyw", |
| "numsc", |
| "nuspec", |
| "nut", |
| "ny", |
| "ob2", |
| "obj", |
| "objdump", |
| "odd", |
| "odin", |
| "ol", |
| "omgrofl", |
| "ooc", |
| "opa", |
| "opal", |
| "opencl", |
| "opy", |
| "orc", |
| "org", |
| "os", |
| "osm", |
| "outjob", |
| "overpassql", |
| "owl", |
| "ox", |
| "oxh", |
| "oxo", |
| "oxygene", |
| "oz", |
| "p", |
| "p4", |
| "p6", |
| "p6l", |
| "p6m", |
| "p8", |
| "pac", |
| "pact", |
| "pan", |
| "parrot", |
| "pas", |
| "pascal", |
| "pasm", |
| "pat", |
| "patch", |
| "pb", |
| "pbi", |
| "pbt", |
| "pbtxt", |
| "pc", |
| "pc.in", |
| "pcbdoc", |
| "pck", |
| "pcss", |
| "pd", |
| "pd_lua", |
| "pddl", |
| "pde", |
| "peggy", |
| "pegjs", |
| "pep", |
| "per", |
| "perl", |
| "pfa", |
| "pgsql", |
| "ph", |
| "php", |
| "php3", |
| "php4", |
| "php5", |
| "phps", |
| "phpt", |
| "phtml", |
| "pic", |
| "pig", |
| "pike", |
| "pir", |
| "pkb", |
| "pkgproj", |
| "pkl", |
| "pks", |
| "pl", |
| "pl6", |
| "plantuml", |
| "plb", |
| "plist", |
| "plot", |
| "pls", |
| "plsql", |
| "plt", |
| "pluginspec", |
| "plx", |
| "pm", |
| "pm6", |
| "pml", |
| "pmod", |
| "po", |
| "pod", |
| "pod6", |
| "podsl", |
| "podspec", |
| "pogo", |
| "polar", |
| "pony", |
| "por", |
| "postcss", |
| "pot", |
| "pov", |
| "pp", |
| "pprx", |
| "pq", |
| "praat", |
| "prawn", |
| "prc", |
| "prefab", |
| "prefs", |
| "prg", |
| "pri", |
| "prisma", |
| "prjpcb", |
| "pro", |
| "proj", |
| "prolog", |
| "properties", |
| "props", |
| "proto", |
| "prw", |
| "ps", |
| "ps1", |
| "ps1xml", |
| "psc", |
| "psc1", |
| "psd1", |
| "psgi", |
| "psm1", |
| "pt", |
| "pub", |
| "pubxml", |
| "pug", |
| "puml", |
| "purs", |
| "pwn", |
| "pxd", |
| "pxi", |
| "py", |
| "py3", |
| "pyde", |
| "pyi", |
| "pyp", |
| "pyt", |
| "pytb", |
| "pyw", |
| "pyx", |
| "q", |
| "qasm", |
| "qbs", |
| "qc", |
| "qhelp", |
| "ql", |
| "qll", |
| "qmd", |
| "qml", |
| "qnt", |
| "qs", |
| "r", |
| "r2", |
| "r3", |
| "rabl", |
| "rake", |
| "raku", |
| "rakumod", |
| "raml", |
| "rascript", |
| "raw", |
| "razor", |
| "rb", |
| "rbbas", |
| "rbfrm", |
| "rbi", |
| "rbmnu", |
| "rbres", |
| "rbs", |
| "rbtbar", |
| "rbuild", |
| "rbuistate", |
| "rbw", |
| "rbx", |
| "rbxs", |
| "rchit", |
| "rd", |
| "rdf", |
| "rdoc", |
| "re", |
| "reb", |
| "rebol", |
| "red", |
| "reds", |
| "reek", |
| "reg", |
| "regex", |
| "regexp", |
| "rego", |
| "rei", |
| "religo", |
| "res", |
| "resi", |
| "resource", |
| "rest", |
| "rest.txt", |
| "resx", |
| "rex", |
| "rexx", |
| "rg", |
| "rhtml", |
| "ring", |
| "riot", |
| "rkt", |
| "rktd", |
| "rktl", |
| "rl", |
| "rmd", |
| "rmiss", |
| "rnh", |
| "rno", |
| "rnw", |
| "robot", |
| "roc", |
| "rockspec", |
| "roff", |
| "ron", |
| "ronn", |
| "rpgle", |
| "rpy", |
| "rq", |
| "rs", |
| "rs.in", |
| "rsc", |
| "rsh", |
| "rss", |
| "rst", |
| "rst.txt", |
| "rsx", |
| "rtf", |
| "ru", |
| "ruby", |
| "rviz", |
| "s", |
| "sage", |
| "sagews", |
| "sail", |
| "sarif", |
| "sas", |
| "sass", |
| "sats", |
| "sbatch", |
| "sbt", |
| "sc", |
| "scad", |
| "scala", |
| "scaml", |
| "scd", |
| "sce", |
| "scenic", |
| "sch", |
| "schdoc", |
| "sci", |
| "scm", |
| "sco", |
| "scpt", |
| "scrbl", |
| "scss", |
| "scxml", |
| "sdc", |
| "sed", |
| "self", |
| "service", |
| "sexp", |
| "sfd", |
| "sfproj", |
| "sfv", |
| "sh", |
| "sh-session", |
| "sh.in", |
| "sha1", |
| "sha2", |
| "sha224", |
| "sha256", |
| "sha256sum", |
| "sha3", |
| "sha384", |
| "sha512", |
| "shader", |
| "shen", |
| "shproj", |
| "sieve", |
| "sig", |
| "sj", |
| "sjs", |
| "sl", |
| "slang", |
| "sld", |
| "slim", |
| "slint", |
| "sln", |
| "slnlaunch", |
| "slnx", |
| "sls", |
| "slurm", |
| "sma", |
| "smali", |
| "smithy", |
| "smk", |
| "sml", |
| "smt", |
| "smt2", |
| "snakefile", |
| "snap", |
| "snip", |
| "snippet", |
| "snippets", |
| "socket", |
| "sol", |
| "soy", |
| "sp", |
| "sparql", |
| "spc", |
| "spec", |
| "spin", |
| "sps", |
| "sqf", |
| "sql", |
| "sqlrpgle", |
| "sra", |
| "srdf", |
| "srt", |
| "sru", |
| "srv", |
| "srw", |
| "ss", |
| "ssjs", |
| "sss", |
| "st", |
| "stan", |
| "star", |
| "sthlp", |
| "stl", |
| "ston", |
| "story", |
| "storyboard", |
| "sttheme", |
| "sty", |
| "styl", |
| "sublime-build", |
| "sublime-color-scheme", |
| "sublime-commands", |
| "sublime-completions", |
| "sublime-keymap", |
| "sublime-macro", |
| "sublime-menu", |
| "sublime-mousemap", |
| "sublime-project", |
| "sublime-settings", |
| "sublime-snippet", |
| "sublime-syntax", |
| "sublime-theme", |
| "sublime-workspace", |
| "sublime_metrics", |
| "sublime_session", |
| "sum", |
| "surql", |
| "sv", |
| "svelte", |
| "svg", |
| "svh", |
| "svx", |
| "sw", |
| "swg", |
| "swift", |
| "swig", |
| "syntax", |
| "t", |
| "tab", |
| "tac", |
| "tact", |
| "tag", |
| "talon", |
| "target", |
| "targets", |
| "tcc", |
| "tcl", |
| "tcl.in", |
| "tcsh", |
| "te", |
| "tea", |
| "templ", |
| "tesc", |
| "tese", |
| "tex", |
| "texi", |
| "texinfo", |
| "textgrid", |
| "textile", |
| "textproto", |
| "tf", |
| "tfstate", |
| "tfstate.backup", |
| "tftpl", |
| "tfvars", |
| "thor", |
| "thrift", |
| "thy", |
| "timer", |
| "tl", |
| "tla", |
| "tlv", |
| "tm", |
| "tmac", |
| "tmcommand", |
| "tmdl", |
| "tml", |
| "tmlanguage", |
| "tmpl", |
| "tmpreferences", |
| "tmsnippet", |
| "tmtheme", |
| "tmux", |
| "toc", |
| "tofu", |
| "toit", |
| "toml", |
| "toml.example", |
| "tool", |
| "topojson", |
| "tpb", |
| "tpl", |
| "tpp", |
| "tps", |
| "tres", |
| "trg", |
| "trigger", |
| "ts", |
| "tscn", |
| "tsconfig.json", |
| "tsp", |
| "tst", |
| "tsv", |
| "tsx", |
| "ttl", |
| "tu", |
| "twig", |
| "txi", |
| "txl", |
| "txt", |
| "txtpb", |
| "txx", |
| "typ", |
| "uc", |
| "udf", |
| "udo", |
| "ui", |
| "unity", |
| "uno", |
| "upc", |
| "uplc", |
| "ur", |
| "urdf", |
| "url", |
| "urs", |
| "ux", |
| "v", |
| "vala", |
| "vapi", |
| "vark", |
| "vb", |
| "vba", |
| "vbhtml", |
| "vbproj", |
| "vbs", |
| "vcf", |
| "vcl", |
| "vcxproj", |
| "vdf", |
| "veo", |
| "vert", |
| "vh", |
| "vhd", |
| "vhdl", |
| "vhf", |
| "vhi", |
| "vho", |
| "vhost", |
| "vhs", |
| "vht", |
| "vhw", |
| "vim", |
| "vimrc", |
| "viw", |
| "vmb", |
| "vmf", |
| "volt", |
| "vrx", |
| "vs", |
| "vsh", |
| "vshader", |
| "vsixmanifest", |
| "vssettings", |
| "vstemplate", |
| "vtl", |
| "vto", |
| "vtt", |
| "vue", |
| "vw", |
| "vxml", |
| "vy", |
| "w", |
| "wast", |
| "wat", |
| "watchr", |
| "wdl", |
| "webapp", |
| "webidl", |
| "webmanifest", |
| "weechatlog", |
| "wgsl", |
| "whiley", |
| "wiki", |
| "wikitext", |
| "wisp", |
| "wit", |
| "wixproj", |
| "wl", |
| "wlk", |
| "wls", |
| "wlt", |
| "wlua", |
| "workbook", |
| "workflow", |
| "wren", |
| "ws", |
| "wsdl", |
| "wsf", |
| "wsgi", |
| "wxi", |
| "wxl", |
| "wxs", |
| "x", |
| "x10", |
| "x3d", |
| "x68", |
| "xacro", |
| "xaml", |
| "xbm", |
| "xc", |
| "xdc", |
| "xht", |
| "xhtml", |
| "xi", |
| "xib", |
| "xlf", |
| "xliff", |
| "xm", |
| "xmi", |
| "xml", |
| "xml.dist", |
| "xmp", |
| "xojo_code", |
| "xojo_menu", |
| "xojo_report", |
| "xojo_script", |
| "xojo_toolbar", |
| "xojo_window", |
| "xpl", |
| "xpm", |
| "xproc", |
| "xproj", |
| "xpy", |
| "xq", |
| "xql", |
| "xqm", |
| "xquery", |
| "xqy", |
| "xrl", |
| "xs", |
| "xsd", |
| "xsh", |
| "xsjs", |
| "xsjslib", |
| "xsl", |
| "xslt", |
| "xsp-config", |
| "xsp.metadata", |
| "xspec", |
| "xtend", |
| "xul", |
| "xzap", |
| "y", |
| "yacc", |
| "yaml", |
| "yaml-tmlanguage", |
| "yaml.sed", |
| "yang", |
| "yap", |
| "yar", |
| "yara", |
| "yasnippet", |
| "yml", |
| "yml.mysql", |
| "yrl", |
| "yul", |
| "yy", |
| "yyp", |
| "z3", |
| "zap", |
| "zcml", |
| "zed", |
| "zeek", |
| "zep", |
| "zig", |
| "zig.zon", |
| "zil", |
| "zimpl", |
| "zmodel", |
| "zmpl", |
| "zone", |
| "zpl", |
| "zs", |
| "zsh", |
| "zsh-theme", |
| ]) |
|
|
| const pathFileNames = new Set([ |
| ".abbrev_defs", |
| ".ackrc", |
| ".all-contributorsrc", |
| ".arcconfig", |
| ".atomignore", |
| ".auto-changelog", |
| ".babelignore", |
| ".babelrc", |
| ".bash_aliases", |
| ".bash_functions", |
| ".bash_history", |
| ".bash_logout", |
| ".bash_profile", |
| ".bashrc", |
| ".browserslistrc", |
| ".buckconfig", |
| ".bzrignore", |
| ".c8rc", |
| ".ckignore", |
| ".clang-format", |
| ".clang-tidy", |
| ".clangd", |
| ".classpath", |
| ".coffeelintignore", |
| ".coveragerc", |
| ".cshrc", |
| ".curlrc", |
| ".cvsignore", |
| ".dir_colors", |
| ".dockerignore", |
| ".easignore", |
| ".eleventyignore", |
| ".env.ci", |
| ".env.dev", |
| ".env.development", |
| ".env.development.local", |
| ".env.example", |
| ".env.local", |
| ".env.prod", |
| ".env.production", |
| ".env.sample", |
| ".env.staging", |
| ".env.template", |
| ".env.test", |
| ".env.testing", |
| ".envrc", |
| ".eslint-ignore", |
| ".eslintignore", |
| ".exrc", |
| ".factor-boot-rc", |
| ".factor-rc", |
| ".flake8", |
| ".flaskenv", |
| ".gclient", |
| ".gemrc", |
| ".git-blame-ignore-revs", |
| ".gitattributes", |
| ".gitmodules", |
| ".gnus", |
| ".gvimrc", |
| ".htaccess", |
| ".htmlhintrc", |
| ".ignore", |
| ".imgbotconfig", |
| ".inputrc", |
| ".irbrc", |
| ".jscsrc", |
| ".jshintrc", |
| ".jslintrc", |
| ".justfile", |
| ".kshrc", |
| ".latexmkrc", |
| ".login", |
| ".luacheckrc", |
| ".markdownlintignore", |
| ".nodemonignore", |
| ".npmignore", |
| ".npmrc", |
| ".nvimrc", |
| ".nycrc", |
| ".php_cs", |
| ".php_cs.dist", |
| ".prettierignore", |
| ".profile", |
| ".project", |
| ".pryrc", |
| ".pylintrc", |
| ".rgignore", |
| ".rprofile", |
| ".rspec", |
| ".scalafix.conf", |
| ".scalafmt.conf", |
| ".shellcheckrc", |
| ".simplecov", |
| ".spacemacs", |
| ".stylelintignore", |
| ".swcrc", |
| ".tern-config", |
| ".tern-project", |
| ".tgitconfig", |
| ".tm_properties", |
| ".tmux.conf", |
| ".vercelignore", |
| ".viper", |
| ".vscodeignore", |
| ".watchmanconfig", |
| ".wgetrc", |
| ".xcompose", |
| ".xinitrc", |
| ".xsession", |
| ".yardopts", |
| ".zlogin", |
| ".zlogout", |
| ".zprofile", |
| ".zshenv", |
| ".zshrc", |
| "9fs", |
| "_curlrc", |
| "_dir_colors", |
| "_dircolors", |
| "_emacs", |
| "_redirects", |
| "_vimrc", |
| "abbrev_defs", |
| "ack", |
| "ackrc", |
| "android.bp", |
| "apache2.conf", |
| "apkbuild", |
| "app.config", |
| "appraisals", |
| "bash_aliases", |
| "bash_logout", |
| "bash_profile", |
| "bashrc", |
| "berksfile", |
| "brewfile", |
| "browserslist", |
| "bsdmakefile", |
| "buck", |
| "build", |
| "build.bazel", |
| "buildfile", |
| "cabal.config", |
| "cabal.project", |
| "caddyfile", |
| "cakefile", |
| "capfile", |
| "cargo.toml.orig", |
| "cask", |
| "citation", |
| "citation.cff", |
| "citations", |
| "cksums", |
| "codeowners", |
| "commit_editmsg", |
| "config.worktree", |
| "configure.ac", |
| "containerfile", |
| "contents.lr", |
| "copying", |
| "cpanfile", |
| "crontab", |
| "cshrc", |
| "dangerfile", |
| "deliverfile", |
| "deps", |
| "dir_colors", |
| "dockerfile", |
| "dune-project", |
| "earthfile", |
| "eask", |
| "emakefile", |
| "encodings.dir", |
| "eqnrc", |
| "expr-dist", |
| "fakefile", |
| "fastfile", |
| "file_contexts", |
| "firestore.rules", |
| "fontlog", |
| "fonts.alias", |
| "fonts.dir", |
| "fonts.scale", |
| "fp-lib-table", |
| "gemfile", |
| "genfs_contexts", |
| "gitignore-global", |
| "gitignore_global", |
| "gnumakefile", |
| "go.work", |
| "gradlew", |
| "gtkrc", |
| "gtkrc-2.0", |
| "guardfile", |
| "gvimrc", |
| "hosts", |
| "httpd.conf", |
| "initial_sids", |
| "inputrc", |
| "install", |
| "jakefile", |
| "jarfile", |
| "jenkinsfile", |
| "justfile", |
| "kakrc", |
| "kbuild", |
| "kshrc", |
| "latexmkrc", |
| "ld.script", |
| "license", |
| "login", |
| "m3makefile", |
| "m3overrides", |
| "makefile", |
| "makefile.am", |
| "makefile.in", |
| "man", |
| "manifest.mf", |
| "mavenfile", |
| "mcmod.info", |
| "md5sums", |
| "meson.build", |
| "mkfile", |
| "mmn", |
| "mmt", |
| "mocha.opts", |
| "module.bazel", |
| "modulefile", |
| "mvnw", |
| "nanorc", |
| "news", |
| "nextflow.config", |
| "nginx.conf", |
| "notebook", |
| "nuget.config", |
| "nukefile", |
| "nvimrc", |
| "owh", |
| "package.resolved", |
| "packages.config", |
| "phakefile", |
| "pipfile", |
| "pkgbuild", |
| "podfile", |
| "port_contexts", |
| "procfile", |
| "profile", |
| "project.ede", |
| "project.godot", |
| "puppetfile", |
| "pylintrc", |
| "rakefile", |
| "readme.1st", |
| "rebar.config", |
| "rexfile", |
| "riemann.config", |
| "root", |
| "sconscript", |
| "sconstruct", |
| "security_classes", |
| "settings.stylecop", |
| "sha1sums", |
| "sha256sums", |
| "sha512sums", |
| "singularity", |
| "slakefile", |
| "snakefile", |
| "snapfile", |
| "ssh-config", |
| "ssh_config", |
| "sshconfig", |
| "sshd-config", |
| "sshd_config", |
| "starfield", |
| "steepfile", |
| "suite.rc", |
| "thorfile", |
| "tiltfile", |
| "tmux.conf", |
| "torrc", |
| "troffrc", |
| "troffrc-end", |
| "vagrantfile", |
| "vimrc", |
| "vlcrc", |
| "web.config", |
| "web.debug.config", |
| "web.release.config", |
| "workspace", |
| "workspace.bazel", |
| "workspace.bzlmod", |
| "wscript", |
| "xcompose", |
| "xinitrc", |
| "xsession", |
| "zlogin", |
| "zlogout", |
| "zprofile", |
| "zshenv", |
| "zshrc", |
| ]) |
|
|
| const pathFileNamePrefixes = new Set([ |
| "9fs", |
| "_curlrc", |
| "_dir_colors", |
| "_dircolors", |
| "_emacs", |
| "_redirects", |
| "_vimrc", |
| "abbrev_defs", |
| "ack", |
| "ackrc", |
| "apkbuild", |
| "appraisals", |
| "bash_aliases", |
| "bash_logout", |
| "bash_profile", |
| "bashrc", |
| "berksfile", |
| "brewfile", |
| "browserslist", |
| "bsdmakefile", |
| "buck", |
| "build", |
| "buildfile", |
| "caddyfile", |
| "cakefile", |
| "capfile", |
| "cask", |
| "citation", |
| "citations", |
| "cksums", |
| "codeowners", |
| "commit_editmsg", |
| "containerfile", |
| "copying", |
| "cpanfile", |
| "crontab", |
| "cshrc", |
| "dangerfile", |
| "deliverfile", |
| "deps", |
| "dir_colors", |
| "dockerfile", |
| "dune-project", |
| "earthfile", |
| "eask", |
| "emakefile", |
| "eqnrc", |
| "expr-dist", |
| "fakefile", |
| "fastfile", |
| "file_contexts", |
| "fontlog", |
| "fp-lib-table", |
| "gemfile", |
| "genfs_contexts", |
| "gitignore-global", |
| "gitignore_global", |
| "gnumakefile", |
| "gradlew", |
| "gtkrc", |
| "guardfile", |
| "gvimrc", |
| "hosts", |
| "initial_sids", |
| "inputrc", |
| "install", |
| "jakefile", |
| "jarfile", |
| "jenkinsfile", |
| "justfile", |
| "kakrc", |
| "kbuild", |
| "kshrc", |
| "latexmkrc", |
| "license", |
| "login", |
| "m3makefile", |
| "m3overrides", |
| "makefile", |
| "man", |
| "mavenfile", |
| "md5sums", |
| "mkfile", |
| "mmn", |
| "mmt", |
| "modulefile", |
| "mvnw", |
| "nanorc", |
| "news", |
| "notebook", |
| "nukefile", |
| "nvimrc", |
| "owh", |
| "phakefile", |
| "pipfile", |
| "pkgbuild", |
| "podfile", |
| "port_contexts", |
| "procfile", |
| "profile", |
| "puppetfile", |
| "pylintrc", |
| "rakefile", |
| "rexfile", |
| "root", |
| "sconscript", |
| "sconstruct", |
| "security_classes", |
| "sha1sums", |
| "sha256sums", |
| "sha512sums", |
| "singularity", |
| "slakefile", |
| "snakefile", |
| "snapfile", |
| "ssh-config", |
| "ssh_config", |
| "sshconfig", |
| "sshd-config", |
| "sshd_config", |
| "starfield", |
| "steepfile", |
| "thorfile", |
| "tiltfile", |
| "torrc", |
| "troffrc", |
| "troffrc-end", |
| "vagrantfile", |
| "vimrc", |
| "vlcrc", |
| "workspace", |
| "wscript", |
| "xcompose", |
| "xinitrc", |
| "xsession", |
| "zlogin", |
| "zlogout", |
| "zprofile", |
| "zshenv", |
| "zshrc", |
| ]) |
|
|
| export function inlineCodeKind(text: string): "path" | "url" | undefined { |
| if (/^https?:\/\//i.test(text)) return "url" |
| if (/^[a-z][a-z0-9+.-]*:\/\//i.test(text)) return |
| if (text === "/") return |
| if (/^\/[a-z][a-z0-9-]*$/i.test(text)) return |
| if (/\s/.test(text)) return |
| if (/[()\[\]{}*+=<>|&^"';]/.test(text)) return |
| if (/[/\\]/.test(text) || /^\.\.?[/\\]/.test(text) || hasPathExtension(text) || hasPathFileName(text)) return "path" |
| } |
|
|
| function hasPathExtension(text: string) { |
| const value = text.toLowerCase() |
| if (value.endsWith(".d.ts")) return true |
| const index = value.lastIndexOf(".") |
| if (index === -1) return false |
| return pathExtensions.has(value.slice(index + 1)) |
| } |
|
|
| function hasPathFileName(text: string) { |
| const value = text.toLowerCase() |
| if (pathFileNames.has(value)) return true |
| const index = value.indexOf(".") |
| if (index === -1) return false |
| return pathFileNamePrefixes.has(value.slice(0, index)) |
| } |
|
|