slopless 0.2.9 → 0.2.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/README.md +9 -9
  2. package/dist/cli.js +8 -2
  3. package/dist/cli.js.map +1 -1
  4. package/dist/registries/academic-slop.js +4 -0
  5. package/dist/registries/academic-slop.js.map +1 -1
  6. package/dist/registries/narrative-slop.js +4 -0
  7. package/dist/registries/narrative-slop.js.map +1 -1
  8. package/dist/rules/academic-slop/academic-boilerplate.js +17 -0
  9. package/dist/rules/academic-slop/academic-boilerplate.js.map +1 -0
  10. package/dist/rules/academic-slop/academic-formula-frames.js +17 -0
  11. package/dist/rules/academic-slop/academic-formula-frames.js.map +1 -0
  12. package/dist/rules/academic-slop/data/academic-boilerplate.json +22 -0
  13. package/dist/rules/academic-slop/data/academic-formula-frames.json +252 -0
  14. package/dist/rules/narrative-slop/emotion-telling.js +58 -0
  15. package/dist/rules/narrative-slop/emotion-telling.js.map +1 -0
  16. package/dist/rules/narrative-slop/empty-beat.js +124 -0
  17. package/dist/rules/narrative-slop/empty-beat.js.map +1 -0
  18. package/dist/rules/narrative-slop/low-information-beat-density.js +24 -1
  19. package/dist/rules/narrative-slop/low-information-beat-density.js.map +1 -1
  20. package/dist/rules/narrative-slop/perception-verb-density.js +4 -0
  21. package/dist/rules/narrative-slop/perception-verb-density.js.map +1 -1
  22. package/dist/rules/orthography/colon-dramatic.js +38 -1
  23. package/dist/rules/orthography/colon-dramatic.js.map +1 -1
  24. package/dist/rules/phrases/corporate-speak.js +30 -1
  25. package/dist/rules/phrases/corporate-speak.js.map +1 -1
  26. package/dist/rules/phrases/data/corporate-abstraction-patterns.json +60 -0
  27. package/dist/rules/phrases/data/corporate-speak.json +20 -0
  28. package/dist/rules/phrases/data/prohibited-phrases.json +6 -1
  29. package/dist/rules/semantic-thinness/patterns/abstract-agency-personification.json +145 -0
  30. package/dist/rules/semantic-thinness/patterns/body-knows.json +17 -2
  31. package/dist/rules/semantic-thinness/patterns/deictic-summary.json +10 -2
  32. package/dist/rules/semantic-thinness/patterns/emotion-as-substance.json +17 -1
  33. package/dist/rules/semantic-thinness/patterns/empty-scene-state.json +18 -1
  34. package/dist/rules/semantic-thinness/patterns/recursive-meaning-frame.json +79 -0
  35. package/dist/rules/semantic-thinness/private/concrete-guards.js +9 -0
  36. package/dist/rules/semantic-thinness/private/concrete-guards.js.map +1 -1
  37. package/dist/rules/semantic-thinness/private/pattern-data-c.js +2 -0
  38. package/dist/rules/semantic-thinness/private/pattern-data-c.js.map +1 -1
  39. package/dist/rules/semantic-thinness/private/pattern-data-e.js +5 -0
  40. package/dist/rules/semantic-thinness/private/pattern-data-e.js.map +1 -0
  41. package/dist/rules/semantic-thinness/private/pattern-data.js +3 -1
  42. package/dist/rules/semantic-thinness/private/pattern-data.js.map +1 -1
  43. package/dist/rules/semantic-thinness/private/pattern-matcher.js +7 -1
  44. package/dist/rules/semantic-thinness/private/pattern-matcher.js.map +1 -1
  45. package/dist/rules/syntactic-patterns/contrast/contrastive-aphorism.js +2 -151
  46. package/dist/rules/syntactic-patterns/contrast/contrastive-aphorism.js.map +1 -1
  47. package/dist/rules/syntactic-patterns/contrast/private/inline-contrast-connector.js +16 -0
  48. package/dist/rules/syntactic-patterns/contrast/private/inline-contrast-connector.js.map +1 -0
  49. package/dist/rules/syntactic-patterns/contrast/private/inline-not-because-reframe.js +22 -0
  50. package/dist/rules/syntactic-patterns/contrast/private/inline-not-because-reframe.js.map +1 -0
  51. package/dist/rules/syntactic-patterns/contrast/private/inline-short-negation.js +62 -0
  52. package/dist/rules/syntactic-patterns/contrast/private/inline-short-negation.js.map +1 -0
  53. package/dist/rules/syntactic-patterns/contrast/private/negation-context-gates.js +72 -0
  54. package/dist/rules/syntactic-patterns/contrast/private/negation-context-gates.js.map +1 -0
  55. package/dist/rules/syntactic-patterns/contrast/private/negation-reframe-matcher.js +20 -17
  56. package/dist/rules/syntactic-patterns/contrast/private/negation-reframe-matcher.js.map +1 -1
  57. package/dist/rules/syntactic-patterns/contrast/private/same-sentence-contrast.js +47 -16
  58. package/dist/rules/syntactic-patterns/contrast/private/same-sentence-contrast.js.map +1 -1
  59. package/dist/rules/syntactic-patterns/contrast/private/single-sentence-aphorism.js +178 -0
  60. package/dist/rules/syntactic-patterns/contrast/private/single-sentence-aphorism.js.map +1 -0
  61. package/dist/rules/syntactic-patterns/lead-ins/generic-signposting.js +50 -0
  62. package/dist/rules/syntactic-patterns/lead-ins/generic-signposting.js.map +1 -1
  63. package/dist/rules/words/llm-vocabulary-density.js +41 -1
  64. package/dist/rules/words/llm-vocabulary-density.js.map +1 -1
  65. package/dist/rules/words/llm-vocabulary.js +5 -7
  66. package/dist/rules/words/llm-vocabulary.js.map +1 -1
  67. package/dist/rules/words/private/vocabulary-context.js +125 -0
  68. package/dist/rules/words/private/vocabulary-context.js.map +1 -0
  69. package/dist/rules/words/prohibited-words.js +2 -2
  70. package/dist/rules/words/prohibited-words.js.map +1 -1
  71. package/dist/shared/matchers/concrete-evidence.js +4 -0
  72. package/dist/shared/matchers/concrete-evidence.js.map +1 -1
  73. package/package.json +10 -6
@@ -8,9 +8,11 @@
8
8
  "{placeSubject} {linkingVerb} {thinState} {weakModifier}.",
9
9
  "{placeSubject} {linkingVerb} {weakBeforeState} {thinState}.",
10
10
  "{placeSubject} went {thinState}.",
11
+ "{groupSubject} went {thinState}.",
11
12
  "{sceneElement} {linkingVerb} {thinState}.",
12
13
  "{sceneElement} {linkingVerb} {thinState} {weakModifier}.",
13
- "{sceneElement} {linkingVerb} {weakBeforeState} {thinState}."
14
+ "{sceneElement} {linkingVerb} {weakBeforeState} {thinState}.",
15
+ "{sceneElement} filled {placeObject}."
14
16
  ],
15
17
  "slots": {
16
18
  "placeSubject": [
@@ -42,6 +44,7 @@
42
44
  "sceneElement": [
43
45
  "the air",
44
46
  "the silence",
47
+ "silence",
45
48
  "the space",
46
49
  "the light",
47
50
  "the morning",
@@ -53,6 +56,20 @@
53
56
  "the atmosphere",
54
57
  "the quiet"
55
58
  ],
59
+ "groupSubject": [
60
+ "everyone",
61
+ "the cubs",
62
+ "the children",
63
+ "the group",
64
+ "the team"
65
+ ],
66
+ "placeObject": [
67
+ "the yard",
68
+ "the room",
69
+ "the courtyard",
70
+ "the hallway",
71
+ "the street"
72
+ ],
56
73
  "linkingVerb": [
57
74
  "was",
58
75
  "were",
@@ -0,0 +1,79 @@
1
+ {
2
+ "id": "recursive-meaning-frame",
3
+ "class": "recursive-meaning",
4
+ "purpose": "Catch recursive importance, meaning, lesson, and work frames that reuse the same abstraction as both premise and payoff.",
5
+ "matchMode": "contains",
6
+ "maxTokens": 42,
7
+ "templates": [
8
+ "{thinSubject} {importanceVerb} because it {invitationVerb} us to {recursiveVerb} what {importanceVerb}.",
9
+ "{thinSubject} {workVerb} {abstractSpace} for more {thinAdjective} {thinObject}.",
10
+ "{thinSubject} is not about {thinObject}; it is about {becomingFrame}.",
11
+ "{thinSubject} is trying to tell a {biggerStory} about what it means to {emptyMotion}.",
12
+ "{thinSubject} asks us to {softAction} the part of us that already {knowingVerb}."
13
+ ],
14
+ "slots": {
15
+ "thinSubject": [
16
+ "this moment",
17
+ "the moment",
18
+ "the work",
19
+ "the work ahead",
20
+ "the lesson",
21
+ "the journey",
22
+ "the system",
23
+ "the story",
24
+ "the process",
25
+ "the practice"
26
+ ],
27
+ "importanceVerb": ["matters", "counts"],
28
+ "invitationVerb": ["invites", "asks"],
29
+ "recursiveVerb": ["rethink", "reconsider", "remember"],
30
+ "workVerb": ["opens", "creates", "makes"],
31
+ "abstractSpace": ["space", "room", "permission"],
32
+ "thinAdjective": [
33
+ "meaningful",
34
+ "intentional",
35
+ "aligned",
36
+ "human",
37
+ "purposeful"
38
+ ],
39
+ "thinObject": ["work", "lesson", "journey", "practice", "process"],
40
+ "becomingFrame": [
41
+ "becoming more aligned with the lesson",
42
+ "becoming available to the work",
43
+ "becoming more human in the process",
44
+ "moving closer to the practice"
45
+ ],
46
+ "biggerStory": ["bigger story", "deeper story", "larger story"],
47
+ "emptyMotion": [
48
+ "move forward",
49
+ "become aligned",
50
+ "stay human",
51
+ "do the work",
52
+ "meet the moment"
53
+ ],
54
+ "softAction": ["listen to", "trust", "make room for", "honor"],
55
+ "knowingVerb": ["knows", "understands", "remembers"]
56
+ },
57
+ "rejectIf": [
58
+ "sentence names the concrete reason the moment matters",
59
+ "sentence names the actual lesson",
60
+ "sentence names the concrete work, owner, deadline, or output"
61
+ ],
62
+ "positiveExamples": [
63
+ "This moment matters because it invites us to rethink what matters.",
64
+ "The work ahead opens space for more meaningful work.",
65
+ "The lesson is not about work; it is about becoming more aligned with the lesson.",
66
+ "The system is trying to tell a bigger story about what it means to move forward.",
67
+ "The journey asks us to listen to the part of us that already knows."
68
+ ],
69
+ "negativeExamples": [
70
+ "This deadline matters because the vendor contract expires on June 30.",
71
+ "The work ahead creates space for two additional wheelchair seats in the waiting room.",
72
+ "The lesson is not in the workbook; it is in chapter 4.",
73
+ "The system reports why request 42 failed validation."
74
+ ],
75
+ "notes": [
76
+ "This is intentionally recursive: the abstraction reappears as the claimed payoff.",
77
+ "It belongs in semantic-thinness, not phrases, because the slots are productive."
78
+ ]
79
+ }
@@ -3,9 +3,11 @@ const CONCRETE_EXPLANATION_TOKENS = new Set([
3
3
  "archive",
4
4
  "auditor",
5
5
  "billing",
6
+ "bids",
6
7
  "crew",
7
8
  "decibels",
8
9
  "dns",
10
+ "document",
9
11
  "doctor",
10
12
  "email",
11
13
  "endpoint",
@@ -20,6 +22,7 @@ const CONCRETE_EXPLANATION_TOKENS = new Set([
20
22
  "ledger",
21
23
  "masonry",
22
24
  "mark",
25
+ "meter",
23
26
  "named",
24
27
  "offset",
25
28
  "parser",
@@ -33,14 +36,20 @@ const CONCRETE_EXPLANATION_TOKENS = new Set([
33
36
  "screening",
34
37
  "seam",
35
38
  "server",
39
+ "sensor",
36
40
  "signed",
37
41
  "signatures",
38
42
  "signal",
39
43
  "service",
40
44
  "socket",
45
+ "speaker",
41
46
  "split",
47
+ "tagged",
48
+ "temperature",
42
49
  "tax",
43
50
  "token",
51
+ "trademark",
52
+ "transcript",
44
53
  "trial",
45
54
  "volume",
46
55
  "wall"
@@ -1 +1 @@
1
- {"version":3,"file":"concrete-guards.js","sourceRoot":"","sources":["../../../../src/rules/semantic-thinness/private/concrete-guards.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"concrete-guards.js","sourceRoot":"","sources":["../../../../src/rules/semantic-thinness/private/concrete-guards.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import abstractPersonificationLine from "../patterns/abstract-personification-line.json" with { type: "json" };
2
+ import abstractAgencyPersonification from "../patterns/abstract-agency-personification.json" with { type: "json" };
2
3
  import bodyEmotionShorthand from "../patterns/body-emotion-shorthand.json" with { type: "json" };
3
4
  import emptyAtmosphereShift from "../patterns/empty-atmosphere-shift.json" with { type: "json" };
4
5
  import fixedMetaphorFrame from "../patterns/fixed-metaphor-frame.json" with { type: "json" };
@@ -6,6 +7,7 @@ import gazeChoreography from "../patterns/gaze-choreography.json" with { type: "
6
7
  import sensoryInsteadOfFrame from "../patterns/sensory-instead-of-frame.json" with { type: "json" };
7
8
  import summaryFogTransition from "../patterns/summary-fog-transition.json" with { type: "json" };
8
9
  export const semanticThinnessPatternSetC = [
10
+ abstractAgencyPersonification,
9
11
  abstractPersonificationLine,
10
12
  bodyEmotionShorthand,
11
13
  emptyAtmosphereShift,
@@ -1 +1 @@
1
- {"version":3,"file":"pattern-data-c.js","sourceRoot":"","sources":["../../../../src/rules/semantic-thinness/private/pattern-data-c.ts"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,MAAM,gDAAgD,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAC/G,OAAO,oBAAoB,MAAM,yCAAyC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACjG,OAAO,oBAAoB,MAAM,yCAAyC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACjG,OAAO,kBAAkB,MAAM,uCAAuC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAC7F,OAAO,gBAAgB,MAAM,oCAAoC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACxF,OAAO,qBAAqB,MAAM,2CAA2C,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACpG,OAAO,oBAAoB,MAAM,yCAAyC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAGjG,MAAM,CAAC,MAAM,2BAA2B,GAAuC;IAC7E,2BAA2B;IAC3B,oBAAoB;IACpB,oBAAoB;IACpB,kBAAkB;IAClB,gBAAgB;IAChB,qBAAqB;IACrB,oBAAoB;CACrB,CAAC"}
1
+ {"version":3,"file":"pattern-data-c.js","sourceRoot":"","sources":["../../../../src/rules/semantic-thinness/private/pattern-data-c.ts"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,MAAM,gDAAgD,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAC/G,OAAO,6BAA6B,MAAM,kDAAkD,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACnH,OAAO,oBAAoB,MAAM,yCAAyC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACjG,OAAO,oBAAoB,MAAM,yCAAyC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACjG,OAAO,kBAAkB,MAAM,uCAAuC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAC7F,OAAO,gBAAgB,MAAM,oCAAoC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACxF,OAAO,qBAAqB,MAAM,2CAA2C,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACpG,OAAO,oBAAoB,MAAM,yCAAyC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAGjG,MAAM,CAAC,MAAM,2BAA2B,GAAuC;IAC7E,6BAA6B;IAC7B,2BAA2B;IAC3B,oBAAoB;IACpB,oBAAoB;IACpB,kBAAkB;IAClB,gBAAgB;IAChB,qBAAqB;IACrB,oBAAoB;CACrB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import recursiveMeaningFrame from "../patterns/recursive-meaning-frame.json" with { type: "json" };
2
+ export const semanticThinnessPatternSetE = [
3
+ recursiveMeaningFrame
4
+ ];
5
+ //# sourceMappingURL=pattern-data-e.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pattern-data-e.js","sourceRoot":"","sources":["../../../../src/rules/semantic-thinness/private/pattern-data-e.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,MAAM,0CAA0C,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAGnG,MAAM,CAAC,MAAM,2BAA2B,GAAuC;IAC7E,qBAAqB;CACtB,CAAC"}
@@ -2,10 +2,12 @@ import { semanticThinnessPatternSetA } from "./pattern-data-a.js";
2
2
  import { semanticThinnessPatternSetB } from "./pattern-data-b.js";
3
3
  import { semanticThinnessPatternSetC } from "./pattern-data-c.js";
4
4
  import { semanticThinnessPatternSetD } from "./pattern-data-d.js";
5
+ import { semanticThinnessPatternSetE } from "./pattern-data-e.js";
5
6
  export const semanticThinnessPatterns = [
6
7
  ...semanticThinnessPatternSetA,
7
8
  ...semanticThinnessPatternSetB,
8
9
  ...semanticThinnessPatternSetC,
9
- ...semanticThinnessPatternSetD
10
+ ...semanticThinnessPatternSetD,
11
+ ...semanticThinnessPatternSetE
10
12
  ];
11
13
  //# sourceMappingURL=pattern-data.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pattern-data.js","sourceRoot":"","sources":["../../../../src/rules/semantic-thinness/private/pattern-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAElE,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,GAAG,2BAA2B;IAC9B,GAAG,2BAA2B;IAC9B,GAAG,2BAA2B;IAC9B,GAAG,2BAA2B;CAC/B,CAAC"}
1
+ {"version":3,"file":"pattern-data.js","sourceRoot":"","sources":["../../../../src/rules/semantic-thinness/private/pattern-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAElE,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,GAAG,2BAA2B;IAC9B,GAAG,2BAA2B;IAC9B,GAAG,2BAA2B;IAC9B,GAAG,2BAA2B;IAC9B,GAAG,2BAA2B;CAC/B,CAAC"}
@@ -15,6 +15,7 @@ const REJECT_TOKENS = new Set([
15
15
  "while"
16
16
  ]);
17
17
  const BROAD_PATTERN_IDS = new Set([
18
+ "abstract-agency-personification",
18
19
  "abstract-personification-line",
19
20
  "body-emotion-shorthand",
20
21
  "deictic-summary",
@@ -29,7 +30,12 @@ const BROAD_PATTERN_IDS = new Set([
29
30
  "truth-answer-moves",
30
31
  "vague-threshold-change"
31
32
  ]);
32
- const CONNECTOR_ALLOWED_PATTERN_IDS = new Set(["vague-summary-cost"]);
33
+ const CONNECTOR_ALLOWED_PATTERN_IDS = new Set([
34
+ "abstract-agency-personification",
35
+ "body-knows",
36
+ "recursive-meaning-frame",
37
+ "vague-summary-cost"
38
+ ]);
33
39
  function normalizedTokens(text) {
34
40
  return wordTokens(text).map((token) => token.normalized);
35
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pattern-matcher.js","sourceRoot":"","sources":["../../../../src/rules/semantic-thinness/private/pattern-matcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pattern-matcher.js","sourceRoot":"","sources":["../../../../src/rules/semantic-thinness/private/pattern-matcher.ts"],"names":[],"mappings":"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"}
@@ -3,158 +3,9 @@ import { sentenceUnits } from "../../../adapters/textlint/units.js";
3
3
  import { cleanSentence, startsWithWords, tokens, trimTerminalPunctuation } from "../../../shared/matchers/prose-patterns.js";
4
4
  import { pairHasAbstractSubjectOrObject } from "./private/abstract-pair-gates.js";
5
5
  import { matchSameSentenceContrast } from "./private/same-sentence-contrast.js";
6
+ import { matchSingleSentenceAphorism } from "./private/single-sentence-aphorism.js";
6
7
  const PREFIXES = ["and ", "but ", "so ", "because "];
7
8
  const ENOUGH_FOR_SUFFIXES = [" is enough for this", " is enough for that"];
8
- const ABSTRACT_CONTRAST_NOUNS = ["revelations", "vibe", "virtues"];
9
- const ADVISORY_NEGATIVE_NOUNS = ["buffet", "elegance"];
10
- const HUMAN_PLURAL_SUBJECTS = ["kids", "children", "people"];
11
- const IMPERATIVE_CONTRAST_VERBS = ["bring"];
12
- const ADVISORY_MODAL_SUBJECTS = ["i"];
13
- const ADVISORY_MODAL_VERBS = ["give", "expect"];
14
- const ARTICLE = { kind: "article" };
15
- const ANY = { kind: "any" };
16
- function exact(value) {
17
- return { kind: "exact", value };
18
- }
19
- function oneOf(values) {
20
- return { kind: "oneOf", values };
21
- }
22
- function partMatches(word, part) {
23
- if (word === undefined) {
24
- return false;
25
- }
26
- if (part.kind === "any") {
27
- return true;
28
- }
29
- if (part.kind === "article") {
30
- return word === "a" || word === "an" || word === "the";
31
- }
32
- if (part.kind === "exact") {
33
- return word === part.value;
34
- }
35
- return part.values.includes(word);
36
- }
37
- function matchesPattern(words, pattern) {
38
- if (words.length < pattern.length) {
39
- return false;
40
- }
41
- for (let index = 0; index < pattern.length; index += 1) {
42
- const part = pattern[index];
43
- if (part === undefined || !partMatches(words[index], part)) {
44
- return false;
45
- }
46
- }
47
- return true;
48
- }
49
- function matchesArticleNounContrast(words, leadingVerbs, contrastNouns) {
50
- return matchesPattern(words, [
51
- oneOf(leadingVerbs),
52
- ARTICLE,
53
- ANY,
54
- exact("not"),
55
- ARTICLE,
56
- oneOf(contrastNouns)
57
- ]);
58
- }
59
- function matchesModalArticleNounContrast(words) {
60
- return matchesPattern(words, [
61
- oneOf(ADVISORY_MODAL_SUBJECTS),
62
- exact("would"),
63
- oneOf(ADVISORY_MODAL_VERBS),
64
- ARTICLE,
65
- ANY,
66
- exact("not"),
67
- ARTICLE,
68
- oneOf(ADVISORY_NEGATIVE_NOUNS)
69
- ]);
70
- }
71
- function matchesSubjectGetInContrast(words) {
72
- return matchesPattern(words, [
73
- oneOf(HUMAN_PLURAL_SUBJECTS),
74
- exact("get"),
75
- ANY,
76
- exact("in"),
77
- ANY,
78
- exact("not"),
79
- oneOf(ABSTRACT_CONTRAST_NOUNS)
80
- ]);
81
- }
82
- function matchSingle(sentence) {
83
- const stripped = cleanSentence(sentence, PREFIXES);
84
- const words = tokens(stripped);
85
- if (matchesPattern(words, [
86
- ANY,
87
- ANY,
88
- exact("is"),
89
- exact("the"),
90
- exact("part"),
91
- exact("that"),
92
- exact("sticks")
93
- ])) {
94
- return "part-that-sticks";
95
- }
96
- if (matchesPattern(words, [
97
- oneOf(["that", "this", "it"]),
98
- exact("is"),
99
- exact("the"),
100
- exact("part"),
101
- exact("most"),
102
- ANY,
103
- exact("miss")
104
- ])) {
105
- return "part-most-x-miss";
106
- }
107
- if (words.length <= 8 &&
108
- words.at(-3) === "it" &&
109
- words.at(-2) === "changes" &&
110
- words.at(-1) === "everything") {
111
- return "it-changes-everything";
112
- }
113
- if (matchesArticleNounContrast(words, IMPERATIVE_CONTRAST_VERBS, ABSTRACT_CONTRAST_NOUNS)) {
114
- return "imperative-contrast-aphorism";
115
- }
116
- if (matchesModalArticleNounContrast(words)) {
117
- return "modal-advisory-contrast-aphorism";
118
- }
119
- if (matchesSubjectGetInContrast(words)) {
120
- return "reps-not-revelations";
121
- }
122
- if (words.length <= 10 &&
123
- startsWithWords(words, ["mostly", "by", "treating"]) &&
124
- words.includes("like") &&
125
- words.includes("not") &&
126
- ABSTRACT_CONTRAST_NOUNS.includes(words.at(-1) ?? "")) {
127
- return "treating-like-not-virtues";
128
- }
129
- if (matchesPattern(words, [
130
- exact("watch"),
131
- exact("for"),
132
- ARTICLE,
133
- exact("pattern"),
134
- exact("not"),
135
- exact("one"),
136
- exact("bad"),
137
- ANY
138
- ])) {
139
- return "watch-for-pattern-not-week";
140
- }
141
- if (matchesPattern(words, [
142
- ANY,
143
- ANY,
144
- ANY,
145
- exact("like"),
146
- ARTICLE,
147
- ANY,
148
- exact("problem"),
149
- exact("not"),
150
- ARTICLE,
151
- ANY,
152
- exact("problem")
153
- ])) {
154
- return "like-a-problem-not-a-problem";
155
- }
156
- return undefined;
157
- }
158
9
  function matchCurriculumPair(first, second) {
159
10
  const a = trimTerminalPunctuation(cleanSentence(first, PREFIXES));
160
11
  const b = trimTerminalPunctuation(cleanSentence(second, PREFIXES));
@@ -225,7 +76,7 @@ const rule = defineTextlintRule({
225
76
  detector: {
226
77
  detect: ({ units }) => {
227
78
  const detections = units.flatMap((unit) => {
228
- const signal = matchSingle(unit.text);
79
+ const signal = matchSingleSentenceAphorism(unit.text);
229
80
  const sameSentenceSignal = signal ?? matchSameSentenceContrast(unit.text);
230
81
  if (sameSentenceSignal === undefined) {
231
82
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"contrastive-aphorism.js","sourceRoot":"","sources":["../../../../src/rules/syntactic-patterns/contrast/contrastive-aphorism.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contrastive-aphorism.js","sourceRoot":"","sources":["../../../../src/rules/syntactic-patterns/contrast/contrastive-aphorism.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ const INLINE_CONTRAST_CONNECTORS = new Set([
2
+ "also",
3
+ "but",
4
+ "instead",
5
+ "rather"
6
+ ]);
7
+ export function hasInlineContrastConnectorAfterNegation(tokens, negationIndex) {
8
+ if (tokens[negationIndex + 1]?.normalized === "help" &&
9
+ tokens[negationIndex + 2]?.normalized === "but") {
10
+ return false;
11
+ }
12
+ return tokens
13
+ .slice(negationIndex + 1)
14
+ .some((token) => INLINE_CONTRAST_CONNECTORS.has(token.normalized));
15
+ }
16
+ //# sourceMappingURL=inline-contrast-connector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inline-contrast-connector.js","sourceRoot":"","sources":["../../../../../src/rules/syntactic-patterns/contrast/private/inline-contrast-connector.ts"],"names":[],"mappings":"AAEA,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC;IACzC,MAAM;IACN,KAAK;IACL,SAAS;IACT,QAAQ;CACT,CAAC,CAAC;AAEH,MAAM,UAAU,uCAAuC,CACrD,MAAwB,EACxB,aAAqB;IAErB,IACE,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC,EAAE,UAAU,KAAK,MAAM;QAChD,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC,EAAE,UAAU,KAAK,KAAK,EAC/C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,MAAM;SACV,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC;SACxB,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;AACvE,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { hasAbstractNegationPayoff } from "./negation-context-gates.js";
2
+ import { startsWithWords } from "./negation-reframe-parts.js";
3
+ import { hasConcreteCorrectionEvidence } from "../../../../shared/matchers/concrete-evidence.js";
4
+ export function inlineNotBecauseReframe(sentence, tokens) {
5
+ if (!startsWithWords(tokens, ["not", "because"]) ||
6
+ !hasAbstractNegationPayoff(tokens)) {
7
+ return undefined;
8
+ }
9
+ for (let index = 2; index < tokens.length - 1; index += 1) {
10
+ if (tokens[index]?.normalized === "but" &&
11
+ tokens[index + 1]?.normalized === "because" &&
12
+ !hasConcreteCorrectionEvidence(sentence.text)) {
13
+ return {
14
+ end: sentence.end,
15
+ start: sentence.start,
16
+ text: sentence.text
17
+ };
18
+ }
19
+ }
20
+ return undefined;
21
+ }
22
+ //# sourceMappingURL=inline-not-because-reframe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inline-not-because-reframe.js","sourceRoot":"","sources":["../../../../../src/rules/syntactic-patterns/contrast/private/inline-not-because-reframe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,kDAAkD,CAAC;AAUjG,MAAM,UAAU,uBAAuB,CACrC,QAAuB,EACvB,MAAwB;IAExB,IACE,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC5C,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAClC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1D,IACE,MAAM,CAAC,KAAK,CAAC,EAAE,UAAU,KAAK,KAAK;YACnC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,UAAU,KAAK,SAAS;YAC3C,CAAC,6BAA6B,CAAC,QAAQ,CAAC,IAAI,CAAC,EAC7C,CAAC;YACD,OAAO;gBACL,GAAG,EAAE,QAAQ,CAAC,GAAG;gBACjB,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,62 @@
1
+ import { hasConcreteCorrectionEvidence } from "../../../../shared/matchers/concrete-evidence.js";
2
+ import { hasFactualConnectorAfterNegation } from "./negation-context-gates.js";
3
+ import { findCopularNegation, findNegationIndex, startsWithWords, words } from "./negation-reframe-parts.js";
4
+ export function inlineNotJustCopularReframe(sentence, tokens) {
5
+ const negation = findCopularNegation(tokens);
6
+ const negationIndex = findNegationIndex(tokens);
7
+ const tokenWords = words(tokens);
8
+ if (negation === undefined ||
9
+ negationIndex === undefined ||
10
+ tokenWords[negation.negatedPredicateStart] !== "just" ||
11
+ hasFactualConnectorAfterNegation(tokens, negationIndex) ||
12
+ !hasLaterAffirmativeCopula(tokens, negation) ||
13
+ hasConcreteCorrectionEvidence(sentence.text)) {
14
+ return undefined;
15
+ }
16
+ return {
17
+ end: sentence.end,
18
+ start: sentence.start,
19
+ text: sentence.text
20
+ };
21
+ }
22
+ function hasLaterAffirmativeCopula(tokens, negation) {
23
+ for (let index = negation.negatedPredicateStart + 1; index < tokens.length; index += 1) {
24
+ const suffix = tokens.slice(index);
25
+ if (startsWithWords(suffix, [...negation.subject, negation.affirmativeAux]) ||
26
+ startsWithWords(suffix, ["it", negation.affirmativeAux])) {
27
+ return true;
28
+ }
29
+ }
30
+ return false;
31
+ }
32
+ const SHORT_NEGATED_BEAT_VERBS = new Set(["wait"]);
33
+ const SHORT_NEGATED_BEAT_PRONOUNS = new Set(["he", "i", "she", "they", "we"]);
34
+ function hasPersonalOrNamedSubject(tokens, negationIndex) {
35
+ const subject = tokens.slice(0, negationIndex);
36
+ const subjectToken = subject[0];
37
+ const firstCharacter = subjectToken?.text[0];
38
+ return (subject.length === 1 &&
39
+ subjectToken !== undefined &&
40
+ (SHORT_NEGATED_BEAT_PRONOUNS.has(subjectToken.normalized) ||
41
+ (firstCharacter !== undefined &&
42
+ firstCharacter >= "A" &&
43
+ firstCharacter <= "Z")));
44
+ }
45
+ export function inlineShortNegatedBeat(sentence, tokens) {
46
+ const tokenWords = words(tokens);
47
+ const didIndex = tokenWords.findIndex((word, index) => word === "didn't" || (word === "did" && tokenWords[index + 1] === "not"));
48
+ const verbIndex = tokenWords[didIndex] === "did" ? didIndex + 2 : didIndex + 1;
49
+ if (didIndex < 1 ||
50
+ tokenWords.length > 4 ||
51
+ tokenWords[verbIndex + 1] !== undefined ||
52
+ !SHORT_NEGATED_BEAT_VERBS.has(tokenWords[verbIndex] ?? "") ||
53
+ !hasPersonalOrNamedSubject(tokens, didIndex)) {
54
+ return undefined;
55
+ }
56
+ return {
57
+ end: sentence.end,
58
+ start: sentence.start,
59
+ text: sentence.text
60
+ };
61
+ }
62
+ //# sourceMappingURL=inline-short-negation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inline-short-negation.js","sourceRoot":"","sources":["../../../../../src/rules/syntactic-patterns/contrast/private/inline-short-negation.ts"],"names":[],"mappings":"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"}