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
|
"""Tense present.
---
layout: post
source: DFW's Tense Present
source_url: http://bit.ly/1c85lgR
title: Tense present
date: 2014-06-10 12:31:19
categories: writing
---
Archaism.
"""
import re
from proselint.tools import memoize
@memoize
def check(text):
"""Check the text."""
err = "misc.tense_present"
msg = r"'{}'."
illogics = [
r"up to \d{1,3}% ?[-\u2014\u2013]{0,3} ?(?:or|and) more\W?",
"between you and I",
"on accident",
"somewhat of a",
"all it's own",
"reason is because",
"audible to the ear",
"in regards to",
"would of",
# "and so",
r"i ?(?:feel|am feeling|am|'m|'m feeling) nauseous",
]
errors = []
for i in illogics:
for m in re.finditer(fr"\s{i}\s", text, flags=re.U | re.I):
txt = m.group(0).strip()
errors.append((
m.start() + 1,
m.end(),
err,
msg.format(txt),
None))
return errors
|