Revision: 5032
          http://skim-app.svn.sourceforge.net/skim-app/?rev=5032&view=rev
Author:   hofman
Date:     2008-12-09 14:53:31 +0000 (Tue, 09 Dec 2008)

Log Message:
-----------
Move category methods for partial empty lines to static functions

Modified Paths:
--------------
    trunk/SKTemplateParser.h
    trunk/SKTemplateParser.m

Modified: trunk/SKTemplateParser.h
===================================================================
--- trunk/SKTemplateParser.h    2008-12-09 14:13:59 UTC (rev 5031)
+++ trunk/SKTemplateParser.h    2008-12-09 14:53:31 UTC (rev 5032)
@@ -79,18 +79,3 @@
 - (BOOL)scanEmptyLineRequiringNewline:(BOOL)requireNL;
 
 @end
-
-#pragma mark -
-
[EMAIL PROTECTED] NSString (SKTemplateParser)
-
-- (NSRange)rangeOfLeadingEmptyLine;
-- (NSRange)rangeOfLeadingEmptyLineRequiringNewline:(BOOL)requireNL;
-- (NSRange)rangeOfLeadingEmptyLineInRange:(NSRange)range;
-- (NSRange)rangeOfLeadingEmptyLineRequiringNewline:(BOOL)requireNL 
range:(NSRange)range;
-- (NSRange)rangeOfTrailingEmptyLine;
-- (NSRange)rangeOfTrailingEmptyLineRequiringNewline:(BOOL)requireNL;
-- (NSRange)rangeOfTrailingEmptyLineInRange:(NSRange)range;
-- (NSRange)rangeOfTrailingEmptyLineRequiringNewline:(BOOL)requireNL 
range:(NSRange)range;
-
[EMAIL PROTECTED]

Modified: trunk/SKTemplateParser.m
===================================================================
--- trunk/SKTemplateParser.m    2008-12-09 14:13:59 UTC (rev 5031)
+++ trunk/SKTemplateParser.m    2008-12-09 14:53:31 UTC (rev 5032)
@@ -200,6 +200,36 @@
     return altTagRange;
 }
 
+static inline NSRange rangeOfLeadingEmptyLine(NSString *string, NSRange range) 
{
+    NSRange firstCharRange = [string rangeOfCharacterFromSet:[NSCharacterSet 
nonWhitespaceCharacterSet] options:0 range:range];
+    NSRange wsRange = NSMakeRange(NSNotFound, 0);
+    unsigned int start = range.location;
+    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)
+                wsRange = NSMakeRange(start, rangeEnd + 1 - start);
+            else 
+                wsRange = NSMakeRange(start, rangeEnd - start);
+        }
+    }
+    return wsRange;
+}
+
+static inline NSRange rangeOfTrailingEmptyLine(NSString *string, NSRange 
range) {
+    NSRange lastCharRange = [string rangeOfCharacterFromSet:[NSCharacterSet 
nonWhitespaceCharacterSet] options:NSBackwardsSearch range:range];
+    NSRange wsRange = NSMakeRange(NSNotFound, 0);
+    unsigned int end = NSMaxRange(range);
+    if (lastCharRange.location != NSNotFound) {
+        unichar lastChar = [string characterAtIndex:lastCharRange.location];
+        unsigned int rangeEnd = NSMaxRange(lastCharRange);
+        if ([[NSCharacterSet newlineCharacterSet] characterIsMember:lastChar])
+            wsRange = NSMakeRange(rangeEnd, end - rangeEnd);
+    }
+    return wsRange;
+}
+
 #pragma mark Parsing string templates
 
 + (NSString *)stringByParsingTemplate:(NSString *)template 
usingObject:(id)object {
@@ -367,7 +397,7 @@
             if (isSubtemplate == NO && i == 0 && [string 
rangeOfCharacterFromSet:[NSCharacterSet nonWhitespaceCharacterSet]].length == 
0) {
                 range.length = 0;
             } else {
-                wsRange = [string rangeOfLeadingEmptyLine];
+                wsRange = rangeOfLeadingEmptyLine(string, range);
                 if (wsRange.location != NSNotFound)
                     range.length = wsRange.location;
             }
@@ -377,7 +407,7 @@
             if (isSubtemplate == NO && i == count - 1 && [string 
rangeOfCharacterFromSet:[NSCharacterSet nonWhitespaceCharacterSet]].length == 
0) {
                 range.length = 0;
             } else {
-                wsRange = [string rangeOfTrailingEmptyLineInRange:range];
+                wsRange = rangeOfTrailingEmptyLine(string, range);
                 if (wsRange.location != NSNotFound)
                     range = NSMakeRange(NSMaxRange(wsRange), NSMaxRange(range) 
- NSMaxRange(wsRange));
             }
@@ -687,7 +717,7 @@
             if (isSubtemplate == NO && i == 0 && [string 
rangeOfCharacterFromSet:[NSCharacterSet nonWhitespaceCharacterSet]].length == 
0) {
                 range.length = 0;
             } else {
-                wsRange = [string rangeOfLeadingEmptyLine];
+                wsRange = rangeOfLeadingEmptyLine(string, range);
                 if (wsRange.location != NSNotFound)
                     range.length = wsRange.location;
             }
@@ -697,7 +727,7 @@
             if (isSubtemplate == NO && i == count - 1 && [string 
rangeOfCharacterFromSet:[NSCharacterSet nonWhitespaceCharacterSet]].length == 
0) {
                 range.length = 0;
             } else {
-                wsRange = [string rangeOfTrailingEmptyLineInRange:range];
+                wsRange = rangeOfTrailingEmptyLine(string, range);
                 if (wsRange.location != NSNotFound)
                     range = NSMakeRange(NSMaxRange(wsRange), NSMaxRange(range) 
- NSMaxRange(wsRange));
             }
@@ -925,73 +955,7 @@
 #pragma mark -
 
 @implementation NSString (SKTemplateParser)
-
 - (NSString *)templateStringValue{ return self; }
-
-#pragma mark Empty lines
-
-// whitespace at the beginning of the string up to and including a newline
-- (NSRange)rangeOfLeadingEmptyLine {
-    return [self rangeOfLeadingEmptyLineRequiringNewline:YES];
-}
-
-- (NSRange)rangeOfLeadingEmptyLineRequiringNewline:(BOOL)requireNL {
-    return [self rangeOfLeadingEmptyLineRequiringNewline:requireNL 
range:NSMakeRange(0, [self length])];
-}
-
-- (NSRange)rangeOfLeadingEmptyLineInRange:(NSRange)range {
-    return [self rangeOfLeadingEmptyLineRequiringNewline:YES range:range];
-}
-
-- (NSRange)rangeOfLeadingEmptyLineRequiringNewline:(BOOL)requireNL 
range:(NSRange)range {
-    NSRange firstCharRange = [self rangeOfCharacterFromSet:[NSCharacterSet 
nonWhitespaceCharacterSet] options:0 range:range];
-    NSRange wsRange = NSMakeRange(NSNotFound, 0);
-    unsigned int start = range.location;
-    if (firstCharRange.location == NSNotFound) {
-        if (requireNL == NO)
-            wsRange = range;
-    } else {
-        unichar firstChar = [self characterAtIndex:firstCharRange.location];
-        unsigned int rangeEnd = NSMaxRange(firstCharRange);
-        if([[NSCharacterSet newlineCharacterSet] characterIsMember:firstChar]) 
{
-            if (firstChar == NSCarriageReturnCharacter && rangeEnd < 
NSMaxRange(range) && [self characterAtIndex:rangeEnd] == NSNewlineCharacter)
-                wsRange = NSMakeRange(start, rangeEnd + 1 - start);
-            else 
-                wsRange = NSMakeRange(start, rangeEnd - start);
-        }
-    }
-    return wsRange;
-}
-
-// whitespace at the end of the string after a newline
-- (NSRange)rangeOfTrailingEmptyLine {
-    return [self rangeOfTrailingEmptyLineRequiringNewline:YES];
-}
-
-- (NSRange)rangeOfTrailingEmptyLineRequiringNewline:(BOOL)requireNL {
-    return [self rangeOfTrailingEmptyLineRequiringNewline:requireNL 
range:NSMakeRange(0, [self length])];
-}
-
-- (NSRange)rangeOfTrailingEmptyLineInRange:(NSRange)range {
-    return [self rangeOfTrailingEmptyLineRequiringNewline:YES range:range];
-}
-
-- (NSRange)rangeOfTrailingEmptyLineRequiringNewline:(BOOL)requireNL 
range:(NSRange)range {
-    NSRange lastCharRange = [self rangeOfCharacterFromSet:[NSCharacterSet 
nonWhitespaceCharacterSet] options:NSBackwardsSearch range:range];
-    NSRange wsRange = NSMakeRange(NSNotFound, 0);
-    unsigned int end = NSMaxRange(range);
-    if (lastCharRange.location == NSNotFound) {
-        if (requireNL == NO)
-            wsRange = range;
-    } else {
-        unichar lastChar = [self characterAtIndex:lastCharRange.location];
-        unsigned int rangeEnd = NSMaxRange(lastCharRange);
-        if ([[NSCharacterSet newlineCharacterSet] characterIsMember:lastChar])
-            wsRange = NSMakeRange(rangeEnd, end - rangeEnd);
-    }
-    return wsRange;
-}
-
 @end
 
 #pragma mark -


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