// cSpell Settings
{
    "id": "haskell",
    "name": "Haskell",
    "description": "Haskell dictionary for cspell.",
    "readonly": true,
    // List of dictionary files to add to the global list of dictionaries
    "dictionaryDefinitions": [
        {
            "name": "haskell",
            "path": "./dict/haskell.txt",
            "description": "Haskell dictionary for cspell."
        }
    ],
    // Dictionaries to always be used.
    // Generally left empty
    "dictionaries": [],
    // Language Rules to apply to matching files.
    // Files are matched on `languageId` and `local`
    "languageSettings": [
        {
            // VSCode languageId. i.e. typescript, java, go, cpp, javascript, markdown, latex
            // * will match against any file type.
            "languageId": "haskell",
            // Language local. i.e. en-US, de-AT, or ru. * will match all locals.
            // Multiple locals can be specified like: "en, en-US" to match both English and English US.
            "locale": "*",
            // By default the whole text of a file is included for spell checking
            // Adding patterns to the "includeRegExpList" to only include matching patterns
            "includeRegExpList": [],
            // To exclude patterns, add them to "ignoreRegExpList"
            "ignoreRegExpList": ["separators"],
            // regex patterns than can be used with ignoreRegExpList or includeRegExpList
            // Example: "pattern": [{ "name": "mdash", "pattern": "&mdash;" }]
            // This could be included in "ignoreRegExpList": ["mdash"]
            "patterns": [
                {
                    "name": "separators",
                    "pattern": "/(?<!n(?='t\\b))(?<!\\w(?='s\\b))(?<!d(?='ve\\b))(?<!\\w(?='d\\b))(?<!\\w(?='re\\b))'(?!(ll|ve|tis|twas|cause|n't|(?<=\\bma')am|((?<=\\bI')m|((?<=d')y))|((?<=\\by')alls?))\\b)/gi",
                    "description": "Ignore single quote when it is not a contraction."
                }
            ],
            // List of dictionaries to enable by name in `dictionaryDefinitions`
            "dictionaries": ["haskell"],
            // Dictionary definitions can also be supplied here. They are only used iff "languageId" and "locale" match.
            "dictionaryDefinitions": []
        }
    ]
}
