todoosy 0.1.0 → 0.2.0
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.
- package/dist/linter.d.ts.map +1 -1
- package/dist/linter.js +81 -9
- package/dist/linter.js.map +1 -1
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +112 -16
- package/dist/parser.js.map +1 -1
- package/package.json +1 -1
package/dist/linter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linter.d.ts","sourceRoot":"","sources":["../src/linter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAW,UAAU,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"linter.d.ts","sourceRoot":"","sources":["../src/linter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAW,UAAU,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AA+C9D,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,CAuN9D"}
|
package/dist/linter.js
CHANGED
|
@@ -2,18 +2,45 @@
|
|
|
2
2
|
* Todoosy Linter
|
|
3
3
|
*/
|
|
4
4
|
import { parse } from './parser.js';
|
|
5
|
-
const INVALID_DATE_REGEX = /\bdue\s+(\S+)/gi;
|
|
6
5
|
const VALID_DATE_FORMATS = [
|
|
7
6
|
/^\d{4}-\d{2}-\d{2}$/, // YYYY-MM-DD
|
|
8
7
|
/^\d{1,2}\/\d{1,2}\/\d{4}$/, // MM/DD/YYYY
|
|
9
8
|
/^\d{1,2}\/\d{1,2}\/\d{2}$/, // MM/DD/YY
|
|
10
9
|
];
|
|
10
|
+
const MONTH_NAMES = new Set([
|
|
11
|
+
'january', 'jan',
|
|
12
|
+
'february', 'feb',
|
|
13
|
+
'march', 'mar',
|
|
14
|
+
'april', 'apr',
|
|
15
|
+
'may',
|
|
16
|
+
'june', 'jun',
|
|
17
|
+
'july', 'jul',
|
|
18
|
+
'august', 'aug',
|
|
19
|
+
'september', 'sep',
|
|
20
|
+
'october', 'oct',
|
|
21
|
+
'november', 'nov',
|
|
22
|
+
'december', 'dec',
|
|
23
|
+
]);
|
|
24
|
+
// Regex for text dates: Month Day or Month Day Year
|
|
25
|
+
const TEXT_DATE_REGEX = /^(january|jan|february|feb|march|mar|april|apr|may|june|jun|july|jul|august|aug|september|sep|october|oct|november|nov|december|dec)\s+(\d{1,2})(?:\s+(\d{4}))?$/i;
|
|
11
26
|
const PRIORITY_REGEX = /\bp(\d+)\b/gi;
|
|
12
27
|
const ESTIMATE_REGEX = /\b(\d+)([mhd])\b/gi;
|
|
13
28
|
const INVALID_PRIORITY_REGEX = /\bp([^0-9\s)][^\s)]*)\b/gi;
|
|
14
29
|
const INVALID_ESTIMATE_REGEX = /\b(\d+)([^mhd\s)0-9][^\s)]*)\b/gi;
|
|
15
30
|
function isValidDate(dateStr) {
|
|
16
|
-
|
|
31
|
+
// Check standard formats
|
|
32
|
+
if (VALID_DATE_FORMATS.some(regex => regex.test(dateStr))) {
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
// Check text date format
|
|
36
|
+
if (TEXT_DATE_REGEX.test(dateStr)) {
|
|
37
|
+
const match = dateStr.match(TEXT_DATE_REGEX);
|
|
38
|
+
if (match) {
|
|
39
|
+
const day = parseInt(match[2], 10);
|
|
40
|
+
return day >= 1 && day <= 31;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return false;
|
|
17
44
|
}
|
|
18
45
|
export function lint(text, scheme) {
|
|
19
46
|
const { ast } = parse(text);
|
|
@@ -27,25 +54,49 @@ export function lint(text, scheme) {
|
|
|
27
54
|
const lineIndex = item.line - 1;
|
|
28
55
|
const rawLine = item.raw_line;
|
|
29
56
|
// Check for Misc section
|
|
30
|
-
if (item.type === 'heading'
|
|
31
|
-
if (miscSectionLine
|
|
57
|
+
if (item.type === 'heading') {
|
|
58
|
+
if (miscSectionLine !== null) {
|
|
59
|
+
// Any heading after Misc (including duplicate Misc) is an error
|
|
60
|
+
headingsAfterMisc.push({ line: item.line, span: item.item_span });
|
|
61
|
+
}
|
|
62
|
+
else if (item.title_text === 'Misc' && item.level === 1) {
|
|
32
63
|
miscSectionLine = item.line;
|
|
33
64
|
miscSectionSpan = item.item_span;
|
|
34
65
|
}
|
|
35
66
|
}
|
|
36
|
-
else if (item.type === 'heading' && miscSectionLine !== null) {
|
|
37
|
-
// Heading after Misc
|
|
38
|
-
headingsAfterMisc.push({ line: item.line, span: item.item_span });
|
|
39
|
-
}
|
|
40
67
|
// Check for invalid date formats in parentheses
|
|
41
68
|
const parenMatches = rawLine.matchAll(/\(([^)]+)\)/g);
|
|
42
69
|
for (const match of parenMatches) {
|
|
43
70
|
const content = match[1];
|
|
44
71
|
const parenStart = item.item_span[0] + (match.index || 0);
|
|
45
|
-
// Check for due dates
|
|
72
|
+
// Check for due dates - try text date format first (captures more), then standard format
|
|
73
|
+
// Text date: due Month Day [Year]
|
|
74
|
+
const textDueMatches = content.matchAll(/\bdue\s+((?:january|jan|february|feb|march|mar|april|apr|may|june|jun|july|jul|august|aug|september|sep|october|oct|november|nov|december|dec)\s+\d{1,2}(?:\s+\d{4})?)/gi);
|
|
75
|
+
const textDueIndices = new Set();
|
|
76
|
+
for (const textDueMatch of textDueMatches) {
|
|
77
|
+
textDueIndices.add(textDueMatch.index || 0);
|
|
78
|
+
const dateStr = textDueMatch[1];
|
|
79
|
+
if (!isValidDate(dateStr)) {
|
|
80
|
+
const tokenStart = parenStart + 1 + (textDueMatch.index || 0);
|
|
81
|
+
warnings.push({
|
|
82
|
+
code: 'INVALID_DATE_FORMAT',
|
|
83
|
+
message: `Invalid due date format: ${dateStr}`,
|
|
84
|
+
line: item.line,
|
|
85
|
+
column: tokenStart - item.item_span[0] + 1,
|
|
86
|
+
span: [tokenStart + 4, tokenStart + 4 + dateStr.length],
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
// Standard date formats (single token)
|
|
46
91
|
const dueMatches = content.matchAll(/\bdue\s+([^\s,)]+)/gi);
|
|
47
92
|
for (const dueMatch of dueMatches) {
|
|
93
|
+
// Skip if this was already matched as a text date
|
|
94
|
+
if (textDueIndices.has(dueMatch.index || 0))
|
|
95
|
+
continue;
|
|
48
96
|
const dateStr = dueMatch[1];
|
|
97
|
+
// Skip if this looks like the start of a text date (month name)
|
|
98
|
+
if (MONTH_NAMES.has(dateStr.toLowerCase()))
|
|
99
|
+
continue;
|
|
49
100
|
if (!isValidDate(dateStr)) {
|
|
50
101
|
const tokenStart = parenStart + 1 + (dueMatch.index || 0);
|
|
51
102
|
warnings.push({
|
|
@@ -63,9 +114,30 @@ export function lint(text, scheme) {
|
|
|
63
114
|
for (const pMatch of allParenMatches) {
|
|
64
115
|
const pContent = pMatch[1];
|
|
65
116
|
const pStart = item.item_span[0] + (pMatch.index || 0);
|
|
117
|
+
// Check text dates first
|
|
118
|
+
const textDueDatesInGroup = pContent.matchAll(/\bdue\s+((?:january|jan|february|feb|march|mar|april|apr|may|june|jun|july|jul|august|aug|september|sep|october|oct|november|nov|december|dec)\s+\d{1,2}(?:\s+\d{4})?)/gi);
|
|
119
|
+
const textDuePositions = new Set();
|
|
120
|
+
for (const tdm of textDueDatesInGroup) {
|
|
121
|
+
const ds = tdm[1];
|
|
122
|
+
if (isValidDate(ds)) {
|
|
123
|
+
textDuePositions.add(tdm.index || 0);
|
|
124
|
+
const dStart = pStart + 1 + (tdm.index || 0);
|
|
125
|
+
allDueDates.push({
|
|
126
|
+
dateStr: ds,
|
|
127
|
+
span: [dStart, dStart + tdm[0].length],
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
// Check standard dates
|
|
66
132
|
const dueDatesInGroup = pContent.matchAll(/\bdue\s+([^\s,)]+)/gi);
|
|
67
133
|
for (const dm of dueDatesInGroup) {
|
|
134
|
+
// Skip if already matched as text date
|
|
135
|
+
if (textDuePositions.has(dm.index || 0))
|
|
136
|
+
continue;
|
|
68
137
|
const ds = dm[1];
|
|
138
|
+
// Skip if it's a month name (part of text date)
|
|
139
|
+
if (MONTH_NAMES.has(ds.toLowerCase()))
|
|
140
|
+
continue;
|
|
69
141
|
if (isValidDate(ds)) {
|
|
70
142
|
const dStart = pStart + 1 + (dm.index || 0);
|
|
71
143
|
allDueDates.push({
|
package/dist/linter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linter.js","sourceRoot":"","sources":["../src/linter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGpC,MAAM,kBAAkB,GAAG
|
|
1
|
+
{"version":3,"file":"linter.js","sourceRoot":"","sources":["../src/linter.ts"],"names":[],"mappings":"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"}
|
package/dist/parser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAmD,OAAO,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAmD,OAAO,EAAE,MAAM,YAAY,CAAC;AAyBhG,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAiRD,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CA0M/C"}
|
package/dist/parser.js
CHANGED
|
@@ -8,6 +8,39 @@ const DUE_US_REGEX = /^due\s+(\d{1,2})\/(\d{1,2})\/(\d{4})$/i;
|
|
|
8
8
|
const DUE_US_SHORT_REGEX = /^due\s+(\d{1,2})\/(\d{1,2})\/(\d{2})$/i;
|
|
9
9
|
const PRIORITY_REGEX = /^p(\d+)$/i;
|
|
10
10
|
const ESTIMATE_REGEX = /^(\d+)([mhd])$/i;
|
|
11
|
+
const MONTH_NAMES = {
|
|
12
|
+
january: 1, jan: 1,
|
|
13
|
+
february: 2, feb: 2,
|
|
14
|
+
march: 3, mar: 3,
|
|
15
|
+
april: 4, apr: 4,
|
|
16
|
+
may: 5,
|
|
17
|
+
june: 6, jun: 6,
|
|
18
|
+
july: 7, jul: 7,
|
|
19
|
+
august: 8, aug: 8,
|
|
20
|
+
september: 9, sep: 9,
|
|
21
|
+
october: 10, oct: 10,
|
|
22
|
+
november: 11, nov: 11,
|
|
23
|
+
december: 12, dec: 12,
|
|
24
|
+
};
|
|
25
|
+
function inferYear(month, day) {
|
|
26
|
+
const now = new Date();
|
|
27
|
+
const currentYear = now.getFullYear();
|
|
28
|
+
const currentMonth = now.getMonth() + 1;
|
|
29
|
+
const currentDay = now.getDate();
|
|
30
|
+
// Calculate months difference
|
|
31
|
+
let monthsDiff = (currentMonth - month) + (currentDay > day ? 0 : 0);
|
|
32
|
+
if (currentMonth > month || (currentMonth === month && currentDay > day)) {
|
|
33
|
+
monthsDiff = (currentMonth - month) + (currentDay > day ? 0 : -1);
|
|
34
|
+
// More precise: is the date more than 3 months in the past?
|
|
35
|
+
const candidateDate = new Date(currentYear, month - 1, day);
|
|
36
|
+
const threeMonthsAgo = new Date(now);
|
|
37
|
+
threeMonthsAgo.setMonth(threeMonthsAgo.getMonth() - 3);
|
|
38
|
+
if (candidateDate < threeMonthsAgo) {
|
|
39
|
+
return currentYear + 1;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return currentYear;
|
|
43
|
+
}
|
|
11
44
|
function parseDate(dateStr) {
|
|
12
45
|
const isoMatch = dateStr.match(/^(\d{4})-(\d{2})-(\d{2})$/);
|
|
13
46
|
if (isoMatch) {
|
|
@@ -29,33 +62,96 @@ function parseDate(dateStr) {
|
|
|
29
62
|
}
|
|
30
63
|
return { date: null, valid: false, raw: dateStr };
|
|
31
64
|
}
|
|
65
|
+
function parseTextDate(parts) {
|
|
66
|
+
if (parts.length < 2) {
|
|
67
|
+
return { date: null, valid: false, partsConsumed: 0 };
|
|
68
|
+
}
|
|
69
|
+
const monthStr = parts[0].toLowerCase();
|
|
70
|
+
const month = MONTH_NAMES[monthStr];
|
|
71
|
+
if (month === undefined) {
|
|
72
|
+
return { date: null, valid: false, partsConsumed: 0 };
|
|
73
|
+
}
|
|
74
|
+
const dayStr = parts[1];
|
|
75
|
+
const dayMatch = dayStr.match(/^(\d{1,2})$/);
|
|
76
|
+
if (!dayMatch) {
|
|
77
|
+
return { date: null, valid: false, partsConsumed: 0 };
|
|
78
|
+
}
|
|
79
|
+
const day = parseInt(dayMatch[1], 10);
|
|
80
|
+
if (day < 1 || day > 31) {
|
|
81
|
+
return { date: null, valid: false, partsConsumed: 0 };
|
|
82
|
+
}
|
|
83
|
+
// Check for year
|
|
84
|
+
if (parts.length >= 3) {
|
|
85
|
+
const yearStr = parts[2];
|
|
86
|
+
const yearMatch = yearStr.match(/^(\d{4})$/);
|
|
87
|
+
if (yearMatch) {
|
|
88
|
+
const year = parseInt(yearMatch[1], 10);
|
|
89
|
+
const monthPadded = String(month).padStart(2, '0');
|
|
90
|
+
const dayPadded = String(day).padStart(2, '0');
|
|
91
|
+
return { date: `${year}-${monthPadded}-${dayPadded}`, valid: true, partsConsumed: 3 };
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
// No year provided, infer it
|
|
95
|
+
const year = inferYear(month, day);
|
|
96
|
+
const monthPadded = String(month).padStart(2, '0');
|
|
97
|
+
const dayPadded = String(day).padStart(2, '0');
|
|
98
|
+
return { date: `${year}-${monthPadded}-${dayPadded}`, valid: true, partsConsumed: 2 };
|
|
99
|
+
}
|
|
32
100
|
function parseTokensInParenGroup(content, groupStart) {
|
|
33
101
|
const tokens = [];
|
|
34
102
|
// Split by comma and/or whitespace
|
|
35
103
|
const parts = content.split(/[,\s]+/).filter(p => p.length > 0);
|
|
36
104
|
let currentPos = 0;
|
|
37
|
-
|
|
105
|
+
const skipIndices = new Set();
|
|
106
|
+
for (let i = 0; i < parts.length; i++) {
|
|
107
|
+
if (skipIndices.has(i))
|
|
108
|
+
continue;
|
|
109
|
+
const part = parts[i];
|
|
38
110
|
const partStart = content.indexOf(part, currentPos);
|
|
39
111
|
const absoluteStart = groupStart + 1 + partStart; // +1 for opening paren
|
|
40
112
|
const absoluteEnd = absoluteStart + part.length;
|
|
41
113
|
currentPos = partStart + part.length;
|
|
42
114
|
// Check for due date
|
|
43
115
|
if (part.toLowerCase() === 'due') {
|
|
44
|
-
// Look for the next part as the date
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
116
|
+
// Look for the next part(s) as the date
|
|
117
|
+
const remainingParts = parts.slice(i + 1);
|
|
118
|
+
if (remainingParts.length > 0) {
|
|
119
|
+
// First try standard date formats (single part)
|
|
120
|
+
const dateResult = parseDate(remainingParts[0]);
|
|
121
|
+
if (dateResult.valid) {
|
|
122
|
+
const nextPartStart = content.indexOf(remainingParts[0], currentPos);
|
|
123
|
+
const nextAbsoluteEnd = groupStart + 1 + nextPartStart + remainingParts[0].length;
|
|
124
|
+
tokens.push({
|
|
125
|
+
type: 'due',
|
|
126
|
+
value: dateResult.date,
|
|
127
|
+
raw: `due ${remainingParts[0]}`,
|
|
128
|
+
start: absoluteStart,
|
|
129
|
+
end: nextAbsoluteEnd,
|
|
130
|
+
});
|
|
131
|
+
skipIndices.add(i + 1);
|
|
132
|
+
continue;
|
|
133
|
+
}
|
|
134
|
+
// Try text date formats (multiple parts: Month Day [Year])
|
|
135
|
+
const textDateResult = parseTextDate(remainingParts);
|
|
136
|
+
if (textDateResult.valid) {
|
|
137
|
+
// Calculate the end position
|
|
138
|
+
let rawParts = [`due`];
|
|
139
|
+
let endPos = currentPos;
|
|
140
|
+
for (let j = 0; j < textDateResult.partsConsumed; j++) {
|
|
141
|
+
rawParts.push(remainingParts[j]);
|
|
142
|
+
skipIndices.add(i + 1 + j);
|
|
143
|
+
endPos = content.indexOf(remainingParts[j], endPos) + remainingParts[j].length;
|
|
144
|
+
}
|
|
145
|
+
const finalAbsoluteEnd = groupStart + 1 + endPos;
|
|
146
|
+
tokens.push({
|
|
147
|
+
type: 'due',
|
|
148
|
+
value: textDateResult.date,
|
|
149
|
+
raw: rawParts.join(' '),
|
|
150
|
+
start: absoluteStart,
|
|
151
|
+
end: finalAbsoluteEnd,
|
|
152
|
+
});
|
|
153
|
+
continue;
|
|
154
|
+
}
|
|
59
155
|
}
|
|
60
156
|
continue;
|
|
61
157
|
}
|
package/dist/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
|