diff --git a/.vale.ini b/.vale.ini new file mode 100644 index 0000000000..86d6f8dde9 --- /dev/null +++ b/.vale.ini @@ -0,0 +1,8 @@ +StylesPath = styles + +Vocab = Tarantool + +MinAlertLevel = suggestion + +[*] +BasedOnStyles = Vale, Tarantool \ No newline at end of file diff --git a/README.rst b/README.rst index 85342346b6..fb1e486c6a 100644 --- a/README.rst +++ b/README.rst @@ -149,6 +149,20 @@ If you need to save the linkcheck's report in a file, you can use the following Here ``2>&1`` redirects the ``stderr`` output to ``stdout``, and then ``tee`` both shows in on screen and writes to a file. + +Vale +---- + +Tarantool documentation uses the Vale linter for checking grammar, style, and word usage. +Its configuration is placed in the ``vale.ini`` file located in the root project directory. + +To enable RST support in Vale, you need to install Sphinx. +Then, you can enable Vale integration in your IDE, for example: + +* `VS Code `_ +* `IntelliJ-based IDEs `_ + + Localization ------------ diff --git a/styles/Tarantool/AMPM.yml b/styles/Tarantool/AMPM.yml new file mode 100644 index 0000000000..d1028b4052 --- /dev/null +++ b/styles/Tarantool/AMPM.yml @@ -0,0 +1,8 @@ +extends: existence +message: Use 'AM' or 'PM' (preceded by a space). +level: error +nonword: true +tokens: + - '\d{1,2}[AP]M' + - '\d{1,2} ?[ap]m' + - '\d{1,2} ?[aApP]\.[mM]\.' diff --git a/styles/Tarantool/Accessibility.yml b/styles/Tarantool/Accessibility.yml new file mode 100644 index 0000000000..d4ca2ce02c --- /dev/null +++ b/styles/Tarantool/Accessibility.yml @@ -0,0 +1,24 @@ +extends: existence +message: "Don't use language (such as '%s') that defines people by their disability." +level: suggestion +ignorecase: true +tokens: + - a victim of + - able-bodied + - affected by + - an epileptic + - crippled + - disabled + - dumb + - handicapped + - handicaps + - healthy + - lame + - maimed + - missing a limb + - mute + - normal + - sight-impaired + - stricken with + - suffers from + - vision-impaired diff --git a/styles/Tarantool/Adverbs.yml b/styles/Tarantool/Adverbs.yml new file mode 100644 index 0000000000..9cda83267d --- /dev/null +++ b/styles/Tarantool/Adverbs.yml @@ -0,0 +1,269 @@ +extends: existence +message: "Consider removing '%s'." +ignorecase: true +level: warning +action: + name: remove +tokens: + - abnormally + - absentmindedly + - accidentally + - adventurously + - anxiously + - arrogantly + - awkwardly + - bashfully + - beautifully + - bitterly + - bleakly + - blindly + - blissfully + - boastfully + - boldly + - bravely + - briefly + - brightly + - briskly + - broadly + - busily + - calmly + - carefully + - carelessly + - cautiously + - cheerfully + - cleverly + - closely + - coaxingly + - colorfully + - continually + - coolly + - courageously + - crossly + - cruelly + - curiously + - daintily + - dearly + - deceivingly + - deeply + - defiantly + - deliberately + - delightfully + - diligently + - dimly + - doubtfully + - dreamily + - easily + - elegantly + - energetically + - enormously + - enthusiastically + - excitedly + - extremely + - fairly + - faithfully + - famously + - ferociously + - fervently + - fiercely + - fondly + - foolishly + - fortunately + - frankly + - frantically + - freely + - frenetically + - frightfully + - furiously + - generally + - generously + - gently + - gladly + - gleefully + - gracefully + - gratefully + - greatly + - greedily + - happily + - hastily + - healthily + - heavily + - helplessly + - honestly + - hopelessly + - hungrily + - innocently + - inquisitively + - intensely + - intently + - interestingly + - inwardly + - irritably + - jaggedly + - jealously + - jovially + - joyfully + - joyously + - jubilantly + - judgmentally + - justly + - keenly + - kiddingly + - kindheartedly + - knavishly + - knowingly + - knowledgeably + - lazily + - lightly + - limply + - lively + - loftily + - longingly + - loosely + - loudly + - lovingly + - loyally + - madly + - majestically + - meaningfully + - mechanically + - merrily + - miserably + - mockingly + - mortally + - mysteriously + - naturally + - nearly + - neatly + - nervously + - nicely + - noisily + - obediently + - obnoxiously + - oddly + - offensively + - optimistically + - overconfidently + - painfully + - partially + - patiently + - perfectly + - playfully + - politely + - poorly + - positively + - potentially + - powerfully + - promptly + - properly + - punctually + - quaintly + - queasily + - queerly + - questionably + - quickly + - quietly + - quirkily + - quizzically + - randomly + - rapidly + - rarely + - readily + - really + - reassuringly + - recklessly + - regularly + - reluctantly + - repeatedly + - reproachfully + - restfully + - righteously + - rightfully + - rigidly + - roughly + - rudely + - safely + - scarcely + - scarily + - searchingly + - sedately + - seemingly + - selfishly + - separately + - seriously + - shakily + - sharply + - sheepishly + - shrilly + - shyly + - silently + - sleepily + - slowly + - smoothly + - softly + - solemnly + - solidly + - speedily + - stealthily + - sternly + - strictly + - suddenly + - supposedly + - surprisingly + - suspiciously + - sweetly + - swiftly + - sympathetically + - tenderly + - tensely + - terribly + - thankfully + - thoroughly + - thoughtfully + - tightly + - tremendously + - triumphantly + - truthfully + - ultimately + - unabashedly + - unaccountably + - unbearably + - unethically + - unexpectedly + - unfortunately + - unimpressively + - unnaturally + - unnecessarily + - urgently + - usefully + - uselessly + - utterly + - vacantly + - vaguely + - vainly + - valiantly + - vastly + - verbally + - very + - viciously + - victoriously + - violently + - vivaciously + - voluntarily + - warmly + - weakly + - wearily + - wetly + - wholly + - wildly + - willfully + - wisely + - woefully + - wonderfully + - worriedly + - yawningly + - yearningly + - yieldingly + - youthfully + - zealously + - zestfully + - zestily diff --git a/styles/Tarantool/Auto.yml b/styles/Tarantool/Auto.yml new file mode 100644 index 0000000000..6b7898f2b7 --- /dev/null +++ b/styles/Tarantool/Auto.yml @@ -0,0 +1,10 @@ +extends: existence +message: "In general, don't hyphenate '%s'." +ignorecase: true +level: error +action: + name: convert + params: + - simple +tokens: + - 'auto-\w+' diff --git a/styles/Tarantool/BadPlurals.yml b/styles/Tarantool/BadPlurals.yml new file mode 100644 index 0000000000..b62d116a0d --- /dev/null +++ b/styles/Tarantool/BadPlurals.yml @@ -0,0 +1,6 @@ +extends: existence +message: "Rewrite '%s' to be plural without parentheses." +level: warning +ignorecase: true +raw: + - '\b\w+\(s\)(?|C: drive)': drive C + '(?:internet bot|web robot)s?': bot(s) + '(?:microsoft cloud|the cloud)': cloud + '(?:mobile|smart) ?phone': phone + '24/7': every day + 'audio(?:-| )book': audiobook + 'back(?:-| )light': backlight + 'chat ?bots?': chatbot(s) + adaptor: adapter + administrate: administer + afterwards: afterward + alphabetic: alphabetical + alphanumerical: alphanumeric + anti-aliasing: antialiasing + anti-malware: antimalware + anti-spyware: antispyware + anti-virus: antivirus + appendixes: appendices + artificial intelligence: AI + '(?:assembler|machine language)': assembly language + caap: CaaP + conversation-as-a-platform: conversation as a platform + eb: EB + gb: GB + gbps: Gbps + kb: KB + keypress: keystroke + mb: MB + pb: PB + tb: TB + zb: ZB \ No newline at end of file diff --git a/styles/Tarantool/Wordiness.yml b/styles/Tarantool/Wordiness.yml new file mode 100644 index 0000000000..07a3ae9781 --- /dev/null +++ b/styles/Tarantool/Wordiness.yml @@ -0,0 +1,121 @@ +extends: substitution +message: "Consider using '%s' instead of '%s'." +ignorecase: true +level: warning +action: + name: replace +swap: + (?:give|gave) rise to: lead to + (?:previous|prior) to: before + a (?:large)? majority of: most + a (?:large)? number of: many + a myriad of: myriad + adversely impact: hurt + all across: across + all of a sudden: suddenly + all of these: these + all of: all + all-time record: record + almost all: most + almost never: seldom + along the lines of: similar to + an adequate number of: enough + an appreciable number of: many + an estimated: about + any and all: all + are in agreement: agree + as a matter of fact: in fact + as a means of: to + as a result of: because of + as of yet: yet + as per: per + at a later date: later + at all times: always + at the present time: now + at this point in time: at this point + based in large part on: based on + based on the fact that: because + basic necessity: necessity + because of the fact that: because + came to a realization: realized + came to an abrupt end: ended abruptly + carry out an evaluation of: evaluate + close down: close + closed down: closed + complete stranger: stranger + completely separate: separate + concerning the matter of: regarding + conduct a review of: review + conduct an investigation: investigate + conduct experiments: experiment + continue on: continue + despite the fact that: although + disappear from sight: disappear + drag and drop: drag + drag-and-drop: drag + doomed to fail: doomed + due to the fact that: because + during the period of: during + during the time that: while + emergency situation: emergency + except when: unless + excessive number: too many + extend an invitation: invite + fall down: fall + fell down: fell + for the duration of: during + gather together: gather + has the ability to: can + has the capacity to: can + has the opportunity to: could + hold a meeting: meet + if this is not the case: if not + in a careful manner: carefully + in a thoughtful manner: thoughtfully + in a timely manner: timely + in an effort to: to + in between: between + in lieu of: instead of + in many cases: often + in most cases: usually + in order to: to + in some cases: sometimes + in spite of the fact that: although + in spite of: despite + in the (?:very)? near future: soon + in the event that: if + in the neighborhood of: roughly + in the vicinity of: close to + it would appear that: apparently + lift up: lift + made reference to: referred to + make reference to: refer to + mix together: mix + none at all: none + not in a position to: unable + not possible: impossible + of major importance: important + perform an assessment of: assess + pertaining to: about + place an order: order + plays a key role in: is essential to + present time: now + readily apparent: apparent + some of the: some + span across: span + subsequent to: after + successfully complete: complete + sufficient number (?:of)?: enough + take action: act + take into account: consider + the question as to whether: whether + there is no doubt but that: doubtless + this day and age: this age + this is a subject that: this subject + time (?:frame|period): time + under the provisions of: under + until such time as: until + used for fuel purposes: used for fuel + whether or not: whether + with regard to: regarding + with the exception of: except for diff --git a/styles/Tarantool/Wordy.yml b/styles/Tarantool/Wordy.yml new file mode 100644 index 0000000000..0d76547cf6 --- /dev/null +++ b/styles/Tarantool/Wordy.yml @@ -0,0 +1,10 @@ +extends: substitution +message: "%s" +level: suggestion +ignorecase: true +swap: + note that: "Remove the phrase 'note that'." + please: "Use 'please' only if we've inconvenienced the user." + respectively: "Remove 'respectively' and list each option instead." + and so on: "Remove 'and so on'. Try to use 'like' and provide examples instead." + in order to: "Remove 'in order' and leave 'to'." diff --git a/styles/Vocab/Tarantool/accept.txt b/styles/Vocab/Tarantool/accept.txt new file mode 100644 index 0000000000..68a95dfb66 --- /dev/null +++ b/styles/Vocab/Tarantool/accept.txt @@ -0,0 +1,20 @@ +Tarantool +memtx +MVCC +UUID +httpd +Lua +Wireshark +middleware +nginx +serializable +unserializable +autocommit +WAL +sharding +sharded +nullable +coroutines +multikey +datetime +varbinary \ No newline at end of file