forked from stdlib-js/stdlib
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathspellcheck.js
More file actions
127 lines (121 loc) · 3.26 KB
/
Copy pathspellcheck.js
File metadata and controls
127 lines (121 loc) · 3.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
/**
* @license Apache-2.0
*
* Copyright (c) 2024 The Stdlib Authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
'use strict';
/**
* ESLint rules for spellchecking.
*
* @namespace rules
*/
var rules = {};
/**
* Warn when encountering potentially misspelled words in comments and strings.
*
* @name @cspell/spellchecker
* @memberof rules
* @type {Array}
* @see [spellchecker]{@link https://www.npmjs.com/package/@cspell/eslint-plugin}
*
* @example
* // Bad...
* var str = 'Functionl programming is a paradigm...';
*
* @example
* // Good...
* var str = 'Functional programming is a paradigm...';
*/
rules[ '@cspell/spellchecker' ] = [ 'warn', {
'checkComments': true,
'checkStrings': true,
'autoFix': false,
'checkIdentifiers': false,
'cspell': {
'allowCompoundWords': true,
'ignoreRegExpList': [
'/[a-z0-9.]+\\(/gi', // ignore functions or methods invoked in comments
'/var [a-zA-Z0-9]+/g', // ignore variable declarations
'/[A-Z][a-z]+/g', // ignore proper nouns
'/[A-Z]+/g', // ignore acronyms
'/@stdlib\\/[a-z0-9/-]+/g', // ignore stdlib package paths
'/@name [a-zA-Z0-9]+/g', // ignore identifier names in JSDoc
'/\\/\\/ returns \'[^\']+\'/g', // ignore return value annotations
'/setReadOnly\\( [.a-z0-9]+, \'[^\']+?\'/gi', // ignore namespace or prototype assignments
'/```[\\s\\S]+?```/g', // ignore code blocks
'/(?<!`)`[^`]+?`(?!`)/g', // ignore inline code
'/\\\\{2,2}\\([\\s\\S]+?\\\\{2,2}\\)/g', // ignore LaTeX math expressions
'/\\[[^\\]]+\\]/g', // ignore character classes in regular expressions or markdown links
'/\\/\\/ exports: \\{[^}]+\\}/g', // ignore export annotations
'/@param \\{[^}]+\\} [?[a-zA-Z0-9.]+]? -/g', // ignore parameter annotations in JSDoc
'/@returns \\{[^}]+?\\}/g', // ignore returns annotations in JSDoc
'/[xy][a-z]+/g', // lowercase parameters starting with x or y (e.g., xbuf)
'/[a-z]+[xy]/g', // lowercase parameters ending with x or y (e.g., meanx)
'/([\'"`])(.*/.*?)\\1/g', // ignore file paths
'/\'[-\\w]+?\'/g' // ignore single-quoted strings containing only word characters or hyphens
],
'words': [
'BLAS',
'bonferroni',
'boop',
'clbk',
'congruential',
'convergents',
'coversed',
'dilogarithm',
'dtype',
'dtypes',
'exponentiated',
'evalpoly',
'evalrational',
'hommel',
'iget',
'iset',
'logcdf',
'logit',
'logpdf',
'logpmf',
'lpad',
'ltrim',
'napi',
'nargs',
'ncols',
'ndims',
'ndim',
'nout',
'ndarray',
'ndarrays',
'nrows',
'nsubmodes',
'pvalues',
'randn',
'randu',
'rpad',
'rtrim',
'significand',
'stdev',
'strided',
'stringifying',
'studentized',
'tricube',
'trigamma',
'uncapitalize',
'unregularized',
'Fréchet'
]
}
}];
// EXPORTS //
module.exports = rules;