linguist-js 2.7.1 → 2.8.1
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 +5 -2
- package/dist/helpers/convert-pcre.js +1 -1
- package/dist/helpers/load-data.d.ts +1 -1
- package/dist/helpers/load-data.js +4 -5
- package/dist/helpers/parse-gitattributes.d.ts +1 -0
- package/dist/helpers/parse-gitattributes.js +6 -4
- package/dist/helpers/parse-gitignore.js +1 -1
- package/dist/helpers/read-file.d.ts +1 -1
- package/dist/helpers/read-file.js +2 -2
- package/dist/helpers/walk-tree.js +7 -2
- package/dist/index.js +73 -32
- package/dist/package.json +56 -0
- package/dist/src/cli.d.ts +1 -0
- package/dist/src/cli.js +146 -0
- package/dist/src/helpers/convert-pcre.d.ts +2 -0
- package/dist/src/helpers/convert-pcre.js +38 -0
- package/dist/src/helpers/load-data.d.ts +4 -0
- package/dist/src/helpers/load-data.js +37 -0
- package/dist/src/helpers/norm-path.d.ts +2 -0
- package/dist/src/helpers/norm-path.js +15 -0
- package/dist/src/helpers/parse-gitattributes.d.ts +17 -0
- package/dist/src/helpers/parse-gitattributes.js +37 -0
- package/dist/src/helpers/parse-gitignore.d.ts +1 -0
- package/dist/src/helpers/parse-gitignore.js +12 -0
- package/dist/src/helpers/read-file.d.ts +5 -0
- package/dist/src/helpers/read-file.js +23 -0
- package/dist/src/helpers/walk-tree.d.ts +20 -0
- package/dist/src/helpers/walk-tree.js +85 -0
- package/dist/src/index.d.ts +4 -0
- package/dist/src/index.js +485 -0
- package/dist/src/schema.d.ts +37 -0
- package/dist/src/schema.js +2 -0
- package/dist/src/types.d.ts +74 -0
- package/dist/src/types.js +2 -0
- package/dist/types.d.ts +22 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.js +4 -0
- package/ext/documentation.yml +0 -3
- package/ext/generated.rb +5 -0
- package/ext/heuristics.yml +91 -16
- package/ext/languages.yml +317 -8
- package/ext/vendor.yml +0 -2
- package/package.json +6 -5
- package/readme.md +29 -5
package/ext/generated.rb
CHANGED
|
@@ -8,7 +8,10 @@
|
|
|
8
8
|
- (Gopkg|glide)\.lock
|
|
9
9
|
- poetry\.lock
|
|
10
10
|
- pdm\.lock
|
|
11
|
+
- uv\.lock
|
|
12
|
+
- pixi\.lock
|
|
11
13
|
- (^|\/)(\w+\.)?esy.lock$
|
|
14
|
+
- deno\.lock
|
|
12
15
|
- npm-shrinkwrap\.json
|
|
13
16
|
- package-lock\.json
|
|
14
17
|
- pnpm-lock\.yaml
|
|
@@ -17,7 +20,9 @@
|
|
|
17
20
|
- composer\.lock
|
|
18
21
|
- .\.zep\.(?:c|h|php)$
|
|
19
22
|
- Cargo\.lock
|
|
23
|
+
- Cargo\.toml\.orig
|
|
20
24
|
- (^|\/)flake\.lock$
|
|
25
|
+
- (^|\/)MODULE\.bazel\.lock$
|
|
21
26
|
- Pipfile\.lock
|
|
22
27
|
- (?:^|\/)\.terraform\.lock\.hcl$
|
|
23
28
|
- ppport\.h$
|
package/ext/heuristics.yml
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
1
|
---
|
|
3
2
|
disambiguations:
|
|
4
3
|
- extensions: ['.1', '.2', '.3', '.4', '.5', '.6', '.7', '.8', '.9']
|
|
@@ -59,14 +58,20 @@ disambiguations:
|
|
|
59
58
|
- language: Asymptote
|
|
60
59
|
- extensions: ['.bas']
|
|
61
60
|
rules:
|
|
62
|
-
- language:
|
|
63
|
-
pattern: '
|
|
61
|
+
- language: B4X
|
|
62
|
+
pattern: '\A\W{0,3}(?:.*(?:\r?\n|\r)){0,9}B4(?:J|A|R|i)=true'
|
|
63
|
+
- language: FreeBASIC
|
|
64
|
+
named_pattern: freebasic
|
|
65
|
+
- language: FreeBASIC
|
|
66
|
+
and:
|
|
67
|
+
- pattern: '(?i)^[ \t]*return '
|
|
68
|
+
- negative_pattern: '(?i)[ \t]*gosub '
|
|
64
69
|
- language: BASIC
|
|
65
70
|
pattern: '\A\s*\d'
|
|
71
|
+
- language: QuickBASIC
|
|
72
|
+
named_pattern: quickbasic
|
|
66
73
|
- language: VBA
|
|
67
|
-
|
|
68
|
-
- named_pattern: vb-module
|
|
69
|
-
- named_pattern: vba
|
|
74
|
+
named_pattern: vba
|
|
70
75
|
- language: Visual Basic 6.0
|
|
71
76
|
named_pattern: vb-module
|
|
72
77
|
- extensions: ['.bb']
|
|
@@ -89,8 +94,12 @@ disambiguations:
|
|
|
89
94
|
pattern: '(>\+>|>\+<)'
|
|
90
95
|
- extensions: ['.bi']
|
|
91
96
|
rules:
|
|
92
|
-
- language:
|
|
93
|
-
|
|
97
|
+
- language: FreeBASIC
|
|
98
|
+
named_pattern: freebasic
|
|
99
|
+
- language: FreeBASIC
|
|
100
|
+
and:
|
|
101
|
+
- pattern: '(?i)^[ \t]*return '
|
|
102
|
+
- negative_pattern: '(?i)[ \t]*gosub '
|
|
94
103
|
- extensions: ['.bs']
|
|
95
104
|
rules:
|
|
96
105
|
- language: Bikeshed
|
|
@@ -107,6 +116,11 @@ disambiguations:
|
|
|
107
116
|
rules:
|
|
108
117
|
- language: XML
|
|
109
118
|
pattern: '^(\s*)(?i:<Project|<Import|<Property|<?xml|xmlns)'
|
|
119
|
+
- extensions: ['.cairo']
|
|
120
|
+
rules:
|
|
121
|
+
- language: Cairo Zero
|
|
122
|
+
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\+\+$)'
|
|
123
|
+
- language: Cairo
|
|
110
124
|
- extensions: ['.ch']
|
|
111
125
|
rules:
|
|
112
126
|
- language: xBase
|
|
@@ -190,7 +204,7 @@ disambiguations:
|
|
|
190
204
|
- language: Erlang
|
|
191
205
|
pattern: '^\s*(?:%%|main\s*\(.*?\)\s*->)'
|
|
192
206
|
- language: JavaScript
|
|
193
|
-
pattern: '\/\/|
|
|
207
|
+
pattern: '\/\/|["'']use strict["'']|export\s+default\s|\/\*(?:.|[\r\n])*?\*\/'
|
|
194
208
|
- extensions: ['.ex']
|
|
195
209
|
rules:
|
|
196
210
|
- language: Elixir
|
|
@@ -315,7 +329,7 @@ disambiguations:
|
|
|
315
329
|
- extensions: ['.ice']
|
|
316
330
|
rules:
|
|
317
331
|
- language: JSON
|
|
318
|
-
|
|
332
|
+
named_pattern: json
|
|
319
333
|
- language: Slice
|
|
320
334
|
- extensions: ['.inc']
|
|
321
335
|
rules:
|
|
@@ -433,6 +447,8 @@ disambiguations:
|
|
|
433
447
|
rules:
|
|
434
448
|
- language: XML
|
|
435
449
|
pattern: '<!ENTITY '
|
|
450
|
+
- language: NMODL
|
|
451
|
+
pattern: '\b(NEURON|INITIAL|UNITS)\b'
|
|
436
452
|
- language: Modula-2
|
|
437
453
|
pattern: '^\s*(?i:MODULE|END) [\w\.]+;'
|
|
438
454
|
- language: [Linux Kernel Module, AMPL]
|
|
@@ -451,6 +467,10 @@ disambiguations:
|
|
|
451
467
|
- negative_pattern: '/\*'
|
|
452
468
|
- pattern: '^\s*\.(?:include\s|globa?l\s|[A-Za-z][_A-Za-z0-9]*:)'
|
|
453
469
|
- language: MAXScript
|
|
470
|
+
- extensions: ['.msg']
|
|
471
|
+
rules:
|
|
472
|
+
- language: omnetpp-msg
|
|
473
|
+
pattern: '^cplusplus \{\{|^namespace[\s]*([^.\s]*\.)*[^.\s]*;|^struct \{|^message [\S]* (extends)? [\S]*[\s]*\{|^packet \{|^class (extends) [\S]*[\s]*\{|^enum \{|^import ([^.\s]*\.)*[^.\s]*;'
|
|
454
474
|
- extensions: ['.n']
|
|
455
475
|
rules:
|
|
456
476
|
- language: Roff
|
|
@@ -470,6 +490,11 @@ disambiguations:
|
|
|
470
490
|
- language: NL
|
|
471
491
|
pattern: '^(b|g)[0-9]+ '
|
|
472
492
|
- language: NewLisp
|
|
493
|
+
- extensions: ['.nr']
|
|
494
|
+
rules:
|
|
495
|
+
- language: Roff
|
|
496
|
+
pattern: '^\.'
|
|
497
|
+
- language: Noir
|
|
473
498
|
- extensions: ['.nu']
|
|
474
499
|
rules:
|
|
475
500
|
- language: Nushell
|
|
@@ -494,6 +519,13 @@ disambiguations:
|
|
|
494
519
|
pattern: '<\?hh'
|
|
495
520
|
- language: PHP
|
|
496
521
|
pattern: '<\?[^h]'
|
|
522
|
+
- extensions: ['.pkl']
|
|
523
|
+
rules:
|
|
524
|
+
- language: Pkl
|
|
525
|
+
pattern:
|
|
526
|
+
- '^\s*(module|import|amends|extends|local|const|fixed|abstract|open|class|typealias|@\w+)\b'
|
|
527
|
+
- '^\s*[a-zA-Z0-9_$]+\s*(=|{|:)|^\s*`[^`]+`\s*(=|{|:)|for\s*\(|when\s*\('
|
|
528
|
+
- language: Pickle
|
|
497
529
|
- extensions: ['.pl']
|
|
498
530
|
rules:
|
|
499
531
|
- language: Prolog
|
|
@@ -507,7 +539,7 @@ disambiguations:
|
|
|
507
539
|
- extensions: ['.plist']
|
|
508
540
|
rules:
|
|
509
541
|
- language: XML Property List
|
|
510
|
-
pattern: '^\s*(?:<\?xml\s|<!DOCTYPE\s+plist|<plist(?:\s+version\s*=\s*
|
|
542
|
+
pattern: '^\s*(?:<\?xml\s|<!DOCTYPE\s+plist|<plist(?:\s+version\s*=\s*["'']\d+(?:\.\d+)?["''])?\s*>\s*$)'
|
|
511
543
|
- language: OpenStep Property List
|
|
512
544
|
- extensions: ['.plt']
|
|
513
545
|
rules:
|
|
@@ -599,6 +631,11 @@ disambiguations:
|
|
|
599
631
|
pattern:
|
|
600
632
|
- '^\s*(let|module|type)\s+\w*\s+=\s+'
|
|
601
633
|
- '^\s*(?:include|open)\s+\w+\s*$'
|
|
634
|
+
- extensions: ['.resource']
|
|
635
|
+
rules:
|
|
636
|
+
- language: RobotFramework
|
|
637
|
+
pattern:
|
|
638
|
+
- '^\*{3} (Settings|Variables|Keywords) \*{3}$'
|
|
602
639
|
- extensions: ['.rno']
|
|
603
640
|
rules:
|
|
604
641
|
- language: RUNOFF
|
|
@@ -686,6 +723,11 @@ disambiguations:
|
|
|
686
723
|
pattern: '^\s*(?:use\s+v6\b|\bmodule\b|\bmy\s+class\b)'
|
|
687
724
|
- language: Turing
|
|
688
725
|
pattern: '^\s*%[ \t]+|^\s*var\s+\w+(\s*:\s*\w+)?\s*:=\s*\w+'
|
|
726
|
+
- extensions: ['.tact']
|
|
727
|
+
rules:
|
|
728
|
+
- language: JSON
|
|
729
|
+
pattern: '\A\s*\{\"'
|
|
730
|
+
- language: Tact
|
|
689
731
|
- extensions: ['.tag']
|
|
690
732
|
rules:
|
|
691
733
|
- language: Java Server Pages
|
|
@@ -705,6 +747,12 @@ disambiguations:
|
|
|
705
747
|
- language: XML
|
|
706
748
|
pattern: '<TS\b'
|
|
707
749
|
- language: TypeScript
|
|
750
|
+
- extensions: ['.tsp']
|
|
751
|
+
rules:
|
|
752
|
+
- language: TypeSpec
|
|
753
|
+
pattern: '^(import|using|namespace|interface|op|model|scalar|alias|union|enum)\s'
|
|
754
|
+
- language: TSPLIB data
|
|
755
|
+
pattern: '^(NAME|TYPE|DIMENSION|EDGE_WEIGHT_TYPE|EDGE_WEIGHT_FORMAT)\s*:'
|
|
708
756
|
- extensions: ['.tst']
|
|
709
757
|
rules:
|
|
710
758
|
- language: GAP
|
|
@@ -712,14 +760,15 @@ disambiguations:
|
|
|
712
760
|
- language: Scilab
|
|
713
761
|
- extensions: ['.tsx']
|
|
714
762
|
rules:
|
|
715
|
-
- language: TSX
|
|
716
|
-
pattern: '^\s*(import.+(from\s+|require\()[''"]react|\/\/\/\s*<reference\s)'
|
|
717
763
|
- language: XML
|
|
718
764
|
pattern: '(?i:^\s*<\?xml\s+version)'
|
|
765
|
+
- language: TSX
|
|
719
766
|
- extensions: ['.txt']
|
|
720
767
|
rules:
|
|
721
768
|
- language: Vim Help File
|
|
722
769
|
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|:)'
|
|
770
|
+
- language: Hosts File
|
|
771
|
+
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)*+(?=$|\s)'
|
|
723
772
|
- language: Adblock Filter List
|
|
724
773
|
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>)*+\]'
|
|
725
774
|
- language: Text
|
|
@@ -745,6 +794,12 @@ disambiguations:
|
|
|
745
794
|
- language: Vim Script
|
|
746
795
|
pattern: '^UseVimball'
|
|
747
796
|
- language: VBA
|
|
797
|
+
- extensions: ['.vcf']
|
|
798
|
+
rules:
|
|
799
|
+
- language: TSV
|
|
800
|
+
pattern: '\A##fileformat=VCF'
|
|
801
|
+
- language: vCard
|
|
802
|
+
pattern: '\ABEGIN:VCARD'
|
|
748
803
|
- extensions: ['.w']
|
|
749
804
|
rules:
|
|
750
805
|
- language: OpenEdge ABL
|
|
@@ -774,7 +829,7 @@ disambiguations:
|
|
|
774
829
|
- extensions: ['.yy']
|
|
775
830
|
rules:
|
|
776
831
|
- language: JSON
|
|
777
|
-
|
|
832
|
+
named_pattern: json
|
|
778
833
|
- language: Yacc
|
|
779
834
|
named_patterns:
|
|
780
835
|
cpp:
|
|
@@ -791,11 +846,16 @@ named_patterns:
|
|
|
791
846
|
- '^\s*(?:public\s+)?include\s'
|
|
792
847
|
- '^\s*(?:(?:public|export|global)\s+)?(?:atom|constant|enum|function|integer|object|procedure|sequence|type)\s'
|
|
793
848
|
fortran: '^(?i:[c*][^abd-z]| (subroutine|program|end|data)\s|\s*!)'
|
|
849
|
+
freebasic:
|
|
850
|
+
- '(?i)^[ \t]*#(?:define|endif|endmacro|ifn?def|include|lang|macro|pragma)(?:$|\s)'
|
|
851
|
+
- '(?i)^[ \t]*dim( shared)? [a-z_][a-z0-9_]* as [a-z_][a-z0-9_]* ptr'
|
|
852
|
+
- '(?i)^[ \t]*dim( shared)? as [a-z_][a-z0-9_]* [a-z_][a-z0-9_]*'
|
|
794
853
|
gsc:
|
|
795
854
|
- '^\s*#\s*(?:using|insert|include|define|namespace)[ \t]+\w'
|
|
796
855
|
- '^\s*(?>(?:autoexec|private)\s+){0,2}function\s+(?>(?:autoexec|private)\s+){0,2}\w+\s*\('
|
|
797
856
|
- '\b(?:level|self)[ \t]+thread[ \t]+(?:\[\[[ \t]*(?>\w+\.)*\w+[ \t]*\]\]|\w+)[ \t]*\([^\r\n\)]*\)[ \t]*;'
|
|
798
857
|
- '^[ \t]*#[ \t]*(?:precache|using_animtree)[ \t]*\('
|
|
858
|
+
json: '\A\s*[{\[]'
|
|
799
859
|
key_equals_value: '^[^#!;][^=]*='
|
|
800
860
|
m68k:
|
|
801
861
|
- '(?im)\bmoveq(?:\.l)?\s+#(?:\$-?[0-9a-f]{1,3}|%[0-1]{1,8}|-?[0-9]{1,3}),\s*d[0-7]\b'
|
|
@@ -817,6 +877,21 @@ named_patterns:
|
|
|
817
877
|
- '^\s*(?:\*|(?:our\s*)?@)EXPORT\s*='
|
|
818
878
|
- '^\s*package\s+[^\W\d]\w*(?:::\w+)*\s*(?:[;{]|\sv?\d)'
|
|
819
879
|
- '[\s$][^\W\d]\w*(?::\w+)*->[a-zA-Z_\[({]'
|
|
880
|
+
quickbasic:
|
|
881
|
+
- '^[ ]*(CONST|DIM|REDIM|DEFINT|PRINT|DECLARE (SUB|FUNCTION)|FUNCTION|SUB) '
|
|
882
|
+
- '(#|$)lang:?\s*"?qb"?'
|
|
883
|
+
- '(?i)''\$INCLUDE:'
|
|
884
|
+
- '(?i)^[ ]*CLS[ ]*(''|:|\r|\n)'
|
|
885
|
+
- '(?i)^[ ]*OPTION _EXPLICIT'
|
|
886
|
+
- '(?i)^[ ]*DIM SHARED '
|
|
887
|
+
- '(?i)^[ ]*PRINT "'
|
|
888
|
+
- '(?i) As _(Byte|Offset|MEM)'
|
|
889
|
+
- '(?i)^[ ]*_(DISPLAY|DEST|CONSOLE|SOURCE|FREEIMAGE|PALETTECOLOR|PRINTSTRING|LOADFONT|PUTIMAGE)'
|
|
890
|
+
- '(?i)^[ ]*_(TITLE|PLAYMOD) "'
|
|
891
|
+
- '(?i)^[ ]*_(LIMIT|SCREEN|DELAY) \.?\d+'
|
|
892
|
+
- '(?i)\b_(MOUSEBUTTON|NEWIMAGE|KEYDOWN|WIDTH|HEIGHT)\('
|
|
893
|
+
- '(?i)^[ ]*\$(CONSOLE|CHECKING):'
|
|
894
|
+
- '(?i)^[ ]*\$(FULLSCREEN|RESIZE|STATIC|DYNAMIC|NOPREFIX|SCREENSHOW|SCREENHIDE|EXEICON)\b'
|
|
820
895
|
raku: '^\s*(?:use\s+v6\b|\bmodule\b|\b(?:my\s+)?class\b)'
|
|
821
896
|
vb-class: '^[ ]*VERSION [0-9]\.[0-9] CLASS'
|
|
822
897
|
vb-form: '^[ ]*VERSION [0-9]\.[0-9]{2}'
|
|
@@ -826,9 +901,9 @@ named_patterns:
|
|
|
826
901
|
- '^[ ]*(?:Public|Private)? Declare PtrSafe (?:Sub|Function)\b'
|
|
827
902
|
- '^[ ]*#If Win64\b'
|
|
828
903
|
- '^[ ]*(?:Dim|Const) [0-9a-zA-Z_]*[ ]*As Long(?:Ptr|Long)\b'
|
|
829
|
-
- '^[ ]*Option (?:Private Module|Compare
|
|
904
|
+
- '^[ ]*Option (?:Private Module|Compare Database)\b'
|
|
830
905
|
- '(?: |\()(?:Access|Excel|Outlook|PowerPoint|Visio|Word|VBIDE)\.\w'
|
|
831
906
|
- '\b(?:(?:Active)?VBProjects?|VBComponents?|Application\.(?:VBE|ScreenUpdating))\b'
|
|
832
|
-
- '\b(?:ThisDrawing|AcadObject|Active(?:Explorer|Inspector|Window\.Presentation|Presentation|Document)|Selection\.(?:Find|Paragraphs))\b'
|
|
907
|
+
- '\b(?:ThisDrawing|AcadObject|Active(?:Explorer|Inspector|Window\.Presentation|Presentation|Document)|Selection\.(?:Document|Find|Paragraphs|Range))\b'
|
|
833
908
|
- '\b(?:(?:This|Active)?Workbooks?|Worksheets?|Active(?:Sheet|Chart|Cell)|WorksheetFunction)\b'
|
|
834
909
|
- '\b(?:Range\(".*|Cells\([0-9a-zA-Z_]*, (?:[0-9a-zA-Z_]*|"[a-zA-Z]{1,3}"))\)'
|