linguist-js 2.7.0 → 2.8.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.
- package/dist/cli.js +7 -3
- package/dist/helpers/norm-path.d.ts +2 -0
- package/dist/helpers/norm-path.js +15 -0
- package/dist/helpers/parse-gitattributes.d.ts +1 -0
- package/dist/helpers/parse-gitattributes.js +7 -8
- package/dist/helpers/parse-gitignore.d.ts +1 -0
- package/dist/helpers/parse-gitignore.js +12 -0
- package/dist/helpers/read-file.d.ts +1 -1
- package/dist/helpers/read-file.js +2 -2
- package/dist/helpers/walk-tree.js +18 -4
- package/dist/index.js +114 -62
- package/dist/types.d.ts +22 -0
- package/ext/generated.rb +6 -0
- package/ext/heuristics.yml +58 -6
- package/ext/languages.yml +314 -12
- package/license.md +1 -1
- package/package.json +4 -4
- package/readme.md +29 -5
package/ext/heuristics.yml
CHANGED
|
@@ -59,6 +59,8 @@ disambiguations:
|
|
|
59
59
|
- language: Asymptote
|
|
60
60
|
- extensions: ['.bas']
|
|
61
61
|
rules:
|
|
62
|
+
- language: B4X
|
|
63
|
+
pattern: '\A\W{0,3}(?:.*(?:\r?\n|\r)){0,9}B4(?:J|A|R|i)=true'
|
|
62
64
|
- language: FreeBasic
|
|
63
65
|
pattern: '^[ \t]*#(?i)(?:define|endif|endmacro|ifn?def|include|lang|macro)(?:$|\s)'
|
|
64
66
|
- language: BASIC
|
|
@@ -74,7 +76,7 @@ disambiguations:
|
|
|
74
76
|
- language: BlitzBasic
|
|
75
77
|
pattern: '(<^\s*; |End Function)'
|
|
76
78
|
- language: BitBake
|
|
77
|
-
pattern: '
|
|
79
|
+
pattern: '^(# |include|require|inherit)\b'
|
|
78
80
|
- language: Clojure
|
|
79
81
|
pattern: '\((def|defn|defmacro|let)\s'
|
|
80
82
|
- extensions: ['.bf']
|
|
@@ -107,6 +109,11 @@ disambiguations:
|
|
|
107
109
|
rules:
|
|
108
110
|
- language: XML
|
|
109
111
|
pattern: '^(\s*)(?i:<Project|<Import|<Property|<?xml|xmlns)'
|
|
112
|
+
- extensions: ['.cairo']
|
|
113
|
+
rules:
|
|
114
|
+
- language: Cairo Zero
|
|
115
|
+
pattern: '(^(\s*)%lang(\s+)([A-Za-z0-9_]+))|(^(\s*)%builtins(\s+)([A-Za-z0-9_]+\s*)*$)|(^(\s*)from(\s+)starkware\.(cairo|starknet)\.([A-Za-z0-9_.\s]+?)import)|(,\s*ap\+\+;$)|(;\s*ap\+\+$)'
|
|
116
|
+
- language: Cairo
|
|
110
117
|
- extensions: ['.ch']
|
|
111
118
|
rules:
|
|
112
119
|
- language: xBase
|
|
@@ -190,7 +197,7 @@ disambiguations:
|
|
|
190
197
|
- language: Erlang
|
|
191
198
|
pattern: '^\s*(?:%%|main\s*\(.*?\)\s*->)'
|
|
192
199
|
- language: JavaScript
|
|
193
|
-
pattern: '\/\/|
|
|
200
|
+
pattern: '\/\/|["'']use strict["'']|export\s+default\s|\/\*(?:.|[\r\n])*?\*\/'
|
|
194
201
|
- extensions: ['.ex']
|
|
195
202
|
rules:
|
|
196
203
|
- language: Elixir
|
|
@@ -284,6 +291,12 @@ disambiguations:
|
|
|
284
291
|
rules:
|
|
285
292
|
- language: GSC
|
|
286
293
|
named_pattern: gsc
|
|
294
|
+
- extensions: ['.gts']
|
|
295
|
+
rules:
|
|
296
|
+
- language: Gerber Image
|
|
297
|
+
pattern: '^G0.'
|
|
298
|
+
- language: Glimmer TS
|
|
299
|
+
negative_pattern: '^G0.'
|
|
287
300
|
- extensions: ['.h']
|
|
288
301
|
rules:
|
|
289
302
|
- language: Objective-C
|
|
@@ -309,7 +322,7 @@ disambiguations:
|
|
|
309
322
|
- extensions: ['.ice']
|
|
310
323
|
rules:
|
|
311
324
|
- language: JSON
|
|
312
|
-
|
|
325
|
+
named_pattern: json
|
|
313
326
|
- language: Slice
|
|
314
327
|
- extensions: ['.inc']
|
|
315
328
|
rules:
|
|
@@ -335,6 +348,8 @@ disambiguations:
|
|
|
335
348
|
pattern:
|
|
336
349
|
- '(?i:^\s*\{\$(?:mode|ifdef|undef|define)[ ]+[a-z0-9_]+\})'
|
|
337
350
|
- '^\s*end[.;]\s*$'
|
|
351
|
+
- language: BitBake
|
|
352
|
+
pattern: '^inherit(\s+[\w.-]+)+\s*$'
|
|
338
353
|
- extensions: ['.json']
|
|
339
354
|
rules:
|
|
340
355
|
- language: OASv2-json
|
|
@@ -425,9 +440,17 @@ disambiguations:
|
|
|
425
440
|
rules:
|
|
426
441
|
- language: XML
|
|
427
442
|
pattern: '<!ENTITY '
|
|
443
|
+
- language: NMODL
|
|
444
|
+
pattern: '\b(NEURON|INITIAL|UNITS)\b'
|
|
428
445
|
- language: Modula-2
|
|
429
446
|
pattern: '^\s*(?i:MODULE|END) [\w\.]+;'
|
|
430
447
|
- language: [Linux Kernel Module, AMPL]
|
|
448
|
+
- extensions: ['.mojo']
|
|
449
|
+
rules:
|
|
450
|
+
- language: Mojo
|
|
451
|
+
pattern: '^\s*(alias|def|from|fn|import|struct|trait)\s'
|
|
452
|
+
- language: XML
|
|
453
|
+
pattern: '^\s*<\?xml'
|
|
431
454
|
- extensions: ['.ms']
|
|
432
455
|
rules:
|
|
433
456
|
- language: Roff
|
|
@@ -456,6 +479,11 @@ disambiguations:
|
|
|
456
479
|
- language: NL
|
|
457
480
|
pattern: '^(b|g)[0-9]+ '
|
|
458
481
|
- language: NewLisp
|
|
482
|
+
- extensions: ['.nr']
|
|
483
|
+
rules:
|
|
484
|
+
- language: Roff
|
|
485
|
+
pattern: '^\.'
|
|
486
|
+
- language: Noir
|
|
459
487
|
- extensions: ['.nu']
|
|
460
488
|
rules:
|
|
461
489
|
- language: Nushell
|
|
@@ -480,6 +508,13 @@ disambiguations:
|
|
|
480
508
|
pattern: '<\?hh'
|
|
481
509
|
- language: PHP
|
|
482
510
|
pattern: '<\?[^h]'
|
|
511
|
+
- extensions: ['.pkl']
|
|
512
|
+
rules:
|
|
513
|
+
- language: Pkl
|
|
514
|
+
pattern:
|
|
515
|
+
- '^\s*(module|import|amends|extends|local|const|fixed|abstract|open|class|typealias|@\w+)\b'
|
|
516
|
+
- '^\s*[a-zA-Z0-9_$]+\s*(=|{|:)|^\s*`[^`]+`\s*(=|{|:)|for\s*\(|when\s*\('
|
|
517
|
+
- language: Pickle
|
|
483
518
|
- extensions: ['.pl']
|
|
484
519
|
rules:
|
|
485
520
|
- language: Prolog
|
|
@@ -493,7 +528,7 @@ disambiguations:
|
|
|
493
528
|
- extensions: ['.plist']
|
|
494
529
|
rules:
|
|
495
530
|
- language: XML Property List
|
|
496
|
-
pattern: '^\s*(?:<\?xml\s|<!DOCTYPE\s+plist|<plist(?:\s+version\s*=\s*
|
|
531
|
+
pattern: '^\s*(?:<\?xml\s|<!DOCTYPE\s+plist|<plist(?:\s+version\s*=\s*["'']\d+(?:\.\d+)?["''])?\s*>\s*$)'
|
|
497
532
|
- language: OpenStep Property List
|
|
498
533
|
- extensions: ['.plt']
|
|
499
534
|
rules:
|
|
@@ -585,6 +620,11 @@ disambiguations:
|
|
|
585
620
|
pattern:
|
|
586
621
|
- '^\s*(let|module|type)\s+\w*\s+=\s+'
|
|
587
622
|
- '^\s*(?:include|open)\s+\w+\s*$'
|
|
623
|
+
- extensions: ['.resource']
|
|
624
|
+
rules:
|
|
625
|
+
- language: RobotFramework
|
|
626
|
+
pattern:
|
|
627
|
+
- '^\*{3} (Settings|Variables|Keywords) \*{3}$'
|
|
588
628
|
- extensions: ['.rno']
|
|
589
629
|
rules:
|
|
590
630
|
- language: RUNOFF
|
|
@@ -706,6 +746,10 @@ disambiguations:
|
|
|
706
746
|
rules:
|
|
707
747
|
- language: Vim Help File
|
|
708
748
|
pattern: '(?:(?:^|[ \t])(?:vi|Vi(?=m))(?:m[<=>]?[0-9]+|m)?|[ \t]ex)(?=:(?=[ \t]*set?[ \t][^\r\n:]+:)|:(?![ \t]*set?[ \t]))(?:(?:[ \t]*:[ \t]*|[ \t])\w*(?:[ \t]*=(?:[^\\\s]|\\.)*)?)*[ \t:](?:filetype|ft|syntax)[ \t]*=(help)(?=$|\s|:)'
|
|
749
|
+
- language: Hosts File
|
|
750
|
+
pattern: '(?xi) ^(?<ipv4>(?!\.)(?:\.?(?: 25[0-5]| 2[0-4]\d| 1\d\d| [1-9]?\d)\b){4})(?<cidr>/(3[0-2]|[12]?\d)\b)?(?<domains>[ \t]+\w[-\w]* (?:\.\w[-\w]*)*(?<!-)\b)*+'
|
|
751
|
+
|
|
752
|
+
(?=$|\s)
|
|
709
753
|
- language: Adblock Filter List
|
|
710
754
|
pattern: '\A\[(?<version>(?:[Aa]d[Bb]lock(?:[ \t][Pp]lus)?|u[Bb]lock(?:[ \t][Oo]rigin)?|[Aa]d[Gg]uard)(?:[ \t] \d+(?:\.\d+)*+)?)(?:[ \t]?;[ \t]?\g<version>)*+\]'
|
|
711
755
|
- language: Text
|
|
@@ -731,6 +775,12 @@ disambiguations:
|
|
|
731
775
|
- language: Vim Script
|
|
732
776
|
pattern: '^UseVimball'
|
|
733
777
|
- language: VBA
|
|
778
|
+
- extensions: ['.vcf']
|
|
779
|
+
rules:
|
|
780
|
+
- language: TSV
|
|
781
|
+
pattern: '\A##fileformat=VCF'
|
|
782
|
+
- language: vCard
|
|
783
|
+
pattern: '\ABEGIN:VCARD'
|
|
734
784
|
- extensions: ['.w']
|
|
735
785
|
rules:
|
|
736
786
|
- language: OpenEdge ABL
|
|
@@ -760,7 +810,7 @@ disambiguations:
|
|
|
760
810
|
- extensions: ['.yy']
|
|
761
811
|
rules:
|
|
762
812
|
- language: JSON
|
|
763
|
-
|
|
813
|
+
named_pattern: json
|
|
764
814
|
- language: Yacc
|
|
765
815
|
named_patterns:
|
|
766
816
|
cpp:
|
|
@@ -770,6 +820,7 @@ named_patterns:
|
|
|
770
820
|
- '^[ \t]*catch\s*\('
|
|
771
821
|
- '^[ \t]*(class|(using[ \t]+)?namespace)\s+\w+'
|
|
772
822
|
- '^[ \t]*(private|public|protected):$'
|
|
823
|
+
- '__has_cpp_attribute|__cplusplus >'
|
|
773
824
|
- 'std::\w+'
|
|
774
825
|
euphoria:
|
|
775
826
|
- '^\s*namespace\s'
|
|
@@ -781,6 +832,7 @@ named_patterns:
|
|
|
781
832
|
- '^\s*(?>(?:autoexec|private)\s+){0,2}function\s+(?>(?:autoexec|private)\s+){0,2}\w+\s*\('
|
|
782
833
|
- '\b(?:level|self)[ \t]+thread[ \t]+(?:\[\[[ \t]*(?>\w+\.)*\w+[ \t]*\]\]|\w+)[ \t]*\([^\r\n\)]*\)[ \t]*;'
|
|
783
834
|
- '^[ \t]*#[ \t]*(?:precache|using_animtree)[ \t]*\('
|
|
835
|
+
json: '\A\s*[{\[]'
|
|
784
836
|
key_equals_value: '^[^#!;][^=]*='
|
|
785
837
|
m68k:
|
|
786
838
|
- '(?im)\bmoveq(?:\.l)?\s+#(?:\$-?[0-9a-f]{1,3}|%[0-1]{1,8}|-?[0-9]{1,3}),\s*d[0-7]\b'
|
|
@@ -811,7 +863,7 @@ named_patterns:
|
|
|
811
863
|
- '^[ ]*(?:Public|Private)? Declare PtrSafe (?:Sub|Function)\b'
|
|
812
864
|
- '^[ ]*#If Win64\b'
|
|
813
865
|
- '^[ ]*(?:Dim|Const) [0-9a-zA-Z_]*[ ]*As Long(?:Ptr|Long)\b'
|
|
814
|
-
- '^[ ]*Option (?:Private Module|Compare Database)\b'
|
|
866
|
+
- '^[ ]*Option (?:Private Module|Compare (?:Database|Text|Binary))\b'
|
|
815
867
|
- '(?: |\()(?:Access|Excel|Outlook|PowerPoint|Visio|Word|VBIDE)\.\w'
|
|
816
868
|
- '\b(?:(?:Active)?VBProjects?|VBComponents?|Application\.(?:VBE|ScreenUpdating))\b'
|
|
817
869
|
- '\b(?:ThisDrawing|AcadObject|Active(?:Explorer|Inspector|Window\.Presentation|Presentation|Document)|Selection\.(?:Find|Paragraphs))\b'
|