@@ -96,16 +96,18 @@ object Languages {
9696 ABAP ,
9797 Terraform )
9898
99- // Support startdate: always
100- case object Javascript extends Language (extensions = Set (" .js" , " .jsx" , " .jsm" , " .mjs" , " .vue" ))
99+ // Support startdate: Always
100+ case object Javascript
101+ extends Language (extensions = Set (" .js" , " .jsx" , " .jsm" , " .vue" , " .mjs" ),
102+ files = Set (" package.json" , " package-lock.json" , " yarn.lock" ))
101103
102104 case object Scala extends Language (extensions = Set (" .scala" ))
103105
104106 case object CSS extends Language (extensions = Set (" .css" ))
105107
106- case object PHP extends Language (extensions = Set (" .php" ))
108+ case object PHP extends Language (extensions = Set (" .php" ), files = Set ( " composer.lock " ) )
107109
108- case object Python extends Language (extensions = Set (" .py" ))
110+ case object Python extends Language (extensions = Set (" .py" ), files = Set ( " Pipfile.lock " ) )
109111
110112 // Support startdate: 31 August 2015
111113 case object Ruby
@@ -129,17 +131,18 @@ object Languages {
129131 case object CoffeeScript extends Language (extensions = Set (" .coffee" ))
130132
131133 // Support startdate: 27 June 2016
132- case object Swift extends Language (extensions = Set (" .swift" ))
134+ case object Swift extends Language (extensions = Set (" .swift" ), files = Set ( " Package.resolved " ) )
133135
134136 // Support startdate: 18 July 2016
135- case object CPP extends Language (extensions = Set (" .cpp" , " .hpp" , " .cc" , " .cxx" , " .ino" ))
137+ case object CPP extends Language (extensions = Set (" .cpp" , " .hpp" , " .cc" , " .cxx" , " .ino" ), files = Set ( " conan.lock " ) )
136138
137- case object C extends Language (extensions = Set (" .c" , " .h" ))
139+ case object C extends Language (extensions = Set (" .c" , " .h" ), files = Set ( " conan.lock " ) )
138140
139141 case object Shell extends Language (extensions = Set (" .sh" , " .bash" ))
140142
141143 // Support startdate: 24 November 2016
142- case object TypeScript extends Language (extensions = Set (" .ts" , " .tsx" ))
144+ case object TypeScript
145+ extends Language (extensions = Set (" .ts" , " .tsx" ), files = Set (" package.json" , " package-lock.json" , " yarn.lock" ))
143146
144147 // Support startdate: December 2016
145148 case object Dockerfile extends Language (extensions = Set (" .dockerfile" ), files = Set (" Dockerfile" ))
@@ -191,32 +194,33 @@ object Languages {
191194 case object VisualForce extends Language (extensions = Set (" .component" , " .page" ))
192195
193196 // Support startdate: May 2017
194- case object CSharp extends Language (extensions = Set (" .cs" ))
197+ case object CSharp extends Language (extensions = Set (" .cs" ), files = Set ( " .deps.json " , " packages.lock.json " ) )
195198
196199 // Support startdate: September 2017
197200 case object Kotlin extends Language (extensions = Set (" .kt" , " .kts" ))
198201
199202 // Support startdate: June 2018
200- case object Elixir extends Language (extensions = Set (" .ex" , " .exs" ))
201-
202- // Support startdate: October 2018
203- case object Powershell
204- extends Language (extensions = Set (" .ps1" , " .psc1" , " .psd1" , " .psm1" , " .ps1xml" , " .pssc" , " .cdxml" , " .clixml" ))
203+ case object Elixir extends Language (extensions = Set (" .ex" , " .exs" ), files = Set (" mix.lock" ))
205204
206205 // Support startdate: September 2018
207206 case object Markdown
208207 extends Language (extensions = Set (" .md" , " .markdown" , " .mdown" , " .mkdn" , " .mkd" , " .mdwn" , " .mkdown" , " .ron" ))
209208
210- // Support startdate: November 2019
211- case object Groovy extends Language (extensions = Set (" .groovy" ))
209+ // Support startdate: October 2018
210+ case object Powershell
211+ extends Language (extensions = Set (" .ps1" , " .psc1" , " .psd1" , " .psm1" , " .ps1xml" , " .pssc" , " .cdxml" , " .clixml" ))
212212
213+ // Support startdate: December 2018
213214 case object Crystal extends Language (extensions = Set (" .cr" ))
214215
215216 // Support startdate: November 2019
216- case object ABAP extends Language (extensions = Set (" .abap " ))
217+ case object Cobol extends Language (extensions = Set (" .cbl " , " .cob " ))
217218
218219 // Support startdate: November 2019
219- case object Cobol extends Language (extensions = Set (" .cbl" , " .cob" ))
220+ case object Groovy extends Language (extensions = Set (" .groovy" ))
221+
222+ // Support startdate: November 2019
223+ case object ABAP extends Language (extensions = Set (" .abap" ))
220224
221225 // Support startdate: February 2020
222226 case object VisualBasic extends Language (extensions = Set (" .vb" ))
@@ -228,18 +232,20 @@ object Languages {
228232 case object YAML extends Language (extensions = Set (" .yaml" , " .yml" ))
229233 case object Terraform extends Language (extensions = Set (" .tf" ))
230234
235+ // Support startdate: January 2022
236+ case object Dart extends Language (extensions = Set (" .dart" ))
237+
238+ // Support startdate: October 2023
239+ case object Rust extends Language (extensions = Set (" .rs" , " .rlib" ), files = Set (" Cargo.lock" ))
240+
231241 // Soon
232242
233243 case object Clojure extends Language (extensions = Set (" .clj" , " .cljs" , " .cljc" , " .edn" ))
234244
235- case object Rust extends Language (extensions = Set (" .rs" , " .rlib" ))
236-
237245 case object Haskell extends Language (extensions = Set (" .hs" , " .lhs" ))
238246
239247 case object Erlang extends Language (extensions = Set (" .erl" ))
240248
241- case object Dart extends Language (extensions = Set (" .dart" ))
242-
243249 case object Elm extends Language (extensions = Set (" .elm" ))
244250
245251 case object HTML extends Language (extensions = Set (" .html" ))
0 commit comments