Revision: 5034
http://skim-app.svn.sourceforge.net/skim-app/?rev=5034&view=rev
Author: hofman
Date: 2008-12-09 16:13:53 +0000 (Tue, 09 Dec 2008)
Log Message:
-----------
simplify function to find empty lines before and after template tags
Modified Paths:
--------------
trunk/SKTemplateParser.m
Modified: trunk/SKTemplateParser.m
===================================================================
--- trunk/SKTemplateParser.m 2008-12-09 15:41:34 UTC (rev 5033)
+++ trunk/SKTemplateParser.m 2008-12-09 16:13:53 UTC (rev 5034)
@@ -223,34 +223,30 @@
if (typeAfter == SKCollectionTemplateTagType || typeAfter ==
SKConditionTemplateTagType) {
// remove whitespace at the end, just before the collection or
condition tag
- if (first && [string rangeOfCharacterFromSet:[NSCharacterSet
nonWhitespaceCharacterSet]].length == 0) {
+ NSRange lastCharRange = [string
rangeOfCharacterFromSet:[NSCharacterSet nonWhitespaceCharacterSet]
options:NSBackwardsSearch range:range];
+ if (lastCharRange.location != NSNotFound) {
+ unichar lastChar = [string
characterAtIndex:lastCharRange.location];
+ unsigned int rangeEnd = NSMaxRange(lastCharRange);
+ if ([[NSCharacterSet newlineCharacterSet]
characterIsMember:lastChar])
+ range.length = rangeEnd;
+ } else if (first) {
range.length = 0;
- } else {
- NSRange lastCharRange = [string
rangeOfCharacterFromSet:[NSCharacterSet nonWhitespaceCharacterSet]
options:NSBackwardsSearch range:range];
- if (lastCharRange.location != NSNotFound) {
- unichar lastChar = [string
characterAtIndex:lastCharRange.location];
- unsigned int rangeEnd = NSMaxRange(lastCharRange);
- if ([[NSCharacterSet newlineCharacterSet]
characterIsMember:lastChar])
- range.length = rangeEnd;
- }
}
}
if (typeBefore == SKCollectionTemplateTagType || typeAfter ==
SKConditionTemplateTagType) {
// remove whitespace and a newline at the start, just after the
collection or condition tag
- if (last && [string rangeOfCharacterFromSet:[NSCharacterSet
nonWhitespaceCharacterSet]].length == 0) {
- range.length = 0;
- } else {
- NSRange firstCharRange = [string
rangeOfCharacterFromSet:[NSCharacterSet nonWhitespaceCharacterSet] options:0
range:range];
- if (firstCharRange.location != NSNotFound) {
- unichar firstChar = [string
characterAtIndex:firstCharRange.location];
- unsigned int rangeEnd = NSMaxRange(firstCharRange);
- if([[NSCharacterSet newlineCharacterSet]
characterIsMember:firstChar]) {
- if (firstChar == NSCarriageReturnCharacter && rangeEnd <
NSMaxRange(range) && [string characterAtIndex:rangeEnd] == NSNewlineCharacter)
- range = NSMakeRange(rangeEnd + 1, NSMaxRange(range) -
rangeEnd - 1);
- else
- range = NSMakeRange(rangeEnd, NSMaxRange(range) -
rangeEnd);
- }
+ NSRange firstCharRange = [string
rangeOfCharacterFromSet:[NSCharacterSet nonWhitespaceCharacterSet] options:0
range:range];
+ if (firstCharRange.location != NSNotFound) {
+ unichar firstChar = [string
characterAtIndex:firstCharRange.location];
+ unsigned int rangeEnd = NSMaxRange(firstCharRange);
+ if([[NSCharacterSet newlineCharacterSet]
characterIsMember:firstChar]) {
+ if (firstChar == NSCarriageReturnCharacter && rangeEnd <
NSMaxRange(range) && [string characterAtIndex:rangeEnd] == NSNewlineCharacter)
+ range = NSMakeRange(rangeEnd + 1, NSMaxRange(range) -
rangeEnd - 1);
+ else
+ range = NSMakeRange(rangeEnd, NSMaxRange(range) -
rangeEnd);
}
+ } else if (last) {
+ range.length = 0;
}
}
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you. Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit