Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use sphinx-toolbox instead of version_removed_in #393

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

cmouse
Copy link
Contributor

@cmouse cmouse commented Feb 7, 2022

Provides more flexible tools and handles certain formatting better

Provides more flexible tools and handles certain formatting better
@github-actions
Copy link

github-actions bot commented Feb 7, 2022

@check-spelling-bot Report

🔴 Please review

See the files view or the action log for details.

Unrecognized words (1)

changeset

Previously acknowledged words that are now absent addnodes cls contentnode contnode defaultdict dispname docname docutils dovecotsetting elif fromdocname lightgray localname refnode shortname signode startswith statemachine targ todocname
Available dictionaries could cover words not in the dictionary

cspell:cpp/cpp.txt (104293) covers 250 of them
cspell:aws/aws.txt (1485) covers 29 of them
cspell:golang/go.txt (7745) covers 27 of them
cspell:filetypes/filetypes.txt (337) covers 24 of them
cspell:django/django.txt (2342) covers 24 of them
cspell:npm/npm.txt (671) covers 16 of them
cspell:html/html.txt (542) covers 11 of them
cspell:python/python.txt (364) covers 10 of them
cspell:lua/lua.txt (391) covers 10 of them
cspell:css/css.txt (993) covers 10 of them
cspell:scala/scala.txt (2752) covers 9 of them
cspell:java/java.txt (33524) covers 9 of them
cspell:fullstack/fullstack.txt (181) covers 9 of them
cspell:csharp/csharp.txt (123) covers 7 of them
cspell:php/php.txt (9785) covers 5 of them
cspell:rust/rust.txt (112) covers 4 of them
cspell:ruby/ruby.txt (354) covers 3 of them
cspell:dotnet/dotnet.txt (9824) covers 3 of them
cspell:ada/ada.txt (72) covers 3 of them
cspell:bash/bash-words.txt (22) covers 1 of them

Consider adding them using:

      with:
        extra_dictionaries:
          cspell:cpp/cpp.txt
          cspell:aws/aws.txt
          cspell:golang/go.txt
          cspell:filetypes/filetypes.txt
          cspell:django/django.txt
          cspell:npm/npm.txt
          cspell:html/html.txt
          cspell:python/python.txt
          cspell:lua/lua.txt
          cspell:css/css.txt
          cspell:scala/scala.txt
          cspell:java/java.txt
          cspell:fullstack/fullstack.txt
          cspell:csharp/csharp.txt
          cspell:php/php.txt
          cspell:rust/rust.txt
          cspell:ruby/ruby.txt
          cspell:dotnet/dotnet.txt
          cspell:ada/ada.txt
          cspell:bash/bash-words.txt

To stop checking additional dictionaries, add:

      with:
        check_extra_dictionaries: ''
To accept these unrecognized words as correct (and remove the previously acknowledged and now absent words), run the following commands

... in a clone of the git@github.com:cmouse/dovecot-documentation.git repository
on the toolbox branch:

update_files() {
perl -e '
my @expect_files=qw('".github/actions/spelling/expect.txt"');
@ARGV=@expect_files;
my @stale=qw('"$patch_remove"');
my $re=join "|", @stale;
my $suffix=".".time();
my $previous="";
sub maybe_unlink { unlink($_[0]) if $_[0]; }
while (<>) {
if ($ARGV ne $old_argv) { maybe_unlink($previous); $previous="$ARGV$suffix"; rename($ARGV, $previous); open(ARGV_OUT, ">$ARGV"); select(ARGV_OUT); $old_argv = $ARGV; }
next if /^(?:$re)(?:(?:\r|\n)*$| .*)/; print;
}; maybe_unlink($previous);'
perl -e '
my $new_expect_file=".github/actions/spelling/expect.txt";
use File::Path qw(make_path);
use File::Basename qw(dirname);
make_path (dirname($new_expect_file));
open FILE, q{<}, $new_expect_file; chomp(my @words = <FILE>); close FILE;
my @add=qw('"$patch_add"');
my %items; @items{@words} = @words x (1); @items{@add} = @add x (1);
@words = sort {lc($a)."-".$a cmp lc($b)."-".$b} keys %items;
open FILE, q{>}, $new_expect_file; for my $word (@words) { print FILE "$word\n" if $word =~ /\w/; };
close FILE;
system("git", "add", $new_expect_file);
'
}

comment_json=$(mktemp)
curl -L -s -S \
-H "Content-Type: application/json" \
"https://api.github.com/repos/dovecot/documentation/issues/comments/1031306674" > "$comment_json"
comment_body=$(mktemp)
jq -r ".body // empty" "$comment_json" > $comment_body
rm $comment_json

patch_remove=$(perl -ne 'next unless s{^</summary>(.*)</details>$}{$1}; print' < "$comment_body")

patch_add=$(perl -e '$/=undef; $_=<>; if (m{Unrecognized words[^<]*</summary>\n*```\n*([^<]*)```\n*</details>$}m) { print "$1" } elsif (m{Unrecognized words[^<]*\n\n((?:\w.*\n)+)\n}m) { print "$1" };' < "$comment_body")

update_files
rm $comment_body
git add -u
If the flagged items do not appear to be text

If items relate to a ...

  • well-formed pattern.

    If you can write a pattern that would match it,
    try adding it to the patterns.txt file.

    Patterns are Perl 5 Regular Expressions - you can test yours before committing to verify it will match your lines.

    Note that patterns can't match multiline strings.

  • binary file.

    Please add a file path to the excludes.txt file matching the containing file.

    File paths are Perl 5 Regular Expressions - you can test 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 (on whichever branch you're using).

Alternatively, the bot can do this for you if you reply quoting the following line:
@check-spelling-bot apply changes.

@github-actions

This comment has been minimized.

@sirainen
Copy link
Contributor

sirainen commented Feb 3, 2023

Needs local rebase

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants