code-languages 1.36.5 → 1.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/README.md +93 -3
  2. package/dist/api-CjNcbLKv.d.cts +134 -0
  3. package/dist/api-u3GKPoGq.d.ts +134 -0
  4. package/dist/api.cjs +3687 -1537
  5. package/dist/api.d.cts +3 -77
  6. package/dist/api.d.ts +3 -77
  7. package/dist/api.js +3687 -1537
  8. package/dist/detect-slugs.cjs +25 -3
  9. package/dist/detect-slugs.d.cts +1 -1
  10. package/dist/detect-slugs.d.ts +1 -1
  11. package/dist/detect-slugs.js +25 -3
  12. package/dist/detect.cjs +1096 -3
  13. package/dist/detect.js +1096 -3
  14. package/dist/i18n.cjs +1 -1
  15. package/dist/i18n.js +1 -1
  16. package/dist/index.cjs +3719 -1550
  17. package/dist/index.d.cts +1145 -134
  18. package/dist/index.d.ts +1145 -134
  19. package/dist/index.js +3718 -1551
  20. package/dist/languages/angelscript.cjs +52 -0
  21. package/dist/languages/angelscript.d.cts +49 -0
  22. package/dist/languages/angelscript.d.ts +49 -0
  23. package/dist/languages/angelscript.js +50 -0
  24. package/dist/languages/assemblyscript.cjs +52 -0
  25. package/dist/languages/assemblyscript.d.cts +49 -0
  26. package/dist/languages/assemblyscript.d.ts +49 -0
  27. package/dist/languages/assemblyscript.js +50 -0
  28. package/dist/languages/basic.cjs +48 -0
  29. package/dist/languages/basic.d.cts +45 -0
  30. package/dist/languages/basic.d.ts +45 -0
  31. package/dist/languages/basic.js +46 -0
  32. package/dist/languages/dax.cjs +56 -0
  33. package/dist/languages/dax.d.cts +48 -0
  34. package/dist/languages/dax.d.ts +48 -0
  35. package/dist/languages/dax.js +54 -0
  36. package/dist/languages/gml.cjs +52 -0
  37. package/dist/languages/gml.d.cts +49 -0
  38. package/dist/languages/gml.d.ts +49 -0
  39. package/dist/languages/gml.js +50 -0
  40. package/dist/languages/ink-narrative.cjs +52 -0
  41. package/dist/languages/ink-narrative.d.cts +49 -0
  42. package/dist/languages/ink-narrative.d.ts +49 -0
  43. package/dist/languages/ink-narrative.js +50 -0
  44. package/dist/languages/modelica.cjs +52 -0
  45. package/dist/languages/modelica.d.cts +49 -0
  46. package/dist/languages/modelica.d.ts +49 -0
  47. package/dist/languages/modelica.js +50 -0
  48. package/dist/languages/mumps.cjs +51 -0
  49. package/dist/languages/mumps.d.cts +48 -0
  50. package/dist/languages/mumps.d.ts +48 -0
  51. package/dist/languages/mumps.js +49 -0
  52. package/dist/languages/nextflow.cjs +52 -0
  53. package/dist/languages/nextflow.d.cts +49 -0
  54. package/dist/languages/nextflow.d.ts +49 -0
  55. package/dist/languages/nextflow.js +50 -0
  56. package/dist/languages/octave.cjs +52 -0
  57. package/dist/languages/octave.d.cts +49 -0
  58. package/dist/languages/octave.d.ts +49 -0
  59. package/dist/languages/octave.js +50 -0
  60. package/dist/languages/openscad.cjs +51 -0
  61. package/dist/languages/openscad.d.cts +48 -0
  62. package/dist/languages/openscad.d.ts +48 -0
  63. package/dist/languages/openscad.js +49 -0
  64. package/dist/languages/postscript.cjs +51 -0
  65. package/dist/languages/postscript.d.cts +48 -0
  66. package/dist/languages/postscript.d.ts +48 -0
  67. package/dist/languages/postscript.js +49 -0
  68. package/dist/languages/powerquery.cjs +51 -0
  69. package/dist/languages/powerquery.d.cts +48 -0
  70. package/dist/languages/powerquery.d.ts +48 -0
  71. package/dist/languages/powerquery.js +49 -0
  72. package/dist/languages/processing.cjs +52 -0
  73. package/dist/languages/processing.d.cts +49 -0
  74. package/dist/languages/processing.d.ts +49 -0
  75. package/dist/languages/processing.js +50 -0
  76. package/dist/languages/rpg.cjs +51 -0
  77. package/dist/languages/rpg.d.cts +48 -0
  78. package/dist/languages/rpg.d.ts +48 -0
  79. package/dist/languages/rpg.js +49 -0
  80. package/dist/languages/snakemake.cjs +52 -0
  81. package/dist/languages/snakemake.d.cts +49 -0
  82. package/dist/languages/snakemake.d.ts +49 -0
  83. package/dist/languages/snakemake.js +50 -0
  84. package/dist/languages/spss.cjs +52 -0
  85. package/dist/languages/spss.d.cts +49 -0
  86. package/dist/languages/spss.d.ts +49 -0
  87. package/dist/languages/spss.js +50 -0
  88. package/dist/languages/squirrel.cjs +52 -0
  89. package/dist/languages/squirrel.d.cts +49 -0
  90. package/dist/languages/squirrel.d.ts +49 -0
  91. package/dist/languages/squirrel.js +50 -0
  92. package/dist/languages/twee.cjs +52 -0
  93. package/dist/languages/twee.d.cts +49 -0
  94. package/dist/languages/twee.d.ts +49 -0
  95. package/dist/languages/twee.js +50 -0
  96. package/dist/languages/vba.cjs +51 -0
  97. package/dist/languages/vba.d.cts +48 -0
  98. package/dist/languages/vba.d.ts +48 -0
  99. package/dist/languages/vba.js +49 -0
  100. package/dist/languages/wdl.cjs +52 -0
  101. package/dist/languages/wdl.d.cts +49 -0
  102. package/dist/languages/wdl.d.ts +49 -0
  103. package/dist/languages/wdl.js +50 -0
  104. package/dist/languages/xpath.cjs +51 -0
  105. package/dist/languages/xpath.d.cts +48 -0
  106. package/dist/languages/xpath.d.ts +48 -0
  107. package/dist/languages/xpath.js +49 -0
  108. package/dist/{language-registry-59NJVWeg.d.cts → registry-p4uQJ2gP.d.cts} +66 -0
  109. package/dist/{language-registry-59NJVWeg.d.ts → registry-p4uQJ2gP.d.ts} +66 -0
  110. package/package.json +181 -68
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- // src/language-registry.ts
3
+ // src/domain/language/registry.ts
4
4
  var languageIndex = [
5
5
  { slug: "abap", extensions: [".abap"] },
6
6
  { slug: "actionscript", extensions: [".as"] },
@@ -18,12 +18,15 @@ var languageIndex = [
18
18
  { slug: "asciidoc", extensions: [".adoc", ".asciidoc", ".asc"] },
19
19
  { slug: "asp", extensions: [".asp", ".aspx", ".ascx", ".ashx", ".asmx", ".master"] },
20
20
  { slug: "assembly", extensions: [".asm", ".s", ".S", ".inc"] },
21
+ { slug: "assemblyscript", extensions: [".as"] },
22
+ { slug: "angelscript", extensions: [".as", ".angelscript"] },
21
23
  { slug: "astro", extensions: [".astro"] },
22
24
  { slug: "austral", extensions: [".aum", ".aui"] },
23
25
  { slug: "autohotkey", extensions: [".ahk", ".ah2"] },
24
26
  { slug: "avro-idl", extensions: [".avdl"] },
25
27
  { slug: "awk", extensions: [".awk"] },
26
28
  { slug: "ballerina", extensions: [".bal"] },
29
+ { slug: "basic", extensions: [".bas", ".bi", ".bb"] },
27
30
  {
28
31
  slug: "bash",
29
32
  extensions: [".sh", ".bash", ".bashrc", ".bash_profile", ".bash_login", ".profile"]
@@ -63,6 +66,7 @@ var languageIndex = [
63
66
  { slug: "d", extensions: [".d", ".di"] },
64
67
  { slug: "dafny", extensions: [".dfy"] },
65
68
  { slug: "dart", extensions: [".dart"] },
69
+ { slug: "dax", extensions: [".dax"] },
66
70
  { slug: "dhall", extensions: [".dhall"] },
67
71
  { slug: "dita", extensions: [".dita", ".ditamap", ".ditaval"] },
68
72
  { slug: "dockerfile", extensions: ["Dockerfile", ".dockerfile"] },
@@ -98,6 +102,7 @@ var languageIndex = [
98
102
  { slug: "gettext", extensions: [".po", ".pot"] },
99
103
  { slug: "git", extensions: [".git", ".gitignore", ".gitattributes", ".gitmodules", ".gitkeep"] },
100
104
  { slug: "gleam", extensions: [".gleam"] },
105
+ { slug: "gml", extensions: [".gml"] },
101
106
  {
102
107
  slug: "glsl",
103
108
  extensions: [".glsl", ".vert", ".frag", ".geom", ".tesc", ".tese", ".comp", ".vs", ".fs"]
@@ -122,6 +127,7 @@ var languageIndex = [
122
127
  { slug: "idris", extensions: [".idr", ".lidr", ".ipkg"] },
123
128
  { slug: "ini", extensions: [".ini"] },
124
129
  { slug: "ink", extensions: [".ink"] },
130
+ { slug: "ink-narrative", extensions: [".ink"] },
125
131
  { slug: "io", extensions: [".io"] },
126
132
  { slug: "isabelle", extensions: [".thy"] },
127
133
  { slug: "janet", extensions: [".janet", ".jdn"] },
@@ -165,12 +171,15 @@ var languageIndex = [
165
171
  { slug: "meson", extensions: ["meson.build", "meson_options.txt", "meson.options", ".wrap"] },
166
172
  { slug: "mercury", extensions: [".m"] },
167
173
  { slug: "metal", extensions: [".metal"] },
174
+ { slug: "modelica", extensions: [".mo"] },
168
175
  { slug: "mojo", extensions: [".mojo"] },
169
176
  { slug: "modula-2", extensions: [".mod", ".def"] },
170
177
  { slug: "moonbit", extensions: [".mbt"] },
171
178
  { slug: "move", extensions: [".move"] },
179
+ { slug: "mumps", extensions: [".mac", ".int", ".ro", ".mro"] },
172
180
  { slug: "mustache", extensions: [".mustache", ".mst"] },
173
181
  { slug: "n1ql", extensions: [".n1ql"] },
182
+ { slug: "nextflow", extensions: [".nf"] },
174
183
  { slug: "nginx", extensions: ["nginx.conf", ".nginx", ".conf"] },
175
184
  { slug: "nickel", extensions: [".ncl"] },
176
185
  { slug: "nim", extensions: [".nim", ".nims", ".nimble"] },
@@ -179,10 +188,12 @@ var languageIndex = [
179
188
  { slug: "nushell", extensions: [".nu"] },
180
189
  { slug: "objective-c", extensions: [".m", ".mm"] },
181
190
  { slug: "ocaml", extensions: [".ml", ".mli", ".mll", ".mly", ".mlt", ".eliom", ".eliomi"] },
191
+ { slug: "octave", extensions: [".m", ".octave"] },
182
192
  { slug: "oberon", extensions: [".ob", ".mod"] },
183
193
  { slug: "odin", extensions: [".odin"] },
184
194
  { slug: "openapi", extensions: [".openapi.json", ".openapi.yaml", ".openapi.yml"] },
185
195
  { slug: "opencl", extensions: [".cl", ".clh"] },
196
+ { slug: "openscad", extensions: [".scad"] },
186
197
  { slug: "org", extensions: [".org"] },
187
198
  { slug: "pascal", extensions: [".pas", ".pp", ".inc", ".lpr", ".dpr", ".dfm"] },
188
199
  { slug: "perl", extensions: [".pl", ".pm", ".pod", ".t", ".psgi"] },
@@ -195,7 +206,10 @@ var languageIndex = [
195
206
  { slug: "plsql", extensions: [".pls", ".pks", ".pkb", ".plsql"] },
196
207
  { slug: "pod", extensions: [".pod"] },
197
208
  { slug: "pony", extensions: [".pony"] },
209
+ { slug: "postscript", extensions: [".ps", ".eps"] },
210
+ { slug: "powerquery", extensions: [".pq", ".pqm"] },
198
211
  { slug: "powershell", extensions: [".ps1", ".psm1", ".psd1", ".ps1xml"] },
212
+ { slug: "processing", extensions: [".pde"] },
199
213
  { slug: "prolog", extensions: [".pl", ".pro", ".prolog", ".P"] },
200
214
  { slug: "promql", extensions: [".promql"] },
201
215
  { slug: "protobuf", extensions: [".proto"] },
@@ -217,6 +231,7 @@ var languageIndex = [
217
231
  { slug: "rescript", extensions: [".res", ".resi"] },
218
232
  { slug: "restructuredtext", extensions: [".rst", ".rest"] },
219
233
  { slug: "roc", extensions: [".roc"] },
234
+ { slug: "rpg", extensions: [".rpg", ".rpgle", ".sqlrpgle", ".clle", ".dspf"] },
220
235
  {
221
236
  slug: "ruby",
222
237
  extensions: [".rb", ".rbw", ".rake", ".gemspec", "Gemfile", "Rakefile", "config.ru"]
@@ -230,13 +245,16 @@ var languageIndex = [
230
245
  { slug: "simula", extensions: [".sim", ".simula"] },
231
246
  { slug: "smalltalk", extensions: [".st"] },
232
247
  { slug: "smarty", extensions: [".tpl", ".smarty"] },
248
+ { slug: "snakemake", extensions: [".smk", "Snakefile"] },
233
249
  { slug: "snobol", extensions: [".sno", ".snobol"] },
234
250
  { slug: "solidity", extensions: [".sol"] },
235
251
  { slug: "soql", extensions: [".soql"] },
236
252
  { slug: "sparql", extensions: [".sparql", ".rq"] },
237
253
  { slug: "spark", extensions: [".spark", ".adb", ".ads"] },
238
254
  { slug: "spl", extensions: [".spl"] },
255
+ { slug: "spss", extensions: [".sps", ".spss"] },
239
256
  { slug: "sql", extensions: [".sql"] },
257
+ { slug: "squirrel", extensions: [".nut"] },
240
258
  { slug: "standard-ml", extensions: [".sml", ".sig", ".fun"] },
241
259
  { slug: "starlark", extensions: [".bzl", ".star", ".sky"] },
242
260
  { slug: "stata", extensions: [".do", ".ado", ".mata"] },
@@ -254,12 +272,14 @@ var languageIndex = [
254
272
  { slug: "toml", extensions: [".toml"] },
255
273
  { slug: "troff", extensions: [".roff", ".troff", ".man", ".me", ".ms"] },
256
274
  { slug: "tsql", extensions: [".sql", ".tsql"] },
275
+ { slug: "twee", extensions: [".tw", ".twee", ".tw2"] },
257
276
  { slug: "twig", extensions: [".twig"] },
258
277
  { slug: "typescript", extensions: [".ts", ".tsx", ".mts", ".cts"] },
259
278
  { slug: "typst", extensions: [".typ"] },
260
279
  { slug: "unison", extensions: [".u", ".uu"] },
261
280
  { slug: "v", extensions: [".v", ".vsh"] },
262
281
  { slug: "vala", extensions: [".vala", ".vapi"] },
282
+ { slug: "vba", extensions: [".bas", ".cls", ".frm", ".vba"] },
263
283
  { slug: "vale", extensions: [".vale"] },
264
284
  { slug: "velocity", extensions: [".vm", ".vtl"] },
265
285
  { slug: "verilog", extensions: [".v", ".vh", ".sv", ".svh"] },
@@ -269,10 +289,12 @@ var languageIndex = [
269
289
  { slug: "vue", extensions: [".vue"] },
270
290
  { slug: "vyper", extensions: [".vy"] },
271
291
  { slug: "webassembly", extensions: [".wasm", ".wat"] },
292
+ { slug: "wdl", extensions: [".wdl"] },
272
293
  { slug: "wgsl", extensions: [".wgsl"] },
273
294
  { slug: "wren", extensions: [".wren"] },
274
295
  { slug: "xaml", extensions: [".xaml", ".baml"] },
275
296
  { slug: "xml", extensions: [".xml", ".xsd", ".xsl", ".xslt"] },
297
+ { slug: "xpath", extensions: [".xpath", ".xpth"] },
276
298
  { slug: "xquery", extensions: [".xq", ".xql", ".xqm", ".xquery", ".xqy"] },
277
299
  { slug: "xslt", extensions: [".xsl", ".xslt"] },
278
300
  { slug: "yaml", extensions: [".yaml", ".yml"] },
@@ -286,7 +308,7 @@ var languageIndex = [
286
308
  }
287
309
  ];
288
310
 
289
- // src/match.ts
311
+ // src/domain/detection/match.ts
290
312
  var pathSegmentPattern = /[/\\]/;
291
313
  var getBasename = (filename) => filename.trim().split(pathSegmentPattern).at(-1)?.toLowerCase() ?? "";
292
314
  var matchesExtension = (basename, extension) => {
@@ -310,7 +332,7 @@ var detectMatchingEntries = (entries, filename) => {
310
332
  })).filter(({ matchLength }) => Number.isFinite(matchLength)).sort((first, second) => second.matchLength - first.matchLength || first.index - second.index).map(({ entry }) => entry);
311
333
  };
312
334
 
313
- // src/detect-slugs.ts
335
+ // src/domain/detection/detect-slugs.ts
314
336
  var detectLanguageSlugs = (filename) => detectMatchingEntries(languageIndex, filename).map((entry) => entry.slug);
315
337
  var detectLanguageSlug = (filename) => detectLanguageSlugs(filename).at(0);
316
338
  var detectProjectLanguages = (filenames) => {
@@ -1,4 +1,4 @@
1
- import { L as LanguageSlug } from './language-registry-59NJVWeg.cjs';
1
+ import { L as LanguageSlug } from './registry-p4uQJ2gP.cjs';
2
2
 
3
3
  interface ProjectLanguageDetection {
4
4
  /** Detected language slug. */
@@ -1,4 +1,4 @@
1
- import { L as LanguageSlug } from './language-registry-59NJVWeg.js';
1
+ import { L as LanguageSlug } from './registry-p4uQJ2gP.js';
2
2
 
3
3
  interface ProjectLanguageDetection {
4
4
  /** Detected language slug. */
@@ -1,4 +1,4 @@
1
- // src/language-registry.ts
1
+ // src/domain/language/registry.ts
2
2
  var languageIndex = [
3
3
  { slug: "abap", extensions: [".abap"] },
4
4
  { slug: "actionscript", extensions: [".as"] },
@@ -16,12 +16,15 @@ var languageIndex = [
16
16
  { slug: "asciidoc", extensions: [".adoc", ".asciidoc", ".asc"] },
17
17
  { slug: "asp", extensions: [".asp", ".aspx", ".ascx", ".ashx", ".asmx", ".master"] },
18
18
  { slug: "assembly", extensions: [".asm", ".s", ".S", ".inc"] },
19
+ { slug: "assemblyscript", extensions: [".as"] },
20
+ { slug: "angelscript", extensions: [".as", ".angelscript"] },
19
21
  { slug: "astro", extensions: [".astro"] },
20
22
  { slug: "austral", extensions: [".aum", ".aui"] },
21
23
  { slug: "autohotkey", extensions: [".ahk", ".ah2"] },
22
24
  { slug: "avro-idl", extensions: [".avdl"] },
23
25
  { slug: "awk", extensions: [".awk"] },
24
26
  { slug: "ballerina", extensions: [".bal"] },
27
+ { slug: "basic", extensions: [".bas", ".bi", ".bb"] },
25
28
  {
26
29
  slug: "bash",
27
30
  extensions: [".sh", ".bash", ".bashrc", ".bash_profile", ".bash_login", ".profile"]
@@ -61,6 +64,7 @@ var languageIndex = [
61
64
  { slug: "d", extensions: [".d", ".di"] },
62
65
  { slug: "dafny", extensions: [".dfy"] },
63
66
  { slug: "dart", extensions: [".dart"] },
67
+ { slug: "dax", extensions: [".dax"] },
64
68
  { slug: "dhall", extensions: [".dhall"] },
65
69
  { slug: "dita", extensions: [".dita", ".ditamap", ".ditaval"] },
66
70
  { slug: "dockerfile", extensions: ["Dockerfile", ".dockerfile"] },
@@ -96,6 +100,7 @@ var languageIndex = [
96
100
  { slug: "gettext", extensions: [".po", ".pot"] },
97
101
  { slug: "git", extensions: [".git", ".gitignore", ".gitattributes", ".gitmodules", ".gitkeep"] },
98
102
  { slug: "gleam", extensions: [".gleam"] },
103
+ { slug: "gml", extensions: [".gml"] },
99
104
  {
100
105
  slug: "glsl",
101
106
  extensions: [".glsl", ".vert", ".frag", ".geom", ".tesc", ".tese", ".comp", ".vs", ".fs"]
@@ -120,6 +125,7 @@ var languageIndex = [
120
125
  { slug: "idris", extensions: [".idr", ".lidr", ".ipkg"] },
121
126
  { slug: "ini", extensions: [".ini"] },
122
127
  { slug: "ink", extensions: [".ink"] },
128
+ { slug: "ink-narrative", extensions: [".ink"] },
123
129
  { slug: "io", extensions: [".io"] },
124
130
  { slug: "isabelle", extensions: [".thy"] },
125
131
  { slug: "janet", extensions: [".janet", ".jdn"] },
@@ -163,12 +169,15 @@ var languageIndex = [
163
169
  { slug: "meson", extensions: ["meson.build", "meson_options.txt", "meson.options", ".wrap"] },
164
170
  { slug: "mercury", extensions: [".m"] },
165
171
  { slug: "metal", extensions: [".metal"] },
172
+ { slug: "modelica", extensions: [".mo"] },
166
173
  { slug: "mojo", extensions: [".mojo"] },
167
174
  { slug: "modula-2", extensions: [".mod", ".def"] },
168
175
  { slug: "moonbit", extensions: [".mbt"] },
169
176
  { slug: "move", extensions: [".move"] },
177
+ { slug: "mumps", extensions: [".mac", ".int", ".ro", ".mro"] },
170
178
  { slug: "mustache", extensions: [".mustache", ".mst"] },
171
179
  { slug: "n1ql", extensions: [".n1ql"] },
180
+ { slug: "nextflow", extensions: [".nf"] },
172
181
  { slug: "nginx", extensions: ["nginx.conf", ".nginx", ".conf"] },
173
182
  { slug: "nickel", extensions: [".ncl"] },
174
183
  { slug: "nim", extensions: [".nim", ".nims", ".nimble"] },
@@ -177,10 +186,12 @@ var languageIndex = [
177
186
  { slug: "nushell", extensions: [".nu"] },
178
187
  { slug: "objective-c", extensions: [".m", ".mm"] },
179
188
  { slug: "ocaml", extensions: [".ml", ".mli", ".mll", ".mly", ".mlt", ".eliom", ".eliomi"] },
189
+ { slug: "octave", extensions: [".m", ".octave"] },
180
190
  { slug: "oberon", extensions: [".ob", ".mod"] },
181
191
  { slug: "odin", extensions: [".odin"] },
182
192
  { slug: "openapi", extensions: [".openapi.json", ".openapi.yaml", ".openapi.yml"] },
183
193
  { slug: "opencl", extensions: [".cl", ".clh"] },
194
+ { slug: "openscad", extensions: [".scad"] },
184
195
  { slug: "org", extensions: [".org"] },
185
196
  { slug: "pascal", extensions: [".pas", ".pp", ".inc", ".lpr", ".dpr", ".dfm"] },
186
197
  { slug: "perl", extensions: [".pl", ".pm", ".pod", ".t", ".psgi"] },
@@ -193,7 +204,10 @@ var languageIndex = [
193
204
  { slug: "plsql", extensions: [".pls", ".pks", ".pkb", ".plsql"] },
194
205
  { slug: "pod", extensions: [".pod"] },
195
206
  { slug: "pony", extensions: [".pony"] },
207
+ { slug: "postscript", extensions: [".ps", ".eps"] },
208
+ { slug: "powerquery", extensions: [".pq", ".pqm"] },
196
209
  { slug: "powershell", extensions: [".ps1", ".psm1", ".psd1", ".ps1xml"] },
210
+ { slug: "processing", extensions: [".pde"] },
197
211
  { slug: "prolog", extensions: [".pl", ".pro", ".prolog", ".P"] },
198
212
  { slug: "promql", extensions: [".promql"] },
199
213
  { slug: "protobuf", extensions: [".proto"] },
@@ -215,6 +229,7 @@ var languageIndex = [
215
229
  { slug: "rescript", extensions: [".res", ".resi"] },
216
230
  { slug: "restructuredtext", extensions: [".rst", ".rest"] },
217
231
  { slug: "roc", extensions: [".roc"] },
232
+ { slug: "rpg", extensions: [".rpg", ".rpgle", ".sqlrpgle", ".clle", ".dspf"] },
218
233
  {
219
234
  slug: "ruby",
220
235
  extensions: [".rb", ".rbw", ".rake", ".gemspec", "Gemfile", "Rakefile", "config.ru"]
@@ -228,13 +243,16 @@ var languageIndex = [
228
243
  { slug: "simula", extensions: [".sim", ".simula"] },
229
244
  { slug: "smalltalk", extensions: [".st"] },
230
245
  { slug: "smarty", extensions: [".tpl", ".smarty"] },
246
+ { slug: "snakemake", extensions: [".smk", "Snakefile"] },
231
247
  { slug: "snobol", extensions: [".sno", ".snobol"] },
232
248
  { slug: "solidity", extensions: [".sol"] },
233
249
  { slug: "soql", extensions: [".soql"] },
234
250
  { slug: "sparql", extensions: [".sparql", ".rq"] },
235
251
  { slug: "spark", extensions: [".spark", ".adb", ".ads"] },
236
252
  { slug: "spl", extensions: [".spl"] },
253
+ { slug: "spss", extensions: [".sps", ".spss"] },
237
254
  { slug: "sql", extensions: [".sql"] },
255
+ { slug: "squirrel", extensions: [".nut"] },
238
256
  { slug: "standard-ml", extensions: [".sml", ".sig", ".fun"] },
239
257
  { slug: "starlark", extensions: [".bzl", ".star", ".sky"] },
240
258
  { slug: "stata", extensions: [".do", ".ado", ".mata"] },
@@ -252,12 +270,14 @@ var languageIndex = [
252
270
  { slug: "toml", extensions: [".toml"] },
253
271
  { slug: "troff", extensions: [".roff", ".troff", ".man", ".me", ".ms"] },
254
272
  { slug: "tsql", extensions: [".sql", ".tsql"] },
273
+ { slug: "twee", extensions: [".tw", ".twee", ".tw2"] },
255
274
  { slug: "twig", extensions: [".twig"] },
256
275
  { slug: "typescript", extensions: [".ts", ".tsx", ".mts", ".cts"] },
257
276
  { slug: "typst", extensions: [".typ"] },
258
277
  { slug: "unison", extensions: [".u", ".uu"] },
259
278
  { slug: "v", extensions: [".v", ".vsh"] },
260
279
  { slug: "vala", extensions: [".vala", ".vapi"] },
280
+ { slug: "vba", extensions: [".bas", ".cls", ".frm", ".vba"] },
261
281
  { slug: "vale", extensions: [".vale"] },
262
282
  { slug: "velocity", extensions: [".vm", ".vtl"] },
263
283
  { slug: "verilog", extensions: [".v", ".vh", ".sv", ".svh"] },
@@ -267,10 +287,12 @@ var languageIndex = [
267
287
  { slug: "vue", extensions: [".vue"] },
268
288
  { slug: "vyper", extensions: [".vy"] },
269
289
  { slug: "webassembly", extensions: [".wasm", ".wat"] },
290
+ { slug: "wdl", extensions: [".wdl"] },
270
291
  { slug: "wgsl", extensions: [".wgsl"] },
271
292
  { slug: "wren", extensions: [".wren"] },
272
293
  { slug: "xaml", extensions: [".xaml", ".baml"] },
273
294
  { slug: "xml", extensions: [".xml", ".xsd", ".xsl", ".xslt"] },
295
+ { slug: "xpath", extensions: [".xpath", ".xpth"] },
274
296
  { slug: "xquery", extensions: [".xq", ".xql", ".xqm", ".xquery", ".xqy"] },
275
297
  { slug: "xslt", extensions: [".xsl", ".xslt"] },
276
298
  { slug: "yaml", extensions: [".yaml", ".yml"] },
@@ -284,7 +306,7 @@ var languageIndex = [
284
306
  }
285
307
  ];
286
308
 
287
- // src/match.ts
309
+ // src/domain/detection/match.ts
288
310
  var pathSegmentPattern = /[/\\]/;
289
311
  var getBasename = (filename) => filename.trim().split(pathSegmentPattern).at(-1)?.toLowerCase() ?? "";
290
312
  var matchesExtension = (basename, extension) => {
@@ -308,7 +330,7 @@ var detectMatchingEntries = (entries, filename) => {
308
330
  })).filter(({ matchLength }) => Number.isFinite(matchLength)).sort((first, second) => second.matchLength - first.matchLength || first.index - second.index).map(({ entry }) => entry);
309
331
  };
310
332
 
311
- // src/detect-slugs.ts
333
+ // src/domain/detection/detect-slugs.ts
312
334
  var detectLanguageSlugs = (filename) => detectMatchingEntries(languageIndex, filename).map((entry) => entry.slug);
313
335
  var detectLanguageSlug = (filename) => detectLanguageSlugs(filename).at(0);
314
336
  var detectProjectLanguages = (filenames) => {