linguist-js 2.9.2 → 3.0.0-pre
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/bin/index.js +1 -1
- package/dist/analyser/classifiers/byAttributes.d.ts +3 -0
- package/dist/analyser/classifiers/byAttributes.js +13 -0
- package/dist/analyser/classifiers/byExtension.d.ts +3 -0
- package/dist/analyser/classifiers/byExtension.js +31 -0
- package/dist/analyser/classifiers/byFilename.d.ts +3 -0
- package/dist/analyser/classifiers/byFilename.js +10 -0
- package/dist/analyser/classifiers/byHeuristics.d.ts +3 -0
- package/dist/analyser/classifiers/byHeuristics.js +67 -0
- package/dist/analyser/classifiers/byModeline.d.ts +3 -0
- package/dist/analyser/classifiers/byModeline.js +22 -0
- package/dist/analyser/classifiers/byShebang.d.ts +3 -0
- package/dist/analyser/classifiers/byShebang.js +27 -0
- package/dist/analyser/index.d.ts +3 -0
- package/dist/analyser/index.js +12 -0
- package/dist/analyser/pipeline/aggregate.d.ts +2 -0
- package/dist/analyser/pipeline/aggregate.js +98 -0
- package/dist/analyser/pipeline/classify.d.ts +3 -0
- package/dist/analyser/pipeline/classify.js +31 -0
- package/dist/analyser/pipeline/filter.d.ts +2 -0
- package/dist/analyser/pipeline/filter.js +14 -0
- package/dist/analyser/pipeline/heuristics.d.ts +3 -0
- package/dist/analyser/pipeline/heuristics.js +12 -0
- package/dist/analyser/pipeline/normalise.d.ts +2 -0
- package/dist/analyser/pipeline/normalise.js +9 -0
- package/dist/cli/output/default.d.ts +3 -0
- package/dist/cli/output/default.js +106 -0
- package/dist/cli/output/tree.d.ts +3 -0
- package/dist/cli/output/tree.js +11 -0
- package/dist/cli/runCliAnalysis.d.ts +2 -0
- package/dist/cli/runCliAnalysis.js +26 -0
- package/dist/cli/utils.d.ts +2 -0
- package/dist/cli/utils.js +9 -0
- package/dist/cli.js +14 -143
- package/dist/entry/analyseFs.d.ts +2 -0
- package/dist/entry/analyseFs.js +11 -0
- package/dist/entry/analyseRaw.d.ts +4 -0
- package/dist/entry/analyseRaw.js +11 -0
- package/dist/index.d.ts +19 -4
- package/dist/index.js +18 -483
- package/dist/input/fromFilesystem.d.ts +4 -0
- package/dist/input/fromFilesystem.js +115 -0
- package/dist/input/fromRawContent.d.ts +2 -0
- package/dist/input/fromRawContent.js +19 -0
- package/dist/input/normaliseOpts.d.ts +2 -0
- package/dist/input/normaliseOpts.js +13 -0
- package/dist/program/classes/attributes.d.ts +11 -0
- package/dist/program/classes/attributes.js +37 -0
- package/dist/{helpers/load-data.d.ts → program/data/loadDataFiles.d.ts} +1 -1
- package/dist/program/data/loadDataFiles.js +32 -0
- package/dist/program/data/retrieveData.d.ts +12 -0
- package/dist/program/data/retrieveData.js +27 -0
- package/dist/{helpers/norm-path.d.ts → program/fs/normalisedPath.d.ts} +1 -0
- package/dist/program/fs/normalisedPath.js +17 -0
- package/dist/program/fs/readFile.js +17 -0
- package/dist/{helpers/walk-tree.d.ts → program/fs/walkTree.d.ts} +1 -1
- package/dist/{helpers/walk-tree.js → program/fs/walkTree.js} +22 -30
- package/dist/{helpers/parse-gitattributes.d.ts → program/parsing/parseGitattributes.d.ts} +2 -2
- package/dist/{helpers/parse-gitattributes.js → program/parsing/parseGitattributes.js} +4 -8
- package/dist/{helpers/parse-gitignore.js → program/parsing/parseGitignore.js} +1 -4
- package/dist/program/processFiles.d.ts +9 -0
- package/dist/program/processFiles.js +111 -0
- package/dist/{helpers/convert-pcre.js → program/utils/pcre.js} +1 -4
- package/dist/{schema.d.ts → types/schema.d.ts} +1 -1
- package/dist/types/schema.js +1 -0
- package/dist/{types.d.ts → types/types.d.ts} +35 -24
- package/dist/types/types.js +1 -0
- package/ext/generated.rb +6 -0
- package/ext/heuristics.yml +102 -11
- package/ext/languages.yml +518 -88
- package/ext/vendor.yml +1 -0
- package/package.json +14 -13
- package/readme.md +82 -87
- package/dist/helpers/load-data.js +0 -37
- package/dist/helpers/norm-path.js +0 -15
- package/dist/helpers/read-file.js +0 -23
- package/dist/schema.js +0 -2
- package/dist/types.js +0 -2
- /package/dist/{helpers/read-file.d.ts → program/fs/readFile.d.ts} +0 -0
- /package/dist/{helpers/parse-gitignore.d.ts → program/parsing/parseGitignore.d.ts} +0 -0
- /package/dist/{helpers/convert-pcre.d.ts → program/utils/pcre.d.ts} +0 -0
package/ext/heuristics.yml
CHANGED
|
@@ -13,6 +13,7 @@ disambiguations:
|
|
|
13
13
|
- named_pattern: man-heading
|
|
14
14
|
- language: Roff
|
|
15
15
|
pattern: '^\.(?:[A-Za-z]{2}(?:\s|$)|\\")'
|
|
16
|
+
- language: Text
|
|
16
17
|
- extensions: ['.1in', '.1m', '.1x', '.3in', '.3m', '.3p', '.3pm', '.3qt', '.3x', '.man', '.mdoc']
|
|
17
18
|
rules:
|
|
18
19
|
- language: Roff Manpage
|
|
@@ -25,12 +26,27 @@ disambiguations:
|
|
|
25
26
|
- named_pattern: man-title
|
|
26
27
|
- named_pattern: man-heading
|
|
27
28
|
- language: Roff
|
|
29
|
+
- extensions: ['.action']
|
|
30
|
+
rules:
|
|
31
|
+
- language: ROS Interface
|
|
32
|
+
and:
|
|
33
|
+
- pattern: '(?i)^[a-z]\w*(?:\/[a-z]\w*)?(?:<=\d+)?(?:\[(?:<=\d+)?\])?\s+\w+\b'
|
|
34
|
+
- pattern: '^---\s*$'
|
|
35
|
+
- negative_pattern: '^\s*[^\s@#\w-]'
|
|
28
36
|
- extensions: ['.al']
|
|
29
37
|
rules:
|
|
30
38
|
- language: AL
|
|
31
39
|
and:
|
|
32
40
|
- pattern: '\b(?i:(CODEUNIT|PAGE|PAGEEXTENSION|PAGECUSTOMIZATION|DOTNET|ENUM|ENUMEXTENSION|VALUE|QUERY|REPORT|TABLE|TABLEEXTENSION|XMLPORT|PROFILE|CONTROLADDIN|REPORTEXTENSION|INTERFACE|PERMISSIONSET|PERMISSIONSETEXTENSION|ENTITLEMENT))\b'
|
|
33
41
|
- language: Perl
|
|
42
|
+
- extensions: ['.alg']
|
|
43
|
+
rules:
|
|
44
|
+
- language: ALGOL
|
|
45
|
+
pattern:
|
|
46
|
+
- '(?i)^comment\b.*(;|comment)'
|
|
47
|
+
- '^#[^#\r\n]+#$'
|
|
48
|
+
- '(?i)\b(integer|real|boolean|string)\b\s+\w+\s*:=\s*'
|
|
49
|
+
- '(?i)^begin[\s\S]*^end'
|
|
34
50
|
- extensions: ['.app']
|
|
35
51
|
rules:
|
|
36
52
|
- language: Erlang
|
|
@@ -102,6 +118,8 @@ disambiguations:
|
|
|
102
118
|
and:
|
|
103
119
|
- pattern: '(?i)^[ \t]*return '
|
|
104
120
|
- negative_pattern: '(?i)[ \t]*gosub '
|
|
121
|
+
- language: QuickBASIC
|
|
122
|
+
named_pattern: quickbasic
|
|
105
123
|
- extensions: ['.bs']
|
|
106
124
|
rules:
|
|
107
125
|
- language: Bikeshed
|
|
@@ -114,6 +132,11 @@ disambiguations:
|
|
|
114
132
|
- (?i:^\s*(end\sfunction)$)
|
|
115
133
|
- language: Bluespec BH
|
|
116
134
|
pattern: '^package\s+[A-Za-z_][A-Za-z0-9_'']*(?:\s*\(|\s+where)'
|
|
135
|
+
- extensions: ['.bst']
|
|
136
|
+
rules:
|
|
137
|
+
- language: BibTeX Style
|
|
138
|
+
pattern: 'ENTRY\s*\{'
|
|
139
|
+
- language: BuildStream
|
|
117
140
|
- extensions: ['.builds']
|
|
118
141
|
rules:
|
|
119
142
|
- language: XML
|
|
@@ -147,6 +170,8 @@ disambiguations:
|
|
|
147
170
|
pattern: '^\s*\\(?:NeedsTeXFormat|ProvidesClass)\{'
|
|
148
171
|
- language: ObjectScript
|
|
149
172
|
pattern: '^Class\s'
|
|
173
|
+
- language: OpenEdge ABL
|
|
174
|
+
pattern: '(?i)^\s*(?:end\s+(?:class|interface)\.|(?:class|interface)\s+[a-z_][a-z0-9_#$%&-]*:)'
|
|
150
175
|
- extensions: ['.cmp']
|
|
151
176
|
rules:
|
|
152
177
|
- language: Gerber Image
|
|
@@ -247,6 +272,8 @@ disambiguations:
|
|
|
247
272
|
and:
|
|
248
273
|
- named_pattern: vb-form
|
|
249
274
|
- pattern: '^\s*Begin\s+VB\.Form\s+'
|
|
275
|
+
- language: INI
|
|
276
|
+
pattern: '\ATYPE=VIEW'
|
|
250
277
|
- extensions: ['.fs']
|
|
251
278
|
rules:
|
|
252
279
|
- language: Forth
|
|
@@ -374,6 +401,18 @@ disambiguations:
|
|
|
374
401
|
- language: OASv3-json
|
|
375
402
|
pattern: '"openapi":\s?"3.[0-9.]+"'
|
|
376
403
|
- language: JSON
|
|
404
|
+
- extensions: ['.k']
|
|
405
|
+
rules:
|
|
406
|
+
- language: KCL
|
|
407
|
+
pattern:
|
|
408
|
+
- '^schema [A-Za-z0-9_-]+'
|
|
409
|
+
- '^\}$'
|
|
410
|
+
- '\s*\}\s*'
|
|
411
|
+
- language: KFramework
|
|
412
|
+
pattern:
|
|
413
|
+
- '^requires\s+"[^"]+"$'
|
|
414
|
+
- '^syntax\s+\w+\s+::=.*'
|
|
415
|
+
- '^endmodule$'
|
|
377
416
|
- extensions: ['.l']
|
|
378
417
|
rules:
|
|
379
418
|
- language: Common Lisp
|
|
@@ -392,9 +431,15 @@ disambiguations:
|
|
|
392
431
|
pattern: '^import [A-Z]'
|
|
393
432
|
- extensions: ['.lp']
|
|
394
433
|
rules:
|
|
434
|
+
- language: Lambdapi
|
|
435
|
+
pattern: '(?:^|\s)symbol(?:$|\s)|(?:^|\s)rule(?:$|\s)'
|
|
395
436
|
- language: Linear Programming
|
|
396
|
-
pattern: '
|
|
437
|
+
pattern: '(?i)^\s*(?:minimize|minimum|min|maximize|maximum|max)(?:\s+multi-objectives)?\s*$'
|
|
397
438
|
- language: Answer Set Programming
|
|
439
|
+
pattern:
|
|
440
|
+
- '^\s*#(?:include|const|program|script|show|minimize|maximize|heuristic|project|edge|theory|defined)\b'
|
|
441
|
+
- '^\s*(?:[A-Za-z_]\w*(?:\([^)]*\))?\s*:-|:-)\s[^.]*\.'
|
|
442
|
+
- '^\s*[a-z_][a-zA-Z0-9_]*(?:\([^)]*\))?\s*\.\s*$'
|
|
398
443
|
- extensions: ['.ls']
|
|
399
444
|
rules:
|
|
400
445
|
- language: LoomScript
|
|
@@ -416,7 +461,7 @@ disambiguations:
|
|
|
416
461
|
pattern: '^: '
|
|
417
462
|
- language: M
|
|
418
463
|
pattern: '^\s*;'
|
|
419
|
-
- language:
|
|
464
|
+
- language: Wolfram Language
|
|
420
465
|
and:
|
|
421
466
|
- pattern: '\(\*'
|
|
422
467
|
- pattern: '\*\)$'
|
|
@@ -473,6 +518,12 @@ disambiguations:
|
|
|
473
518
|
pattern: '^\s*(alias|def|from|fn|import|struct|trait)\s'
|
|
474
519
|
- language: XML
|
|
475
520
|
pattern: '^\s*<\?xml'
|
|
521
|
+
- extensions: ['.mps']
|
|
522
|
+
rules:
|
|
523
|
+
- language: JetBrains MPS
|
|
524
|
+
pattern: '<persistence'
|
|
525
|
+
- language: Mathematical Programming System
|
|
526
|
+
pattern: '(?i)^\s*(ROWS|COLUMNS)\s*$'
|
|
476
527
|
- extensions: ['.ms']
|
|
477
528
|
rules:
|
|
478
529
|
- language: Roff
|
|
@@ -486,6 +537,10 @@ disambiguations:
|
|
|
486
537
|
rules:
|
|
487
538
|
- language: OMNeT++ MSG
|
|
488
539
|
pattern: '^cplusplus\(?[\S]*\)?[\s]*\{?\{?|^namespace[\s]+([^.\s]*\.)*[^.\s]*;|^struct[\s]+[\S]+|^message[\s]+[\S]+(extends )?[\S]*[\s]*|^packet[\s]+[\S]+|^class[\s]+[\S]+(extends )?[\S]*[\s]*|^enum[\s]+[\S]+|^import ([^.\s]*\.)*[^.\s]*;'
|
|
540
|
+
- language: ROS Interface
|
|
541
|
+
and:
|
|
542
|
+
- pattern: '(?i)^[a-z]\w*(?:\/[a-z]\w*)?(?:<=\d+)?(?:\[(?:<=\d+)?\])?\s+\w+\b'
|
|
543
|
+
- negative_pattern: '^\s*[^\s@#\w-]'
|
|
489
544
|
- extensions: ['.n']
|
|
490
545
|
rules:
|
|
491
546
|
- language: Roff
|
|
@@ -498,8 +553,19 @@ disambiguations:
|
|
|
498
553
|
pattern: '^\s*<\?xml\s+version'
|
|
499
554
|
- language: Gerber Image
|
|
500
555
|
pattern: '^[DGMT][0-9]{2}\*(?:\r?\n|\r)'
|
|
556
|
+
- language: Nickel
|
|
557
|
+
pattern:
|
|
558
|
+
- '^let(?:\srec)?(?:\s[a-zA-Z_][a-zA-Z0-9_]*)?'
|
|
559
|
+
- '^import\s"[^"]+"\s+as\s'
|
|
560
|
+
- 'std\.[a-zA-Z_][a-zA-Z0-9_]*\.'
|
|
501
561
|
- language: Text
|
|
502
562
|
pattern: 'THE_TITLE'
|
|
563
|
+
- language: NCL
|
|
564
|
+
pattern:
|
|
565
|
+
- '^load "'
|
|
566
|
+
- '^begin$'
|
|
567
|
+
- '[0-9]\.$'
|
|
568
|
+
- '^;'
|
|
503
569
|
- extensions: ['.nl']
|
|
504
570
|
rules:
|
|
505
571
|
- language: NL
|
|
@@ -528,6 +594,9 @@ disambiguations:
|
|
|
528
594
|
- '^s?plot\b'
|
|
529
595
|
- '^set\s+(term|terminal|out|output|[xy]tics|[xy]label|[xy]range|style)\b'
|
|
530
596
|
- language: OpenEdge ABL
|
|
597
|
+
pattern:
|
|
598
|
+
- '(?i)\bDEFINE\s+(?:VARIABLE|TEMP-TABLE|BUFFER|QUERY|INPUT\s+PARAMETER|OUTPUT\s+PARAMETER)\b'
|
|
599
|
+
- '(?i)\bEND(?:\s+(?:PROCEDURE|FUNCTION|DO|FOR\s+EACH))?\.'
|
|
531
600
|
- extensions: ['.php']
|
|
532
601
|
rules:
|
|
533
602
|
- language: Hack
|
|
@@ -692,21 +761,23 @@ disambiguations:
|
|
|
692
761
|
pattern: '^#+\s+(NAME|SYNOPSIS|DESCRIPTION)'
|
|
693
762
|
- extensions: ['.scm']
|
|
694
763
|
rules:
|
|
695
|
-
- language: Scheme
|
|
696
|
-
pattern:
|
|
697
|
-
- '(?:''[\(\*#]|\w->\w|\.\.\.[\s\)]|\([+\-:<>\/=~\)]|~>|[#`]\(|#:\w)'
|
|
698
|
-
- '^\s*\((?:define\*?|import|library|lambda)'
|
|
699
|
-
negative_pattern:
|
|
700
|
-
- '\(#[\w-]+[!\?]'
|
|
701
|
-
- '[\)\]"_]\s*(?:[\*\+\?]|@\w)'
|
|
702
764
|
- language: Tree-sitter Query
|
|
703
765
|
pattern:
|
|
704
766
|
- '\(#[\w-]+[!\?]'
|
|
705
|
-
- '[\)\]
|
|
767
|
+
- '(?:[\)\]]\s*[\*\+\?](?:\s|$))'
|
|
706
768
|
- '(?:^\s*\w+:\s*[\(\[\"])'
|
|
707
769
|
- '\(#(?:set!|(?:not-)?(?:any-of|match)\?)'
|
|
770
|
+
- '@[\w.-]+(?:\)\s|$)'
|
|
708
771
|
negative_pattern:
|
|
709
772
|
- '\([+\-:<>\/=~\)]'
|
|
773
|
+
- language: Scheme
|
|
774
|
+
pattern:
|
|
775
|
+
- '(?:''[\(\*#]|\w->\w|\.\.\.[\s\)]|\([+\-:<>\/=~\)]|~>|[#`]\(|#:\w)'
|
|
776
|
+
- '^\s*\((?:define\*?|import|library|lambda)'
|
|
777
|
+
negative_pattern:
|
|
778
|
+
- '\(#[\w-]+[!\?]'
|
|
779
|
+
- '(?:[\)\]]\s*[\*\+\?](?:\s|$))'
|
|
780
|
+
- '@[\w.-]+(?:\)\s|$)'
|
|
710
781
|
- extensions: ['.sol']
|
|
711
782
|
rules:
|
|
712
783
|
- language: Solidity
|
|
@@ -728,6 +799,13 @@ disambiguations:
|
|
|
728
799
|
rules:
|
|
729
800
|
- language: SubRip Text
|
|
730
801
|
pattern: '^(\d{2}:\d{2}:\d{2},\d{3})\s*(-->)\s*(\d{2}:\d{2}:\d{2},\d{3})$'
|
|
802
|
+
- extensions: ['.srv']
|
|
803
|
+
rules:
|
|
804
|
+
- language: ROS Interface
|
|
805
|
+
and:
|
|
806
|
+
- pattern: '(?i)^[a-z]\w*(?:\/[a-z]\w*)?(?:<=\d+)?(?:\[(?:<=\d+)?\])?\s+\w+\b'
|
|
807
|
+
- pattern: '^---\s*$'
|
|
808
|
+
- negative_pattern: '^\s*[^\s@#\w-]'
|
|
731
809
|
- extensions: ['.st']
|
|
732
810
|
rules:
|
|
733
811
|
- language: StringTemplate
|
|
@@ -773,6 +851,13 @@ disambiguations:
|
|
|
773
851
|
rules:
|
|
774
852
|
- language: Java Server Pages
|
|
775
853
|
pattern: '<%[@!=\s]?\s*(taglib|tag|include|attribute|variable)\s'
|
|
854
|
+
- extensions: ['.tl']
|
|
855
|
+
rules:
|
|
856
|
+
- language: Teal
|
|
857
|
+
and:
|
|
858
|
+
- pattern: '--.*'
|
|
859
|
+
- pattern: '\b(local|function|end|record|interface|enum)\b'
|
|
860
|
+
- language: Type Language
|
|
776
861
|
- extensions: ['.tlv']
|
|
777
862
|
rules:
|
|
778
863
|
- language: TL-Verilog
|
|
@@ -783,6 +868,12 @@ disambiguations:
|
|
|
783
868
|
pattern: '^## |@no-lib-strip@'
|
|
784
869
|
- language: TeX
|
|
785
870
|
pattern: '^\\(contentsline|defcounter|beamer|boolfalse)'
|
|
871
|
+
- extensions: ['.tpl']
|
|
872
|
+
rules:
|
|
873
|
+
- language: Go Template
|
|
874
|
+
pattern: '\{\{-?\s*(\`?\"\\?\"?|\/\*\s|\w*)\b'
|
|
875
|
+
- language: Smarty
|
|
876
|
+
pattern: '(?<!\{)\{(\*\s|\$|\/)?\w*\b'
|
|
786
877
|
- extensions: ['.ts']
|
|
787
878
|
rules:
|
|
788
879
|
- language: XML
|
|
@@ -827,7 +918,7 @@ disambiguations:
|
|
|
827
918
|
- language: Rocq Prover
|
|
828
919
|
pattern: '(?:^|\s)(?:Proof|Qed)\.(?:$|\s)|(?:^|\s)Require[ \t]+(Import|Export)\s'
|
|
829
920
|
- language: Verilog
|
|
830
|
-
pattern: '^[ \t]*module\s+[^\s()]+\s
|
|
921
|
+
pattern: '^[ \t]*module\s+[^\s()]+\s*\#?\(|^[ \t]*`(?:define|ifdef|ifndef|include|timescale|pragma)|^[ \t]*always[ \t]*@|^[ \t]*initial[ \t]*(begin|@)'
|
|
831
922
|
- language: V
|
|
832
923
|
pattern: '\$(?:if|else)[ \t]|^[ \t]*fn\s+[^\s()]+\(.*?\).*?\{|^[ \t]*for\s*\{'
|
|
833
924
|
- extensions: ['.vba']
|