Revision: 14002
http://sourceforge.net/p/skim-app/code/14002
Author: hofman
Date: 2023-12-28 15:32:58 +0000 (Thu, 28 Dec 2023)
Log Message:
-----------
remember last tag type rather than getting it again
Modified Paths:
--------------
trunk/SKTemplateParser.m
Modified: trunk/SKTemplateParser.m
===================================================================
--- trunk/SKTemplateParser.m 2023-12-28 15:24:17 UTC (rev 14001)
+++ trunk/SKTemplateParser.m 2023-12-28 15:32:58 UTC (rev 14002)
@@ -462,21 +462,25 @@
} // while
// remove whitespace before and after collection and condition tags up
till newlines
- NSInteger i, count = [result count];
+ NSInteger i;
+ SKTemplateTagType typeAfter = SKNoTemplateTagType;
- for (i = count - 1; i >= 0; i--) {
+ for (i = [result count] - 1; i >= 0; i--) {
__kindof SKTemplateTag *tag = [result objectAtIndex:i];
- if ([tag type] != SKTemplateTagText) continue;
+ if ([tag type] != SKTemplateTagText) {
+ typeAfter = [tag type];
+ continue;
+ }
NSString *string = [tag text];
- NSRange range = rangeAfterRemovingEmptyLines(string, i > 0 ?
[(SKTemplateTag *)[result objectAtIndex:i - 1] type] : SKNoTemplateTagType, i <
count - 1 ? [(SKTemplateTag *)[result objectAtIndex:i + 1] type] :
SKNoTemplateTagType, isSubtemplate);
+ NSRange range = rangeAfterRemovingEmptyLines(string, i > 0 ?
[(SKTemplateTag *)[result objectAtIndex:i - 1] type] : SKNoTemplateTagType,
typeAfter, isSubtemplate);
if (range.length == 0) {
[result removeObjectAtIndex:i];
- --count;
} else if (range.length != [string length]) {
[tag setText:[string substringWithRange:range]];
+ typeAfter = SKTemplateTagText;
}
}
@@ -698,22 +702,26 @@
// remove whitespace before and after collection and condition tags up
till newlines
- NSInteger i, count = [result count];
+ NSInteger i;
+ SKTemplateTagType typeAfter = SKNoTemplateTagType;
- for (i = count - 1; i >= 0; i--) {
+ for (i = [result count] - 1; i >= 0; i--) {
__kindof SKTemplateTag *tag = [result objectAtIndex:i];
- if ([tag type] != SKTemplateTagText) continue;
+ if ([tag type] != SKTemplateTagText) {
+ typeAfter = [tag type];
+ continue;
+ }
NSAttributedString *attrString = [tag attributedText];
NSString *string = [attrString string];
- NSRange range = rangeAfterRemovingEmptyLines(string, i > 0 ?
[(SKTemplateTag *)[result objectAtIndex:i - 1] type] : SKNoTemplateTagType, i <
count - 1 ? [(SKTemplateTag *)[result objectAtIndex:i + 1] type] :
SKNoTemplateTagType, isSubtemplate);
+ NSRange range = rangeAfterRemovingEmptyLines(string, i > 0 ?
[(SKTemplateTag *)[result objectAtIndex:i - 1] type] : SKNoTemplateTagType,
typeAfter, isSubtemplate);
if (range.length == 0) {
[result removeObjectAtIndex:i];
- --count;
} else if (range.length != [string length]) {
[tag setAttributedText:[attrString
attributedSubstringFromRange:range]];
+ typeAfter = SKTemplateTagText;
}
}
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit