candidate.patterns (20691B)
1 # marker to ignore all code on line 2 ^.*/\* #no-spell-check-line \*/.*$ 3 # marker for ignoring a comment to the end of the line 4 // #no-spell-check.*$ 5 # marker to ignore all code on line 6 ^.*\bno-spell-check(?:-line|)(?:\s.*|)$ 7 8 # https://cspell.org/configuration/document-settings/ 9 # cspell inline 10 ^.*\b[Cc][Ss][Pp][Ee][Ll]{2}:\s*[Dd][Ii][Ss][Aa][Bb][Ll][Ee]-[Ll][Ii][Nn][Ee]\b 11 12 # patch hunk comments 13 ^@@ -\d+(?:,\d+|) \+\d+(?:,\d+|) @@ .* 14 # git index header 15 index (?:[0-9a-z]{7,40},|)[0-9a-z]{7,40}\.\.[0-9a-z]{7,40} 16 17 # file permissions 18 ['"`\s][-bcdLlpsw](?:[-r][-w][-Ssx]){2}[-r][-w][-SsTtx]\+?['"`\s] 19 20 # css url wrappings 21 \burl\([^)]+\) 22 23 # cid urls 24 (['"])cid:.*?\g{-1} 25 26 # data url in parens 27 \(data:(?:[^) ][^)]*?|)(?:[A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,})[^)]*\) 28 # data url in quotes 29 ([`'"])data:(?:[^ `'"].*?|)(?:[A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,}).*\g{-1} 30 # data url 31 \bdata:[-a-zA-Z=;:/0-9+]*,\S* 32 33 # https/http/file urls 34 #(?:\b(?:https?|ftp|file)://)[-A-Za-z0-9+&@#/*%?=~_|!:,.;]+[-A-Za-z0-9+&@#/*%=~_|] 35 36 # mailto urls 37 mailto:[-a-zA-Z=;:/?%&0-9+@._]{3,} 38 39 # magnet urls 40 magnet:[?=:\w]+ 41 42 # magnet urls 43 "magnet:[^"]+" 44 45 # obs: 46 "obs:[^"]*" 47 48 # The `\b` here means a break, it's the fancy way to handle urls, but it makes things harder to read 49 # In this examples content, I'm using a number of different ways to match things to show various approaches 50 # asciinema 51 \basciinema\.org/a/[0-9a-zA-Z]+ 52 53 # asciinema v2 54 ^\[\d+\.\d+, "[io]", ".*"\]$ 55 56 # apple 57 \bdeveloper\.apple\.com/[-\w?=/]+ 58 # Apple music 59 \bembed\.music\.apple\.com/fr/playlist/usr-share/[-\w.]+ 60 61 # appveyor api 62 \bci\.appveyor\.com/api/projects/status/[0-9a-z]+ 63 # appveyor project 64 \bci\.appveyor\.com/project/(?:[^/\s"]*/){2}builds?/\d+/job/[0-9a-z]+ 65 66 # Amazon 67 68 # Amazon 69 \bamazon\.com/[-\w]+/(?:dp/[0-9A-Z]+|) 70 # AWS S3 71 \b\w*\.s3[^.]*\.amazonaws\.com/[-\w/&#%_?:=]* 72 # AWS execute-api 73 \b[0-9a-z]{10}\.execute-api\.[-0-9a-z]+\.amazonaws\.com\b 74 # AWS ELB 75 \b\w+\.[-0-9a-z]+\.elb\.amazonaws\.com\b 76 # AWS SNS 77 \bsns\.[-0-9a-z]+.amazonaws\.com/[-\w/&#%_?:=]* 78 # AWS VPC 79 vpc-\w+ 80 81 # While you could try to match `http://` and `https://` by using `s?` in `https?://`, sometimes there 82 # YouTube url 83 \b(?:(?:www\.|)youtube\.com|youtu.be)/(?:channel/|embed/|user/|playlist\?list=|watch\?v=|v/|)[-a-zA-Z0-9?&=_%]* 84 # YouTube music 85 \bmusic\.youtube\.com/youtubei/v1/browse(?:[?&]\w+=[-a-zA-Z0-9?&=_]*) 86 # YouTube tag 87 <\s*youtube\s+id=['"][-a-zA-Z0-9?_]*['"] 88 # YouTube image 89 \bimg\.youtube\.com/vi/[-a-zA-Z0-9?&=_]* 90 # Google Accounts 91 \baccounts.google.com/[-_/?=.:;+%&0-9a-zA-Z]* 92 # Google Analytics 93 \bgoogle-analytics\.com/collect.[-0-9a-zA-Z?%=&_.~]* 94 # Google APIs 95 \bgoogleapis\.(?:com|dev)/[a-z]+/(?:v\d+/|)[a-z]+/[-@:./?=\w+|&]+ 96 # Google Storage 97 \b[-a-zA-Z0-9.]*\bstorage\d*\.googleapis\.com(?:/\S*|) 98 # Google Calendar 99 \bcalendar\.google\.com/calendar(?:/u/\d+|)/embed\?src=[@./?=\w&%]+ 100 \w+\@group\.calendar\.google\.com\b 101 # Google DataStudio 102 \bdatastudio\.google\.com/(?:(?:c/|)u/\d+/|)(?:embed/|)(?:open|reporting|datasources|s)/[-0-9a-zA-Z]+(?:/page/[-0-9a-zA-Z]+|) 103 # The leading `/` here is as opposed to the `\b` above 104 # ... a short way to match `https://` or `http://` since most urls have one of those prefixes 105 # Google Docs 106 /docs\.google\.com/[a-z]+/(?:ccc\?key=\w+|(?:u/\d+|d/(?:e/|)[0-9a-zA-Z_-]+/)?(?:edit\?[-\w=#.]*|/\?[\w=&]*|)) 107 # Google Drive 108 \bdrive\.google\.com/(?:file/d/|open)[-0-9a-zA-Z_?=]* 109 # Google Groups 110 \bgroups\.google\.com(?:/[a-z]+/(?:#!|)[^/\s"]+)* 111 # Google Maps 112 \bmaps\.google\.com/maps\?[\w&;=]* 113 # Google themes 114 themes\.googleusercontent\.com/static/fonts/[^/\s"]+/v\d+/[^.]+. 115 # Google CDN 116 \bclients2\.google(?:usercontent|)\.com[-0-9a-zA-Z/.]* 117 # Goo.gl 118 /goo\.gl/[a-zA-Z0-9]+ 119 # Google Chrome Store 120 \bchrome\.google\.com/webstore/detail/[-\w]*(?:/\w*|) 121 # Google Books 122 \bgoogle\.(?:\w{2,4})/books(?:/\w+)*\?[-\w\d=&#.]* 123 # Google Fonts 124 \bfonts\.(?:googleapis|gstatic)\.com/[-/?=:;+&0-9a-zA-Z]* 125 # Google Forms 126 \bforms\.gle/\w+ 127 # Google Scholar 128 \bscholar\.google\.com/citations\?user=[A-Za-z0-9_]+ 129 # Google Colab Research Drive 130 \bcolab\.research\.google\.com/drive/[-0-9a-zA-Z_?=]* 131 132 # GitHub SHAs (api) 133 \bapi.github\.com/repos(?:/[^/\s"]+){3}/[0-9a-f]+\b 134 # GitHub SHAs (markdown) 135 (?:\[`?[0-9a-f]+`?\]\(https:/|)/(?:www\.|)github\.com(?:/[^/\s"]+){2,}(?:/[^/\s")]+)(?:[0-9a-f]+(?:[-0-9a-zA-Z/#.]*|)\b|) 136 # GitHub SHAs 137 \bgithub\.com(?:/[^/\s"]+){2}[@#][0-9a-f]+\b 138 # GitHub SHA refs 139 \[([0-9a-f]+)\]\(https://(?:www\.|)github.com/[-\w]+/[-\w]+/commit/\g{-1}[0-9a-f]* 140 # GitHub wiki 141 \bgithub\.com/(?:[^/]+/){2}wiki/(?:(?:[^/]+/|)_history|[^/]+(?:/_compare|)/[0-9a-f.]{40,})\b 142 # githubusercontent 143 /[-a-z0-9]+\.githubusercontent\.com/[-a-zA-Z0-9?&=_\/.]* 144 # githubassets 145 \bgithubassets.com/[0-9a-f]+(?:[-/\w.]+) 146 # gist github 147 \bgist\.github\.com/[^/\s"]+/[0-9a-f]+ 148 # git.io 149 \bgit\.io/[0-9a-zA-Z]+ 150 # GitHub JSON 151 "node_id": "[-a-zA-Z=;:/0-9+_]*" 152 # Contributor 153 \[[^\]]+\]\(https://github\.com/[^/\s"]+/?\) 154 # GHSA 155 GHSA(?:-[0-9a-z]{4}){3} 156 157 # GitHub actions 158 \buses:\s+[-\w.]+/[-\w./]+@[-\w.]+ 159 160 # GitLab commit 161 \bgitlab\.[^/\s"]*/\S+/\S+/commit/[0-9a-f]{7,16}#[0-9a-f]{40}\b 162 # GitLab merge requests 163 \bgitlab\.[^/\s"]*/\S+/\S+/-/merge_requests/\d+/diffs#[0-9a-f]{40}\b 164 # GitLab uploads 165 \bgitlab\.[^/\s"]*/uploads/[-a-zA-Z=;:/0-9+]* 166 # GitLab commits 167 \bgitlab\.[^/\s"]*/(?:[^/\s"]+/){2}commits?/[0-9a-f]+\b 168 169 # binance 170 accounts\.binance\.com/[a-z/]*oauth/authorize\?[-0-9a-zA-Z&%]* 171 172 # bitbucket diff 173 \bapi\.bitbucket\.org/\d+\.\d+/repositories/(?:[^/\s"]+/){2}diff(?:stat|)(?:/[^/\s"]+){2}:[0-9a-f]+ 174 # bitbucket repositories commits 175 \bapi\.bitbucket\.org/\d+\.\d+/repositories/(?:[^/\s"]+/){2}commits?/[0-9a-f]+ 176 # bitbucket commits 177 \bbitbucket\.org/(?:[^/\s"]+/){2}commits?/[0-9a-f]+ 178 179 # bit.ly 180 \bbit\.ly/\w+ 181 182 # bitrise 183 \bapp\.bitrise\.io/app/[0-9a-f]*/[\w.?=&]* 184 185 # bootstrapcdn.com 186 \bbootstrapcdn\.com/[-./\w]+ 187 188 # cdn.cloudflare.com 189 \bcdnjs\.cloudflare\.com/[./\w]+ 190 191 # circleci 192 \bcircleci\.com/gh(?:/[^/\s"]+){1,5}.[a-z]+\?[-0-9a-zA-Z=&]+ 193 194 # gitter 195 \bgitter\.im(?:/[^/\s"]+){2}\?at=[0-9a-f]+ 196 197 # gravatar 198 \bgravatar\.com/avatar/[0-9a-f]+ 199 200 # ibm 201 [a-z.]*ibm\.com/[-_#=:%!?~.\\/\d\w]* 202 203 # imgur 204 \bimgur\.com/[^.]+ 205 206 # Internet Archive 207 \barchive\.org/web/\d+/(?:[-\w.?,'/\\+&%$#_:]*) 208 209 # discord 210 /discord(?:app\.com|\.gg)/(?:invite/)?[a-zA-Z0-9]{7,} 211 212 # Disqus 213 \bdisqus\.com/[-\w/%.()!?&=_]* 214 215 # medium link 216 \blink\.medium\.com/[a-zA-Z0-9]+ 217 # medium 218 \bmedium\.com/@?[^/\s"]+/[-\w]+ 219 220 # microsoft 221 \b(?:https?://|)(?:(?:(?:blogs|download\.visualstudio|docs|msdn2?|research)\.|)microsoft|blogs\.msdn)\.co(?:m|\.\w\w)/[-_a-zA-Z0-9()=./%]* 222 # powerbi 223 \bapp\.powerbi\.com/reportEmbed/[^"' ]* 224 # vs devops 225 \bvisualstudio.com(?::443|)/[-\w/?=%&.]* 226 # microsoft store 227 \bmicrosoft\.com/store/apps/\w+ 228 229 # mvnrepository.com 230 \bmvnrepository\.com/[-0-9a-z./]+ 231 232 # now.sh 233 /[0-9a-z-.]+\.now\.sh\b 234 235 # oracle 236 \bdocs\.oracle\.com/[-0-9a-zA-Z./_?#&=]* 237 238 # chromatic.com 239 /\S+.chromatic.com\S*[")] 240 241 # codacy 242 \bapi\.codacy\.com/project/badge/Grade/[0-9a-f]+ 243 244 # compai 245 \bcompai\.pub/v1/png/[0-9a-f]+ 246 247 # mailgun api 248 \.api\.mailgun\.net/v3/domains/[0-9a-z]+\.mailgun.org/messages/[0-9a-zA-Z=@]* 249 # mailgun 250 \b[0-9a-z]+.mailgun.org 251 252 # /message-id/ 253 /message-id/[-\w@./%]+ 254 255 # Reddit 256 \breddit\.com/r/[/\w_]* 257 258 # requestb.in 259 \brequestb\.in/[0-9a-z]+ 260 261 # sched 262 \b[a-z0-9]+\.sched\.com\b 263 264 # Slack url 265 slack://[a-zA-Z0-9?&=]+ 266 # Slack 267 \bslack\.com/[-0-9a-zA-Z/_~?&=.]* 268 # Slack edge 269 \bslack-edge\.com/[-a-zA-Z0-9?&=%./]+ 270 # Slack images 271 \bslack-imgs\.com/[-a-zA-Z0-9?&=%.]+ 272 273 # shields.io 274 \bshields\.io/[-\w/%?=&.:+;,]* 275 276 # stackexchange -- https://stackexchange.com/feeds/sites 277 \b(?:askubuntu|serverfault|stack(?:exchange|overflow)|superuser).com/(?:questions/\w+/[-\w]+|a/) 278 279 # Sentry 280 [0-9a-f]{32}\@o\d+\.ingest\.sentry\.io\b 281 282 # Twitter markdown 283 \[@[^[/\]:]*?\]\(https://twitter.com/[^/\s"')]*(?:/status/\d+(?:\?[-_0-9a-zA-Z&=]*|)|)\) 284 # Twitter hashtag 285 \btwitter\.com/hashtag/[\w?_=&]* 286 # Twitter status 287 \btwitter\.com/[^/\s"')]*(?:/status/\d+(?:\?[-_0-9a-zA-Z&=]*|)|) 288 # Twitter profile images 289 \btwimg\.com/profile_images/[_\w./]* 290 # Twitter media 291 \btwimg\.com/media/[-_\w./?=]* 292 # Twitter link shortened 293 \bt\.co/\w+ 294 295 # facebook 296 \bfburl\.com/[0-9a-z_]+ 297 # facebook CDN 298 \bfbcdn\.net/[\w/.,]* 299 # facebook watch 300 \bfb\.watch/[0-9A-Za-z]+ 301 302 # dropbox 303 \bdropbox\.com/sh?/[^/\s"]+/[-0-9A-Za-z_.%?=&;]+ 304 305 # ipfs protocol 306 ipfs://[0-9a-zA-Z]{3,} 307 # ipfs url 308 /ipfs/[0-9a-zA-Z]{3,} 309 310 # w3 311 \bw3\.org/[-0-9a-zA-Z/#.]+ 312 313 # loom 314 \bloom\.com/embed/[0-9a-f]+ 315 316 # regex101 317 \bregex101\.com/r/[^/\s"]+/\d+ 318 319 # figma 320 \bfigma\.com/file(?:/[0-9a-zA-Z]+/)+ 321 322 # freecodecamp.org 323 \bfreecodecamp\.org/[-\w/.]+ 324 325 # image.tmdb.org 326 \bimage\.tmdb\.org/[/\w.]+ 327 328 # mermaid 329 \bmermaid\.ink/img/[-\w]+|\bmermaid-js\.github\.io/mermaid-live-editor/#/edit/[-\w]+ 330 331 # Wikipedia 332 \ben\.wikipedia\.org/wiki/[-\w%.#]+ 333 334 # gitweb 335 [^"\s]+/gitweb/\S+;h=[0-9a-f]+ 336 337 # HyperKitty lists 338 /archives/list/[^@/]+@[^/\s"]*/message/[^/\s"]*/ 339 340 # lists 341 /thread\.html/[^"\s]+ 342 343 # list-management 344 \blist-manage\.com/subscribe(?:[?&](?:u|id)=[0-9a-f]+)+ 345 346 # kubectl.kubernetes.io/last-applied-configuration 347 "kubectl.kubernetes.io/last-applied-configuration": ".*" 348 349 # pgp 350 \bgnupg\.net/pks/lookup[?&=0-9a-zA-Z]* 351 352 # Spotify 353 \bopen\.spotify\.com/embed/playlist/\w+ 354 355 # Mastodon 356 \bmastodon\.[-a-z.]*/(?:media/|@)[?&=0-9a-zA-Z_]* 357 358 # scastie 359 \bscastie\.scala-lang\.org/[^/]+/\w+ 360 361 # images.unsplash.com 362 \bimages\.unsplash\.com/(?:(?:flagged|reserve)/|)[-\w./%?=%&.;]+ 363 364 # pastebin 365 \bpastebin\.com/[\w/]+ 366 367 # heroku 368 \b\w+\.heroku\.com/source/archive/\w+ 369 370 # quip 371 \b\w+\.quip\.com/\w+(?:(?:#|/issues/)\w+)? 372 373 # badgen.net 374 \bbadgen\.net/badge/[^")\]'\s]+ 375 376 # statuspage.io 377 \w+\.statuspage\.io\b 378 379 # media.giphy.com 380 \bmedia\.giphy\.com/media/[^/]+/[\w.?&=]+ 381 382 # tinyurl 383 \btinyurl\.com/\w+ 384 385 # codepen 386 \bcodepen\.io/[\w/]+ 387 388 # registry.npmjs.org 389 \bregistry\.npmjs\.org/(?:@[^/"']+/|)[^/"']+/-/[-\w@.]+ 390 391 # getopts 392 \bgetopts\s+(?:"[^"]+"|'[^']+') 393 394 # ANSI color codes 395 (?:\\(?:u00|x)1[Bb]|\x1b|\\u\{1[Bb]\})\[\d+(?:;\d+|)m 396 397 # URL escaped characters 398 %[0-9A-F][A-F](?=[A-Za-z]) 399 # lower URL escaped characters 400 %[0-9a-f][a-f](?=[a-z]{2,}) 401 # IPv6 402 \b(?:[0-9a-fA-F]{0,4}:){3,7}[0-9a-fA-F]{0,4}\b 403 # c99 hex digits (not the full format, just one I've seen) 404 0x[0-9a-fA-F](?:\.[0-9a-fA-F]*|)[pP] 405 # Punycode 406 \bxn--[-0-9a-z]+ 407 # sha 408 sha\d+:[0-9a-f]*?[a-f]{3,}[0-9a-f]* 409 # sha-... -- uses a fancy capture 410 (\\?['"]|")[0-9a-f]{40,}\g{-1} 411 # hex runs 412 \b[0-9a-fA-F]{16,}\b 413 # hex in url queries 414 =[0-9a-fA-F]*?(?:[A-F]{3,}|[a-f]{3,})[0-9a-fA-F]*?& 415 # ssh 416 (?:ssh-\S+|-nistp256) [-a-zA-Z=;:/0-9+]{12,} 417 418 # PGP 419 \b(?:[0-9A-F]{4} ){9}[0-9A-F]{4}\b 420 # GPG keys 421 \b(?:[0-9A-F]{4} ){5}(?: [0-9A-F]{4}){5}\b 422 # Well known gpg keys 423 .well-known/openpgpkey/[\w./]+ 424 425 # pki 426 -----BEGIN.*-----END 427 428 # pki (base64) 429 LS0tLS1CRUdJT.* 430 431 # uuid: 432 \b[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}\b 433 # hex digits including css/html color classes: 434 (?:[\\0][xX]|\\u|[uU]\+|#x?|%23)[0-9_a-fA-FgGrR]*?[a-fA-FgGrR]{2,}[0-9_a-fA-FgGrR]*(?:[uUlL]{0,3}|[iu]\d+)\b 435 # integrity 436 integrity=(['"])(?:\s*sha\d+-[-a-zA-Z=;:/0-9+]{40,})+\g{-1} 437 438 # https://www.gnu.org/software/groff/manual/groff.html 439 # man troff content 440 \\f[BCIPR] 441 # '/" 442 \\\([ad]q 443 444 # .desktop mime types 445 ^MimeTypes?=.*$ 446 # .desktop localized entries 447 ^[A-Z][a-z]+\[[a-z]+\]=.*$ 448 # Localized .desktop content 449 Name\[[^\]]+\]=.* 450 451 # IServiceProvider / isAThing 452 (?:\b|_)(?:(?:ns|)I|isA)(?=(?:[A-Z][a-z]{2,})+(?:[A-Z\d]|\b)) 453 454 # crypt 455 (['"])\$2[ayb]\$.{56}\g{-1} 456 457 # apache/old crypt 458 (['"]|)\$+(?:apr|)1\$+.{8}\$+.{22}\g{-1} 459 460 # sha1 hash 461 \{SHA\}[-a-zA-Z=;:/0-9+]{3,} 462 463 # machine learning (?) 464 #\b(?i)ml(?=[a-z]{2,}) 465 466 # python 467 \b(?i)py(?!gments|gmy|lon|ramid|ro|th)(?=[a-z]{2,}) 468 469 # scrypt / argon 470 \$(?:scrypt|argon\d+[di]*)\$\S+ 471 472 # go.sum 473 \bh1:\S+ 474 475 # scala imports 476 ^import (?:[\w.]|\{\w*?(?:,\s*(?:\w*|\*))+\})+ 477 478 # scala modules 479 ("[^"]+"\s*%%?\s*){2,3}"[^"]+" 480 481 # container images 482 image: [-\w./:@]+ 483 484 # Docker images 485 ^\s*FROM\s+\S+:\S+(?:\s+AS\s+\S+|) 486 487 # `docker images` REPOSITORY TAG IMAGE ID CREATED SIZE 488 \s*\S+/\S+\s+\S+\s+[0-9a-f]{8,}\s+\d+\s+(?:hour|day|week)s ago\s+[\d.]+[KMGT]B 489 490 # Intel intrinsics 491 _mm_(?!dd)\w+ 492 493 # Input to GitHub JSON 494 content: (['"])[-a-zA-Z=;:/0-9+]*=\g{-1} 495 496 # This does not cover multiline strings, if your repository has them, 497 # you'll want to remove the `(?=.*?")` suffix. 498 # The `(?=.*?")` suffix should limit the false positives rate 499 # printf 500 %(?:(?:(?:hh?|ll?|[jzt])?[diuoxn]|l?[cs]|L?[fega]|p)(?=[a-z]{2,})|(?:X|L?[FEGA])(?=[a-zA-Z]{2,}))(?!%)(?=[_a-zA-Z]+(?!%)\b)(?=.*?['"]) 501 502 # Alternative printf 503 # %s 504 %(?:s(?=[a-z]{2,}))(?!%)(?=[_a-zA-Z]+(?!%[^s])\b)(?=.*?['"]) 505 506 # Python string prefix / binary prefix 507 # Note that there's a high false positive rate, remove the `?=` and search for the regex to see if the matches seem like reasonable strings 508 #(?<!['"])\b(?:B|BR|Br|F|FR|Fr|R|RB|RF|Rb|Rf|U|UR|Ur|b|bR|br|f|fR|fr|r|rB|rF|rb|rf|u|uR|ur)['"](?=[A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,}) 509 510 # Regular expressions for (P|p)assword 511 \([A-Z]\|[a-z]\)[a-z]+ 512 513 # JavaScript regular expressions 514 # javascript test regex 515 /.{3,}/[gim]*\.test\( 516 # javascript match regex 517 \.match\(/[^/\s"]{3,}/[gim]*\s* 518 # javascript match regex 519 \.match\(/\\[b].{3,}?/[gim]*\s*\)(?:;|$) 520 # javascript regex 521 ^\s*/\\[b].{3,}?/[gim]*\s*(?:\)(?:;|$)|,$) 522 # javascript replace regex 523 \.replace\(/[^/\s"]{3,}/[gim]*\s*, 524 # assign regex 525 = /[^*].*?(?:[a-z]{3,}|[A-Z]{3,}|[A-Z][a-z]{2,}).*/[gi]?(?=\W|$) 526 # perl regex test 527 [!=]~ (?:/.*/|m\{.*?\}|m<.*?>|m([|!/@#,;']).*?\g{-1}) 528 529 # perl qr regex 530 (?<!\$)\bqr(?:\{.*?\}|<.*?>|\(.*?\)|([|!/@#,;']).*?\g{-1}) 531 532 # perl run 533 perl(?:\s+-[a-zA-Z]\w*)+ 534 535 # C network byte conversions 536 #(?:\d|\bh)to(?!ken)(?=[a-z])|to(?=[adhiklpun]\() 537 538 # Go regular expressions 539 regexp?\.MustCompile\(`[^`]*`\) 540 541 # regex choice 542 \(\?:[^)]+\|[^)]+\) 543 544 # proto 545 ^\s*(\w+)\s\g{-1} = 546 547 # sed regular expressions 548 sed 's/(?:[^/]*?[a-zA-Z]{3,}[^/]*?/){2} 549 550 # node packages 551 (["'])@[^/'" ]+/[^/'" ]+\g{-1} 552 553 # go install 554 go install(?:\s+[a-z]+\.[-@\w/.]+)+ 555 556 # pom.xml 557 <(?:group|artifact)Id>.*?< 558 559 # jetbrains schema https://youtrack.jetbrains.com/issue/RSRP-489571 560 urn:shemas-jetbrains-com 561 562 # Debian changelog severity 563 [-\w]+ \(.*\) (?:\w+|baseline|unstable|experimental); urgency=(?:low|medium|high|emergency|critical)\b 564 565 # kubernetes pod status lists 566 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase 567 \w+(?:-\w+)+\s+\d+/\d+\s+(?:Running|Pending|Succeeded|Failed|Unknown)\s+ 568 569 # kubectl - pods in CrashLoopBackOff 570 \w+-[0-9a-f]+-\w+\s+\d+/\d+\s+CrashLoopBackOff\s+ 571 572 # kubernetes applications 573 \.apps/[-\w]+ 574 575 # kubernetes object suffix 576 -[0-9a-f]{10}-\w{5}\s 577 578 # kubernetes crd patterns 579 ^\s*pattern: .*$ 580 581 # posthog secrets 582 ([`'"])phc_[^"',]+\g{-1} 583 584 # xcode 585 586 # xcodeproject scenes 587 (?:Controller|destination|ID|id)="\w{3}-\w{2}-\w{3}" 588 589 # xcode api botches 590 customObjectInstantitationMethod 591 592 # msvc api botches 593 PrependWithABINamepsace 594 595 # configure flags 596 .* \| --\w{2,}.*?(?=\w+\s\w+) 597 598 # font awesome classes 599 \.fa-[-a-z0-9]+ 600 601 # bearer auth 602 (['"])[Bb]ear[e][r] .*?\g{-1} 603 604 # bearer auth 605 \b[Bb]ear[e][r]:? [-a-zA-Z=;:/0-9+.]+ 606 607 # basic auth 608 (['"])[Bb]asic [-a-zA-Z=;:/0-9+]{3,}\g{-1} 609 610 # base64 encoded content 611 #([`'"])[-a-zA-Z=;:/0-9+]{3,}=\g{-1} 612 # base64 encoded content in xml/sgml 613 >[-a-zA-Z=;:/0-9+]{3,}=</ 614 # base64 encoded content, possibly wrapped in mime 615 #(?:^|[\s=;:?])[-a-zA-Z=;:/0-9+]{50,}(?:[\s=;:?]|$) 616 # base64 encoded json 617 \beyJ[-a-zA-Z=;:/0-9+]+ 618 # base64 encoded pkcs 619 \bMII[-a-zA-Z=;:/0-9+]+ 620 621 # DNS rr data 622 (?:\d+\s+){3}(?:[-+/=.\w]{2,}\s*){1,2} 623 624 # encoded-word 625 =\?[-a-zA-Z0-9"*%]+\?[BQ]\?[^?]{0,75}\?= 626 627 # numerator 628 \bnumer\b(?=.*denom) 629 630 # Time Zones 631 \b(?:Africa|Atlantic|America|Antarctica|Asia|Australia|Europe|Indian|Pacific)(?:/\w+)+ 632 633 # linux kernel info 634 ^(?:bugs|flags|Features)\s+:.* 635 636 # systemd mode 637 systemd.*?running in system mode \([-+].*\)$ 638 639 # Lorem 640 # Update Lorem based on your content (requires `ge` and `w` from https://github.com/jsoref/spelling; and `review` from https://github.com/check-spelling/check-spelling/wiki/Looking-for-items-locally ) 641 # grep '^[^#].*lorem' .github/actions/spelling/patterns.txt|perl -pne 's/.*i..\?://;s/\).*//' |tr '|' "\n"|sort -f |xargs -n1 ge|perl -pne 's/^[^:]*://'|sort -u|w|sed -e 's/ .*//'|w|review - 642 # Warning, while `(?i)` is very neat and fancy, if you have some binary files that aren't proper unicode, you might run into: 643 # ... Operation "substitution (s///)" returns its argument for non-Unicode code point 0x1C19AE (the code point will vary). 644 # ... You could manually change `(?i)X...` to use `[Xx]...` 645 # ... or you could add the files to your `excludes` file (a version after 0.0.19 should identify the file path) 646 (?:(?:\w|\s|[,.])*\b(?i)(?:amet|consectetur|cursus|dolor|eros|ipsum|lacus|libero|ligula|lorem|magna|neque|nulla|suscipit|tempus)\b(?:\w|\s|[,.])*) 647 648 # Non-English 649 # Even repositories expecting pure English content can unintentionally have Non-English content... People will occasionally mistakenly enter [homoglyphs](https://en.wikipedia.org/wiki/Homoglyph) which are essentially typos, and using this pattern will mean check-spelling will not complain about them. 650 # 651 # If the content to be checked should be written in English and the only Non-English items will be people's names, then you can consider adding this. 652 # 653 # Alternatively, if you're using check-spelling v0.0.25+, and you would like to _check_ the Non-English content for spelling errors, you can. For information on how to do so, see: 654 # https://docs.check-spelling.dev/Feature:-Configurable-word-characters.html#unicode 655 [a-zA-Z]*[ÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź][a-zA-Z]{3}[a-zA-ZÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź]*|[a-zA-Z]{3,}[ÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź]|[ÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź][a-zA-Z]{3,} 656 657 # highlighted letters 658 \[[A-Z]\][a-z]+ 659 660 # French 661 # This corpus only had capital letters, but you probably want lowercase ones as well. 662 \b[LN]'+[a-z]{2,}\b 663 664 # latex (check-spelling >= 0.0.22) 665 \\\w{2,}\{ 666 667 # American Mathematical Society (AMS) / Doxygen 668 TeX/AMS 669 670 # File extensions 671 \*\.[+\w]+, 672 673 # eslint 674 "varsIgnorePattern": ".+" 675 676 # nolint 677 nolint:\w+ 678 679 # Windows short paths 680 [/\\][^/\\]{5,6}~\d{1,2}(?=[/\\]) 681 682 # Windows Resources with accelerators 683 \b[A-Z]&[a-z]+\b(?!;) 684 685 # cygwin paths 686 /cygdrive/[a-zA-Z]/(?:Program Files(?: \(.*?\)| ?)(?:/[-+.~\\/()\w ]+)*|[-+.~\\/()\w])+ 687 688 # in check-spelling@v0.0.22+, printf markers aren't automatically consumed 689 # printf markers 690 #(?<!\\)\\[nrt](?=[a-z]{2,}) 691 # alternate printf markers if you run into latex and friends 692 #(?<!\\)\\[nrt](?=[a-z]{2,})(?=.*['"`]) 693 694 # Markdown anchor links 695 \(#\S*?[a-zA-Z]\S*?\) 696 697 # apache 698 a2(?:en|dis) 699 700 # weak e-tag 701 W/"[^"]+" 702 703 # authors/credits 704 ^\*(?: [A-Z](?:\w+|\.)){2,} (?=\[|$) 705 706 # the negative lookahead here is to allow catching 'templatesz' as a misspelling 707 # but to otherwise recognize a Windows path with \templates\foo.template or similar: 708 \\(?:necessary|r(?:elease|eport|esolve[dr]?|esult)|t(?:arget|emplates?))(?![a-z]) 709 # ignore long runs of a single character: 710 \b([A-Za-z])\g{-1}{3,}\b 711 712 # version suffix <word>v# 713 (?:(?<=[A-Z]{2})V|(?<=[a-z]{2}|[A-Z]{2})v)\d+(?:\b|(?=[a-zA-Z_])) 714 715 # Compiler flags (Unix, Java/Scala) 716 # Use if you have things like `-Pdocker` and want to treat them as `docker` 717 #(?:^|[\t ,>"'`=(])-(?:(?:J-|)[DPWXY]|[Llf])(?=[A-Z]{2,}|[A-Z][a-z]|[a-z]{2,}) 718 719 # Compiler flags (Windows / PowerShell) 720 # This is a subset of the more general compiler flags pattern. 721 # It avoids matching `-Path` to prevent it from being treated as `ath` 722 #(?:^|[\t ,"'`=(])-(?:[DPL](?=[A-Z]{2,})|[WXYlf](?=[A-Z]{2,}|[A-Z][a-z]|[a-z]{2,})) 723 724 # Compiler flags (linker) 725 ,-B 726 727 # libraries 728 (?:\b|_)lib(?:re(?=office)|)(?!era[lt]|ero|erty|rar(?:i(?:an|es)|y))(?=[a-z]) 729 730 # WWNN/WWPN (NAA identifiers) 731 \b(?:0x)?10[0-9a-f]{14}\b|\b(?:0x|3)?[25][0-9a-f]{15}\b|\b(?:0x|3)?6[0-9a-f]{31}\b 732 733 # iSCSI iqn (approximate regex) 734 \biqn\.[0-9]{4}-[0-9]{2}(?:[\.-][a-z][a-z0-9]*)*\b 735 736 # curl arguments 737 \b(?:\\n|)curl(?:\.exe|)(?:\s+-[a-zA-Z]{1,2}\b)*(?:\s+-[a-zA-Z]{3,})(?:\s+-[a-zA-Z]+)* 738 # set arguments 739 \b(?:bash|sh|set)(?:\s+-[abefimouxE]{1,2})*\s+-[abefimouxE]{3,}(?:\s+-[abefimouxE]+)* 740 # tar arguments 741 \b(?:\\n|)g?tar(?:\.exe|)(?:(?:\s+--[-a-zA-Z]+|\s+-[a-zA-Z]+|\s[ABGJMOPRSUWZacdfh-pr-xz]+\b)(?:=[^ ]*|))+ 742 # tput arguments -- https://man7.org/linux/man-pages/man5/terminfo.5.html -- technically they can be more than 5 chars long... 743 \btput\s+(?:(?:-[SV]|-T\s*\w+)\s+)*\w{3,5}\b 744 # macOS temp folders 745 /var/folders/\w\w/[+\w]+/(?:T|-Caches-)/ 746 # github runner temp folders 747 /home/runner/work/_temp/[-_/a-z0-9]+