Files
anomalyco_opencode/packages/session-ui/src/components/markdown-inline-code-kind.ts
T
opencode-agent[bot] 439ec9b76f chore: generate
2026-07-01 00:53:45 +00:00

1916 lines
22 KiB
TypeScript

// 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))
}