ai-pp3
Version:
CLI tool combining multimodal AI analysis with RawTherapee's engine to generate optimized PP3 profiles for RAW photography
45 lines • 1.42 kB
JavaScript
/**
* PP3 file format parser with search/replace block handling
*/
export function parseSearchReplaceBlocks(text) {
const blocks = [];
let currentBlock = {
search: [],
replace: [],
};
let isInSearch = false;
let isInReplace = false;
for (const line of text.split("\n")) {
if (line.startsWith("<<<<<<< SEARCH")) {
isInSearch = true;
isInReplace = false;
currentBlock = { search: [], replace: [] };
}
else if (line.startsWith("=======")) {
isInSearch = false;
isInReplace = true;
}
else if (line.startsWith(">>>>>>> REPLACE")) {
isInSearch = false;
isInReplace = false;
if (currentBlock.search.length > 0 && currentBlock.replace.length > 0) {
blocks.push({
search: currentBlock.search.join("\n"),
replace: currentBlock.replace.join("\n"),
});
}
blocks.push({
search: currentBlock.search.join("\n"),
replace: currentBlock.replace.join("\n"),
});
}
else {
if (isInSearch)
currentBlock.search.push(line);
if (isInReplace)
currentBlock.replace.push(line);
}
}
return blocks;
}
//# sourceMappingURL=pp3-parser.js.map