github.com/rohankumardubey/go-enry@v1.7.3/internal/code-generator/generator/test_files/content.gold (about) 1 // Code generated by gopkg.in/src-d/enry.v1/internal/code-generator DO NOT EDIT. 2 // Extracted from github/linguist commit: e4560984058b4726010ca4b8f03ed9d0f8f464db 3 4 package data 5 6 import ( 7 "regexp" 8 9 "gopkg.in/src-d/enry.v1/data/rule" 10 ) 11 12 var ContentHeuristics = map[string]*Heuristics{ 13 ".1": &Heuristics{ 14 rule.And( 15 rule.MatchingLanguages("Roff Manpage"), 16 rule.Or( 17 rule.MatchingLanguages(""), 18 regexp.MustCompile(`(?m)^[.'][ \t]*Dd +(?:[^"\s]+|"[^"]+")`), 19 ), 20 rule.Or( 21 rule.MatchingLanguages(""), 22 regexp.MustCompile(`(?m)^[.'][ \t]*Dt +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 23 ), 24 rule.Or( 25 rule.MatchingLanguages(""), 26 regexp.MustCompile(`(?m)^[.'][ \t]*Sh +(?:[^"\s]|"[^"]+")`), 27 ), 28 ), 29 rule.And( 30 rule.MatchingLanguages("Roff Manpage"), 31 rule.Or( 32 rule.MatchingLanguages(""), 33 regexp.MustCompile(`(?m)^[.'][ \t]*TH +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 34 ), 35 rule.Or( 36 rule.MatchingLanguages(""), 37 regexp.MustCompile(`(?m)^[.'][ \t]*SH +(?:[^"\s]+|"[^"\s]+)`), 38 ), 39 ), 40 rule.Always( 41 rule.MatchingLanguages("Roff"), 42 ), 43 }, 44 ".1in": &Heuristics{ 45 rule.And( 46 rule.MatchingLanguages("Roff Manpage"), 47 rule.Or( 48 rule.MatchingLanguages(""), 49 regexp.MustCompile(`(?m)^[.'][ \t]*Dd +(?:[^"\s]+|"[^"]+")`), 50 ), 51 rule.Or( 52 rule.MatchingLanguages(""), 53 regexp.MustCompile(`(?m)^[.'][ \t]*Dt +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 54 ), 55 rule.Or( 56 rule.MatchingLanguages(""), 57 regexp.MustCompile(`(?m)^[.'][ \t]*Sh +(?:[^"\s]|"[^"]+")`), 58 ), 59 ), 60 rule.And( 61 rule.MatchingLanguages("Roff Manpage"), 62 rule.Or( 63 rule.MatchingLanguages(""), 64 regexp.MustCompile(`(?m)^[.'][ \t]*TH +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 65 ), 66 rule.Or( 67 rule.MatchingLanguages(""), 68 regexp.MustCompile(`(?m)^[.'][ \t]*SH +(?:[^"\s]+|"[^"\s]+)`), 69 ), 70 ), 71 rule.Always( 72 rule.MatchingLanguages("Roff"), 73 ), 74 }, 75 ".1m": &Heuristics{ 76 rule.And( 77 rule.MatchingLanguages("Roff Manpage"), 78 rule.Or( 79 rule.MatchingLanguages(""), 80 regexp.MustCompile(`(?m)^[.'][ \t]*Dd +(?:[^"\s]+|"[^"]+")`), 81 ), 82 rule.Or( 83 rule.MatchingLanguages(""), 84 regexp.MustCompile(`(?m)^[.'][ \t]*Dt +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 85 ), 86 rule.Or( 87 rule.MatchingLanguages(""), 88 regexp.MustCompile(`(?m)^[.'][ \t]*Sh +(?:[^"\s]|"[^"]+")`), 89 ), 90 ), 91 rule.And( 92 rule.MatchingLanguages("Roff Manpage"), 93 rule.Or( 94 rule.MatchingLanguages(""), 95 regexp.MustCompile(`(?m)^[.'][ \t]*TH +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 96 ), 97 rule.Or( 98 rule.MatchingLanguages(""), 99 regexp.MustCompile(`(?m)^[.'][ \t]*SH +(?:[^"\s]+|"[^"\s]+)`), 100 ), 101 ), 102 rule.Always( 103 rule.MatchingLanguages("Roff"), 104 ), 105 }, 106 ".1x": &Heuristics{ 107 rule.And( 108 rule.MatchingLanguages("Roff Manpage"), 109 rule.Or( 110 rule.MatchingLanguages(""), 111 regexp.MustCompile(`(?m)^[.'][ \t]*Dd +(?:[^"\s]+|"[^"]+")`), 112 ), 113 rule.Or( 114 rule.MatchingLanguages(""), 115 regexp.MustCompile(`(?m)^[.'][ \t]*Dt +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 116 ), 117 rule.Or( 118 rule.MatchingLanguages(""), 119 regexp.MustCompile(`(?m)^[.'][ \t]*Sh +(?:[^"\s]|"[^"]+")`), 120 ), 121 ), 122 rule.And( 123 rule.MatchingLanguages("Roff Manpage"), 124 rule.Or( 125 rule.MatchingLanguages(""), 126 regexp.MustCompile(`(?m)^[.'][ \t]*TH +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 127 ), 128 rule.Or( 129 rule.MatchingLanguages(""), 130 regexp.MustCompile(`(?m)^[.'][ \t]*SH +(?:[^"\s]+|"[^"\s]+)`), 131 ), 132 ), 133 rule.Always( 134 rule.MatchingLanguages("Roff"), 135 ), 136 }, 137 ".2": &Heuristics{ 138 rule.And( 139 rule.MatchingLanguages("Roff Manpage"), 140 rule.Or( 141 rule.MatchingLanguages(""), 142 regexp.MustCompile(`(?m)^[.'][ \t]*Dd +(?:[^"\s]+|"[^"]+")`), 143 ), 144 rule.Or( 145 rule.MatchingLanguages(""), 146 regexp.MustCompile(`(?m)^[.'][ \t]*Dt +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 147 ), 148 rule.Or( 149 rule.MatchingLanguages(""), 150 regexp.MustCompile(`(?m)^[.'][ \t]*Sh +(?:[^"\s]|"[^"]+")`), 151 ), 152 ), 153 rule.And( 154 rule.MatchingLanguages("Roff Manpage"), 155 rule.Or( 156 rule.MatchingLanguages(""), 157 regexp.MustCompile(`(?m)^[.'][ \t]*TH +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 158 ), 159 rule.Or( 160 rule.MatchingLanguages(""), 161 regexp.MustCompile(`(?m)^[.'][ \t]*SH +(?:[^"\s]+|"[^"\s]+)`), 162 ), 163 ), 164 rule.Always( 165 rule.MatchingLanguages("Roff"), 166 ), 167 }, 168 ".3": &Heuristics{ 169 rule.And( 170 rule.MatchingLanguages("Roff Manpage"), 171 rule.Or( 172 rule.MatchingLanguages(""), 173 regexp.MustCompile(`(?m)^[.'][ \t]*Dd +(?:[^"\s]+|"[^"]+")`), 174 ), 175 rule.Or( 176 rule.MatchingLanguages(""), 177 regexp.MustCompile(`(?m)^[.'][ \t]*Dt +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 178 ), 179 rule.Or( 180 rule.MatchingLanguages(""), 181 regexp.MustCompile(`(?m)^[.'][ \t]*Sh +(?:[^"\s]|"[^"]+")`), 182 ), 183 ), 184 rule.And( 185 rule.MatchingLanguages("Roff Manpage"), 186 rule.Or( 187 rule.MatchingLanguages(""), 188 regexp.MustCompile(`(?m)^[.'][ \t]*TH +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 189 ), 190 rule.Or( 191 rule.MatchingLanguages(""), 192 regexp.MustCompile(`(?m)^[.'][ \t]*SH +(?:[^"\s]+|"[^"\s]+)`), 193 ), 194 ), 195 rule.Always( 196 rule.MatchingLanguages("Roff"), 197 ), 198 }, 199 ".3in": &Heuristics{ 200 rule.And( 201 rule.MatchingLanguages("Roff Manpage"), 202 rule.Or( 203 rule.MatchingLanguages(""), 204 regexp.MustCompile(`(?m)^[.'][ \t]*Dd +(?:[^"\s]+|"[^"]+")`), 205 ), 206 rule.Or( 207 rule.MatchingLanguages(""), 208 regexp.MustCompile(`(?m)^[.'][ \t]*Dt +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 209 ), 210 rule.Or( 211 rule.MatchingLanguages(""), 212 regexp.MustCompile(`(?m)^[.'][ \t]*Sh +(?:[^"\s]|"[^"]+")`), 213 ), 214 ), 215 rule.And( 216 rule.MatchingLanguages("Roff Manpage"), 217 rule.Or( 218 rule.MatchingLanguages(""), 219 regexp.MustCompile(`(?m)^[.'][ \t]*TH +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 220 ), 221 rule.Or( 222 rule.MatchingLanguages(""), 223 regexp.MustCompile(`(?m)^[.'][ \t]*SH +(?:[^"\s]+|"[^"\s]+)`), 224 ), 225 ), 226 rule.Always( 227 rule.MatchingLanguages("Roff"), 228 ), 229 }, 230 ".3m": &Heuristics{ 231 rule.And( 232 rule.MatchingLanguages("Roff Manpage"), 233 rule.Or( 234 rule.MatchingLanguages(""), 235 regexp.MustCompile(`(?m)^[.'][ \t]*Dd +(?:[^"\s]+|"[^"]+")`), 236 ), 237 rule.Or( 238 rule.MatchingLanguages(""), 239 regexp.MustCompile(`(?m)^[.'][ \t]*Dt +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 240 ), 241 rule.Or( 242 rule.MatchingLanguages(""), 243 regexp.MustCompile(`(?m)^[.'][ \t]*Sh +(?:[^"\s]|"[^"]+")`), 244 ), 245 ), 246 rule.And( 247 rule.MatchingLanguages("Roff Manpage"), 248 rule.Or( 249 rule.MatchingLanguages(""), 250 regexp.MustCompile(`(?m)^[.'][ \t]*TH +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 251 ), 252 rule.Or( 253 rule.MatchingLanguages(""), 254 regexp.MustCompile(`(?m)^[.'][ \t]*SH +(?:[^"\s]+|"[^"\s]+)`), 255 ), 256 ), 257 rule.Always( 258 rule.MatchingLanguages("Roff"), 259 ), 260 }, 261 ".3p": &Heuristics{ 262 rule.And( 263 rule.MatchingLanguages("Roff Manpage"), 264 rule.Or( 265 rule.MatchingLanguages(""), 266 regexp.MustCompile(`(?m)^[.'][ \t]*Dd +(?:[^"\s]+|"[^"]+")`), 267 ), 268 rule.Or( 269 rule.MatchingLanguages(""), 270 regexp.MustCompile(`(?m)^[.'][ \t]*Dt +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 271 ), 272 rule.Or( 273 rule.MatchingLanguages(""), 274 regexp.MustCompile(`(?m)^[.'][ \t]*Sh +(?:[^"\s]|"[^"]+")`), 275 ), 276 ), 277 rule.And( 278 rule.MatchingLanguages("Roff Manpage"), 279 rule.Or( 280 rule.MatchingLanguages(""), 281 regexp.MustCompile(`(?m)^[.'][ \t]*TH +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 282 ), 283 rule.Or( 284 rule.MatchingLanguages(""), 285 regexp.MustCompile(`(?m)^[.'][ \t]*SH +(?:[^"\s]+|"[^"\s]+)`), 286 ), 287 ), 288 rule.Always( 289 rule.MatchingLanguages("Roff"), 290 ), 291 }, 292 ".3pm": &Heuristics{ 293 rule.And( 294 rule.MatchingLanguages("Roff Manpage"), 295 rule.Or( 296 rule.MatchingLanguages(""), 297 regexp.MustCompile(`(?m)^[.'][ \t]*Dd +(?:[^"\s]+|"[^"]+")`), 298 ), 299 rule.Or( 300 rule.MatchingLanguages(""), 301 regexp.MustCompile(`(?m)^[.'][ \t]*Dt +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 302 ), 303 rule.Or( 304 rule.MatchingLanguages(""), 305 regexp.MustCompile(`(?m)^[.'][ \t]*Sh +(?:[^"\s]|"[^"]+")`), 306 ), 307 ), 308 rule.And( 309 rule.MatchingLanguages("Roff Manpage"), 310 rule.Or( 311 rule.MatchingLanguages(""), 312 regexp.MustCompile(`(?m)^[.'][ \t]*TH +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 313 ), 314 rule.Or( 315 rule.MatchingLanguages(""), 316 regexp.MustCompile(`(?m)^[.'][ \t]*SH +(?:[^"\s]+|"[^"\s]+)`), 317 ), 318 ), 319 rule.Always( 320 rule.MatchingLanguages("Roff"), 321 ), 322 }, 323 ".3qt": &Heuristics{ 324 rule.And( 325 rule.MatchingLanguages("Roff Manpage"), 326 rule.Or( 327 rule.MatchingLanguages(""), 328 regexp.MustCompile(`(?m)^[.'][ \t]*Dd +(?:[^"\s]+|"[^"]+")`), 329 ), 330 rule.Or( 331 rule.MatchingLanguages(""), 332 regexp.MustCompile(`(?m)^[.'][ \t]*Dt +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 333 ), 334 rule.Or( 335 rule.MatchingLanguages(""), 336 regexp.MustCompile(`(?m)^[.'][ \t]*Sh +(?:[^"\s]|"[^"]+")`), 337 ), 338 ), 339 rule.And( 340 rule.MatchingLanguages("Roff Manpage"), 341 rule.Or( 342 rule.MatchingLanguages(""), 343 regexp.MustCompile(`(?m)^[.'][ \t]*TH +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 344 ), 345 rule.Or( 346 rule.MatchingLanguages(""), 347 regexp.MustCompile(`(?m)^[.'][ \t]*SH +(?:[^"\s]+|"[^"\s]+)`), 348 ), 349 ), 350 rule.Always( 351 rule.MatchingLanguages("Roff"), 352 ), 353 }, 354 ".3x": &Heuristics{ 355 rule.And( 356 rule.MatchingLanguages("Roff Manpage"), 357 rule.Or( 358 rule.MatchingLanguages(""), 359 regexp.MustCompile(`(?m)^[.'][ \t]*Dd +(?:[^"\s]+|"[^"]+")`), 360 ), 361 rule.Or( 362 rule.MatchingLanguages(""), 363 regexp.MustCompile(`(?m)^[.'][ \t]*Dt +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 364 ), 365 rule.Or( 366 rule.MatchingLanguages(""), 367 regexp.MustCompile(`(?m)^[.'][ \t]*Sh +(?:[^"\s]|"[^"]+")`), 368 ), 369 ), 370 rule.And( 371 rule.MatchingLanguages("Roff Manpage"), 372 rule.Or( 373 rule.MatchingLanguages(""), 374 regexp.MustCompile(`(?m)^[.'][ \t]*TH +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 375 ), 376 rule.Or( 377 rule.MatchingLanguages(""), 378 regexp.MustCompile(`(?m)^[.'][ \t]*SH +(?:[^"\s]+|"[^"\s]+)`), 379 ), 380 ), 381 rule.Always( 382 rule.MatchingLanguages("Roff"), 383 ), 384 }, 385 ".4": &Heuristics{ 386 rule.And( 387 rule.MatchingLanguages("Roff Manpage"), 388 rule.Or( 389 rule.MatchingLanguages(""), 390 regexp.MustCompile(`(?m)^[.'][ \t]*Dd +(?:[^"\s]+|"[^"]+")`), 391 ), 392 rule.Or( 393 rule.MatchingLanguages(""), 394 regexp.MustCompile(`(?m)^[.'][ \t]*Dt +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 395 ), 396 rule.Or( 397 rule.MatchingLanguages(""), 398 regexp.MustCompile(`(?m)^[.'][ \t]*Sh +(?:[^"\s]|"[^"]+")`), 399 ), 400 ), 401 rule.And( 402 rule.MatchingLanguages("Roff Manpage"), 403 rule.Or( 404 rule.MatchingLanguages(""), 405 regexp.MustCompile(`(?m)^[.'][ \t]*TH +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 406 ), 407 rule.Or( 408 rule.MatchingLanguages(""), 409 regexp.MustCompile(`(?m)^[.'][ \t]*SH +(?:[^"\s]+|"[^"\s]+)`), 410 ), 411 ), 412 rule.Always( 413 rule.MatchingLanguages("Roff"), 414 ), 415 }, 416 ".5": &Heuristics{ 417 rule.And( 418 rule.MatchingLanguages("Roff Manpage"), 419 rule.Or( 420 rule.MatchingLanguages(""), 421 regexp.MustCompile(`(?m)^[.'][ \t]*Dd +(?:[^"\s]+|"[^"]+")`), 422 ), 423 rule.Or( 424 rule.MatchingLanguages(""), 425 regexp.MustCompile(`(?m)^[.'][ \t]*Dt +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 426 ), 427 rule.Or( 428 rule.MatchingLanguages(""), 429 regexp.MustCompile(`(?m)^[.'][ \t]*Sh +(?:[^"\s]|"[^"]+")`), 430 ), 431 ), 432 rule.And( 433 rule.MatchingLanguages("Roff Manpage"), 434 rule.Or( 435 rule.MatchingLanguages(""), 436 regexp.MustCompile(`(?m)^[.'][ \t]*TH +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 437 ), 438 rule.Or( 439 rule.MatchingLanguages(""), 440 regexp.MustCompile(`(?m)^[.'][ \t]*SH +(?:[^"\s]+|"[^"\s]+)`), 441 ), 442 ), 443 rule.Always( 444 rule.MatchingLanguages("Roff"), 445 ), 446 }, 447 ".6": &Heuristics{ 448 rule.And( 449 rule.MatchingLanguages("Roff Manpage"), 450 rule.Or( 451 rule.MatchingLanguages(""), 452 regexp.MustCompile(`(?m)^[.'][ \t]*Dd +(?:[^"\s]+|"[^"]+")`), 453 ), 454 rule.Or( 455 rule.MatchingLanguages(""), 456 regexp.MustCompile(`(?m)^[.'][ \t]*Dt +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 457 ), 458 rule.Or( 459 rule.MatchingLanguages(""), 460 regexp.MustCompile(`(?m)^[.'][ \t]*Sh +(?:[^"\s]|"[^"]+")`), 461 ), 462 ), 463 rule.And( 464 rule.MatchingLanguages("Roff Manpage"), 465 rule.Or( 466 rule.MatchingLanguages(""), 467 regexp.MustCompile(`(?m)^[.'][ \t]*TH +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 468 ), 469 rule.Or( 470 rule.MatchingLanguages(""), 471 regexp.MustCompile(`(?m)^[.'][ \t]*SH +(?:[^"\s]+|"[^"\s]+)`), 472 ), 473 ), 474 rule.Always( 475 rule.MatchingLanguages("Roff"), 476 ), 477 }, 478 ".7": &Heuristics{ 479 rule.And( 480 rule.MatchingLanguages("Roff Manpage"), 481 rule.Or( 482 rule.MatchingLanguages(""), 483 regexp.MustCompile(`(?m)^[.'][ \t]*Dd +(?:[^"\s]+|"[^"]+")`), 484 ), 485 rule.Or( 486 rule.MatchingLanguages(""), 487 regexp.MustCompile(`(?m)^[.'][ \t]*Dt +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 488 ), 489 rule.Or( 490 rule.MatchingLanguages(""), 491 regexp.MustCompile(`(?m)^[.'][ \t]*Sh +(?:[^"\s]|"[^"]+")`), 492 ), 493 ), 494 rule.And( 495 rule.MatchingLanguages("Roff Manpage"), 496 rule.Or( 497 rule.MatchingLanguages(""), 498 regexp.MustCompile(`(?m)^[.'][ \t]*TH +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 499 ), 500 rule.Or( 501 rule.MatchingLanguages(""), 502 regexp.MustCompile(`(?m)^[.'][ \t]*SH +(?:[^"\s]+|"[^"\s]+)`), 503 ), 504 ), 505 rule.Always( 506 rule.MatchingLanguages("Roff"), 507 ), 508 }, 509 ".8": &Heuristics{ 510 rule.And( 511 rule.MatchingLanguages("Roff Manpage"), 512 rule.Or( 513 rule.MatchingLanguages(""), 514 regexp.MustCompile(`(?m)^[.'][ \t]*Dd +(?:[^"\s]+|"[^"]+")`), 515 ), 516 rule.Or( 517 rule.MatchingLanguages(""), 518 regexp.MustCompile(`(?m)^[.'][ \t]*Dt +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 519 ), 520 rule.Or( 521 rule.MatchingLanguages(""), 522 regexp.MustCompile(`(?m)^[.'][ \t]*Sh +(?:[^"\s]|"[^"]+")`), 523 ), 524 ), 525 rule.And( 526 rule.MatchingLanguages("Roff Manpage"), 527 rule.Or( 528 rule.MatchingLanguages(""), 529 regexp.MustCompile(`(?m)^[.'][ \t]*TH +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 530 ), 531 rule.Or( 532 rule.MatchingLanguages(""), 533 regexp.MustCompile(`(?m)^[.'][ \t]*SH +(?:[^"\s]+|"[^"\s]+)`), 534 ), 535 ), 536 rule.Always( 537 rule.MatchingLanguages("Roff"), 538 ), 539 }, 540 ".9": &Heuristics{ 541 rule.And( 542 rule.MatchingLanguages("Roff Manpage"), 543 rule.Or( 544 rule.MatchingLanguages(""), 545 regexp.MustCompile(`(?m)^[.'][ \t]*Dd +(?:[^"\s]+|"[^"]+")`), 546 ), 547 rule.Or( 548 rule.MatchingLanguages(""), 549 regexp.MustCompile(`(?m)^[.'][ \t]*Dt +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 550 ), 551 rule.Or( 552 rule.MatchingLanguages(""), 553 regexp.MustCompile(`(?m)^[.'][ \t]*Sh +(?:[^"\s]|"[^"]+")`), 554 ), 555 ), 556 rule.And( 557 rule.MatchingLanguages("Roff Manpage"), 558 rule.Or( 559 rule.MatchingLanguages(""), 560 regexp.MustCompile(`(?m)^[.'][ \t]*TH +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 561 ), 562 rule.Or( 563 rule.MatchingLanguages(""), 564 regexp.MustCompile(`(?m)^[.'][ \t]*SH +(?:[^"\s]+|"[^"\s]+)`), 565 ), 566 ), 567 rule.Always( 568 rule.MatchingLanguages("Roff"), 569 ), 570 }, 571 ".as": &Heuristics{ 572 rule.Or( 573 rule.MatchingLanguages("ActionScript"), 574 regexp.MustCompile(`(?m)^\s*(package\s+[a-z0-9_\.]+|import\s+[a-zA-Z0-9_\.]+;|class\s+[A-Za-z0-9_]+\s+extends\s+[A-Za-z0-9_]+)`), 575 ), 576 rule.Always( 577 rule.MatchingLanguages("AngelScript"), 578 ), 579 }, 580 ".asc": &Heuristics{ 581 rule.Or( 582 rule.MatchingLanguages("Public Key"), 583 regexp.MustCompile(`(?m)^(----[- ]BEGIN|ssh-(rsa|dss)) `), 584 ), 585 rule.Or( 586 rule.MatchingLanguages("AsciiDoc"), 587 regexp.MustCompile(`(?m)^[=-]+(\s|\n)|{{[A-Za-z]`), 588 ), 589 rule.Or( 590 rule.MatchingLanguages("AGS Script"), 591 regexp.MustCompile(`(?m)^(\/\/.+|((import|export)\s+)?(function|int|float|char)\s+((room|repeatedly|on|game)_)?([A-Za-z]+[A-Za-z_0-9]+)\s*[;\(])`), 592 ), 593 }, 594 ".asy": &Heuristics{ 595 rule.Or( 596 rule.MatchingLanguages("LTspice Symbol"), 597 regexp.MustCompile(`(?m)^SymbolType[ \t]`), 598 ), 599 rule.Always( 600 rule.MatchingLanguages("Asymptote"), 601 ), 602 }, 603 ".bb": &Heuristics{ 604 rule.Or( 605 rule.MatchingLanguages("BlitzBasic"), 606 regexp.MustCompile(`(?m)(<^\s*; |End Function)`), 607 ), 608 rule.Or( 609 rule.MatchingLanguages("BitBake"), 610 regexp.MustCompile(`(?m)^\s*(# |include|require)\b`), 611 ), 612 }, 613 ".builds": &Heuristics{ 614 rule.Or( 615 rule.MatchingLanguages("XML"), 616 regexp.MustCompile(`(?m)^(\s*)(?i:<Project|<Import|<Property|<?xml|xmlns)`), 617 ), 618 rule.Always( 619 rule.MatchingLanguages("Text"), 620 ), 621 }, 622 ".ch": &Heuristics{ 623 rule.Or( 624 rule.MatchingLanguages("xBase"), 625 regexp.MustCompile(`(?m)^\s*#\s*(?i:if|ifdef|ifndef|define|command|xcommand|translate|xtranslate|include|pragma|undef)\b`), 626 ), 627 }, 628 ".cl": &Heuristics{ 629 rule.Or( 630 rule.MatchingLanguages("Common Lisp"), 631 regexp.MustCompile(`(?m)^\s*\((?i:defun|in-package|defpackage) `), 632 ), 633 rule.Or( 634 rule.MatchingLanguages("Cool"), 635 regexp.MustCompile(`(?m)^class`), 636 ), 637 rule.Or( 638 rule.MatchingLanguages("OpenCL"), 639 regexp.MustCompile(`(?m)\/\* |\/\/ |^\}`), 640 ), 641 }, 642 ".cls": &Heuristics{ 643 rule.Or( 644 rule.MatchingLanguages("TeX"), 645 regexp.MustCompile(`(?m)\\\w+{`), 646 ), 647 }, 648 ".cs": &Heuristics{ 649 rule.Or( 650 rule.MatchingLanguages("Smalltalk"), 651 regexp.MustCompile(`(?m)![\w\s]+methodsFor: `), 652 ), 653 rule.Or( 654 rule.MatchingLanguages("C#"), 655 regexp.MustCompile(`(?m)^(\s*namespace\s*[\w\.]+\s*{|\s*\/\/)`), 656 ), 657 }, 658 ".d": &Heuristics{ 659 rule.Or( 660 rule.MatchingLanguages("D"), 661 regexp.MustCompile(`(?m)^module\s+[\w.]*\s*;|import\s+[\w\s,.:]*;|\w+\s+\w+\s*\(.*\)(?:\(.*\))?\s*{[^}]*}|unittest\s*(?:\(.*\))?\s*{[^}]*}`), 662 ), 663 rule.Or( 664 rule.MatchingLanguages("DTrace"), 665 regexp.MustCompile(`(?m)^(\w+:\w*:\w*:\w*|BEGIN|END|provider\s+|(tick|profile)-\w+\s+{[^}]*}|#pragma\s+D\s+(option|attributes|depends_on)\s|#pragma\s+ident\s)`), 666 ), 667 rule.Or( 668 rule.MatchingLanguages("Makefile"), 669 regexp.MustCompile(`(?m)([\/\\].*:\s+.*\s\\$|: \\$|^ : |^[\w\s\/\\.]+\w+\.\w+\s*:\s+[\w\s\/\\.]+\w+\.\w+)`), 670 ), 671 }, 672 ".ecl": &Heuristics{ 673 rule.Or( 674 rule.MatchingLanguages("ECLiPSe"), 675 regexp.MustCompile(`(?m)^[^#]+:-`), 676 ), 677 rule.Or( 678 rule.MatchingLanguages("ECL"), 679 regexp.MustCompile(`(?m):=`), 680 ), 681 }, 682 ".es": &Heuristics{ 683 rule.Or( 684 rule.MatchingLanguages("Erlang"), 685 regexp.MustCompile(`(?m)^\s*(?:%%|main\s*\(.*?\)\s*->)`), 686 ), 687 }, 688 ".f": &Heuristics{ 689 rule.Or( 690 rule.MatchingLanguages("Forth"), 691 regexp.MustCompile(`(?m)^: `), 692 ), 693 rule.Or( 694 rule.MatchingLanguages("Filebench WML"), 695 regexp.MustCompile(`(?m)flowop`), 696 ), 697 rule.Or( 698 rule.MatchingLanguages("Fortran"), 699 regexp.MustCompile(`(?m)^(?i:[c*][^abd-z]| (subroutine|program|end|data)\s|\s*!)`), 700 ), 701 }, 702 ".for": &Heuristics{ 703 rule.Or( 704 rule.MatchingLanguages("Forth"), 705 regexp.MustCompile(`(?m)^: `), 706 ), 707 rule.Or( 708 rule.MatchingLanguages("Fortran"), 709 regexp.MustCompile(`(?m)^(?i:[c*][^abd-z]| (subroutine|program|end|data)\s|\s*!)`), 710 ), 711 }, 712 ".fr": &Heuristics{ 713 rule.Or( 714 rule.MatchingLanguages("Forth"), 715 regexp.MustCompile(`(?m)^(: |also |new-device|previous )`), 716 ), 717 rule.Or( 718 rule.MatchingLanguages("Frege"), 719 regexp.MustCompile(`(?m)^\s*(import|module|package|data|type) `), 720 ), 721 rule.Always( 722 rule.MatchingLanguages("Text"), 723 ), 724 }, 725 ".fs": &Heuristics{ 726 rule.Or( 727 rule.MatchingLanguages("Forth"), 728 regexp.MustCompile(`(?m)^(: |new-device)`), 729 ), 730 rule.Or( 731 rule.MatchingLanguages("F#"), 732 regexp.MustCompile(`(?m)^\s*(#light|import|let|module|namespace|open|type)`), 733 ), 734 rule.Or( 735 rule.MatchingLanguages("GLSL"), 736 regexp.MustCompile(`(?m)^\s*(#version|precision|uniform|varying|vec[234])`), 737 ), 738 rule.Or( 739 rule.MatchingLanguages("Filterscript"), 740 regexp.MustCompile(`(?m)#include|#pragma\s+(rs|version)|__attribute__`), 741 ), 742 }, 743 ".gd": &Heuristics{ 744 rule.Or( 745 rule.MatchingLanguages("GAP"), 746 regexp.MustCompile(`(?m)\s*(Declare|BindGlobal|KeyDependentOperation)`), 747 ), 748 rule.Or( 749 rule.MatchingLanguages("GDScript"), 750 regexp.MustCompile(`(?m)\s*(extends|var|const|enum|func|class|signal|tool|yield|assert|onready)`), 751 ), 752 }, 753 ".gml": &Heuristics{ 754 rule.Or( 755 rule.MatchingLanguages("XML"), 756 regexp.MustCompile(`(?m)(?i:^\s*(\<\?xml|xmlns))`), 757 ), 758 rule.Or( 759 rule.MatchingLanguages("Graph Modeling Language"), 760 regexp.MustCompile(`(?m)(?i:^\s*(graph|node)\s+\[$)`), 761 ), 762 rule.Always( 763 rule.MatchingLanguages("Game Maker Language"), 764 ), 765 }, 766 ".gs": &Heuristics{ 767 rule.Or( 768 rule.MatchingLanguages("Gosu"), 769 regexp.MustCompile(`(?m)^uses java\.`), 770 ), 771 }, 772 ".h": &Heuristics{ 773 rule.Or( 774 rule.MatchingLanguages("Objective-C"), 775 regexp.MustCompile(`(?m)^\s*(@(interface|class|protocol|property|end|synchronised|selector|implementation)\b|#import\s+.+\.h[">])`), 776 ), 777 rule.Or( 778 rule.MatchingLanguages("C++"), 779 regexp.MustCompile(`(?m)^\s*#\s*include <(cstdint|string|vector|map|list|array|bitset|queue|stack|forward_list|unordered_map|unordered_set|(i|o|io)stream)>|^\s*template\s*<|^[ \t]*try|^[ \t]*catch\s*\(|^[ \t]*(class|(using[ \t]+)?namespace)\s+\w+|^[ \t]*(private|public|protected):$|std::\w+`), 780 ), 781 }, 782 ".hh": &Heuristics{ 783 rule.Or( 784 rule.MatchingLanguages("Hack"), 785 regexp.MustCompile(`(?m)<\?hh`), 786 ), 787 }, 788 ".ice": &Heuristics{ 789 rule.Or( 790 rule.MatchingLanguages("JSON"), 791 regexp.MustCompile(`(?m)\A\s*[{\[]`), 792 ), 793 rule.Always( 794 rule.MatchingLanguages("Slice"), 795 ), 796 }, 797 ".inc": &Heuristics{ 798 rule.Or( 799 rule.MatchingLanguages("PHP"), 800 regexp.MustCompile(`(?m)^<\?(?:php)?`), 801 ), 802 rule.Or( 803 rule.MatchingLanguages("POV-Ray SDL"), 804 regexp.MustCompile(`(?m)^\s*#(declare|local|macro|while)\s`), 805 ), 806 }, 807 ".l": &Heuristics{ 808 rule.Or( 809 rule.MatchingLanguages("Common Lisp"), 810 regexp.MustCompile(`(?m)\(def(un|macro)\s`), 811 ), 812 rule.Or( 813 rule.MatchingLanguages("Lex"), 814 regexp.MustCompile(`(?m)^(%[%{}]xs|<.*>)`), 815 ), 816 rule.Or( 817 rule.MatchingLanguages("Roff"), 818 regexp.MustCompile(`(?m)^\.[A-Za-z]{2}(\s|$)`), 819 ), 820 rule.Or( 821 rule.MatchingLanguages("PicoLisp"), 822 regexp.MustCompile(`(?m)^\((de|class|rel|code|data|must)\s`), 823 ), 824 }, 825 ".lisp": &Heuristics{ 826 rule.Or( 827 rule.MatchingLanguages("Common Lisp"), 828 regexp.MustCompile(`(?m)^\s*\((?i:defun|in-package|defpackage) `), 829 ), 830 rule.Or( 831 rule.MatchingLanguages("NewLisp"), 832 regexp.MustCompile(`(?m)^\s*\(define `), 833 ), 834 }, 835 ".ls": &Heuristics{ 836 rule.Or( 837 rule.MatchingLanguages("LoomScript"), 838 regexp.MustCompile(`(?m)^\s*package\s*[\w\.\/\*\s]*\s*{`), 839 ), 840 rule.Always( 841 rule.MatchingLanguages("LiveScript"), 842 ), 843 }, 844 ".lsp": &Heuristics{ 845 rule.Or( 846 rule.MatchingLanguages("Common Lisp"), 847 regexp.MustCompile(`(?m)^\s*\((?i:defun|in-package|defpackage) `), 848 ), 849 rule.Or( 850 rule.MatchingLanguages("NewLisp"), 851 regexp.MustCompile(`(?m)^\s*\(define `), 852 ), 853 }, 854 ".m": &Heuristics{ 855 rule.Or( 856 rule.MatchingLanguages("Objective-C"), 857 regexp.MustCompile(`(?m)^\s*(@(interface|class|protocol|property|end|synchronised|selector|implementation)\b|#import\s+.+\.h[">])`), 858 ), 859 rule.Or( 860 rule.MatchingLanguages("Mercury"), 861 regexp.MustCompile(`(?m):- module`), 862 ), 863 rule.Or( 864 rule.MatchingLanguages("MUF"), 865 regexp.MustCompile(`(?m)^: `), 866 ), 867 rule.Or( 868 rule.MatchingLanguages("M"), 869 regexp.MustCompile(`(?m)^\s*;`), 870 ), 871 rule.Or( 872 rule.MatchingLanguages("Mathematica"), 873 regexp.MustCompile(`(?m)\*\)$`), 874 ), 875 rule.Or( 876 rule.MatchingLanguages("MATLAB"), 877 regexp.MustCompile(`(?m)^\s*%`), 878 ), 879 rule.Or( 880 rule.MatchingLanguages("Limbo"), 881 regexp.MustCompile(`(?m)^\w+\s*:\s*module\s*{`), 882 ), 883 }, 884 ".man": &Heuristics{ 885 rule.And( 886 rule.MatchingLanguages("Roff Manpage"), 887 rule.Or( 888 rule.MatchingLanguages(""), 889 regexp.MustCompile(`(?m)^[.'][ \t]*Dd +(?:[^"\s]+|"[^"]+")`), 890 ), 891 rule.Or( 892 rule.MatchingLanguages(""), 893 regexp.MustCompile(`(?m)^[.'][ \t]*Dt +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 894 ), 895 rule.Or( 896 rule.MatchingLanguages(""), 897 regexp.MustCompile(`(?m)^[.'][ \t]*Sh +(?:[^"\s]|"[^"]+")`), 898 ), 899 ), 900 rule.And( 901 rule.MatchingLanguages("Roff Manpage"), 902 rule.Or( 903 rule.MatchingLanguages(""), 904 regexp.MustCompile(`(?m)^[.'][ \t]*TH +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 905 ), 906 rule.Or( 907 rule.MatchingLanguages(""), 908 regexp.MustCompile(`(?m)^[.'][ \t]*SH +(?:[^"\s]+|"[^"\s]+)`), 909 ), 910 ), 911 rule.Always( 912 rule.MatchingLanguages("Roff"), 913 ), 914 }, 915 ".md": &Heuristics{ 916 rule.Or( 917 rule.MatchingLanguages("Markdown"), 918 regexp.MustCompile(`(?m)(^[-A-Za-z0-9=#!\*\[|>])|<\/|\A\z`), 919 ), 920 rule.Or( 921 rule.MatchingLanguages("GCC Machine Description"), 922 regexp.MustCompile(`(?m)^(;;|\(define_)`), 923 ), 924 rule.Always( 925 rule.MatchingLanguages("Markdown"), 926 ), 927 }, 928 ".mdoc": &Heuristics{ 929 rule.And( 930 rule.MatchingLanguages("Roff Manpage"), 931 rule.Or( 932 rule.MatchingLanguages(""), 933 regexp.MustCompile(`(?m)^[.'][ \t]*Dd +(?:[^"\s]+|"[^"]+")`), 934 ), 935 rule.Or( 936 rule.MatchingLanguages(""), 937 regexp.MustCompile(`(?m)^[.'][ \t]*Dt +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 938 ), 939 rule.Or( 940 rule.MatchingLanguages(""), 941 regexp.MustCompile(`(?m)^[.'][ \t]*Sh +(?:[^"\s]|"[^"]+")`), 942 ), 943 ), 944 rule.And( 945 rule.MatchingLanguages("Roff Manpage"), 946 rule.Or( 947 rule.MatchingLanguages(""), 948 regexp.MustCompile(`(?m)^[.'][ \t]*TH +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)`), 949 ), 950 rule.Or( 951 rule.MatchingLanguages(""), 952 regexp.MustCompile(`(?m)^[.'][ \t]*SH +(?:[^"\s]+|"[^"\s]+)`), 953 ), 954 ), 955 rule.Always( 956 rule.MatchingLanguages("Roff"), 957 ), 958 }, 959 ".ml": &Heuristics{ 960 rule.Or( 961 rule.MatchingLanguages("OCaml"), 962 regexp.MustCompile(`(?m)(^\s*module)|let rec |match\s+(\S+\s)+with`), 963 ), 964 rule.Or( 965 rule.MatchingLanguages("Standard ML"), 966 regexp.MustCompile(`(?m)=> |case\s+(\S+\s)+of`), 967 ), 968 }, 969 ".mod": &Heuristics{ 970 rule.Or( 971 rule.MatchingLanguages("XML"), 972 regexp.MustCompile(`(?m)<!ENTITY `), 973 ), 974 rule.Or( 975 rule.MatchingLanguages("Modula-2"), 976 regexp.MustCompile(`(?m)^\s*(?i:MODULE|END) [\w\.]+;`), 977 ), 978 rule.Always( 979 rule.MatchingLanguages("Linux Kernel Module", "AMPL"), 980 ), 981 }, 982 ".ms": &Heuristics{ 983 rule.Or( 984 rule.MatchingLanguages("Roff"), 985 regexp.MustCompile(`(?m)^[.'][A-Za-z]{2}(\s|$)`), 986 ), 987 rule.And( 988 rule.MatchingLanguages("Unix Assembly"), 989 rule.Not( 990 rule.MatchingLanguages(""), 991 regexp.MustCompile(`(?m)/\*`), 992 ), 993 rule.Or( 994 rule.MatchingLanguages(""), 995 regexp.MustCompile(`(?m)^\s*\.(?:include\s|globa?l\s|[A-Za-z][_A-Za-z0-9]*:)`), 996 ), 997 ), 998 rule.Always( 999 rule.MatchingLanguages("MAXScript"), 1000 ), 1001 }, 1002 ".n": &Heuristics{ 1003 rule.Or( 1004 rule.MatchingLanguages("Roff"), 1005 regexp.MustCompile(`(?m)^[.']`), 1006 ), 1007 rule.Or( 1008 rule.MatchingLanguages("Nemerle"), 1009 regexp.MustCompile(`(?m)^(module|namespace|using)\s`), 1010 ), 1011 }, 1012 ".ncl": &Heuristics{ 1013 rule.Or( 1014 rule.MatchingLanguages("XML"), 1015 regexp.MustCompile(`(?m)^\s*<\?xml\s+version`), 1016 ), 1017 rule.Or( 1018 rule.MatchingLanguages("Text"), 1019 regexp.MustCompile(`(?m)THE_TITLE`), 1020 ), 1021 }, 1022 ".nl": &Heuristics{ 1023 rule.Or( 1024 rule.MatchingLanguages("NL"), 1025 regexp.MustCompile(`(?m)^(b|g)[0-9]+ `), 1026 ), 1027 rule.Always( 1028 rule.MatchingLanguages("NewLisp"), 1029 ), 1030 }, 1031 ".php": &Heuristics{ 1032 rule.Or( 1033 rule.MatchingLanguages("Hack"), 1034 regexp.MustCompile(`(?m)<\?hh`), 1035 ), 1036 rule.Or( 1037 rule.MatchingLanguages("PHP"), 1038 regexp.MustCompile(`(?m)<\?[^h]`), 1039 ), 1040 }, 1041 ".pl": &Heuristics{ 1042 rule.Or( 1043 rule.MatchingLanguages("Prolog"), 1044 regexp.MustCompile(`(?m)^[^#]*:-`), 1045 ), 1046 rule.Or( 1047 rule.MatchingLanguages("Perl"), 1048 regexp.MustCompile(`(?m)\buse\s+(?:strict\b|v?5\.)`), 1049 ), 1050 rule.Or( 1051 rule.MatchingLanguages("Perl 6"), 1052 regexp.MustCompile(`(?m)^\s*(?:use\s+v6\b|\bmodule\b|\b(?:my\s+)?class\b)`), 1053 ), 1054 }, 1055 ".pm": &Heuristics{ 1056 rule.Or( 1057 rule.MatchingLanguages("Perl"), 1058 regexp.MustCompile(`(?m)\buse\s+(?:strict\b|v?5\.)`), 1059 ), 1060 rule.Or( 1061 rule.MatchingLanguages("Perl 6"), 1062 regexp.MustCompile(`(?m)^\s*(?:use\s+v6\b|\bmodule\b|\b(?:my\s+)?class\b)`), 1063 ), 1064 rule.Or( 1065 rule.MatchingLanguages("XPM"), 1066 regexp.MustCompile(`(?m)^\s*\/\* XPM \*\/`), 1067 ), 1068 }, 1069 ".pod": &Heuristics{ 1070 rule.Or( 1071 rule.MatchingLanguages("Pod 6"), 1072 regexp.MustCompile(`(?m)^[\s&&[^\n]]*=(comment|begin pod|begin para|item\d+)`), 1073 ), 1074 rule.Always( 1075 rule.MatchingLanguages("Pod"), 1076 ), 1077 }, 1078 ".pp": &Heuristics{ 1079 rule.Or( 1080 rule.MatchingLanguages("Pascal"), 1081 regexp.MustCompile(`(?m)^\s*end[.;]`), 1082 ), 1083 rule.Or( 1084 rule.MatchingLanguages("Puppet"), 1085 regexp.MustCompile(`(?m)^\s+\w+\s+=>\s`), 1086 ), 1087 }, 1088 ".pro": &Heuristics{ 1089 rule.Or( 1090 rule.MatchingLanguages("Prolog"), 1091 regexp.MustCompile(`(?m)^[^\[#]+:-`), 1092 ), 1093 rule.Or( 1094 rule.MatchingLanguages("INI"), 1095 regexp.MustCompile(`(?m)last_client=`), 1096 ), 1097 rule.And( 1098 rule.MatchingLanguages("QMake"), 1099 rule.Or( 1100 rule.MatchingLanguages(""), 1101 regexp.MustCompile(`(?m)HEADERS`), 1102 ), 1103 rule.Or( 1104 rule.MatchingLanguages(""), 1105 regexp.MustCompile(`(?m)SOURCES`), 1106 ), 1107 ), 1108 rule.Or( 1109 rule.MatchingLanguages("IDL"), 1110 regexp.MustCompile(`(?m)^\s*function[ \w,]+$`), 1111 ), 1112 }, 1113 ".properties": &Heuristics{ 1114 rule.And( 1115 rule.MatchingLanguages("INI"), 1116 rule.Or( 1117 rule.MatchingLanguages(""), 1118 regexp.MustCompile(`(?m)^[^#!;][^=]*=`), 1119 ), 1120 rule.Or( 1121 rule.MatchingLanguages(""), 1122 regexp.MustCompile(`(?m)^[;\[]`), 1123 ), 1124 ), 1125 rule.And( 1126 rule.MatchingLanguages("Java Properties"), 1127 rule.Or( 1128 rule.MatchingLanguages(""), 1129 regexp.MustCompile(`(?m)^[^#!;][^=]*=`), 1130 ), 1131 rule.Or( 1132 rule.MatchingLanguages(""), 1133 regexp.MustCompile(`(?m)^[#!]`), 1134 ), 1135 ), 1136 rule.Or( 1137 rule.MatchingLanguages("INI"), 1138 regexp.MustCompile(`(?m)^[^#!;][^=]*=`), 1139 ), 1140 rule.Or( 1141 rule.MatchingLanguages("Java properties"), 1142 regexp.MustCompile(`(?m)^[^#!][^:]*:`), 1143 ), 1144 }, 1145 ".props": &Heuristics{ 1146 rule.Or( 1147 rule.MatchingLanguages("XML"), 1148 regexp.MustCompile(`(?m)^(\s*)(?i:<Project|<Import|<Property|<?xml|xmlns)`), 1149 ), 1150 rule.Or( 1151 rule.MatchingLanguages("INI"), 1152 regexp.MustCompile(`(?m)(?i:\w+\s*=\s*)`), 1153 ), 1154 }, 1155 ".q": &Heuristics{ 1156 rule.Or( 1157 rule.MatchingLanguages("q"), 1158 regexp.MustCompile(`(?m)((?i:[A-Z.][\w.]*:{)|(^|\n)\\(cd?|d|l|p|ts?) )`), 1159 ), 1160 rule.Or( 1161 rule.MatchingLanguages("HiveQL"), 1162 regexp.MustCompile(`(?m)(?i:SELECT\s+[\w*,]+\s+FROM|(CREATE|ALTER|DROP)\s(DATABASE|SCHEMA|TABLE))`), 1163 ), 1164 }, 1165 ".r": &Heuristics{ 1166 rule.Or( 1167 rule.MatchingLanguages("Rebol"), 1168 regexp.MustCompile(`(?m)(?i:\bRebol\b)`), 1169 ), 1170 rule.Or( 1171 rule.MatchingLanguages("R"), 1172 regexp.MustCompile(`(?m)<-|^\s*#`), 1173 ), 1174 }, 1175 ".rno": &Heuristics{ 1176 rule.Or( 1177 rule.MatchingLanguages("RUNOFF"), 1178 regexp.MustCompile(`(?m)(?i:^\.!|^\.end lit(?:eral)?\b)`), 1179 ), 1180 rule.Or( 1181 rule.MatchingLanguages("Roff"), 1182 regexp.MustCompile(`(?m)^\.\\" `), 1183 ), 1184 }, 1185 ".rpy": &Heuristics{ 1186 rule.Or( 1187 rule.MatchingLanguages("Python"), 1188 regexp.MustCompile(`(?m)(?m:^(import|from|class|def)\s)`), 1189 ), 1190 rule.Always( 1191 rule.MatchingLanguages("Ren'Py"), 1192 ), 1193 }, 1194 ".rs": &Heuristics{ 1195 rule.Or( 1196 rule.MatchingLanguages("Rust"), 1197 regexp.MustCompile(`(?m)^(use |fn |mod |pub |macro_rules|impl|#!?\[)`), 1198 ), 1199 rule.Or( 1200 rule.MatchingLanguages("RenderScript"), 1201 regexp.MustCompile(`(?m)#include|#pragma\s+(rs|version)|__attribute__`), 1202 ), 1203 }, 1204 ".sc": &Heuristics{ 1205 rule.Or( 1206 rule.MatchingLanguages("SuperCollider"), 1207 regexp.MustCompile(`(?m)(?i:\^(this|super)\.|^\s*~\w+\s*=\.)`), 1208 ), 1209 rule.Or( 1210 rule.MatchingLanguages("Scala"), 1211 regexp.MustCompile(`(?m)(^\s*import (scala|java)\.|^\s*class\b)`), 1212 ), 1213 }, 1214 ".sql": &Heuristics{ 1215 rule.Or( 1216 rule.MatchingLanguages("PLpgSQL"), 1217 regexp.MustCompile(`(?m)(?i:^\\i\b|AS \$\$|LANGUAGE '?plpgsql'?|SECURITY (DEFINER|INVOKER)|BEGIN( WORK| TRANSACTION)?;)`), 1218 ), 1219 rule.Or( 1220 rule.MatchingLanguages("SQLPL"), 1221 regexp.MustCompile(`(?m)(?i:(alter module)|(language sql)|(begin( NOT)+ atomic)|signal SQLSTATE '[0-9]+')`), 1222 ), 1223 rule.Or( 1224 rule.MatchingLanguages("PLSQL"), 1225 regexp.MustCompile(`(?m)(?i:\$\$PLSQL_|XMLTYPE|sysdate|systimestamp|\.nextval|connect by|AUTHID (DEFINER|CURRENT_USER)|constructor\W+function)`), 1226 ), 1227 rule.Not( 1228 rule.MatchingLanguages("SQL"), 1229 regexp.MustCompile(`(?m)(?i:begin|boolean|package|exception)`), 1230 ), 1231 }, 1232 ".srt": &Heuristics{ 1233 rule.Or( 1234 rule.MatchingLanguages("SubRip Text"), 1235 regexp.MustCompile(`(?m)^(\d{2}:\d{2}:\d{2},\d{3})\s*(-->)\s*(\d{2}:\d{2}:\d{2},\d{3})$`), 1236 ), 1237 }, 1238 ".t": &Heuristics{ 1239 rule.Or( 1240 rule.MatchingLanguages("Perl"), 1241 regexp.MustCompile(`(?m)\buse\s+(?:strict\b|v?5\.)`), 1242 ), 1243 rule.Or( 1244 rule.MatchingLanguages("Perl 6"), 1245 regexp.MustCompile(`(?m)^\s*(?:use\s+v6\b|\bmodule\b|\b(?:my\s+)?class\b)`), 1246 ), 1247 rule.Or( 1248 rule.MatchingLanguages("Turing"), 1249 regexp.MustCompile(`(?m)^\s*%[ \t]+|^\s*var\s+\w+(\s*:\s*\w+)?\s*:=\s*\w+`), 1250 ), 1251 }, 1252 ".toc": &Heuristics{ 1253 rule.Or( 1254 rule.MatchingLanguages("World of Warcraft Addon Data"), 1255 regexp.MustCompile(`(?m)^## |@no-lib-strip@`), 1256 ), 1257 rule.Or( 1258 rule.MatchingLanguages("TeX"), 1259 regexp.MustCompile(`(?m)^\\(contentsline|defcounter|beamer|boolfalse)`), 1260 ), 1261 }, 1262 ".ts": &Heuristics{ 1263 rule.Or( 1264 rule.MatchingLanguages("XML"), 1265 regexp.MustCompile(`(?m)<TS\b`), 1266 ), 1267 rule.Always( 1268 rule.MatchingLanguages("TypeScript"), 1269 ), 1270 }, 1271 ".tst": &Heuristics{ 1272 rule.Or( 1273 rule.MatchingLanguages("GAP"), 1274 regexp.MustCompile(`(?m)gap> `), 1275 ), 1276 rule.Always( 1277 rule.MatchingLanguages("Scilab"), 1278 ), 1279 }, 1280 ".tsx": &Heuristics{ 1281 rule.Or( 1282 rule.MatchingLanguages("TypeScript"), 1283 regexp.MustCompile(`(?m)^\s*(import.+(from\s+|require\()['"]react|\/\/\/\s*<reference\s)`), 1284 ), 1285 rule.Or( 1286 rule.MatchingLanguages("XML"), 1287 regexp.MustCompile(`(?m)(?i:^\s*<\?xml\s+version)`), 1288 ), 1289 }, 1290 ".w": &Heuristics{ 1291 rule.Or( 1292 rule.MatchingLanguages("OpenEdge ABL"), 1293 regexp.MustCompile(`(?m)&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS`), 1294 ), 1295 rule.Or( 1296 rule.MatchingLanguages("CWeb"), 1297 regexp.MustCompile(`(?m)^@(<|\w+\.)`), 1298 ), 1299 }, 1300 ".x": &Heuristics{ 1301 rule.Or( 1302 rule.MatchingLanguages("RPC"), 1303 regexp.MustCompile(`(?m)\b(program|version)\s+\w+\s*{|\bunion\s+\w+\s+switch\s*\(`), 1304 ), 1305 rule.Or( 1306 rule.MatchingLanguages("Logos"), 1307 regexp.MustCompile(`(?m)^%(end|ctor|hook|group)\b`), 1308 ), 1309 rule.Or( 1310 rule.MatchingLanguages("Linked Script"), 1311 regexp.MustCompile(`(?m)OUTPUT_ARCH\(|OUTPUT_FORMAT\(|SECTIONS`), 1312 ), 1313 }, 1314 ".yy": &Heuristics{ 1315 rule.Or( 1316 rule.MatchingLanguages("JSON"), 1317 regexp.MustCompile(`(?m)\"modelName\"\:\s*\"GM`), 1318 ), 1319 rule.Always( 1320 rule.MatchingLanguages("Yacc"), 1321 ), 1322 }, 1323 }