harper-core 2.4.0

The language checker for developers.
Documentation
expr wordBefore [NOUN, VERB, ADJ, ADV, PRON, PROPN]
expr phraseMissingAfterIncluding (including but not limited to)
expr phraseWithAfterIncluding [@phraseMissingAfterIncluding, (including, but not limited to)]
expr parentheticalMissing [(@wordBefore @phraseMissingAfterIncluding), (, @phraseMissingAfterIncluding)]
expr parentheticalWithAfterIncluding [(@wordBefore @phraseWithAfterIncluding), (, @phraseWithAfterIncluding)]

expr missingLeading <(@wordBefore @phraseWithAfterIncluding), ( )>
expr missingAfterIncluding <<(@parentheticalMissing), (including *)>, ( )>
expr missingAfterTo <<(@parentheticalWithAfterIncluding *), (to *)>, ( )>

expr main [@missingLeading, @missingAfterIncluding, @missingAfterTo]

let message "Add punctuation around `including, but not limited to,`."
let description "Adds the conventional commas around `including, but not limited to,` when used parenthetically."
let kind "Punctuation"
let becomes ", "
let strategy "Exact"
let scope "Sentence"

test "There are many activities including but not limited to running, jumping, and swimming." "There are many activities, including, but not limited to, running, jumping, and swimming."
test "The policy covers services including but not limited to hosting and support." "The policy covers services, including, but not limited to, hosting and support."
test "We reviewed data including but not limited to logs." "We reviewed data, including, but not limited to, logs."
test "The package includes tools including but not limited to a formatter." "The package includes tools, including, but not limited to, a formatter."
test "Eligible expenses including but not limited to meals are reimbursed." "Eligible expenses, including, but not limited to, meals are reimbursed."
test "There are many activities including, but not limited to, running." "There are many activities, including, but not limited to, running."
test "The policy covers services, including but not limited to hosting." "The policy covers services, including, but not limited to, hosting."
test "We reviewed data, including, but not limited to logs." "We reviewed data, including, but not limited to, logs."
test "The package includes tools including, but not limited to support." "The package includes tools, including, but not limited to, support."
test "Eligible expenses, including but not limited to meals are reimbursed." "Eligible expenses, including, but not limited to, meals are reimbursed."

allows "There are many activities, including, but not limited to, running, jumping, and swimming."
allows "The policy covers services, including, but not limited to, hosting and support."
allows "We reviewed data, including, but not limited to, logs."
allows "Including but not limited to examples can be awkward at the start of a sentence."
allows "This sentence is including the phrase but not the parenthetical construction."
allows "The list is not limited to running."