mirror of
https://github.com/LukeHagar/firecamp.git
synced 2025-12-09 20:37:45 +00:00
Merge pull request #94 from jsoref/spell-check
Add check-spelling action
This commit is contained in:
17
.github/actions/spelling/README.md
vendored
Normal file
17
.github/actions/spelling/README.md
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
# check-spelling/check-spelling configuration
|
||||||
|
|
||||||
|
File | Purpose | Format | Info
|
||||||
|
-|-|-|-
|
||||||
|
[dictionary.txt](dictionary.txt) | Replacement dictionary (creating this file will override the default dictionary) | one word per line | [dictionary](https://github.com/check-spelling/check-spelling/wiki/Configuration#dictionary)
|
||||||
|
[allow.txt](allow.txt) | Add words to the dictionary | one word per line (only letters and `'`s allowed) | [allow](https://github.com/check-spelling/check-spelling/wiki/Configuration#allow)
|
||||||
|
[reject.txt](reject.txt) | Remove words from the dictionary (after allow) | grep pattern matching whole dictionary words | [reject](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-reject)
|
||||||
|
[excludes.txt](excludes.txt) | Files to ignore entirely | perl regular expression | [excludes](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-excludes)
|
||||||
|
[only.txt](only.txt) | Only check matching files (applied after excludes) | perl regular expression | [only](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-only)
|
||||||
|
[patterns.txt](patterns.txt) | Patterns to ignore from checked lines | perl regular expression (order matters, first match wins) | [patterns](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-patterns)
|
||||||
|
[candidate.patterns](candidate.patterns) | Patterns that might be worth adding to [patterns.txt](patterns.txt) | perl regular expression with optional comment block introductions (all matches will be suggested) | [candidates](https://github.com/check-spelling/check-spelling/wiki/Feature:-Suggest-patterns)
|
||||||
|
[line_forbidden.patterns](line_forbidden.patterns) | Patterns to flag in checked lines | perl regular expression (order matters, first match wins) | [patterns](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-patterns)
|
||||||
|
[expect.txt](expect.txt) | Expected words that aren't in the dictionary | one word per line (sorted, alphabetically) | [expect](https://github.com/check-spelling/check-spelling/wiki/Configuration#expect)
|
||||||
|
[advice.md](advice.md) | Supplement for GitHub comment when unrecognized words are found | GitHub Markdown | [advice](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-advice)
|
||||||
|
|
||||||
|
Note: you can replace any of these files with a directory by the same name (minus the suffix)
|
||||||
|
and then include multiple files inside that directory (with that suffix) to merge multiple files together.
|
||||||
31
.github/actions/spelling/advice.md
vendored
Normal file
31
.github/actions/spelling/advice.md
vendored
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
<!-- See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-advice --> <!-- markdownlint-disable MD033 MD041 -->
|
||||||
|
<details><summary>If the flagged items are :exploding_head: false positives</summary>
|
||||||
|
|
||||||
|
If items relate to a ...
|
||||||
|
* binary file (or some other file you wouldn't want to check at all).
|
||||||
|
|
||||||
|
Please add a file path to the `excludes.txt` file matching the containing file.
|
||||||
|
|
||||||
|
File paths are Perl 5 Regular Expressions - you can [test](
|
||||||
|
https://www.regexplanet.com/advanced/perl/) yours before committing to verify it will match your files.
|
||||||
|
|
||||||
|
`^` refers to the file's path from the root of the repository, so `^README\.md$` would exclude [README.md](
|
||||||
|
../tree/HEAD/README.md) (on whichever branch you're using).
|
||||||
|
|
||||||
|
* well-formed pattern.
|
||||||
|
|
||||||
|
If you can write a [pattern](
|
||||||
|
https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-patterns
|
||||||
|
) that would match it,
|
||||||
|
try adding it to the `patterns.txt` file.
|
||||||
|
|
||||||
|
Patterns are Perl 5 Regular Expressions - you can [test](
|
||||||
|
https://www.regexplanet.com/advanced/perl/) yours before committing to verify it will match your lines.
|
||||||
|
|
||||||
|
Note that patterns can't match multiline strings.
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
<!-- adoption information-->
|
||||||
|
:steam_locomotive: If you're seeing this message and your PR is from a branch that doesn't have check-spelling,
|
||||||
|
please merge to your PR's base branch to get the version configured for your repository.
|
||||||
5
.github/actions/spelling/allow.txt
vendored
Normal file
5
.github/actions/spelling/allow.txt
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
github
|
||||||
|
https
|
||||||
|
ssh
|
||||||
|
ubuntu
|
||||||
|
workarounds
|
||||||
633
.github/actions/spelling/candidate.patterns
vendored
Normal file
633
.github/actions/spelling/candidate.patterns
vendored
Normal file
@@ -0,0 +1,633 @@
|
|||||||
|
# marker to ignore all code on line
|
||||||
|
^.*/\* #no-spell-check-line \*/.*$
|
||||||
|
# marker to ignore all code on line
|
||||||
|
^.*\bno-spell-check(?:-line|)(?:\s.*|)$
|
||||||
|
|
||||||
|
# https://cspell.org/configuration/document-settings/
|
||||||
|
# cspell inline
|
||||||
|
^.*\b[Cc][Ss][Pp][Ee][Ll]{2}:\s*[Dd][Ii][Ss][Aa][Bb][Ll][Ee]-[Ll][Ii][Nn][Ee]\b
|
||||||
|
|
||||||
|
# patch hunk comments
|
||||||
|
^\@\@ -\d+(?:,\d+|) \+\d+(?:,\d+|) \@\@ .*
|
||||||
|
# git index header
|
||||||
|
index (?:[0-9a-z]{7,40},|)[0-9a-z]{7,40}\.\.[0-9a-z]{7,40}
|
||||||
|
|
||||||
|
# file permissions
|
||||||
|
['"`\s][-bcdLlpsw](?:[-r][-w][-Ssx]){2}[-r][-w][-SsTtx]\+?['"`\s]
|
||||||
|
|
||||||
|
# css url wrappings
|
||||||
|
\burl\([^)]+\)
|
||||||
|
|
||||||
|
# cid urls
|
||||||
|
(['"])cid:.*?\g{-1}
|
||||||
|
|
||||||
|
# data url in parens
|
||||||
|
\(data:(?:[^) ][^)]*?|)(?:[A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,})[^)]*\)
|
||||||
|
# data url in quotes
|
||||||
|
([`'"])data:(?:[^ `'"].*?|)(?:[A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,}).*\g{-1}
|
||||||
|
# data url
|
||||||
|
data:[-a-zA-Z=;:/0-9+]*,\S*
|
||||||
|
|
||||||
|
# https/http/file urls
|
||||||
|
(?:\b(?:https?|ftp|file)://)[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]
|
||||||
|
|
||||||
|
# mailto urls
|
||||||
|
mailto:[-a-zA-Z=;:/?%&0-9+@.]{3,}
|
||||||
|
|
||||||
|
# magnet urls
|
||||||
|
magnet:[?=:\w]+
|
||||||
|
|
||||||
|
# magnet urls
|
||||||
|
"magnet:[^"]+"
|
||||||
|
|
||||||
|
# obs:
|
||||||
|
"obs:[^"]*"
|
||||||
|
|
||||||
|
# The `\b` here means a break, it's the fancy way to handle urls, but it makes things harder to read
|
||||||
|
# In this examples content, I'm using a number of different ways to match things to show various approaches
|
||||||
|
# asciinema
|
||||||
|
\basciinema\.org/a/[0-9a-zA-Z]+
|
||||||
|
|
||||||
|
# asciinema v2
|
||||||
|
^\[\d+\.\d+, "[io]", ".*"\]$
|
||||||
|
|
||||||
|
# apple
|
||||||
|
\bdeveloper\.apple\.com/[-\w?=/]+
|
||||||
|
# Apple music
|
||||||
|
\bembed\.music\.apple\.com/fr/playlist/usr-share/[-\w.]+
|
||||||
|
|
||||||
|
# appveyor api
|
||||||
|
\bci\.appveyor\.com/api/projects/status/[0-9a-z]+
|
||||||
|
# appveyor project
|
||||||
|
\bci\.appveyor\.com/project/(?:[^/\s"]*/){2}builds?/\d+/job/[0-9a-z]+
|
||||||
|
|
||||||
|
# Amazon
|
||||||
|
|
||||||
|
# Amazon
|
||||||
|
\bamazon\.com/[-\w]+/(?:dp/[0-9A-Z]+|)
|
||||||
|
# AWS S3
|
||||||
|
\b\w*\.s3[^.]*\.amazonaws\.com/[-\w/&#%_?:=]*
|
||||||
|
# AWS execute-api
|
||||||
|
\b[0-9a-z]{10}\.execute-api\.[-0-9a-z]+\.amazonaws\.com\b
|
||||||
|
# AWS ELB
|
||||||
|
\b\w+\.[-0-9a-z]+\.elb\.amazonaws\.com\b
|
||||||
|
# AWS SNS
|
||||||
|
\bsns\.[-0-9a-z]+.amazonaws\.com/[-\w/&#%_?:=]*
|
||||||
|
# AWS VPC
|
||||||
|
vpc-\w+
|
||||||
|
|
||||||
|
# While you could try to match `http://` and `https://` by using `s?` in `https?://`, sometimes there
|
||||||
|
# YouTube url
|
||||||
|
\b(?:(?:www\.|)youtube\.com|youtu.be)/(?:channel/|embed/|user/|playlist\?list=|watch\?v=|v/|)[-a-zA-Z0-9?&=_%]*
|
||||||
|
# YouTube music
|
||||||
|
\bmusic\.youtube\.com/youtubei/v1/browse(?:[?&]\w+=[-a-zA-Z0-9?&=_]*)
|
||||||
|
# YouTube tag
|
||||||
|
<\s*youtube\s+id=['"][-a-zA-Z0-9?_]*['"]
|
||||||
|
# YouTube image
|
||||||
|
\bimg\.youtube\.com/vi/[-a-zA-Z0-9?&=_]*
|
||||||
|
# Google Accounts
|
||||||
|
\baccounts.google.com/[-_/?=.:;+%&0-9a-zA-Z]*
|
||||||
|
# Google Analytics
|
||||||
|
\bgoogle-analytics\.com/collect.[-0-9a-zA-Z?%=&_.~]*
|
||||||
|
# Google APIs
|
||||||
|
\bgoogleapis\.(?:com|dev)/[a-z]+/(?:v\d+/|)[a-z]+/[-@:./?=\w+|&]+
|
||||||
|
# Google Storage
|
||||||
|
\b[-a-zA-Z0-9.]*\bstorage\d*\.googleapis\.com(?:/\S*|)
|
||||||
|
# Google Calendar
|
||||||
|
\bcalendar\.google\.com/calendar(?:/u/\d+|)/embed\?src=[@./?=\w&%]+
|
||||||
|
\w+\@group\.calendar\.google\.com\b
|
||||||
|
# Google DataStudio
|
||||||
|
\bdatastudio\.google\.com/(?:(?:c/|)u/\d+/|)(?:embed/|)(?:open|reporting|datasources|s)/[-0-9a-zA-Z]+(?:/page/[-0-9a-zA-Z]+|)
|
||||||
|
# The leading `/` here is as opposed to the `\b` above
|
||||||
|
# ... a short way to match `https://` or `http://` since most urls have one of those prefixes
|
||||||
|
# Google Docs
|
||||||
|
/docs\.google\.com/[a-z]+/(?:ccc\?key=\w+|(?:u/\d+|d/(?:e/|)[0-9a-zA-Z_-]+/)?(?:edit\?[-\w=#.]*|/\?[\w=&]*|))
|
||||||
|
# Google Drive
|
||||||
|
\bdrive\.google\.com/(?:file/d/|open)[-0-9a-zA-Z_?=]*
|
||||||
|
# Google Groups
|
||||||
|
\bgroups\.google\.com(?:/[a-z]+/(?:#!|)[^/\s"]+)*
|
||||||
|
# Google Maps
|
||||||
|
\bmaps\.google\.com/maps\?[\w&;=]*
|
||||||
|
# Google themes
|
||||||
|
themes\.googleusercontent\.com/static/fonts/[^/\s"]+/v\d+/[^.]+.
|
||||||
|
# Google CDN
|
||||||
|
\bclients2\.google(?:usercontent|)\.com[-0-9a-zA-Z/.]*
|
||||||
|
# Goo.gl
|
||||||
|
/goo\.gl/[a-zA-Z0-9]+
|
||||||
|
# Google Chrome Store
|
||||||
|
\bchrome\.google\.com/webstore/detail/[-\w]*(?:/\w*|)
|
||||||
|
# Google Books
|
||||||
|
\bgoogle\.(?:\w{2,4})/books(?:/\w+)*\?[-\w\d=&#.]*
|
||||||
|
# Google Fonts
|
||||||
|
\bfonts\.(?:googleapis|gstatic)\.com/[-/?=:;+&0-9a-zA-Z]*
|
||||||
|
# Google Forms
|
||||||
|
\bforms\.gle/\w+
|
||||||
|
# Google Scholar
|
||||||
|
\bscholar\.google\.com/citations\?user=[A-Za-z0-9_]+
|
||||||
|
# Google Colab Research Drive
|
||||||
|
\bcolab\.research\.google\.com/drive/[-0-9a-zA-Z_?=]*
|
||||||
|
|
||||||
|
# GitHub SHAs (api)
|
||||||
|
\bapi.github\.com/repos(?:/[^/\s"]+){3}/[0-9a-f]+\b
|
||||||
|
# GitHub SHAs (markdown)
|
||||||
|
(?:\[`?[0-9a-f]+`?\]\(https:/|)/(?:www\.|)github\.com(?:/[^/\s"]+){2,}(?:/[^/\s")]+)(?:[0-9a-f]+(?:[-0-9a-zA-Z/#.]*|)\b|)
|
||||||
|
# GitHub SHAs
|
||||||
|
\bgithub\.com(?:/[^/\s"]+){2}[@#][0-9a-f]+\b
|
||||||
|
# GitHub SHA refs
|
||||||
|
\[([0-9a-f]+)\]\(https://(?:www\.|)github.com/[-\w]+/[-\w]+/commit/\g{-1}[0-9a-f]*
|
||||||
|
# GitHub wiki
|
||||||
|
\bgithub\.com/(?:[^/]+/){2}wiki/(?:(?:[^/]+/|)_history|[^/]+(?:/_compare|)/[0-9a-f.]{40,})\b
|
||||||
|
# githubusercontent
|
||||||
|
/[-a-z0-9]+\.githubusercontent\.com/[-a-zA-Z0-9?&=_\/.]*
|
||||||
|
# githubassets
|
||||||
|
\bgithubassets.com/[0-9a-f]+(?:[-/\w.]+)
|
||||||
|
# gist github
|
||||||
|
\bgist\.github\.com/[^/\s"]+/[0-9a-f]+
|
||||||
|
# git.io
|
||||||
|
\bgit\.io/[0-9a-zA-Z]+
|
||||||
|
# GitHub JSON
|
||||||
|
"node_id": "[-a-zA-Z=;:/0-9+_]*"
|
||||||
|
# Contributor
|
||||||
|
\[[^\]]+\]\(https://github\.com/[^/\s"]+/?\)
|
||||||
|
# GHSA
|
||||||
|
GHSA(?:-[0-9a-z]{4}){3}
|
||||||
|
|
||||||
|
# GitLab commit
|
||||||
|
\bgitlab\.[^/\s"]*/\S+/\S+/commit/[0-9a-f]{7,16}#[0-9a-f]{40}\b
|
||||||
|
# GitLab merge requests
|
||||||
|
\bgitlab\.[^/\s"]*/\S+/\S+/-/merge_requests/\d+/diffs#[0-9a-f]{40}\b
|
||||||
|
# GitLab uploads
|
||||||
|
\bgitlab\.[^/\s"]*/uploads/[-a-zA-Z=;:/0-9+]*
|
||||||
|
# GitLab commits
|
||||||
|
\bgitlab\.[^/\s"]*/(?:[^/\s"]+/){2}commits?/[0-9a-f]+\b
|
||||||
|
|
||||||
|
# binance
|
||||||
|
accounts\.binance\.com/[a-z/]*oauth/authorize\?[-0-9a-zA-Z&%]*
|
||||||
|
|
||||||
|
# bitbucket diff
|
||||||
|
\bapi\.bitbucket\.org/\d+\.\d+/repositories/(?:[^/\s"]+/){2}diff(?:stat|)(?:/[^/\s"]+){2}:[0-9a-f]+
|
||||||
|
# bitbucket repositories commits
|
||||||
|
\bapi\.bitbucket\.org/\d+\.\d+/repositories/(?:[^/\s"]+/){2}commits?/[0-9a-f]+
|
||||||
|
# bitbucket commits
|
||||||
|
\bbitbucket\.org/(?:[^/\s"]+/){2}commits?/[0-9a-f]+
|
||||||
|
|
||||||
|
# bit.ly
|
||||||
|
\bbit\.ly/\w+
|
||||||
|
|
||||||
|
# bitrise
|
||||||
|
\bapp\.bitrise\.io/app/[0-9a-f]*/[\w.?=&]*
|
||||||
|
|
||||||
|
# bootstrapcdn.com
|
||||||
|
\bbootstrapcdn\.com/[-./\w]+
|
||||||
|
|
||||||
|
# cdn.cloudflare.com
|
||||||
|
\bcdnjs\.cloudflare\.com/[./\w]+
|
||||||
|
|
||||||
|
# circleci
|
||||||
|
\bcircleci\.com/gh(?:/[^/\s"]+){1,5}.[a-z]+\?[-0-9a-zA-Z=&]+
|
||||||
|
|
||||||
|
# gitter
|
||||||
|
\bgitter\.im(?:/[^/\s"]+){2}\?at=[0-9a-f]+
|
||||||
|
|
||||||
|
# gravatar
|
||||||
|
\bgravatar\.com/avatar/[0-9a-f]+
|
||||||
|
|
||||||
|
# ibm
|
||||||
|
[a-z.]*ibm\.com/[-_#=:%!?~.\\/\d\w]*
|
||||||
|
|
||||||
|
# imgur
|
||||||
|
\bimgur\.com/[^.]+
|
||||||
|
|
||||||
|
# Internet Archive
|
||||||
|
\barchive\.org/web/\d+/(?:[-\w.?,'/\\+&%$#_:]*)
|
||||||
|
|
||||||
|
# discord
|
||||||
|
/discord(?:app\.com|\.gg)/(?:invite/)?[a-zA-Z0-9]{7,}
|
||||||
|
|
||||||
|
# Disqus
|
||||||
|
\bdisqus\.com/[-\w/%.()!?&=_]*
|
||||||
|
|
||||||
|
# medium link
|
||||||
|
\blink\.medium\.com/[a-zA-Z0-9]+
|
||||||
|
# medium
|
||||||
|
\bmedium\.com/\@?[^/\s"]+/[-\w]+
|
||||||
|
|
||||||
|
# microsoft
|
||||||
|
\b(?:https?://|)(?:(?:download\.visualstudio|docs|msdn2?|research)\.microsoft|blogs\.msdn)\.com/[-_a-zA-Z0-9()=./%]*
|
||||||
|
# powerbi
|
||||||
|
\bapp\.powerbi\.com/reportEmbed/[^"' ]*
|
||||||
|
# vs devops
|
||||||
|
\bvisualstudio.com(?::443|)/[-\w/?=%&.]*
|
||||||
|
# microsoft store
|
||||||
|
\bmicrosoft\.com/store/apps/\w+
|
||||||
|
|
||||||
|
# mvnrepository.com
|
||||||
|
\bmvnrepository\.com/[-0-9a-z./]+
|
||||||
|
|
||||||
|
# now.sh
|
||||||
|
/[0-9a-z-.]+\.now\.sh\b
|
||||||
|
|
||||||
|
# oracle
|
||||||
|
\bdocs\.oracle\.com/[-0-9a-zA-Z./_?#&=]*
|
||||||
|
|
||||||
|
# chromatic.com
|
||||||
|
/\S+.chromatic.com\S*[")]
|
||||||
|
|
||||||
|
# codacy
|
||||||
|
\bapi\.codacy\.com/project/badge/Grade/[0-9a-f]+
|
||||||
|
|
||||||
|
# compai
|
||||||
|
\bcompai\.pub/v1/png/[0-9a-f]+
|
||||||
|
|
||||||
|
# mailgun api
|
||||||
|
\.api\.mailgun\.net/v3/domains/[0-9a-z]+\.mailgun.org/messages/[0-9a-zA-Z=@]*
|
||||||
|
# mailgun
|
||||||
|
\b[0-9a-z]+.mailgun.org
|
||||||
|
|
||||||
|
# /message-id/
|
||||||
|
/message-id/[-\w@./%]+
|
||||||
|
|
||||||
|
# Reddit
|
||||||
|
\breddit\.com/r/[/\w_]*
|
||||||
|
|
||||||
|
# requestb.in
|
||||||
|
\brequestb\.in/[0-9a-z]+
|
||||||
|
|
||||||
|
# sched
|
||||||
|
\b[a-z0-9]+\.sched\.com\b
|
||||||
|
|
||||||
|
# Slack url
|
||||||
|
slack://[a-zA-Z0-9?&=]+
|
||||||
|
# Slack
|
||||||
|
\bslack\.com/[-0-9a-zA-Z/_~?&=.]*
|
||||||
|
# Slack edge
|
||||||
|
\bslack-edge\.com/[-a-zA-Z0-9?&=%./]+
|
||||||
|
# Slack images
|
||||||
|
\bslack-imgs\.com/[-a-zA-Z0-9?&=%.]+
|
||||||
|
|
||||||
|
# shields.io
|
||||||
|
\bshields\.io/[-\w/%?=&.:+;,]*
|
||||||
|
|
||||||
|
# stackexchange -- https://stackexchange.com/feeds/sites
|
||||||
|
\b(?:askubuntu|serverfault|stack(?:exchange|overflow)|superuser).com/(?:questions/\w+/[-\w]+|a/)
|
||||||
|
|
||||||
|
# Sentry
|
||||||
|
[0-9a-f]{32}\@o\d+\.ingest\.sentry\.io\b
|
||||||
|
|
||||||
|
# Twitter markdown
|
||||||
|
\[\@[^[/\]:]*?\]\(https://twitter.com/[^/\s"')]*(?:/status/\d+(?:\?[-_0-9a-zA-Z&=]*|)|)\)
|
||||||
|
# Twitter hashtag
|
||||||
|
\btwitter\.com/hashtag/[\w?_=&]*
|
||||||
|
# Twitter status
|
||||||
|
\btwitter\.com/[^/\s"')]*(?:/status/\d+(?:\?[-_0-9a-zA-Z&=]*|)|)
|
||||||
|
# Twitter profile images
|
||||||
|
\btwimg\.com/profile_images/[_\w./]*
|
||||||
|
# Twitter media
|
||||||
|
\btwimg\.com/media/[-_\w./?=]*
|
||||||
|
# Twitter link shortened
|
||||||
|
\bt\.co/\w+
|
||||||
|
|
||||||
|
# facebook
|
||||||
|
\bfburl\.com/[0-9a-z_]+
|
||||||
|
# facebook CDN
|
||||||
|
\bfbcdn\.net/[\w/.,]*
|
||||||
|
# facebook watch
|
||||||
|
\bfb\.watch/[0-9A-Za-z]+
|
||||||
|
|
||||||
|
# dropbox
|
||||||
|
\bdropbox\.com/sh?/[^/\s"]+/[-0-9A-Za-z_.%?=&;]+
|
||||||
|
|
||||||
|
# ipfs protocol
|
||||||
|
ipfs://[0-9a-zA-Z]{3,}
|
||||||
|
# ipfs url
|
||||||
|
/ipfs/[0-9a-zA-Z]{3,}
|
||||||
|
|
||||||
|
# w3
|
||||||
|
\bw3\.org/[-0-9a-zA-Z/#.]+
|
||||||
|
|
||||||
|
# loom
|
||||||
|
\bloom\.com/embed/[0-9a-f]+
|
||||||
|
|
||||||
|
# regex101
|
||||||
|
\bregex101\.com/r/[^/\s"]+/\d+
|
||||||
|
|
||||||
|
# figma
|
||||||
|
\bfigma\.com/file(?:/[0-9a-zA-Z]+/)+
|
||||||
|
|
||||||
|
# freecodecamp.org
|
||||||
|
\bfreecodecamp\.org/[-\w/.]+
|
||||||
|
|
||||||
|
# image.tmdb.org
|
||||||
|
\bimage\.tmdb\.org/[/\w.]+
|
||||||
|
|
||||||
|
# mermaid
|
||||||
|
\bmermaid\.ink/img/[-\w]+|\bmermaid-js\.github\.io/mermaid-live-editor/#/edit/[-\w]+
|
||||||
|
|
||||||
|
# Wikipedia
|
||||||
|
\ben\.wikipedia\.org/wiki/[-\w%.#]+
|
||||||
|
|
||||||
|
# gitweb
|
||||||
|
[^"\s]+/gitweb/\S+;h=[0-9a-f]+
|
||||||
|
|
||||||
|
# HyperKitty lists
|
||||||
|
/archives/list/[^@/]+\@[^/\s"]*/message/[^/\s"]*/
|
||||||
|
|
||||||
|
# lists
|
||||||
|
/thread\.html/[^"\s]+
|
||||||
|
|
||||||
|
# list-management
|
||||||
|
\blist-manage\.com/subscribe(?:[?&](?:u|id)=[0-9a-f]+)+
|
||||||
|
|
||||||
|
# kubectl.kubernetes.io/last-applied-configuration
|
||||||
|
"kubectl.kubernetes.io/last-applied-configuration": ".*"
|
||||||
|
|
||||||
|
# pgp
|
||||||
|
\bgnupg\.net/pks/lookup[?&=0-9a-zA-Z]*
|
||||||
|
|
||||||
|
# Spotify
|
||||||
|
\bopen\.spotify\.com/embed/playlist/\w+
|
||||||
|
|
||||||
|
# Mastodon
|
||||||
|
\bmastodon\.[-a-z.]*/(?:media/|\@)[?&=0-9a-zA-Z_]*
|
||||||
|
|
||||||
|
# scastie
|
||||||
|
\bscastie\.scala-lang\.org/[^/]+/\w+
|
||||||
|
|
||||||
|
# images.unsplash.com
|
||||||
|
\bimages\.unsplash\.com/(?:(?:flagged|reserve)/|)[-\w./%?=%&.;]+
|
||||||
|
|
||||||
|
# pastebin
|
||||||
|
\bpastebin\.com/[\w/]+
|
||||||
|
|
||||||
|
# heroku
|
||||||
|
\b\w+\.heroku\.com/source/archive/\w+
|
||||||
|
|
||||||
|
# quip
|
||||||
|
\b\w+\.quip\.com/\w+(?:(?:#|/issues/)\w+)?
|
||||||
|
|
||||||
|
# badgen.net
|
||||||
|
\bbadgen\.net/badge/[^")\]'\s]+
|
||||||
|
|
||||||
|
# statuspage.io
|
||||||
|
\w+\.statuspage\.io\b
|
||||||
|
|
||||||
|
# media.giphy.com
|
||||||
|
\bmedia\.giphy\.com/media/[^/]+/[\w.?&=]+
|
||||||
|
|
||||||
|
# tinyurl
|
||||||
|
\btinyurl\.com/\w+
|
||||||
|
|
||||||
|
# codepen
|
||||||
|
\bcodepen\.io/[\w/]+
|
||||||
|
|
||||||
|
# registry.npmjs.org
|
||||||
|
\bregistry\.npmjs\.org/(?:@[^/"']+/|)[^/"']+/-/[-\w@.]+
|
||||||
|
|
||||||
|
# getopts
|
||||||
|
\bgetopts\s+(?:"[^"]+"|'[^']+')
|
||||||
|
|
||||||
|
# ANSI color codes
|
||||||
|
(?:\\(?:u00|x)1[Bb]|\x1b|\\u\{1[Bb]\})\[\d+(?:;\d+|)m
|
||||||
|
|
||||||
|
# URL escaped characters
|
||||||
|
\%[0-9A-F][A-F]
|
||||||
|
# lower URL escaped characters
|
||||||
|
\%[0-9a-f][a-f](?=[a-z]{2,})
|
||||||
|
# IPv6
|
||||||
|
\b(?:[0-9a-fA-F]{0,4}:){3,7}[0-9a-fA-F]{0,4}\b
|
||||||
|
# c99 hex digits (not the full format, just one I've seen)
|
||||||
|
0x[0-9a-fA-F](?:\.[0-9a-fA-F]*|)[pP]
|
||||||
|
# Punycode
|
||||||
|
\bxn--[-0-9a-z]+
|
||||||
|
# sha
|
||||||
|
sha\d+:[0-9]*[a-f]{3,}[0-9a-f]*
|
||||||
|
# sha-... -- uses a fancy capture
|
||||||
|
(\\?['"]|")[0-9a-f]{40,}\g{-1}
|
||||||
|
# hex runs
|
||||||
|
\b[0-9a-fA-F]{16,}\b
|
||||||
|
# hex in url queries
|
||||||
|
=[0-9a-fA-F]*?(?:[A-F]{3,}|[a-f]{3,})[0-9a-fA-F]*?&
|
||||||
|
# ssh
|
||||||
|
(?:ssh-\S+|-nistp256) [-a-zA-Z=;:/0-9+]{12,}
|
||||||
|
|
||||||
|
# PGP
|
||||||
|
\b(?:[0-9A-F]{4} ){9}[0-9A-F]{4}\b
|
||||||
|
# GPG keys
|
||||||
|
\b(?:[0-9A-F]{4} ){5}(?: [0-9A-F]{4}){5}\b
|
||||||
|
# Well known gpg keys
|
||||||
|
.well-known/openpgpkey/[\w./]+
|
||||||
|
|
||||||
|
# pki
|
||||||
|
-----BEGIN.*-----END
|
||||||
|
|
||||||
|
# uuid:
|
||||||
|
\b[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}\b
|
||||||
|
# hex digits including css/html color classes:
|
||||||
|
(?:[\\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
|
||||||
|
# integrity
|
||||||
|
integrity=(['"])(?:\s*sha\d+-[-a-zA-Z=;:/0-9+]{40,})+\g{-1}
|
||||||
|
|
||||||
|
# https://www.gnu.org/software/groff/manual/groff.html
|
||||||
|
# man troff content
|
||||||
|
\\f[BCIPR]
|
||||||
|
# '/"
|
||||||
|
\\\([ad]q
|
||||||
|
|
||||||
|
# .desktop mime types
|
||||||
|
^MimeTypes?=.*$
|
||||||
|
# .desktop localized entries
|
||||||
|
^[A-Z][a-z]+\[[a-z]+\]=.*$
|
||||||
|
# Localized .desktop content
|
||||||
|
Name\[[^\]]+\]=.*
|
||||||
|
|
||||||
|
# IServiceProvider / isAThing
|
||||||
|
\b(?:I|isA)(?=(?:[A-Z][a-z]{2,})+\b)
|
||||||
|
|
||||||
|
# crypt
|
||||||
|
(['"])\$2[ayb]\$.{56}\g{-1}
|
||||||
|
|
||||||
|
# scrypt / argon
|
||||||
|
\$(?:scrypt|argon\d+[di]*)\$\S+
|
||||||
|
|
||||||
|
# go.sum
|
||||||
|
\bh1:\S+
|
||||||
|
|
||||||
|
# scala modules
|
||||||
|
("[^"]+"\s*%%?\s*){2,3}"[^"]+"
|
||||||
|
|
||||||
|
# Input to GitHub JSON
|
||||||
|
content: (['"])[-a-zA-Z=;:/0-9+]*=\g{-1}
|
||||||
|
|
||||||
|
# This does not cover multiline strings, if your repository has them,
|
||||||
|
# you'll want to remove the `(?=.*?")` suffix.
|
||||||
|
# The `(?=.*?")` suffix should limit the false positives rate
|
||||||
|
# printf
|
||||||
|
%(?:(?:(?:hh?|ll?|[jzt])?[diuoxn]|l?[cs]|L?[fega]|p)(?=[a-z]{2,})|(?:X|L?[FEGA]|p)(?=[a-zA-Z]{2,}))(?=[_a-zA-Z]+\b)(?!%)(?=.*?['"])
|
||||||
|
|
||||||
|
# Python string prefix / binary prefix
|
||||||
|
# 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
|
||||||
|
(?<!')\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,})
|
||||||
|
|
||||||
|
# Regular expressions for (P|p)assword
|
||||||
|
\([A-Z]\|[a-z]\)[a-z]+
|
||||||
|
|
||||||
|
# JavaScript regular expressions
|
||||||
|
# javascript test regex
|
||||||
|
/.*/[gim]*\.test\(
|
||||||
|
# javascript match regex
|
||||||
|
\.match\(/[^/\s"]*/[gim]*\s*
|
||||||
|
# javascript match regex
|
||||||
|
\.match\(/\\[b].*?/[gim]*\s*\)(?:;|$)
|
||||||
|
# javascript regex
|
||||||
|
^\s*/\\[b].*/[gim]*\s*(?:\)(?:;|$)|,$)
|
||||||
|
# javascript replace regex
|
||||||
|
\.replace\(/[^/\s"]*/[gim]*\s*,
|
||||||
|
# assign regex
|
||||||
|
= /[^*]*?(?:[a-z]{3,}|[A-Z]{3,}|[A-Z][a-z]{2,}).*/
|
||||||
|
# perl regex test
|
||||||
|
[!=]~ (?:/.*/|m\{.*?\}|m<.*?>|m([|!/@#,;']).*?\g{-1})
|
||||||
|
|
||||||
|
# perl qr regex
|
||||||
|
(?<!\$)\bqr(?:\{.*?\}|<.*?>|\(.*?\)|([|!/@#,;']).*?\g{-1})
|
||||||
|
|
||||||
|
# Go regular expressions
|
||||||
|
regexp?\.MustCompile\(`[^`]*`\)
|
||||||
|
|
||||||
|
# regex choice
|
||||||
|
\(\?:[^)]+\|[^)]+\)
|
||||||
|
|
||||||
|
# proto
|
||||||
|
^\s*(\w+)\s\g{-1} =
|
||||||
|
|
||||||
|
# sed regular expressions
|
||||||
|
sed 's/(?:[^/]*?[a-zA-Z]{3,}[^/]*?/){2}
|
||||||
|
|
||||||
|
# node packages
|
||||||
|
(["'])\@[^/'" ]+/[^/'" ]+\g{-1}
|
||||||
|
|
||||||
|
# go install
|
||||||
|
go install(?:\s+[a-z]+\.[-@\w/.]+)+
|
||||||
|
|
||||||
|
# kubernetes pod status lists
|
||||||
|
# https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase
|
||||||
|
\w+(?:-\w+)+\s+\d+/\d+\s+(?:Running|Pending|Succeeded|Failed|Unknown)\s+
|
||||||
|
|
||||||
|
# kubectl - pods in CrashLoopBackOff
|
||||||
|
\w+-[0-9a-f]+-\w+\s+\d+/\d+\s+CrashLoopBackOff\s+
|
||||||
|
|
||||||
|
# kubernetes object suffix
|
||||||
|
-[0-9a-f]{10}-\w{5}\s
|
||||||
|
|
||||||
|
# posthog secrets
|
||||||
|
posthog\.init\((['"])phc_[^"',]+\g{-1},
|
||||||
|
|
||||||
|
# xcode
|
||||||
|
|
||||||
|
# xcodeproject scenes
|
||||||
|
(?:Controller|destination|ID|id)="\w{3}-\w{2}-\w{3}"
|
||||||
|
|
||||||
|
# xcode api botches
|
||||||
|
customObjectInstantitationMethod
|
||||||
|
|
||||||
|
# configure flags
|
||||||
|
.* \| --\w{2,}.*?(?=\w+\s\w+)
|
||||||
|
|
||||||
|
# font awesome classes
|
||||||
|
\.fa-[-a-z0-9]+
|
||||||
|
|
||||||
|
# bearer auth
|
||||||
|
(['"])Bear[e][r] .*?\g{-1}
|
||||||
|
|
||||||
|
# basic auth
|
||||||
|
(['"])Basic [-a-zA-Z=;:/0-9+]{3,}\g{-1}
|
||||||
|
|
||||||
|
# base64 encoded content
|
||||||
|
([`'"])[-a-zA-Z=;:/0-9+]+=\g{-1}
|
||||||
|
# base64 encoded content in xml/sgml
|
||||||
|
>[-a-zA-Z=;:/0-9+]+=</
|
||||||
|
# base64 encoded content, possibly wrapped in mime
|
||||||
|
#(?:^|[\s=;:?])[-a-zA-Z=;:/0-9+]{50,}(?:[\s=;:?]|$)
|
||||||
|
|
||||||
|
# encoded-word
|
||||||
|
=\?[-a-zA-Z0-9"*%]+\?[BQ]\?[^?]{0,75}\?=
|
||||||
|
|
||||||
|
# Time Zones
|
||||||
|
\b(?:Africa|Atlantic|America|Antarctica|Asia|Australia|Europe|Indian|Pacific)(?:/\w+)+
|
||||||
|
|
||||||
|
# linux kernel info
|
||||||
|
^(?:bugs|flags|Features)\s+:.*
|
||||||
|
|
||||||
|
# systemd mode
|
||||||
|
systemd.*?running in system mode \([-+].*\)$
|
||||||
|
|
||||||
|
# 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 )
|
||||||
|
# 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 -
|
||||||
|
# Warning, while `(?i)` is very neat and fancy, if you have some binary files that aren't proper unicode, you might run into:
|
||||||
|
## Operation "substitution (s///)" returns its argument for non-Unicode code point 0x1C19AE (the code point will vary).
|
||||||
|
## You could manually change `(?i)X...` to use `[Xx]...`
|
||||||
|
## or you could add the files to your `excludes` file (a version after 0.0.19 should identify the file path)
|
||||||
|
# Lorem
|
||||||
|
(?:\w|\s|[,.])*\b(?i)(?:amet|consectetur|cursus|dolor|eros|ipsum|lacus|libero|ligula|lorem|magna|neque|nulla|suscipit|tempus)\b(?:\w|\s|[,.])*
|
||||||
|
|
||||||
|
# Non-English
|
||||||
|
[a-zA-Z]*[ÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź][a-zA-Z]{3}[a-zA-ZÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź]*|[a-zA-Z]{3,}[ÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź]|[ÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź][a-zA-Z]{3,}
|
||||||
|
|
||||||
|
# French
|
||||||
|
# This corpus only had capital letters, but you probably want lowercase ones as well.
|
||||||
|
\b[LN]'+[a-z]{2,}\b
|
||||||
|
|
||||||
|
# latex (check-spelling <= 0.0.21)
|
||||||
|
\\(?:n(?:ew|ormal|osub)|r(?:enew)|t(?:able(?:of|)|he|itle))(?=[a-z]+)
|
||||||
|
|
||||||
|
# latex (check-spelling >= 0.0.22)
|
||||||
|
\\\w{2,}\{
|
||||||
|
|
||||||
|
# eslint
|
||||||
|
"varsIgnorePattern": ".+"
|
||||||
|
|
||||||
|
# Windows short paths
|
||||||
|
[/\\][^/\\]{5,6}~\d{1,2}[/\\]
|
||||||
|
|
||||||
|
# in a version of check-spelling after @0.0.21 printf markers won't be automatically consumed
|
||||||
|
# printf markers
|
||||||
|
(?<!\\)\\[nrt](?=[a-z]{2,})
|
||||||
|
# alternate markers if you run into latex and friends
|
||||||
|
(?<!\\)\\[nrt](?=[a-z]{2,})(?=.*['"`])
|
||||||
|
|
||||||
|
# apache
|
||||||
|
a2(?:en|dis)
|
||||||
|
|
||||||
|
# weak e-tag
|
||||||
|
W/"[^"]+"
|
||||||
|
|
||||||
|
# the negative lookahead here is to allow catching 'templatesz' as a misspelling
|
||||||
|
# but to otherwise recognize a Windows path with \templates\foo.template or similar:
|
||||||
|
\\(?:necessary|r(?:eport|esolve[dr]?|esult)|t(?:arget|emplates?))(?![a-z])
|
||||||
|
# ignore long runs of a single character:
|
||||||
|
\b([A-Za-z])\g{-1}{3,}\b
|
||||||
|
|
||||||
|
# version suffix <word>v#
|
||||||
|
(?:(?<=[A-Z]{2})V|(?<=[a-z]{2}|[A-Z]{2})v)\d+(?:\b|(?=[a-zA-Z_]))
|
||||||
|
|
||||||
|
# Compiler flags (Unix, Java/Scala)
|
||||||
|
# Use if you have things like `-Pdocker` and want to treat them as `docker`
|
||||||
|
(?:^|[\t ,>"'`=(])-(?:(?:J-|)[DPWXY]|[Llf])(?=[A-Z]{2,}|[A-Z][a-z]|[a-z]{2,})
|
||||||
|
|
||||||
|
# Compiler flags (Windows / PowerShell)
|
||||||
|
# This is a subset of the more general compiler flags pattern.
|
||||||
|
# It avoids matching `-Path` to prevent it from being treated as `ath`
|
||||||
|
(?:^|[\t ,"'`=(])-(?:[DPL](?=[A-Z]{2,})|[WXYlf](?=[A-Z]{2,}|[A-Z][a-z]|[a-z]{2,}))
|
||||||
|
|
||||||
|
# Compiler flags (linker)
|
||||||
|
,-B
|
||||||
|
|
||||||
|
# curl arguments
|
||||||
|
\b(?:\\n|)curl(?:\s+-[a-zA-Z]{1,2}\b)*(?:\s+-[a-zA-Z]{3,})(?:\s+-[a-zA-Z]+)*
|
||||||
|
# set arguments
|
||||||
|
\bset(?:\s+-[abefimouxE]{1,2})*\s+-[abefimouxE]{3,}(?:\s+-[abefimouxE]+)*
|
||||||
|
# tar arguments
|
||||||
|
\b(?:\\n|)g?tar(?:\.exe|)(?:(?:\s+--[-a-zA-Z]+|\s+-[a-zA-Z]+|\s[ABGJMOPRSUWZacdfh-pr-xz]+\b)(?:=[^ ]*|))+
|
||||||
|
# tput arguments -- https://man7.org/linux/man-pages/man5/terminfo.5.html -- technically they can be more than 5 chars long...
|
||||||
|
\btput\s+(?:(?:-[SV]|-T\s*\w+)\s+)*\w{3,5}\b
|
||||||
|
# macOS temp folders
|
||||||
|
/var/folders/\w\w/[+\w]+/(?:T|-Caches-)/
|
||||||
91
.github/actions/spelling/excludes.txt
vendored
Normal file
91
.github/actions/spelling/excludes.txt
vendored
Normal file
@@ -0,0 +1,91 @@
|
|||||||
|
# See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-excludes
|
||||||
|
(?:^|/)(?i)COPYRIGHT
|
||||||
|
(?:^|/)(?i)LICEN[CS]E
|
||||||
|
(?:^|/)3rdparty/
|
||||||
|
(?:^|/)CM-foldgutter\.css$
|
||||||
|
(?:^|/)CM-Jump\.css$
|
||||||
|
(?:^|/)go\.sum$
|
||||||
|
(?:^|/)package(?:-lock|)\.json$
|
||||||
|
(?:^|/)Pipfile$
|
||||||
|
(?:^|/)pyproject.toml
|
||||||
|
(?:^|/)requirements(?:-dev|-doc|-test|)\.txt$
|
||||||
|
(?:^|/)vendor/
|
||||||
|
\.a$
|
||||||
|
\.ai$
|
||||||
|
\.all-contributorsrc$
|
||||||
|
\.avi$
|
||||||
|
\.bmp$
|
||||||
|
\.bz2$
|
||||||
|
\.cer$
|
||||||
|
\.class$
|
||||||
|
\.coveragerc$
|
||||||
|
\.crl$
|
||||||
|
\.crt$
|
||||||
|
\.csr$
|
||||||
|
\.dll$
|
||||||
|
\.docx?$
|
||||||
|
\.drawio$
|
||||||
|
\.DS_Store$
|
||||||
|
\.eot$
|
||||||
|
\.eps$
|
||||||
|
\.exe$
|
||||||
|
\.gif$
|
||||||
|
\.git-blame-ignore-revs$
|
||||||
|
\.gitattributes$
|
||||||
|
\.gitkeep$
|
||||||
|
\.graffle$
|
||||||
|
\.gz$
|
||||||
|
\.icns$
|
||||||
|
\.ico$
|
||||||
|
\.ipynb$
|
||||||
|
\.jar$
|
||||||
|
\.jks$
|
||||||
|
\.jpe?g$
|
||||||
|
\.key$
|
||||||
|
\.lib$
|
||||||
|
\.lock$
|
||||||
|
\.map$
|
||||||
|
\.min\..
|
||||||
|
\.mo$
|
||||||
|
\.mod$
|
||||||
|
\.mp[34]$
|
||||||
|
\.o$
|
||||||
|
\.ocf$
|
||||||
|
\.otf$
|
||||||
|
\.p12$
|
||||||
|
\.parquet$
|
||||||
|
\.pdf$
|
||||||
|
\.pem$
|
||||||
|
\.pfx$
|
||||||
|
\.png$
|
||||||
|
\.psd$
|
||||||
|
\.pyc$
|
||||||
|
\.pylintrc$
|
||||||
|
\.qm$
|
||||||
|
\.s$
|
||||||
|
\.sig$
|
||||||
|
\.so$
|
||||||
|
\.svgz?$
|
||||||
|
\.sys$
|
||||||
|
\.tar$
|
||||||
|
\.tgz$
|
||||||
|
\.tiff?$
|
||||||
|
\.ttf$
|
||||||
|
\.wav$
|
||||||
|
\.webm$
|
||||||
|
\.webp$
|
||||||
|
\.woff2?$
|
||||||
|
\.xcf$
|
||||||
|
\.xlsx?$
|
||||||
|
\.xpm$
|
||||||
|
\.xz$
|
||||||
|
\.zip$
|
||||||
|
^\.github/actions/spelling/
|
||||||
|
^\Q.env.vault\E$
|
||||||
|
^\Q.github/.keep\E$
|
||||||
|
^\Q.github/workflows/spelling.yml\E$
|
||||||
|
^\Qpackages/firecamp-cli/test/data/restEchoServer.firecamp_collection.json\E$
|
||||||
|
^\Qpackages/firecamp-collection-runner/readme.md\E$
|
||||||
|
^\Qplatform/firecamp-platform/__tests__/index.spec.ts\E$
|
||||||
|
^\Qpnpm-lock.yaml\E$
|
||||||
|
ignore$
|
||||||
304
.github/actions/spelling/expect.txt
vendored
Normal file
304
.github/actions/spelling/expect.txt
vendored
Normal file
@@ -0,0 +1,304 @@
|
|||||||
|
abksi
|
||||||
|
adpcm
|
||||||
|
ajv
|
||||||
|
applixware
|
||||||
|
arraybufferview
|
||||||
|
asds
|
||||||
|
atlassian
|
||||||
|
atomcat
|
||||||
|
atomsvc
|
||||||
|
auths
|
||||||
|
automerge
|
||||||
|
autorefresh
|
||||||
|
AVDD
|
||||||
|
basictable
|
||||||
|
bdoc
|
||||||
|
binarydigits
|
||||||
|
bitauth
|
||||||
|
bitjson
|
||||||
|
bmi
|
||||||
|
boxshadow
|
||||||
|
byteranges
|
||||||
|
Cantarell
|
||||||
|
cdomain
|
||||||
|
ceo
|
||||||
|
certreqresp
|
||||||
|
checkboxlist
|
||||||
|
chinesesimp
|
||||||
|
cimg
|
||||||
|
circleci
|
||||||
|
clickable
|
||||||
|
cmsi
|
||||||
|
codecov
|
||||||
|
codicons
|
||||||
|
commandsstop
|
||||||
|
commitlint
|
||||||
|
Consolas
|
||||||
|
copybutton
|
||||||
|
curtom
|
||||||
|
davmount
|
||||||
|
dbaeumer
|
||||||
|
denmarknorway
|
||||||
|
divs
|
||||||
|
dmg
|
||||||
|
dna
|
||||||
|
dnishchit
|
||||||
|
dnp
|
||||||
|
docbook
|
||||||
|
Docgen
|
||||||
|
Droid
|
||||||
|
dsn
|
||||||
|
dssc
|
||||||
|
dts
|
||||||
|
duplicat
|
||||||
|
eamodio
|
||||||
|
ecmascript
|
||||||
|
edt
|
||||||
|
EGraph
|
||||||
|
ele
|
||||||
|
elon
|
||||||
|
emt
|
||||||
|
epub
|
||||||
|
eql
|
||||||
|
ERunner
|
||||||
|
ESocket
|
||||||
|
eva
|
||||||
|
Evn
|
||||||
|
evt
|
||||||
|
ewsi
|
||||||
|
execa
|
||||||
|
exi
|
||||||
|
FFFE
|
||||||
|
finlandsweden
|
||||||
|
Fira
|
||||||
|
firecamp
|
||||||
|
Firefox
|
||||||
|
flac
|
||||||
|
fli
|
||||||
|
flickr
|
||||||
|
Flt
|
||||||
|
fns
|
||||||
|
focustree
|
||||||
|
foldcode
|
||||||
|
foldgutter
|
||||||
|
foldmarker
|
||||||
|
footerbar
|
||||||
|
Foregroundlight
|
||||||
|
Forgotpassword
|
||||||
|
fqsi
|
||||||
|
fullwidth
|
||||||
|
gca
|
||||||
|
gitpod
|
||||||
|
gpp
|
||||||
|
gql
|
||||||
|
Graphi
|
||||||
|
graphiql
|
||||||
|
gridfins
|
||||||
|
gtar
|
||||||
|
GVu
|
||||||
|
gzsi
|
||||||
|
hal
|
||||||
|
hdf
|
||||||
|
hds
|
||||||
|
hellloooooo
|
||||||
|
HELPDESK
|
||||||
|
hjson
|
||||||
|
hotkeys
|
||||||
|
hwllo
|
||||||
|
IAuth
|
||||||
|
IAvailable
|
||||||
|
ICMG
|
||||||
|
ICookie
|
||||||
|
IDrop
|
||||||
|
IEnvironment
|
||||||
|
IFc
|
||||||
|
IFT
|
||||||
|
IGraph
|
||||||
|
ilike
|
||||||
|
ime
|
||||||
|
imo
|
||||||
|
IMulti
|
||||||
|
IMultipart
|
||||||
|
inbox
|
||||||
|
Inconsolata
|
||||||
|
Inorder
|
||||||
|
inputarea
|
||||||
|
Intelli
|
||||||
|
iscii
|
||||||
|
ISingle
|
||||||
|
ISocket
|
||||||
|
ispreview
|
||||||
|
itm
|
||||||
|
IUi
|
||||||
|
jng
|
||||||
|
jpm
|
||||||
|
jsonml
|
||||||
|
kleur
|
||||||
|
Kwy
|
||||||
|
landpad
|
||||||
|
lato
|
||||||
|
launchpads
|
||||||
|
Lbar
|
||||||
|
leftpane
|
||||||
|
Letraset
|
||||||
|
libauth
|
||||||
|
linebreak
|
||||||
|
Linting
|
||||||
|
Llang
|
||||||
|
lte
|
||||||
|
lucide
|
||||||
|
lzh
|
||||||
|
macports
|
||||||
|
mantine
|
||||||
|
mathml
|
||||||
|
mes
|
||||||
|
mgmt
|
||||||
|
mmsi
|
||||||
|
mocharc
|
||||||
|
modals
|
||||||
|
mozilla
|
||||||
|
mpegurl
|
||||||
|
mrkdwn
|
||||||
|
mrsid
|
||||||
|
msword
|
||||||
|
mtk
|
||||||
|
mxf
|
||||||
|
myplugin
|
||||||
|
ndjson
|
||||||
|
neq
|
||||||
|
nertc
|
||||||
|
Neue
|
||||||
|
nfo
|
||||||
|
nilike
|
||||||
|
nin
|
||||||
|
Nishchit
|
||||||
|
Nlc
|
||||||
|
nlike
|
||||||
|
nobodyfound
|
||||||
|
nocheck
|
||||||
|
norad
|
||||||
|
notiz
|
||||||
|
NProxy
|
||||||
|
nsimilar
|
||||||
|
nsis
|
||||||
|
ntlm
|
||||||
|
Nwv
|
||||||
|
oclif
|
||||||
|
octaldigits
|
||||||
|
oex
|
||||||
|
oking
|
||||||
|
onreconnect
|
||||||
|
optionstext
|
||||||
|
ORn
|
||||||
|
OSFNS
|
||||||
|
pcurl
|
||||||
|
pcx
|
||||||
|
periapsis
|
||||||
|
pgp
|
||||||
|
pkpass
|
||||||
|
plg
|
||||||
|
plt
|
||||||
|
pluginsinspect
|
||||||
|
pluginsinstall
|
||||||
|
pluginslink
|
||||||
|
pluginsuninstall
|
||||||
|
Plygnd
|
||||||
|
portpkg
|
||||||
|
prebuilds
|
||||||
|
presskit
|
||||||
|
pskc
|
||||||
|
QLservice
|
||||||
|
qop
|
||||||
|
quicktime
|
||||||
|
QWxh
|
||||||
|
raan
|
||||||
|
Ramanujam
|
||||||
|
ramanujan
|
||||||
|
rcs
|
||||||
|
reddit
|
||||||
|
Redirs
|
||||||
|
resetcss
|
||||||
|
Rightborder
|
||||||
|
ris
|
||||||
|
rls
|
||||||
|
rnv
|
||||||
|
roadmap
|
||||||
|
Roboto
|
||||||
|
ROfb
|
||||||
|
Rpbjpvc
|
||||||
|
rsd
|
||||||
|
rtls
|
||||||
|
saf
|
||||||
|
salesforce
|
||||||
|
salesforcecli
|
||||||
|
screenshots
|
||||||
|
scrollarea
|
||||||
|
sdp
|
||||||
|
searchcursor
|
||||||
|
seeme
|
||||||
|
Segoe
|
||||||
|
SFNS
|
||||||
|
sgi
|
||||||
|
shf
|
||||||
|
signin
|
||||||
|
SIO
|
||||||
|
slackapi
|
||||||
|
socketio
|
||||||
|
someplugin
|
||||||
|
someuser
|
||||||
|
SSLn
|
||||||
|
subrip
|
||||||
|
szh
|
||||||
|
szhsin
|
||||||
|
tailwindcss
|
||||||
|
tbd
|
||||||
|
TCE
|
||||||
|
tdp
|
||||||
|
tdpfr
|
||||||
|
testi
|
||||||
|
testid
|
||||||
|
textareas
|
||||||
|
tga
|
||||||
|
TGraph
|
||||||
|
throughs
|
||||||
|
Thu
|
||||||
|
timestamped
|
||||||
|
timestamptz
|
||||||
|
TItem
|
||||||
|
tocstop
|
||||||
|
TODOs
|
||||||
|
Tokenfrom
|
||||||
|
TOODs
|
||||||
|
tooltiptext
|
||||||
|
tsj
|
||||||
|
TSL
|
||||||
|
tsup
|
||||||
|
TTd
|
||||||
|
TTh
|
||||||
|
TTr
|
||||||
|
Twotone
|
||||||
|
typcn
|
||||||
|
typesjs
|
||||||
|
unpressurized
|
||||||
|
urlbar
|
||||||
|
usagestop
|
||||||
|
varkeys
|
||||||
|
vcalendar
|
||||||
|
vcard
|
||||||
|
vnd
|
||||||
|
vsc
|
||||||
|
vtt
|
||||||
|
VWB
|
||||||
|
webpack'ed
|
||||||
|
websockets
|
||||||
|
Widgetget
|
||||||
|
wrs
|
||||||
|
xop
|
||||||
|
XXPGZHWZ
|
||||||
|
xxs
|
||||||
|
Zcjs
|
||||||
|
Zis
|
||||||
|
zoho
|
||||||
|
zul
|
||||||
|
zustand
|
||||||
|
ZWdya
|
||||||
116
.github/actions/spelling/line_forbidden.patterns
vendored
Normal file
116
.github/actions/spelling/line_forbidden.patterns
vendored
Normal file
@@ -0,0 +1,116 @@
|
|||||||
|
# reject `m_data` as VxWorks defined it and that breaks things if it's used elsewhere
|
||||||
|
# see [fprime](https://github.com/nasa/fprime/commit/d589f0a25c59ea9a800d851ea84c2f5df02fb529)
|
||||||
|
# and [Qt](https://github.com/qtproject/qt-solutions/blame/fb7bc42bfcc578ff3fa3b9ca21a41e96eb37c1c7/qtscriptclassic/src/qscriptbuffer_p.h#L46)
|
||||||
|
# \bm_data\b
|
||||||
|
|
||||||
|
# If you have a framework that uses `it()` for testing and `fit()` for debugging a specific test,
|
||||||
|
# you might not want to check in code where you were debugging w/ `fit()`, in which case, you might want
|
||||||
|
# to use this:
|
||||||
|
#\bfit\(
|
||||||
|
|
||||||
|
# s.b. anymore
|
||||||
|
\bany more[,.]
|
||||||
|
|
||||||
|
# s.b. GitHub
|
||||||
|
(?<![<&*.]|// |\btype )\bGithub\s(?![{}])
|
||||||
|
|
||||||
|
# s.b. GitLab
|
||||||
|
(?<![&*.]|// |\btype )\bGitlab\b(?![{)])
|
||||||
|
|
||||||
|
# s.b. JavaScript
|
||||||
|
\bJavascript\b
|
||||||
|
|
||||||
|
# s.b. Microsoft
|
||||||
|
\bMicroSoft\b
|
||||||
|
|
||||||
|
# s.b. TypeScript
|
||||||
|
\bTypescript\b
|
||||||
|
|
||||||
|
# s.b. another
|
||||||
|
\ban[- ]other\b
|
||||||
|
|
||||||
|
# s.b. deprecation warning
|
||||||
|
\b[Dd]epreciation [Ww]arnings?\b
|
||||||
|
|
||||||
|
# s.b. greater than
|
||||||
|
\bgreater then\b
|
||||||
|
|
||||||
|
# s.b. in front of
|
||||||
|
\bin from of\b
|
||||||
|
|
||||||
|
# s.b. into
|
||||||
|
# when not phrasal and when `in order to` would be wrong:
|
||||||
|
# https://thewritepractice.com/into-vs-in-to/
|
||||||
|
#\sin to\s(?!if\b)
|
||||||
|
|
||||||
|
# s.b. is obsolete
|
||||||
|
\bis obsolescent\b
|
||||||
|
|
||||||
|
# s.b. it's or its
|
||||||
|
\bits['’]
|
||||||
|
|
||||||
|
# s.b. opt-in
|
||||||
|
(?<!\sfor)\sopt in\s
|
||||||
|
|
||||||
|
# s.b. less than
|
||||||
|
\bless then\b
|
||||||
|
|
||||||
|
# s.b. one of
|
||||||
|
\bon of\b
|
||||||
|
|
||||||
|
# s.b. otherwise
|
||||||
|
\bother[- ]wise\b
|
||||||
|
|
||||||
|
# s.b. or (more|less)
|
||||||
|
\bore (?:more|less)\b
|
||||||
|
|
||||||
|
# s.b. nonexistent
|
||||||
|
\bnon existing\b
|
||||||
|
\b[Nn]o[nt][- ]existent\b
|
||||||
|
|
||||||
|
# s.b. brief / details/ param / return / retval
|
||||||
|
(?:^\s*|(?:\*|//|/*)\s+`)[\\@](?:breif|(?:detail|detials)|(?:params(?!\.)|prama?)|ret(?:uns?)|retvl)\b
|
||||||
|
|
||||||
|
# s.b. preexisting
|
||||||
|
[Pp]re[- ]existing
|
||||||
|
|
||||||
|
# s.b. preempt
|
||||||
|
[Pp]re[- ]empt\b
|
||||||
|
|
||||||
|
# s.b. preemptively
|
||||||
|
[Pp]re[- ]emptively
|
||||||
|
|
||||||
|
# s.b. recently changed or recent changes
|
||||||
|
[Rr]ecent changed
|
||||||
|
|
||||||
|
# s.b. reentrancy
|
||||||
|
[Rr]e[- ]entrancy
|
||||||
|
|
||||||
|
# s.b. reentrant
|
||||||
|
[Rr]e[- ]entrant
|
||||||
|
|
||||||
|
# s.b. understand
|
||||||
|
\bunder stand\b
|
||||||
|
|
||||||
|
# s.b. workarounds
|
||||||
|
\bwork[- ]arounds\b
|
||||||
|
|
||||||
|
# s.b. workaround
|
||||||
|
(?:(?:[Aa]|[Tt]he|ugly)\swork[- ]around\b|\swork[- ]around\s+for)
|
||||||
|
|
||||||
|
# s.b. (coarse|fine)-grained
|
||||||
|
\b(?:coarse|fine) grained\b
|
||||||
|
|
||||||
|
# s.b. neither/nor -- or reword
|
||||||
|
\bnot\b[^.?!"/(]+\bnor\b
|
||||||
|
|
||||||
|
# probably a double negative
|
||||||
|
# s.b. neither/nor (plus rewording the beginning)
|
||||||
|
\bnot\b[^.?!"/]*\bneither\b[^.?!"/(]*\bnor\b
|
||||||
|
|
||||||
|
# In English, it is generally wrong to have the same word twice in a row without punctuation.
|
||||||
|
# Duplicated words are generally mistakes.
|
||||||
|
# There are a few exceptions where it is acceptable (e.g. "that that").
|
||||||
|
# If the highlighted doubled word pair is in a code snippet, you can write a pattern to mask it.
|
||||||
|
# If the highlighted doubled word pair is in prose, have someone read the English before you dismiss this error.
|
||||||
|
\s([A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,})\s\g{-1}\s
|
||||||
88
.github/actions/spelling/patterns.txt
vendored
Normal file
88
.github/actions/spelling/patterns.txt
vendored
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
# See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-patterns
|
||||||
|
|
||||||
|
# Automatically suggested patterns
|
||||||
|
# hit-count: 1820 file-count: 365
|
||||||
|
# IServiceProvider / isAThing
|
||||||
|
\b(?:[EGILOTX]|isA)(?=(?:[A-Z][a-z]{2,})+\b)
|
||||||
|
|
||||||
|
# hit-count: 1327 file-count: 405
|
||||||
|
# node packages
|
||||||
|
(["'])\@[^/'" ]+/[^/'" ]+\g{-1}
|
||||||
|
|
||||||
|
# hit-count: 312 file-count: 13
|
||||||
|
# version suffix <word>v#
|
||||||
|
(?:(?<=[A-Z]{2})V|(?<=[a-z]{2}|[A-Z]{2})v)\d+(?:\b|(?=[a-zA-Z_]))
|
||||||
|
|
||||||
|
# hit-count: 284 file-count: 72
|
||||||
|
# https/http/file urls
|
||||||
|
(?:\b(?:https?|ftp|file)://)[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]
|
||||||
|
|
||||||
|
# hit-count: 69 file-count: 21
|
||||||
|
# hex digits including css/html color classes:
|
||||||
|
(?:[\\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
|
||||||
|
|
||||||
|
# hit-count: 68 file-count: 6
|
||||||
|
# in a version of check-spelling after @0.0.21 printf markers won't be automatically consumed
|
||||||
|
# printf markers
|
||||||
|
(?<!\\)\\[nrt](?=[a-z]{2,})
|
||||||
|
|
||||||
|
# hit-count: 31 file-count: 7
|
||||||
|
# css url wrappings
|
||||||
|
\burl\([^)]+\)
|
||||||
|
|
||||||
|
# hit-count: 16 file-count: 4
|
||||||
|
# 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 )
|
||||||
|
# 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 -
|
||||||
|
# Warning, while `(?i)` is very neat and fancy, if you have some binary files that aren't proper unicode, you might run into:
|
||||||
|
## Operation "substitution (s///)" returns its argument for non-Unicode code point 0x1C19AE (the code point will vary).
|
||||||
|
## You could manually change `(?i)X...` to use `[Xx]...`
|
||||||
|
## or you could add the files to your `excludes` file (a version after 0.0.19 should identify the file path)
|
||||||
|
# Lorem
|
||||||
|
(?:\w|\s|[,.])*\b(?i)(?:amet|consectetur|cursus|dolor|eros|ipsum|lacus|libero|ligula|lorem|magna|neque|nulla|suscipit|tempus)\b(?:\w|\s|[,.])*
|
||||||
|
|
||||||
|
# hit-count: 10 file-count: 5
|
||||||
|
# hex runs
|
||||||
|
\b[0-9a-fA-F]{16,}\b
|
||||||
|
|
||||||
|
# hit-count: 4 file-count: 1
|
||||||
|
# base64 encoded content
|
||||||
|
([`'"])[-a-zA-Z=;:/0-9+]+=\g{-1}
|
||||||
|
|
||||||
|
# hit-count: 3 file-count: 3
|
||||||
|
# uuid:
|
||||||
|
\b[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}\b
|
||||||
|
|
||||||
|
'[^']*\$'
|
||||||
|
"id": "[^"]+"
|
||||||
|
/[^/]+/i\b
|
||||||
|
|
||||||
|
# Questionably acceptable forms of `in to`
|
||||||
|
# Personally, I prefer `log into`, but people object
|
||||||
|
# https://www.tprteaching.com/log-into-log-in-to-login/
|
||||||
|
\b(?:[Ll]og|[Ss]ign) in to\b
|
||||||
|
|
||||||
|
# to opt in
|
||||||
|
\bto opt in\b
|
||||||
|
|
||||||
|
# acceptable duplicates
|
||||||
|
# ls directory listings
|
||||||
|
[-bcdlpsw](?:[-r][-w][-Ssx]){3}\s+\d+\s+\S+\s+\S+\s+\d+\s+
|
||||||
|
# mount
|
||||||
|
\bmount\s+-t\s+(\w+)\s+\g{-1}\b
|
||||||
|
# C types and repeated CSS values
|
||||||
|
\s(auto|center|div|inherit|long|LONG|none|normal|solid|thin|transparent|very)(?: \g{-1})+\s
|
||||||
|
# C struct
|
||||||
|
\bstruct\s+(\w+)\s+\g{-1}\b
|
||||||
|
# go templates
|
||||||
|
\s(\w+)\s+\g{-1}\s+\`(?:graphql|inject|json|yaml):
|
||||||
|
# doxygen / javadoc / .net
|
||||||
|
(?:[\\@](?:brief|groupname|t?param|return|retval)|(?:public|private)(?:\s+static|\s+readonly)*)(?:\s+\{\w+\}|)\s+(\w+)\s+\g{-1}\s
|
||||||
|
|
||||||
|
# Commit message -- Signed-off-by and friends
|
||||||
|
^\s*(?:(?:Based-on-patch|Co-authored|Helped|Mentored|Reported|Reviewed|Signed-off)-by|Thanks-to): (?:[^<]*<[^>]*>|[^<]*)\s*$
|
||||||
|
|
||||||
|
# Autogenerated revert commit message
|
||||||
|
^This reverts commit [0-9a-f]{40}\.$
|
||||||
|
|
||||||
|
# ignore long runs of a single character:
|
||||||
|
\b([A-Za-z])\g{-1}{3,}\b
|
||||||
11
.github/actions/spelling/reject.txt
vendored
Normal file
11
.github/actions/spelling/reject.txt
vendored
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
^attache$
|
||||||
|
^bellow$
|
||||||
|
benefitting
|
||||||
|
occurences?
|
||||||
|
^dependan.*
|
||||||
|
^oer$
|
||||||
|
Sorce
|
||||||
|
^[Ss]pae.*
|
||||||
|
^untill$
|
||||||
|
^untilling$
|
||||||
|
^wether.*
|
||||||
145
.github/workflows/spelling.yml
vendored
Normal file
145
.github/workflows/spelling.yml
vendored
Normal file
@@ -0,0 +1,145 @@
|
|||||||
|
name: Check Spelling
|
||||||
|
|
||||||
|
# Comment management is handled through a secondary job, for details see:
|
||||||
|
# https://github.com/check-spelling/check-spelling/wiki/Feature%3A-Restricted-Permissions
|
||||||
|
#
|
||||||
|
# `jobs.comment-push` runs when a push is made to a repository and the `jobs.spelling` job needs to make a comment
|
||||||
|
# (in odd cases, it might actually run just to collapse a comment, but that's fairly rare)
|
||||||
|
# it needs `contents: write` in order to add a comment.
|
||||||
|
#
|
||||||
|
# `jobs.comment-pr` runs when a pull_request is made to a repository and the `jobs.spelling` job needs to make a comment
|
||||||
|
# or collapse a comment (in the case where it had previously made a comment and now no longer needs to show a comment)
|
||||||
|
# it needs `pull-requests: write` in order to manipulate those comments.
|
||||||
|
|
||||||
|
# Updating pull request branches is managed via comment handling.
|
||||||
|
# For details, see: https://github.com/check-spelling/check-spelling/wiki/Feature:-Update-expect-list
|
||||||
|
#
|
||||||
|
# These elements work together to make it happen:
|
||||||
|
#
|
||||||
|
# `on.issue_comment`
|
||||||
|
# This event listens to comments by users asking to update the metadata.
|
||||||
|
#
|
||||||
|
# `jobs.update`
|
||||||
|
# This job runs in response to an issue_comment and will push a new commit
|
||||||
|
# to update the spelling metadata.
|
||||||
|
#
|
||||||
|
# `with.experimental_apply_changes_via_bot`
|
||||||
|
# Tells the action to support and generate messages that enable it
|
||||||
|
# to make a commit to update the spelling metadata.
|
||||||
|
#
|
||||||
|
# `with.ssh_key`
|
||||||
|
# In order to trigger workflows when the commit is made, you can provide a
|
||||||
|
# secret (typically, a write-enabled github deploy key).
|
||||||
|
#
|
||||||
|
# For background, see: https://github.com/check-spelling/check-spelling/wiki/Feature:-Update-with-deploy-key
|
||||||
|
|
||||||
|
# Sarif reporting
|
||||||
|
#
|
||||||
|
# Access to Sarif reports is generally restricted (by GitHub) to members of the repository.
|
||||||
|
#
|
||||||
|
# Requires enabling `security-events: write`
|
||||||
|
# and configuring the action with `use_sarif: 1`
|
||||||
|
#
|
||||||
|
# For information on the feature, see: https://github.com/check-spelling/check-spelling/wiki/Feature:-Sarif-output
|
||||||
|
|
||||||
|
# Minimal workflow structure:
|
||||||
|
#
|
||||||
|
# on:
|
||||||
|
# push:
|
||||||
|
# ...
|
||||||
|
# pull_request_target:
|
||||||
|
# ...
|
||||||
|
# jobs:
|
||||||
|
# # you only want the spelling job, all others should be omitted
|
||||||
|
# spelling:
|
||||||
|
# # remove `security-events: write` and `use_sarif: 1`
|
||||||
|
# # remove `experimental_apply_changes_via_bot: 1`
|
||||||
|
# ... otherwise adjust the `with:` as you wish
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- "**"
|
||||||
|
tags-ignore:
|
||||||
|
- "**"
|
||||||
|
pull_request_target:
|
||||||
|
branches:
|
||||||
|
- "**"
|
||||||
|
types:
|
||||||
|
- 'opened'
|
||||||
|
- 'reopened'
|
||||||
|
- 'synchronize'
|
||||||
|
issue_comment:
|
||||||
|
types:
|
||||||
|
- 'created'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
spelling:
|
||||||
|
name: Check Spelling
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
pull-requests: read
|
||||||
|
actions: read
|
||||||
|
security-events: write
|
||||||
|
outputs:
|
||||||
|
followup: ${{ steps.spelling.outputs.followup }}
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: ${{ contains(github.event_name, 'pull_request') || github.event_name == 'push' }}
|
||||||
|
concurrency:
|
||||||
|
group: spelling-${{ github.event.pull_request.number || github.ref }}
|
||||||
|
# note: If you use only_check_changed_files, you do not want cancel-in-progress
|
||||||
|
cancel-in-progress: true
|
||||||
|
steps:
|
||||||
|
- name: check-spelling
|
||||||
|
id: spelling
|
||||||
|
uses: check-spelling/check-spelling@v0.0.22
|
||||||
|
with:
|
||||||
|
suppress_push_for_open_pull_request: ${{ github.actor != 'dependabot[bot]' && 1 }}
|
||||||
|
checkout: true
|
||||||
|
check_file_names: 1
|
||||||
|
spell_check_this: firecamp-dev/firecamp@main
|
||||||
|
post_comment: 0
|
||||||
|
use_magic_file: 1
|
||||||
|
report-timing: 1
|
||||||
|
warnings: bad-regex,binary-file,deprecated-feature,large-file,limited-references,no-newline-at-eof,noisy-file,non-alpha-in-dictionary,token-is-substring,unexpected-line-ending,whitespace-in-dictionary,minified-file,unsupported-configuration,no-files-to-check
|
||||||
|
experimental_apply_changes_via_bot: ${{ github.repository_owner != 'firecamp-dev' && 1 }}
|
||||||
|
use_sarif: ${{ (!github.event.pull_request || (github.event.pull_request.head.repo.full_name == github.repository)) && 1 }}
|
||||||
|
check_extra_dictionaries: ''
|
||||||
|
extra_dictionaries:
|
||||||
|
cspell:software-terms/dict/softwareTerms.txt
|
||||||
|
cspell:npm/dict/npm.txt
|
||||||
|
cspell:fullstack/dict/fullstack.txt
|
||||||
|
cspell:typescript/dict/typescript.txt
|
||||||
|
cspell:filetypes/filetypes.txt
|
||||||
|
cspell:node/dict/node.txt
|
||||||
|
cspell:html/dict/html.txt
|
||||||
|
cspell:css/dict/css.txt
|
||||||
|
cspell:aws/aws.txt
|
||||||
|
cspell:lorem-ipsum/dictionary.txt
|
||||||
|
cspell:php/dict/php.txt
|
||||||
|
cspell:python/src/python/python-lib.txt
|
||||||
|
cspell:k8s/dict/k8s.txt
|
||||||
|
|
||||||
|
update:
|
||||||
|
name: Update PR
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
pull-requests: write
|
||||||
|
actions: read
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: ${{
|
||||||
|
github.repository_owner != 'firecamp-dev' &&
|
||||||
|
github.event_name == 'issue_comment' &&
|
||||||
|
github.event.issue.pull_request &&
|
||||||
|
contains(github.event.comment.body, '@check-spelling-bot apply')
|
||||||
|
}}
|
||||||
|
concurrency:
|
||||||
|
group: spelling-update-${{ github.event.issue.number }}
|
||||||
|
cancel-in-progress: false
|
||||||
|
steps:
|
||||||
|
- name: apply spelling updates
|
||||||
|
uses: check-spelling/check-spelling@v0.0.22
|
||||||
|
with:
|
||||||
|
experimental_apply_changes_via_bot: 1
|
||||||
|
checkout: true
|
||||||
|
ssh_key: "${{ secrets.CHECK_SPELLING }}"
|
||||||
@@ -10,7 +10,7 @@ export interface IWorkspace {
|
|||||||
description: string
|
description: string
|
||||||
__meta: {
|
__meta: {
|
||||||
/**
|
/**
|
||||||
* @deprecated: active environment manged in user preference
|
* @deprecated: active environment managed in user preference
|
||||||
*/
|
*/
|
||||||
activeEnv?: string
|
activeEnv?: string
|
||||||
cOrders: TId[]
|
cOrders: TId[]
|
||||||
|
|||||||
@@ -48,8 +48,8 @@
|
|||||||
margin: 0 auto
|
margin: 0 auto
|
||||||
margin-bottom: 24px
|
margin-bottom: 24px
|
||||||
border-radius: 6px
|
border-radius: 6px
|
||||||
background-color: var(--appSecondry)
|
background-color: var(--appSecondary)
|
||||||
color: var(--appSecondryForeground)
|
color: var(--appSecondaryForeground)
|
||||||
|
|
||||||
.signin-github,.signin-google
|
.signin-github,.signin-google
|
||||||
position: relative
|
position: relative
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
.workpsace-card .workpsace-card-action{
|
.workspace-card .workspace-card-action{
|
||||||
visibility: hidden;
|
visibility: hidden;
|
||||||
}
|
}
|
||||||
.workpsace-card * {
|
.workspace-card * {
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
.workpsace-card:hover:before{
|
.workspace-card:hover:before{
|
||||||
content: ' ';
|
content: ' ';
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 0px;
|
left: 0px;
|
||||||
@@ -16,6 +16,6 @@
|
|||||||
opacity: 0.2;
|
opacity: 0.2;
|
||||||
z-index: 0;
|
z-index: 0;
|
||||||
}
|
}
|
||||||
.workpsace-card:hover .workpsace-card-action{
|
.workspace-card:hover .workspace-card-action{
|
||||||
visibility: visible;
|
visibility: visible;
|
||||||
}
|
}
|
||||||
@@ -46,7 +46,7 @@ export default SwitchWorkspacePanel;
|
|||||||
|
|
||||||
const WorkspaceCard: FC<any> = () => {
|
const WorkspaceCard: FC<any> = () => {
|
||||||
return (
|
return (
|
||||||
<div className="workpsace-card relative flex cursor-pointer flex-col border border-app-border ml-2 mr-2 first:ml-0 last:mr-0">
|
<div className="workspace-card relative flex cursor-pointer flex-col border border-app-border ml-2 mr-2 first:ml-0 last:mr-0">
|
||||||
<div className="border-b border-app-border flex flex-row p-2 pb-4">
|
<div className="border-b border-app-border flex flex-row p-2 pb-4">
|
||||||
<div>
|
<div>
|
||||||
<span className="block text-base text-app-foreground font-semibold whitespace-pre leading-5">
|
<span className="block text-base text-app-foreground font-semibold whitespace-pre leading-5">
|
||||||
@@ -56,7 +56,7 @@ const WorkspaceCard: FC<any> = () => {
|
|||||||
Workspace
|
Workspace
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div className="ml-auto workpsace-card-action">
|
<div className="ml-auto workspace-card-action">
|
||||||
<Button text="Switch" primary xs compact transparent />
|
<Button text="Switch" primary xs compact transparent />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -42,11 +42,11 @@ const dragAndDrop = async (elemDrag: HTMLElement, elemDrop: HTMLElement) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/* Drop & Move event */
|
/* Drop & Move event */
|
||||||
const dropAndMove = async (resizerElement: HTMLElement, moveOffest: Array<{clientX: number, clientY: number}>) => {
|
const dropAndMove = async (resizerElement: HTMLElement, moveOffset: Array<{clientX: number, clientY: number}>) => {
|
||||||
|
|
||||||
await fireEvent.mouseDown(resizerElement, moveOffest[0]);
|
await fireEvent.mouseDown(resizerElement, moveOffset[0]);
|
||||||
await fireEvent.mouseMove(resizerElement, moveOffest[1]);
|
await fireEvent.mouseMove(resizerElement, moveOffset[1]);
|
||||||
await fireEvent.mouseUp(resizerElement, moveOffest[1])
|
await fireEvent.mouseUp(resizerElement, moveOffset[1])
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ const TabLayout = (args: any) => {
|
|||||||
<Row className="h-full">
|
<Row className="h-full">
|
||||||
<Column flex={1}>Request Body</Column>
|
<Column flex={1}>Request Body</Column>
|
||||||
<Resizable left={true} maxWidth="90%" minWidth={200} width="50%">
|
<Resizable left={true} maxWidth="90%" minWidth={200} width="50%">
|
||||||
<Column flex={1} className="border-l border-app-border">Responce Body</Column>
|
<Column flex={1} className="border-l border-app-border">Response Body</Column>
|
||||||
</Resizable>
|
</Resizable>
|
||||||
</Row>
|
</Row>
|
||||||
</Column>
|
</Column>
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ import {
|
|||||||
} from '@firecamp/ui';
|
} from '@firecamp/ui';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
// Atlassion,
|
// Atlassian,
|
||||||
Aws,
|
Aws,
|
||||||
Basic,
|
Basic,
|
||||||
Bearer,
|
Bearer,
|
||||||
@@ -121,7 +121,7 @@ GitHub </a>, <a href="https://twitter.com/firecampdev" target="_blank">Twitter</
|
|||||||
);
|
);
|
||||||
/* case EAuthTypes.Atlassian:
|
/* case EAuthTypes.Atlassian:
|
||||||
return (
|
return (
|
||||||
<Atlassion
|
<Atlassian
|
||||||
auth={value}
|
auth={value}
|
||||||
onChange={onChangeAuth}
|
onChange={onChangeAuth}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { useState } from 'react';
|
|||||||
import { EEditorLanguage } from '@firecamp/types';
|
import { EEditorLanguage } from '@firecamp/types';
|
||||||
import { SingleLineEditor } from '@firecamp/ui';
|
import { SingleLineEditor } from '@firecamp/ui';
|
||||||
|
|
||||||
const Atlassion = () => {
|
const Atlassian = () => {
|
||||||
const initialState = {
|
const initialState = {
|
||||||
issuer: '',
|
issuer: '',
|
||||||
subject: '',
|
subject: '',
|
||||||
@@ -131,4 +131,4 @@ const Atlassion = () => {
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
export default Atlassion;
|
export default Atlassian;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
export { default as Atlassion } from './Atlassion';
|
export { default as Atlassian } from './Atlassian';
|
||||||
export { default as Aws } from './Aws';
|
export { default as Aws } from './Aws';
|
||||||
export { default as Basic } from './Basic';
|
export { default as Basic } from './Basic';
|
||||||
export { default as Bearer } from './Bearer';
|
export { default as Bearer } from './Bearer';
|
||||||
|
|||||||
@@ -77,8 +77,8 @@ MultipleRowColumns.args = { width: '100%', overflow: 'auto', height: 'auto', cla
|
|||||||
|
|
||||||
// export const TwoColumn = (args) => (
|
// export const TwoColumn = (args) => (
|
||||||
// <Row {...args}>
|
// <Row {...args}>
|
||||||
// <Column {...args} className={cx( {'border-b last:border-b-0 border-black' : args.showDevider == true })} >col</Column>
|
// <Column {...args} className={cx( {'border-b last:border-b-0 border-black' : args.showDivider == true })} >col</Column>
|
||||||
// <Column {...args} className={cx( {'border-b last:border-b-0 border-black' : args.showDevider == true })}>col</Column>
|
// <Column {...args} className={cx( {'border-b last:border-b-0 border-black' : args.showDivider == true })}>col</Column>
|
||||||
// </Row>
|
// </Row>
|
||||||
// );
|
// );
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ export interface ISecondaryTab {
|
|||||||
*/
|
*/
|
||||||
activeTab?: string;
|
activeTab?: string;
|
||||||
/**
|
/**
|
||||||
* Boolean value if you wnat to set tab background transparent or not
|
* Boolean value if you want to set tab background transparent or not
|
||||||
*/
|
*/
|
||||||
isBgTransparent?: boolean;
|
isBgTransparent?: boolean;
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
min-width: 60px;
|
min-width: 60px;
|
||||||
padding-left: 4px;
|
padding-left: 4px;
|
||||||
background: var(--input-background);
|
background: var(--input-background);
|
||||||
color: var(--inputForground)
|
color: var(--inputForeground)
|
||||||
}
|
}
|
||||||
|
|
||||||
.graphiql-explorer-field-view {
|
.graphiql-explorer-field-view {
|
||||||
@@ -54,7 +54,7 @@
|
|||||||
|
|
||||||
.graphiql-operation-title-bar>span>input:first-child {
|
.graphiql-operation-title-bar>span>input:first-child {
|
||||||
background: var(--input-background);
|
background: var(--input-background);
|
||||||
color: var(--inputForground) !important;
|
color: var(--inputForeground) !important;
|
||||||
pointer-events: none
|
pointer-events: none
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ const QueryEditorMonaco = ({ isQueryDirty, toggleQueryDirty }) => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
const _onCallGQLReuqest = () => {
|
const _onCallGQLRequest = () => {
|
||||||
let queryObject = _onCursorGetCurrentOperation(editorValue);
|
let queryObject = _onCursorGetCurrentOperation(editorValue);
|
||||||
// ctx_onSendRequest(queryObject.value, queryObject.__meta.variables);
|
// ctx_onSendRequest(queryObject.value, queryObject.__meta.variables);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ const Collection = () => {
|
|||||||
)}
|
)}
|
||||||
|
|
||||||
{/* even if the collection is empty, the tree must be initialized with tdp.
|
{/* even if the collection is empty, the tree must be initialized with tdp.
|
||||||
however it'll not show anything but when new item'll get added/created then tree will pop up the entry */}
|
however it'll not show anything but when new items get added/created then tree will pop up the entry */}
|
||||||
<UncontrolledTreeEnvironment
|
<UncontrolledTreeEnvironment
|
||||||
canRename={false}
|
canRename={false}
|
||||||
canReorderItems={true}
|
canReorderItems={true}
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ const Collection = ({ openCreateFolderPrompt }) => {
|
|||||||
)}
|
)}
|
||||||
|
|
||||||
{/* even if the collection is empty, the tree must be initialized with tdp.
|
{/* even if the collection is empty, the tree must be initialized with tdp.
|
||||||
however it'll not show anything but when new item'll get added/created then tree will pop up the entry
|
however it'll not show anything but when new items get added/created then tree will pop up the entry
|
||||||
*/}
|
*/}
|
||||||
<ScrollArea>
|
<ScrollArea>
|
||||||
<UncontrolledTreeEnvironment
|
<UncontrolledTreeEnvironment
|
||||||
|
|||||||
Reference in New Issue
Block a user