github-linguist 2.10.11 → 2.10.13

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 537dd46b5a61f2c1de7196d194831fd46e37caa6
4
- data.tar.gz: f5cd8f1e4d4e5d486d147abc669765b7b3d0ea23
3
+ metadata.gz: 2324e00de537bf3708a60993acc9a72fea4c6159
4
+ data.tar.gz: 9e2661678cd5e522919a670efd85964122994cc9
5
5
  SHA512:
6
- metadata.gz: 4354ff6fc7a7c146df4c6d76657dd677e51d674ab6a09a09a5287a1e1a010655a135e4db0243ae680a1a6a24400826aade8d3c8cb22423f9d7d3bc7639dd6177
7
- data.tar.gz: 65e0f8f5d339c7a7ecb3f49a7fd80a500d69b2d23857c01fba02a49dce17945b3e3e1ecaf5cff0b289287dc01e4abfd3863e4d4880968609a279b999018eefb3
6
+ metadata.gz: c21cfe49455341e978b0affa0a21cc9b9cc224739bd7e75cb5585f82a118954941938e8f2df13e11a819b7e4382aab72cca5120cfcfd3b6cc8a4b48d752a89a1
7
+ data.tar.gz: 988d9d6ce258bdf4598e647a87dd129123b01b4bd5e5099ca4ecf0ed824a237c620dfc4658938c3562ed126cedce7ff0732ee03184ff0972a0564bdde953d893
@@ -62,7 +62,8 @@ module Linguist
62
62
  generated_protocol_buffer? ||
63
63
  generated_jni_header? ||
64
64
  composer_lock? ||
65
- node_modules?
65
+ node_modules? ||
66
+ vcr_cassette?
66
67
  end
67
68
 
68
69
  # Internal: Is the blob an XCode project file?
@@ -235,5 +236,15 @@ module Linguist
235
236
  def composer_lock?
236
237
  !!name.match(/composer.lock/)
237
238
  end
239
+
240
+ # Is the blob a VCR Cassette file?
241
+ #
242
+ # Returns true or false
243
+ def vcr_cassette?
244
+ return false unless extname == '.yml'
245
+ return false unless lines.count > 2
246
+ # VCR Cassettes have "recorded_with: VCR" in the second last line.
247
+ return lines[-2].include?("recorded_with: VCR")
248
+ end
238
249
  end
239
250
  end
@@ -19,9 +19,18 @@ module Linguist
19
19
  if languages.all? { |l| ["Perl", "Prolog"].include?(l) }
20
20
  disambiguate_pl(data, languages)
21
21
  end
22
+ if languages.all? { |l| ["ECL", "Prolog"].include?(l) }
23
+ disambiguate_ecl(data, languages)
24
+ end
22
25
  if languages.all? { |l| ["TypeScript", "XML"].include?(l) }
23
26
  disambiguate_ts(data, languages)
24
27
  end
28
+ if languages.all? { |l| ["Common Lisp", "OpenCL"].include?(l) }
29
+ disambiguate_cl(data, languages)
30
+ end
31
+ if languages.all? { |l| ["Rebol", "R"].include?(l) }
32
+ disambiguate_r(data, languages)
33
+ end
25
34
  end
26
35
  end
27
36
 
@@ -43,6 +52,13 @@ module Linguist
43
52
  matches
44
53
  end
45
54
 
55
+ def self.disambiguate_ecl(data, languages)
56
+ matches = []
57
+ matches << Language["Prolog"] if data.include?(":-")
58
+ matches << Language["ECL"] if data.include?(":=")
59
+ matches
60
+ end
61
+
46
62
  def self.disambiguate_ts(data, languages)
47
63
  matches = []
48
64
  if (data.include?("</translation>"))
@@ -53,6 +69,20 @@ module Linguist
53
69
  matches
54
70
  end
55
71
 
72
+ def self.disambiguate_cl(data, languages)
73
+ matches = []
74
+ matches << Language["Common Lisp"] if data.include?("(defun ")
75
+ matches << Language["OpenCL"] if /\/\* |\/\/ |^\}/.match(data)
76
+ matches
77
+ end
78
+
79
+ def self.disambiguate_r(data, languages)
80
+ matches = []
81
+ matches << Language["Rebol"] if /\bRebol\b/i.match(data)
82
+ matches << Language["R"] if data.include?("<-")
83
+ matches
84
+ end
85
+
56
86
  def self.active?
57
87
  !!ACTIVE
58
88
  end
@@ -426,6 +426,11 @@ module Linguist
426
426
  #
427
427
  # Returns the extensions Array
428
428
  attr_reader :filenames
429
+
430
+ # Public: Return all possible extensions for language
431
+ def all_extensions
432
+ (extensions + [primary_extension]).uniq
433
+ end
429
434
 
430
435
  # Public: Get URL escaped name.
431
436
  #
@@ -485,7 +490,7 @@ module Linguist
485
490
  #
486
491
  # Returns html String
487
492
  def colorize(text, options = {})
488
- lexer.highlight(text, options = {})
493
+ lexer.highlight(text, options)
489
494
  end
490
495
 
491
496
  # Public: Return name as String representation
@@ -10,7 +10,7 @@
10
10
  # ace_mode - A String name of Ace Mode (if available)
11
11
  # wrap - Boolean wrap to enable line wrapping (default: false)
12
12
  # extension - An Array of associated extensions
13
- # interpreter - An Array of associated interpreters
13
+ # interpreters - An Array of associated interpreters
14
14
  # primary_extension - A String for the main extension associated with
15
15
  # the language. Must be unique. Used when a Language is picked
16
16
  # from a dropdown and we need to automatically choose an
@@ -53,6 +53,18 @@ ASP:
53
53
  - .aspx
54
54
  - .axd
55
55
 
56
+ ATS:
57
+ type: programming
58
+ color: "#1ac620"
59
+ primary_extension: .dats
60
+ lexer: OCaml
61
+ aliases:
62
+ - ats2
63
+ extensions:
64
+ - .atxt
65
+ - .hats
66
+ - .sats
67
+
56
68
  ActionScript:
57
69
  type: programming
58
70
  lexer: ActionScript 3
@@ -74,6 +86,12 @@ Agda:
74
86
  color: "#467C91"
75
87
  primary_extension: .agda
76
88
 
89
+ Alloy:
90
+ type: programming # 'modeling' would be more appropiate
91
+ lexer: Text only
92
+ color: "#cc5c24"
93
+ primary_extension: .als
94
+
77
95
  ApacheConf:
78
96
  type: markup
79
97
  aliases:
@@ -92,6 +110,8 @@ AppleScript:
92
110
  primary_extension: .applescript
93
111
  extensions:
94
112
  - .scpt
113
+ interpreters:
114
+ - osascript
95
115
 
96
116
  Arc:
97
117
  type: programming
@@ -115,6 +135,12 @@ AsciiDoc:
115
135
  - .adoc
116
136
  - .asc
117
137
 
138
+ AspectJ:
139
+ type: programming
140
+ lexer: AspectJ
141
+ color: "#1957b0"
142
+ primary_extension: .aj
143
+
118
144
  Assembly:
119
145
  type: programming
120
146
  lexer: NASM
@@ -214,6 +240,7 @@ C:
214
240
  color: "#555"
215
241
  primary_extension: .c
216
242
  extensions:
243
+ - .cats
217
244
  - .w
218
245
 
219
246
  C#:
@@ -239,12 +266,14 @@ C++:
239
266
  extensions:
240
267
  - .C
241
268
  - .c++
269
+ - .cc
242
270
  - .cxx
243
271
  - .H
244
272
  - .h++
245
273
  - .hh
246
274
  - .hpp
247
275
  - .hxx
276
+ - .inl
248
277
  - .tcc
249
278
  - .tpp
250
279
 
@@ -284,7 +313,7 @@ COBOL:
284
313
 
285
314
  CSS:
286
315
  ace_mode: css
287
- color: "#1f085e"
316
+ color: "#563d7c"
288
317
  primary_extension: .css
289
318
 
290
319
  Ceylon:
@@ -296,6 +325,14 @@ ChucK:
296
325
  lexer: Java
297
326
  primary_extension: .ck
298
327
 
328
+ Cirru:
329
+ type: programming
330
+ color: "#aaaaff"
331
+ primary_extension: .cirru
332
+ # ace_mode: cirru
333
+ # lexer: Cirru
334
+ lexer: Text only
335
+
299
336
  Clean:
300
337
  type: programming
301
338
  color: "#3a81ad"
@@ -316,6 +353,7 @@ Clojure:
316
353
  - .cljscm
317
354
  - .cljx
318
355
  - .hic
356
+ - .cljs.hl
319
357
  filenames:
320
358
  - riemann.config
321
359
 
@@ -333,6 +371,8 @@ CoffeeScript:
333
371
  - .iced
334
372
  filenames:
335
373
  - Cakefile
374
+ interpreters:
375
+ - coffee
336
376
 
337
377
  ColdFusion:
338
378
  type: programming
@@ -459,10 +499,25 @@ DCPU-16 ASM:
459
499
  Diff:
460
500
  primary_extension: .diff
461
501
 
502
+ Dogescript:
503
+ type: programming
504
+ lexer: Text only
505
+ color: "#cca760"
506
+ primary_extension: .djs
507
+
462
508
  Dylan:
463
509
  type: programming
464
510
  color: "#3ebc27"
465
511
  primary_extension: .dylan
512
+ extensions:
513
+ - .intr
514
+ - .lid
515
+
516
+ E:
517
+ type: programming
518
+ color: "#ccce35"
519
+ lexer: Text only
520
+ primary_extension: .E
466
521
 
467
522
  Ecere Projects:
468
523
  type: data
@@ -478,6 +533,14 @@ ECL:
478
533
  extensions:
479
534
  - .eclxml
480
535
 
536
+ Eagle:
537
+ type: markup
538
+ color: "#3994bc"
539
+ lexer: XML
540
+ primary_extension: .sch
541
+ extensions:
542
+ - .brd
543
+
481
544
  Eiffel:
482
545
  type: programming
483
546
  lexer: Text only
@@ -528,6 +591,14 @@ F#:
528
591
  - .fsi
529
592
  - .fsx
530
593
 
594
+ FLUX:
595
+ type: programming
596
+ color: "#33CCFF"
597
+ primary_extension: .fx
598
+ lexer: Text only
599
+ extensions:
600
+ - .flux
601
+
531
602
  FORTRAN:
532
603
  type: programming
533
604
  lexer: Fortran
@@ -580,6 +651,27 @@ Forth:
580
651
  extensions:
581
652
  - .4th
582
653
 
654
+ Frege:
655
+ type: programming
656
+ color: "#00cafe"
657
+ lexer: Haskell
658
+ primary_extension: .fr
659
+
660
+ Game Maker Language:
661
+ type: programming
662
+ lexer: JavaScript
663
+ primary_extension: .gml
664
+
665
+ GAP:
666
+ type: programming
667
+ lexer: Text only
668
+ primary_extension: .g
669
+ extensions:
670
+ - .g
671
+ - .gap
672
+ - .gd
673
+ - .gi
674
+
583
675
  GAS:
584
676
  type: programming
585
677
  group: Assembly
@@ -594,10 +686,13 @@ GLSL:
594
686
  extensions:
595
687
  - .fp
596
688
  - .frag
689
+ - .fshader
597
690
  - .geom
598
691
  - .glslv
692
+ - .gshader
599
693
  - .shader
600
694
  - .vert
695
+ - .vshader
601
696
 
602
697
  Genshi:
603
698
  primary_extension: .kid
@@ -627,9 +722,20 @@ Glyph:
627
722
  lexer: Tcl
628
723
  primary_extension: .glf
629
724
 
725
+ Gnuplot:
726
+ type: programming
727
+ color: "#f0a9f0"
728
+ lexer: Gnuplot
729
+ primary_extension: .gp
730
+ extensions:
731
+ - .gnu
732
+ - .gnuplot
733
+ - .plot
734
+ - .plt
735
+
630
736
  Go:
631
737
  type: programming
632
- color: "#a89b4d"
738
+ color: "#375eab"
633
739
  primary_extension: .go
634
740
 
635
741
  Gosu:
@@ -637,6 +743,16 @@ Gosu:
637
743
  color: "#82937f"
638
744
  primary_extension: .gs
639
745
 
746
+ Grammatical Framework:
747
+ type: programming
748
+ lexer: Haskell
749
+ aliases:
750
+ - gf
751
+ wrap: false
752
+ primary_extension: .gf
753
+ searchable: true
754
+ color: "#ff0000"
755
+
640
756
  Groff:
641
757
  primary_extension: .man
642
758
  extensions:
@@ -653,6 +769,8 @@ Groovy:
653
769
  ace_mode: groovy
654
770
  color: "#e69f56"
655
771
  primary_extension: .groovy
772
+ interpreters:
773
+ - groovy
656
774
 
657
775
  Groovy Server Pages:
658
776
  group: Groovy
@@ -670,6 +788,7 @@ HTML:
670
788
  extensions:
671
789
  - .htm
672
790
  - .xhtml
791
+ - .html.hl
673
792
 
674
793
  HTML+Django:
675
794
  type: markup
@@ -723,7 +842,7 @@ Harbour:
723
842
  lexer: Text only
724
843
  color: "#0e60e3"
725
844
  primary_extension: .hb
726
-
845
+
727
846
  Haskell:
728
847
  type: programming
729
848
  color: "#29b544"
@@ -759,6 +878,10 @@ INI:
759
878
  - .prefs
760
879
  - .properties
761
880
  primary_extension: .ini
881
+
882
+ Inno Setup:
883
+ primary_extension: .iss
884
+ lexer: Text only
762
885
 
763
886
  Idris:
764
887
  type: programming
@@ -767,6 +890,14 @@ Idris:
767
890
  extensions:
768
891
  - .lidr
769
892
 
893
+ Inform 7:
894
+ type: programming
895
+ lexer: Text only
896
+ wrap: true
897
+ primary_extension: .ni
898
+ extensions:
899
+ - .i7x
900
+
770
901
  Inno Setup:
771
902
  primary_extension: .iss
772
903
  lexer: Text only
@@ -818,6 +949,19 @@ JSON5:
818
949
  lexer: JavaScript
819
950
  primary_extension: .json5
820
951
 
952
+ JSONLD:
953
+ type: data
954
+ group: JavaScript
955
+ ace_mode: json
956
+ lexer: JavaScript
957
+ primary_extension: .jsonld
958
+
959
+ JSONiq:
960
+ type: programming
961
+ ace_mode: jsoniq
962
+ lexer: XQuery
963
+ primary_extension: .jq
964
+
821
965
  Jade:
822
966
  group: HTML
823
967
  type: markup
@@ -840,7 +984,7 @@ Java Server Pages:
840
984
  JavaScript:
841
985
  type: programming
842
986
  ace_mode: javascript
843
- color: "#f15501"
987
+ color: "#f7df1e"
844
988
  aliases:
845
989
  - js
846
990
  - node
@@ -848,6 +992,7 @@ JavaScript:
848
992
  extensions:
849
993
  - ._js
850
994
  - .bones
995
+ - .es6
851
996
  - .jake
852
997
  - .jsfl
853
998
  - .jsm
@@ -859,6 +1004,8 @@ JavaScript:
859
1004
  - .ssjs
860
1005
  filenames:
861
1006
  - Jakefile
1007
+ interpreters:
1008
+ - node
862
1009
 
863
1010
  Julia:
864
1011
  type: programming
@@ -870,6 +1017,12 @@ KRL:
870
1017
  type: programming
871
1018
  color: "#f5c800"
872
1019
  primary_extension: .krl
1020
+
1021
+ Kit:
1022
+ type: markup
1023
+ lexer: HTML
1024
+ ace_mode: html
1025
+ primary_extension: .kit
873
1026
 
874
1027
  Kotlin:
875
1028
  type: programming
@@ -894,6 +1047,13 @@ Lasso:
894
1047
  color: "#2584c3"
895
1048
  primary_extension: .lasso
896
1049
 
1050
+ Latte:
1051
+ type: markup
1052
+ color: "#A8FF97"
1053
+ group: HTML
1054
+ lexer: Smarty
1055
+ primary_extension: .latte
1056
+
897
1057
  Less:
898
1058
  type: markup
899
1059
  group: CSS
@@ -974,6 +1134,12 @@ M:
974
1134
  extensions:
975
1135
  - .m
976
1136
 
1137
+ MTML:
1138
+ type: markup
1139
+ lexer: HTML
1140
+ color: "#0095d9"
1141
+ primary_extension: .mtml
1142
+
977
1143
  Makefile:
978
1144
  aliases:
979
1145
  - make
@@ -1005,10 +1171,24 @@ Markdown:
1005
1171
  - .mkdown
1006
1172
  - .ron
1007
1173
 
1174
+ Mask:
1175
+ type: markup
1176
+ lexer: SCSS
1177
+ color: "#f97732"
1178
+ ace_mode: scss
1179
+ primary_extension: .mask
1180
+
1181
+ Mathematica:
1182
+ type: programming
1183
+ primary_extension: .mathematica
1184
+ lexer: Text only
1185
+
1008
1186
  Matlab:
1009
1187
  type: programming
1010
1188
  color: "#bb92ac"
1011
1189
  primary_extension: .matlab
1190
+ extensions:
1191
+ - .m
1012
1192
 
1013
1193
  Max:
1014
1194
  type: programming
@@ -1031,6 +1211,19 @@ MediaWiki:
1031
1211
  wrap: true
1032
1212
  primary_extension: .mediawiki
1033
1213
 
1214
+ Mercury:
1215
+ type: programming
1216
+ # This is the background colour on the web page.
1217
+ color: "#abcdef"
1218
+ # The primary extension is .m, but lingist won't accept duplicates
1219
+ primary_extension: .mercury
1220
+ # Mercury's syntax is not prolog syntax, but they do share the lexer
1221
+ lexer: Prolog
1222
+ ace_mode: prolog
1223
+ extensions:
1224
+ - .m
1225
+ - .moo
1226
+
1034
1227
  MiniD: # Legacy
1035
1228
  searchable: false
1036
1229
  primary_extension: .minid # Dummy extension
@@ -1052,6 +1245,7 @@ Monkey:
1052
1245
  primary_extension: .monkey
1053
1246
 
1054
1247
  Moocode:
1248
+ type: programming
1055
1249
  lexer: MOOCode
1056
1250
  primary_extension: .moo
1057
1251
 
@@ -1129,8 +1323,14 @@ Objective-C:
1129
1323
  - obj-c
1130
1324
  - objc
1131
1325
  primary_extension: .m
1132
- extensions:
1133
- - .mm
1326
+
1327
+ Objective-C++:
1328
+ type: programming
1329
+ color: "#4886FC"
1330
+ aliases:
1331
+ - obj-c++
1332
+ - objc++
1333
+ primary_extension: .mm
1134
1334
 
1135
1335
  Objective-J:
1136
1336
  type: programming
@@ -1184,7 +1384,7 @@ PAWN:
1184
1384
  lexer: C++
1185
1385
  color: "#dbb284"
1186
1386
  primary_extension: .pwn
1187
-
1387
+
1188
1388
  PHP:
1189
1389
  type: programming
1190
1390
  ace_mode: php
@@ -1307,7 +1507,8 @@ Prolog:
1307
1507
  type: programming
1308
1508
  color: "#74283c"
1309
1509
  primary_extension: .prolog
1310
- extensions:
1510
+ extensions:
1511
+ - .ecl
1311
1512
  - .pl
1312
1513
 
1313
1514
  Protocol Buffer:
@@ -1332,6 +1533,12 @@ Pure Data:
1332
1533
  lexer: Text only
1333
1534
  primary_extension: .pd
1334
1535
 
1536
+ PureScript:
1537
+ type: programming
1538
+ color: "#f3ce45"
1539
+ lexer: Haskell
1540
+ primary_extension: .purs
1541
+
1335
1542
  Python:
1336
1543
  type: programming
1337
1544
  ace_mode: python
@@ -1372,6 +1579,7 @@ R:
1372
1579
  primary_extension: .r
1373
1580
  extensions:
1374
1581
  - .R
1582
+ - .rsx
1375
1583
  filenames:
1376
1584
  - .Rprofile
1377
1585
  interpreters:
@@ -1434,10 +1642,12 @@ Rebol:
1434
1642
  type: programming
1435
1643
  lexer: REBOL
1436
1644
  color: "#358a5b"
1437
- primary_extension: .rebol
1645
+ primary_extension: .reb
1438
1646
  extensions:
1647
+ - .r
1439
1648
  - .r2
1440
1649
  - .r3
1650
+ - .rebol
1441
1651
 
1442
1652
  Redcode:
1443
1653
  primary_extension: .cw
@@ -1484,11 +1694,14 @@ Ruby:
1484
1694
  filenames:
1485
1695
  - Appraisals
1486
1696
  - Berksfile
1697
+ - Buildfile
1487
1698
  - Gemfile
1699
+ - Gemfile.lock
1488
1700
  - Guardfile
1489
1701
  - Podfile
1490
1702
  - Thorfile
1491
1703
  - Vagrantfile
1704
+ - buildfile
1492
1705
 
1493
1706
  Rust:
1494
1707
  type: programming
@@ -1506,6 +1719,11 @@ SQL:
1506
1719
  ace_mode: sql
1507
1720
  searchable: false
1508
1721
  primary_extension: .sql
1722
+ extensions:
1723
+ - .prc
1724
+ - .tab
1725
+ - .udf
1726
+ - .viw
1509
1727
 
1510
1728
  Sage:
1511
1729
  type: programming
@@ -1536,6 +1754,7 @@ Scheme:
1536
1754
  color: "#1e4aec"
1537
1755
  primary_extension: .scm
1538
1756
  extensions:
1757
+ - .sld
1539
1758
  - .sls
1540
1759
  - .ss
1541
1760
  interpreters:
@@ -1574,6 +1793,17 @@ Shell:
1574
1793
  filenames:
1575
1794
  - Dockerfile
1576
1795
 
1796
+ ShellSession:
1797
+ type: programming
1798
+ lexer: Bash Session
1799
+ primary_extension: .sh-session
1800
+
1801
+ Shen:
1802
+ type: programming
1803
+ color: "#120F14"
1804
+ lexer: Text only
1805
+ primary_extension: .shen
1806
+
1577
1807
  Slash:
1578
1808
  type: programming
1579
1809
  color: "#007eff"
@@ -1587,6 +1817,13 @@ Smalltalk:
1587
1817
  Smarty:
1588
1818
  primary_extension: .tpl
1589
1819
 
1820
+ SourcePawn:
1821
+ type: programming
1822
+ color: "#f69e1d"
1823
+ aliases:
1824
+ - sourcemod
1825
+ primary_extension: .sp
1826
+
1590
1827
  Squirrel:
1591
1828
  type: programming
1592
1829
  lexer: C++
@@ -1601,6 +1838,19 @@ Standard ML:
1601
1838
  extensions:
1602
1839
  - .fun
1603
1840
 
1841
+ Stata:
1842
+ type: programming
1843
+ lexer: Text only
1844
+ extensions:
1845
+ - .ado
1846
+ - .do
1847
+ - .doh
1848
+ - .ihlp
1849
+ - .mata
1850
+ - .matah
1851
+ - .sthlp
1852
+ primary_extension: .do
1853
+
1604
1854
  Stylus:
1605
1855
  type: markup
1606
1856
  group: CSS
@@ -1613,6 +1863,15 @@ SuperCollider:
1613
1863
  lexer: Text only
1614
1864
  primary_extension: .scd
1615
1865
 
1866
+ SystemVerilog:
1867
+ type: programming
1868
+ color: "#343761"
1869
+ lexer: systemverilog
1870
+ primary_extension: .sv
1871
+ extensions:
1872
+ - .svh
1873
+ - .vh
1874
+
1616
1875
  TOML:
1617
1876
  type: data
1618
1877
  primary_extension: .toml
@@ -1628,6 +1887,7 @@ Tcl:
1628
1887
  primary_extension: .tcl
1629
1888
  extensions:
1630
1889
  - .adp
1890
+ - .tm
1631
1891
 
1632
1892
  Tcsh:
1633
1893
  type: programming
@@ -1790,6 +2050,7 @@ XML:
1790
2050
  - .kml
1791
2051
  - .launch
1792
2052
  - .mxml
2053
+ - .osm
1793
2054
  - .plist
1794
2055
  - .pluginspec
1795
2056
  - .ps1xml
@@ -1870,6 +2131,12 @@ YAML:
1870
2131
  - .rviz
1871
2132
  - .yaml
1872
2133
 
2134
+ Zephir:
2135
+ type: programming
2136
+ lexer: PHP
2137
+ color: "#118f9e"
2138
+ primary_extension: .zep
2139
+
1873
2140
  eC:
1874
2141
  type: programming
1875
2142
  search_term: ec