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

Reply via email to