/
Alex_Ural
/
opencode
Обзор
Документация
Войти
/
Alex_Ural
/
opencode
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
packages/session-ui/src/components/markdown-inline-code-kind.ts
1 915 строк
22 KB
opencode-agent[bot]
chore: generate
01 июл 2026, 03:53
01 июл 2026, 03:53
439ec9b
Код
Авторство
О чём код?
// One-off copy from GitHub Linguist languages.yml (e9fe3c9f230cd9220afcd057f75702de4d7700c9), plus common lockfile suffixes. // Normalized to lower-case; numeric manpage-style extensions are excluded so versions like `1.2` stay plain code. 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)) }