streetsidesoftware / cspell

A Spell Checker for Code!
https://cspell.org
MIT License
1.27k stars 104 forks source link

[Bug]: Spell checking fails on files with long random strings #6573

Open npalmius opened 1 week ago

npalmius commented 1 week ago

Kind of Issue

Runtime - command-line tools

Tool or Library

cspell

Version

VS Code extension v4.0.21

Supporting Library

Not sure / None

OS

Linux

OS Version

Ubuntu 22.04.4 LTS

Description

We have test case files that contain JWT strings, which are essentially long random strings (presumably with a lot of detected spelling errors).

This seems to cause spell checking to fail on the whole file. This can be reproduced with any random string.

In the following example, the spelling mistake in the comment is not picked up: image

whereas with a short random string, the mistake in the comment is flagged as expected: image

Steps to Reproduce

Spell check the following file:

namespace Test
{
    public class Test1
    {
        // This comment contains a spellng mistake.
        private readonly string longRandomString =
            "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";
    }
}

Expected Behavior

Ideally random strings should be excluded from spell checking, or perhaps lines with an excessive number of detected mistakes. Other spelling mistakes in the file should be identified.

Additional Information

No response

cspell.json

N/A.

cspell.config.yaml

N/A.

Example Repository

No response

Code of Conduct

Jason3S commented 5 days ago

@npalmius,

This is a challenge. The spell checker tries to ignore random strings of characters, but does not always manage.