linguist-js 2.8.0 → 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.
Files changed (39) hide show
  1. package/dist/helpers/convert-pcre.js +1 -1
  2. package/dist/helpers/load-data.d.ts +1 -1
  3. package/dist/helpers/load-data.js +4 -5
  4. package/dist/helpers/parse-gitattributes.js +1 -1
  5. package/dist/helpers/parse-gitignore.js +1 -1
  6. package/dist/helpers/read-file.js +1 -1
  7. package/dist/helpers/walk-tree.js +7 -2
  8. package/dist/index.js +1 -1
  9. package/dist/package.json +56 -0
  10. package/dist/src/cli.d.ts +1 -0
  11. package/dist/src/cli.js +146 -0
  12. package/dist/src/helpers/convert-pcre.d.ts +2 -0
  13. package/dist/src/helpers/convert-pcre.js +38 -0
  14. package/dist/src/helpers/load-data.d.ts +4 -0
  15. package/dist/src/helpers/load-data.js +37 -0
  16. package/dist/src/helpers/norm-path.d.ts +2 -0
  17. package/dist/src/helpers/norm-path.js +15 -0
  18. package/dist/src/helpers/parse-gitattributes.d.ts +17 -0
  19. package/dist/src/helpers/parse-gitattributes.js +37 -0
  20. package/dist/src/helpers/parse-gitignore.d.ts +1 -0
  21. package/dist/src/helpers/parse-gitignore.js +12 -0
  22. package/dist/src/helpers/read-file.d.ts +5 -0
  23. package/dist/src/helpers/read-file.js +23 -0
  24. package/dist/src/helpers/walk-tree.d.ts +20 -0
  25. package/dist/src/helpers/walk-tree.js +85 -0
  26. package/dist/src/index.d.ts +4 -0
  27. package/dist/src/index.js +485 -0
  28. package/dist/src/schema.d.ts +37 -0
  29. package/dist/src/schema.js +2 -0
  30. package/dist/src/types.d.ts +74 -0
  31. package/dist/src/types.js +2 -0
  32. package/dist/version.d.ts +2 -0
  33. package/dist/version.js +4 -0
  34. package/ext/documentation.yml +0 -3
  35. package/ext/generated.rb +1 -0
  36. package/ext/heuristics.yml +53 -15
  37. package/ext/languages.yml +93 -4
  38. package/ext/vendor.yml +0 -2
  39. package/package.json +3 -2
@@ -1,4 +1,3 @@
1
-
2
1
  ---
3
2
  disambiguations:
4
3
  - extensions: ['.1', '.2', '.3', '.4', '.5', '.6', '.7', '.8', '.9']
@@ -61,14 +60,18 @@ disambiguations:
61
60
  rules:
62
61
  - language: B4X
63
62
  pattern: '\A\W{0,3}(?:.*(?:\r?\n|\r)){0,9}B4(?:J|A|R|i)=true'
64
- - language: FreeBasic
65
- pattern: '^[ \t]*#(?i)(?:define|endif|endmacro|ifn?def|include|lang|macro)(?:$|\s)'
63
+ - language: FreeBASIC
64
+ named_pattern: freebasic
65
+ - language: FreeBASIC
66
+ and:
67
+ - pattern: '(?i)^[ \t]*return '
68
+ - negative_pattern: '(?i)[ \t]*gosub '
66
69
  - language: BASIC
67
70
  pattern: '\A\s*\d'
71
+ - language: QuickBASIC
72
+ named_pattern: quickbasic
68
73
  - language: VBA
69
- and:
70
- - named_pattern: vb-module
71
- - named_pattern: vba
74
+ named_pattern: vba
72
75
  - language: Visual Basic 6.0
73
76
  named_pattern: vb-module
74
77
  - extensions: ['.bb']
@@ -91,8 +94,12 @@ disambiguations:
91
94
  pattern: '(>\+>|>\+<)'
92
95
  - extensions: ['.bi']
93
96
  rules:
94
- - language: FreeBasic
95
- pattern: '^[ \t]*#(?i)(?:define|endif|endmacro|ifn?def|if|include|lang|macro)(?:$|\s)'
97
+ - language: FreeBASIC
98
+ named_pattern: freebasic
99
+ - language: FreeBASIC
100
+ and:
101
+ - pattern: '(?i)^[ \t]*return '
102
+ - negative_pattern: '(?i)[ \t]*gosub '
96
103
  - extensions: ['.bs']
97
104
  rules:
98
105
  - language: Bikeshed
@@ -460,6 +467,10 @@ disambiguations:
460
467
  - negative_pattern: '/\*'
461
468
  - pattern: '^\s*\.(?:include\s|globa?l\s|[A-Za-z][_A-Za-z0-9]*:)'
462
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]*;'
463
474
  - extensions: ['.n']
464
475
  rules:
465
476
  - language: Roff
@@ -712,6 +723,11 @@ disambiguations:
712
723
  pattern: '^\s*(?:use\s+v6\b|\bmodule\b|\bmy\s+class\b)'
713
724
  - language: Turing
714
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
715
731
  - extensions: ['.tag']
716
732
  rules:
717
733
  - language: Java Server Pages
@@ -731,6 +747,12 @@ disambiguations:
731
747
  - language: XML
732
748
  pattern: '<TS\b'
733
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*:'
734
756
  - extensions: ['.tst']
735
757
  rules:
736
758
  - language: GAP
@@ -738,18 +760,15 @@ disambiguations:
738
760
  - language: Scilab
739
761
  - extensions: ['.tsx']
740
762
  rules:
741
- - language: TSX
742
- pattern: '^\s*(import.+(from\s+|require\()[''"]react|\/\/\/\s*<reference\s)'
743
763
  - language: XML
744
764
  pattern: '(?i:^\s*<\?xml\s+version)'
765
+ - language: TSX
745
766
  - extensions: ['.txt']
746
767
  rules:
747
768
  - language: Vim Help File
748
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|:)'
749
770
  - 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)
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)'
753
772
  - language: Adblock Filter List
754
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>)*+\]'
755
774
  - language: Text
@@ -827,6 +846,10 @@ named_patterns:
827
846
  - '^\s*(?:public\s+)?include\s'
828
847
  - '^\s*(?:(?:public|export|global)\s+)?(?:atom|constant|enum|function|integer|object|procedure|sequence|type)\s'
829
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_]*'
830
853
  gsc:
831
854
  - '^\s*#\s*(?:using|insert|include|define|namespace)[ \t]+\w'
832
855
  - '^\s*(?>(?:autoexec|private)\s+){0,2}function\s+(?>(?:autoexec|private)\s+){0,2}\w+\s*\('
@@ -854,6 +877,21 @@ named_patterns:
854
877
  - '^\s*(?:\*|(?:our\s*)?@)EXPORT\s*='
855
878
  - '^\s*package\s+[^\W\d]\w*(?:::\w+)*\s*(?:[;{]|\sv?\d)'
856
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'
857
895
  raku: '^\s*(?:use\s+v6\b|\bmodule\b|\b(?:my\s+)?class\b)'
858
896
  vb-class: '^[ ]*VERSION [0-9]\.[0-9] CLASS'
859
897
  vb-form: '^[ ]*VERSION [0-9]\.[0-9]{2}'
@@ -863,9 +901,9 @@ named_patterns:
863
901
  - '^[ ]*(?:Public|Private)? Declare PtrSafe (?:Sub|Function)\b'
864
902
  - '^[ ]*#If Win64\b'
865
903
  - '^[ ]*(?:Dim|Const) [0-9a-zA-Z_]*[ ]*As Long(?:Ptr|Long)\b'
866
- - '^[ ]*Option (?:Private Module|Compare (?:Database|Text|Binary))\b'
904
+ - '^[ ]*Option (?:Private Module|Compare Database)\b'
867
905
  - '(?: |\()(?:Access|Excel|Outlook|PowerPoint|Visio|Word|VBIDE)\.\w'
868
906
  - '\b(?:(?:Active)?VBProjects?|VBComponents?|Application\.(?:VBE|ScreenUpdating))\b'
869
- - '\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'
870
908
  - '\b(?:(?:This|Active)?Workbooks?|Worksheets?|Active(?:Sheet|Chart|Cell)|WorksheetFunction)\b'
871
909
  - '\b(?:Range\(".*|Cells\([0-9a-zA-Z_]*, (?:[0-9a-zA-Z_]*|"[a-zA-Z]{1,3}"))\)'
package/ext/languages.yml CHANGED
@@ -1,4 +1,3 @@
1
-
2
1
  ---
3
2
  1C Enterprise:
4
3
  type: programming
@@ -873,7 +872,7 @@ CSS:
873
872
  ace_mode: css
874
873
  codemirror_mode: css
875
874
  codemirror_mime_type: text/css
876
- color: "#563d7c"
875
+ color: "#663399"
877
876
  extensions:
878
877
  - ".css"
879
878
  language_id: 50
@@ -1597,6 +1596,7 @@ Dockerfile:
1597
1596
  tm_scope: source.dockerfile
1598
1597
  extensions:
1599
1598
  - ".dockerfile"
1599
+ - ".containerfile"
1600
1600
  filenames:
1601
1601
  - Containerfile
1602
1602
  - Dockerfile
@@ -2131,7 +2131,7 @@ Fortran Free Form:
2131
2131
  codemirror_mode: fortran
2132
2132
  codemirror_mime_type: text/x-fortran
2133
2133
  language_id: 761352333
2134
- FreeBasic:
2134
+ FreeBASIC:
2135
2135
  type: programming
2136
2136
  color: "#141AC9"
2137
2137
  extensions:
@@ -2910,6 +2910,14 @@ Harbour:
2910
2910
  tm_scope: source.harbour
2911
2911
  ace_mode: text
2912
2912
  language_id: 156
2913
+ Hare:
2914
+ type: programming
2915
+ color: "#9d7424"
2916
+ extensions:
2917
+ - ".ha"
2918
+ ace_mode: text
2919
+ language_id: 463518941
2920
+ tm_scope: none
2913
2921
  Haskell:
2914
2922
  type: programming
2915
2923
  color: "#5e5086"
@@ -3023,6 +3031,7 @@ INI:
3023
3031
  - ".properties"
3024
3032
  - ".url"
3025
3033
  filenames:
3034
+ - ".buckconfig"
3026
3035
  - ".coveragerc"
3027
3036
  - ".flake8"
3028
3037
  - ".pylintrc"
@@ -3076,9 +3085,11 @@ Ignore List:
3076
3085
  - ".coffeelintignore"
3077
3086
  - ".cvsignore"
3078
3087
  - ".dockerignore"
3088
+ - ".easignore"
3079
3089
  - ".eleventyignore"
3080
3090
  - ".eslintignore"
3081
3091
  - ".gitignore"
3092
+ - ".ignore"
3082
3093
  - ".markdownlintignore"
3083
3094
  - ".nodemonignore"
3084
3095
  - ".npmignore"
@@ -3235,9 +3246,11 @@ JSON:
3235
3246
  - ".har"
3236
3247
  - ".ice"
3237
3248
  - ".JSON-tmLanguage"
3249
+ - ".json.example"
3238
3250
  - ".jsonl"
3239
3251
  - ".mcmeta"
3240
3252
  - ".sarif"
3253
+ - ".tact"
3241
3254
  - ".tfstate"
3242
3255
  - ".tfstate.backup"
3243
3256
  - ".topojson"
@@ -4454,6 +4467,14 @@ Moocode:
4454
4467
  tm_scope: none
4455
4468
  ace_mode: text
4456
4469
  language_id: 237
4470
+ MoonBit:
4471
+ type: programming
4472
+ color: "#b92381"
4473
+ extensions:
4474
+ - ".mbt"
4475
+ tm_scope: source.moonbit
4476
+ ace_mode: text
4477
+ language_id: 181453007
4457
4478
  MoonScript:
4458
4479
  type: programming
4459
4480
  color: "#ff4585"
@@ -5800,6 +5821,22 @@ Quake:
5800
5821
  ace_mode: text
5801
5822
  tm_scope: source.quake
5802
5823
  language_id: 375265331
5824
+ QuickBASIC:
5825
+ type: programming
5826
+ color: "#008080"
5827
+ extensions:
5828
+ - ".bas"
5829
+ tm_scope: source.QB64
5830
+ aliases:
5831
+ - qb
5832
+ - qbasic
5833
+ - qb64
5834
+ - classic qbasic
5835
+ - classic quickbasic
5836
+ ace_mode: text
5837
+ codemirror_mode: vb
5838
+ codemirror_mime_type: text/x-vb
5839
+ language_id: 593107205
5803
5840
  R:
5804
5841
  type: programming
5805
5842
  color: "#198CE7"
@@ -6487,6 +6524,11 @@ SRecode Template:
6487
6524
  SSH Config:
6488
6525
  type: data
6489
6526
  group: INI
6527
+ aliases:
6528
+ - sshconfig
6529
+ - sshdconfig
6530
+ - ssh_config
6531
+ - sshd_config
6490
6532
  filenames:
6491
6533
  - ssh-config
6492
6534
  - ssh_config
@@ -6978,6 +7020,7 @@ Starlark:
6978
7020
  - Tiltfile
6979
7021
  - WORKSPACE
6980
7022
  - WORKSPACE.bazel
7023
+ - WORKSPACE.bzlmod
6981
7024
  aliases:
6982
7025
  - bazel
6983
7026
  - bzl
@@ -7135,6 +7178,16 @@ TOML:
7135
7178
  codemirror_mode: toml
7136
7179
  codemirror_mime_type: text/x-toml
7137
7180
  language_id: 365
7181
+ TSPLIB data:
7182
+ aliases:
7183
+ - travelling salesman problem
7184
+ - traveling salesman problem
7185
+ type: data
7186
+ extensions:
7187
+ - ".tsp"
7188
+ tm_scope: none
7189
+ ace_mode: text
7190
+ language_id: 89289301
7138
7191
  TSQL:
7139
7192
  type: programming
7140
7193
  color: "#e38c00"
@@ -7173,6 +7226,14 @@ TXL:
7173
7226
  tm_scope: source.txl
7174
7227
  ace_mode: text
7175
7228
  language_id: 366
7229
+ Tact:
7230
+ type: programming
7231
+ color: "#48b5ff"
7232
+ extensions:
7233
+ - ".tact"
7234
+ ace_mode: text
7235
+ tm_scope: source.tact
7236
+ language_id: 606708469
7176
7237
  Talon:
7177
7238
  type: programming
7178
7239
  ace_mode: text
@@ -7430,6 +7491,16 @@ TypeScript:
7430
7491
  codemirror_mode: javascript
7431
7492
  codemirror_mime_type: application/typescript
7432
7493
  language_id: 378
7494
+ TypeSpec:
7495
+ type: programming
7496
+ color: "#4A3665"
7497
+ aliases:
7498
+ - tsp
7499
+ extensions:
7500
+ - ".tsp"
7501
+ tm_scope: source.tsp
7502
+ ace_mode: text
7503
+ language_id: 952272597
7433
7504
  Typst:
7434
7505
  type: programming
7435
7506
  color: "#239dad"
@@ -7720,7 +7791,7 @@ Vue:
7720
7791
  color: "#41b883"
7721
7792
  extensions:
7722
7793
  - ".vue"
7723
- tm_scope: text.html.vue
7794
+ tm_scope: source.vue
7724
7795
  ace_mode: html
7725
7796
  language_id: 391
7726
7797
  Vyper:
@@ -8219,9 +8290,11 @@ YAML:
8219
8290
  filenames:
8220
8291
  - ".clang-format"
8221
8292
  - ".clang-tidy"
8293
+ - ".clangd"
8222
8294
  - ".gemrc"
8223
8295
  - CITATION.cff
8224
8296
  - glide.lock
8297
+ - pixi.lock
8225
8298
  - yarn.lock
8226
8299
  ace_mode: yaml
8227
8300
  codemirror_mode: yaml
@@ -8497,6 +8570,22 @@ nesC:
8497
8570
  ace_mode: text
8498
8571
  tm_scope: source.nesc
8499
8572
  language_id: 417
8573
+ omnetpp-msg:
8574
+ type: programming
8575
+ extensions:
8576
+ - ".msg"
8577
+ color: "#a0e0a0"
8578
+ tm_scope: source.msg
8579
+ ace_mode: text
8580
+ language_id: 664100008
8581
+ omnetpp-ned:
8582
+ type: programming
8583
+ extensions:
8584
+ - ".ned"
8585
+ color: "#08607c"
8586
+ tm_scope: source.ned
8587
+ ace_mode: text
8588
+ language_id: 924868392
8500
8589
  ooc:
8501
8590
  type: programming
8502
8591
  color: "#b0b77e"
package/ext/vendor.yml CHANGED
@@ -1,4 +1,3 @@
1
-
2
1
  - (^|/)cache/
3
2
  - ^[Dd]ependencies/
4
3
  - (^|/)dist/
@@ -104,7 +103,6 @@
104
103
  - (^|/)fabfile\.py$
105
104
  - (^|/)waf$
106
105
  - (^|/)\.osx$
107
-
108
106
  - \.xctemplate/
109
107
  - \.imageset/
110
108
  - (^|/)Carthage/
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "linguist-js",
3
- "version": "2.8.0",
3
+ "version": "2.8.1",
4
4
  "description": "Analyse languages used in a folder. Powered by GitHub Linguist, although it doesn't need to be installed.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -8,7 +8,8 @@
8
8
  "linguist": "bin/index.js"
9
9
  },
10
10
  "engines": {
11
- "node": ">=12"
11
+ "node": ">=12",
12
+ "npm": "<9"
12
13
  },
13
14
  "scripts": {
14
15
  "download-files": "npx tsx@3 build/download-files",