Handle numbered Scattermind build order labels
This commit is contained in:
@@ -1199,11 +1199,19 @@ const buildOrderLabelSeparator = '\\s*(?::|,|[-–—])\\s*';
|
||||
const buildOrderLabelPattern = '(build first|build this first|start here|start with|start by|ship first|ship this first|first week|week one|first-week build order|continue first|make tangible first|make tangible|try next|test first|prove first|evidence next|learn next|test manually|validate manually|manual proof|validate next|hold for later|leave out|skip for now|not yet|defer|set aside|out of scope|probably noise|park|do not build yet|don\'t build yet)';
|
||||
const buildOrderLabelRegex = new RegExp(`^${buildOrderLabelPattern}${buildOrderLabelSeparator}`, 'i');
|
||||
|
||||
function normalizeBuildOrderFragment(fragment = '') {
|
||||
return cleanMultiline(fragment, 600)
|
||||
.replace(/^\s*(?:[-*•]|\d+[.)])\s*/, '')
|
||||
.replace(/^\s*\*\*([^*:]{2,80})\s*:?\*\*\s*(?::|[-–—])?\s*/i, '$1: ')
|
||||
.replace(/^\s*__([^_:]{2,80})\s*:?__\s*(?::|[-–—])?\s*/i, '$1: ')
|
||||
.trim();
|
||||
}
|
||||
|
||||
function sentenceFragments(text = '') {
|
||||
return cleanMultiline(text, 4000)
|
||||
.replace(new RegExp(`\\s+${buildOrderLabelPattern}${buildOrderLabelSeparator}`, 'gi'), '\n$1: ')
|
||||
.split(/\n|;|\s+[•-]\s+/)
|
||||
.map(part => part.trim())
|
||||
.map(part => normalizeBuildOrderFragment(part))
|
||||
.filter(Boolean);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user