Browse code

hack to avoid webkit inspector grabbing keyboard focus, when redrawing the webview. Made default scion template a bit more scrutable. Removed some old name remnants. Enforce rulers (hopefully).

Nat! authored on 24/05/2014 18:06:53
Showing 11 changed files
... ...
@@ -54,15 +54,12 @@
54 54
 /* End PBXAggregateTarget section */
55 55
 
56 56
 /* Begin PBXBuildFile section */
57
-		410B71DE1906D34800F86CF4 /* libPods-libMulleHTMLTidy.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 410B71DD1906D34800F86CF4 /* libPods-libMulleHTMLTidy.a */; };
58 57
 		4126E8DD1903E497000400C3 /* MulleHTMLTidy.h in Headers */ = {isa = PBXBuildFile; fileRef = 4126E8D61903E497000400C3 /* MulleHTMLTidy.h */; settings = {ATTRIBUTES = (Public, ); }; };
59 58
 		4126E8DE1903E497000400C3 /* NSString+MulleHTMLTidy.h in Headers */ = {isa = PBXBuildFile; fileRef = 4126E8D71903E497000400C3 /* NSString+MulleHTMLTidy.h */; settings = {ATTRIBUTES = (Public, ); }; };
60 59
 		4126E8DF1903E497000400C3 /* buffio.h in Headers */ = {isa = PBXBuildFile; fileRef = 4126E8D91903E497000400C3 /* buffio.h */; settings = {ATTRIBUTES = (Public, ); }; };
61 60
 		4126E8E01903E497000400C3 /* platform.h in Headers */ = {isa = PBXBuildFile; fileRef = 4126E8DA1903E497000400C3 /* platform.h */; settings = {ATTRIBUTES = (Public, ); }; };
62 61
 		4126E8E11903E497000400C3 /* tidy.h in Headers */ = {isa = PBXBuildFile; fileRef = 4126E8DB1903E497000400C3 /* tidy.h */; settings = {ATTRIBUTES = (Public, ); }; };
63 62
 		4126E8E21903E497000400C3 /* tidyenum.h in Headers */ = {isa = PBXBuildFile; fileRef = 4126E8DC1903E497000400C3 /* tidyenum.h */; settings = {ATTRIBUTES = (Public, ); }; };
64
-		4126E8E31903E4FC000400C3 /* libMulleHTMLTidy.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 4103A6F31903E34A00072F47 /* libMulleHTMLTidy.dylib */; };
65
-		4126E8E71903E597000400C3 /* libMulleHTMLTidy.dylib in Copy Dylib */ = {isa = PBXBuildFile; fileRef = 4103A6F31903E34A00072F47 /* libMulleHTMLTidy.dylib */; };
66 63
 		4126E8EB1903E735000400C3 /* libPodsXcodeDummy.c in Sources */ = {isa = PBXBuildFile; fileRef = 4126E8EA1903E735000400C3 /* libPodsXcodeDummy.c */; };
67 64
 		4126E8ED1903EFEA000400C3 /* mulle-scion in Resources */ = {isa = PBXBuildFile; fileRef = 4126E8EC1903EFEA000400C3 /* mulle-scion */; };
68 65
 		412C091E182E4F9D008EFC5D /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F487F4AE141EADEF0093D633 /* AppKit.framework */; };
... ...
@@ -72,6 +69,7 @@
72 72
 		41648EA41900076F00FF1A6A /* NSTask+MullePATH.m in Sources */ = {isa = PBXBuildFile; fileRef = 41648EA31900076F00FF1A6A /* NSTask+MullePATH.m */; };
73 73
 		41741AD0182EB8C80065E5FD /* mulle.icns in Resources */ = {isa = PBXBuildFile; fileRef = 41741ACF182EB8C80065E5FD /* mulle.icns */; };
74 74
 		41741AD3182EBA1C0065E5FD /* MulleScionSyntax.plist in Resources */ = {isa = PBXBuildFile; fileRef = 41741AD1182EB90F0065E5FD /* MulleScionSyntax.plist */; };
75
+		417AD1A1193212090022A652 /* libPods-libMulleHTMLTidy.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 9E5281D4771F49398B5EEDFD /* libPods-libMulleHTMLTidy.a */; };
75 76
 		41E529991906C65B007FD2D3 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 413AFC80183B806E0055F936 /* Foundation.framework */; };
76 77
 		F487F4B8141EADEF0093D633 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = F487F4B7141EADEF0093D633 /* main.m */; };
77 78
 		F487F4BF141EADEF0093D633 /* MulleScionistDokument.m in Sources */ = {isa = PBXBuildFile; fileRef = F487F4BE141EADEF0093D633 /* MulleScionistDokument.m */; };
... ...
@@ -133,26 +131,11 @@
133 133
 		};
134 134
 /* End PBXContainerItemProxy section */
135 135
 
136
-/* Begin PBXCopyFilesBuildPhase section */
137
-		4126E8E61903E57A000400C3 /* Copy Dylib */ = {
138
-			isa = PBXCopyFilesBuildPhase;
139
-			buildActionMask = 2147483647;
140
-			dstPath = "";
141
-			dstSubfolderSpec = 10;
142
-			files = (
143
-				4126E8E71903E597000400C3 /* libMulleHTMLTidy.dylib in Copy Dylib */,
144
-			);
145
-			name = "Copy Dylib";
146
-			runOnlyForDeploymentPostprocessing = 0;
147
-		};
148
-/* End PBXCopyFilesBuildPhase section */
149
-
150 136
 /* Begin PBXFileReference section */
151 137
 		1794C57649BE40DC99B6AA77 /* Pods-libMulleHTMLTidy.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-libMulleHTMLTidy.xcconfig"; path = "Pods/Pods-libMulleHTMLTidy.xcconfig"; sourceTree = "<group>"; };
152 138
 		4103A6F31903E34A00072F47 /* libMulleHTMLTidy.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libMulleHTMLTidy.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
153 139
 		4103A6F41903E34A00072F47 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
154 140
 		4103A7051903E34A00072F47 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
155
-		410B71DD1906D34800F86CF4 /* libPods-libMulleHTMLTidy.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libPods-libMulleHTMLTidy.a"; path = "Pods/build/Debug/libPods-libMulleHTMLTidy.a"; sourceTree = "<group>"; };
156 141
 		4126E8D61903E497000400C3 /* MulleHTMLTidy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MulleHTMLTidy.h; sourceTree = "<group>"; };
157 142
 		4126E8D71903E497000400C3 /* NSString+MulleHTMLTidy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+MulleHTMLTidy.h"; sourceTree = "<group>"; };
158 143
 		4126E8D91903E497000400C3 /* buffio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = buffio.h; sourceTree = "<group>"; };
... ...
@@ -216,7 +199,6 @@
216 216
 			isa = PBXFrameworksBuildPhase;
217 217
 			buildActionMask = 2147483647;
218 218
 			files = (
219
-				410B71DE1906D34800F86CF4 /* libPods-libMulleHTMLTidy.a in Frameworks */,
220 219
 			);
221 220
 			runOnlyForDeploymentPostprocessing = 0;
222 221
 		};
... ...
@@ -224,10 +206,10 @@
224 224
 			isa = PBXFrameworksBuildPhase;
225 225
 			buildActionMask = 2147483647;
226 226
 			files = (
227
-				4126E8E31903E4FC000400C3 /* libMulleHTMLTidy.dylib in Frameworks */,
228 227
 				41E529991906C65B007FD2D3 /* Foundation.framework in Frameworks */,
229 228
 				412C091E182E4F9D008EFC5D /* AppKit.framework in Frameworks */,
230 229
 				F487F506141EAF8A0093D633 /* WebKit.framework in Frameworks */,
230
+				417AD1A1193212090022A652 /* libPods-libMulleHTMLTidy.a in Frameworks */,
231 231
 			);
232 232
 			runOnlyForDeploymentPostprocessing = 0;
233 233
 		};
... ...
@@ -300,7 +282,6 @@
300 300
 		F487F4AA141EADEF0093D633 /* Frameworks */ = {
301 301
 			isa = PBXGroup;
302 302
 			children = (
303
-				410B71DD1906D34800F86CF4 /* libPods-libMulleHTMLTidy.a */,
304 303
 				413AFC80183B806E0055F936 /* Foundation.framework */,
305 304
 				F487F4AE141EADEF0093D633 /* AppKit.framework */,
306 305
 				F487F505141EAF8A0093D633 /* WebKit.framework */,
... ...
@@ -432,7 +413,6 @@
432 432
 				F487F4A3141EADEF0093D633 /* Sources */,
433 433
 				F487F4A4141EADEF0093D633 /* Frameworks */,
434 434
 				F487F4A5141EADEF0093D633 /* Resources */,
435
-				4126E8E61903E57A000400C3 /* Copy Dylib */,
436 435
 			);
437 436
 			buildRules = (
438 437
 			);
... ...
@@ -763,8 +743,8 @@
763 763
 		F487F4C9141EADEF0093D633 /* Debug */ = {
764 764
 			isa = XCBuildConfiguration;
765 765
 			buildSettings = {
766
-				CURRENT_PROJECT_VERSION = 0.18.48;
767
-				DYLIB_COMPATIBILITY_VERSION = 0.18.0;
766
+				CURRENT_PROJECT_VERSION = 1848.1;
767
+				DYLIB_COMPATIBILITY_VERSION = 1848.0;
768 768
 				DYLIB_CURRENT_VERSION = "$(CURRENT_PROJECT_VERSION)";
769 769
 				INFOPLIST_FILE = "src/MulleScionist-Info.plist";
770 770
 				MACOSX_DEPLOYMENT_TARGET = 10.6;
... ...
@@ -776,8 +756,8 @@
776 776
 		F487F4CA141EADEF0093D633 /* Release */ = {
777 777
 			isa = XCBuildConfiguration;
778 778
 			buildSettings = {
779
-				CURRENT_PROJECT_VERSION = 0.18.48;
780
-				DYLIB_COMPATIBILITY_VERSION = 0.18.0;
779
+				CURRENT_PROJECT_VERSION = 1848.1;
780
+				DYLIB_COMPATIBILITY_VERSION = 1848.0;
781 781
 				DYLIB_CURRENT_VERSION = "$(CURRENT_PROJECT_VERSION)";
782 782
 				INFOPLIST_FILE = "src/MulleScionist-Info.plist";
783 783
 				MACOSX_DEPLOYMENT_TARGET = 10.6;
... ...
@@ -1,6 +1,6 @@
1 1
 # MulleScionist
2 2
 
3
-A simple [MulleScion](http://www.mulle-kybernetik.com/software/git/MulleScion/) 
3
+A simple [MulleScion](http://www.mulle-kybernetik.com/software/git/MulleScionTemplates/) 
4 4
 Template Editor for HTML.
5 5
 
6 6
 MulleScionist is a native, open-source template editor for MulleScion HTML templates for OS X. It has
... ...
@@ -21,7 +21,12 @@ cd MulleScionist
21 21
 pod install --verbose
22 22
 xcodebuild -workspace MulleScionist.xcworkspace -scheme All</pre>
23 23
 
24
-or use open the Xcode project and be guided through everything
24
+# Build MulleScionist with Xcode
25
+
26
+* Clone the [git repository](http://www.mulle-kybernetik.com/repositories/MulleScionist).
27
+
28
+* open the <tt><b>MulleScionist.xcworkspace</b></tt>, <font color="red"><i>not</i></font> the <tt>MulleScionist.xcodeproj</tt>
29
+* Build the <tt><b>All</b></tt> target
25 30
 
26 31
 
27 32
 ## History
... ...
@@ -14,7 +14,19 @@
14 14
 			<key>CFBundleTypeIconFile</key>
15 15
 			<string>mulle-scion.icns</string>
16 16
 			<key>CFBundleTypeName</key>
17
-			<string>DocumentType</string>
17
+			<string>Scion Template</string>
18
+			<key>CFBundleTypeRole</key>
19
+			<string>Editor</string>
20
+			<key>NSDocumentClass</key>
21
+			<string>MulleScionistDokument</string>
22
+		</dict>
23
+		<dict>
24
+			<key>CFBundleTypeExtensions</key>
25
+			<array>
26
+				<string>html</string>
27
+			</array>
28
+			<key>CFBundleTypeName</key>
29
+			<string>HTML File</string>
18 30
 			<key>CFBundleTypeRole</key>
19 31
 			<string>Editor</string>
20 32
 			<key>NSDocumentClass</key>
... ...
@@ -27,9 +27,11 @@
27 27
 
28 28
    NSPoint                 currentScrollPosition;
29 29
    BOOL                    loadDefault_;
30
+   id                      currentResponder_;
30 31
    
31 32
    NSString                *mulleScionDirPath_;
32 33
    NSMutableDictionary     *environment_;
34
+   
33 35
 }
34 36
 
35 37
 
... ...
@@ -67,6 +67,7 @@
67 67
    
68 68
    lineNumberView = [[[MarkerLineNumberView alloc] initWithScrollView:scrollView] autorelease];
69 69
    [scrollView setVerticalRulerView:lineNumberView];
70
+   [scrollView setRulersVisible:YES];
70 71
    
71 72
    [textView setSmartInsertDeleteEnabled:YES];
72 73
    if( [textView respondsToSelector:@selector( setAutomaticQuoteSubstitutionEnabled:)])
... ...
@@ -78,9 +79,10 @@
78 78
    [refreshTypePopupButton selectItemWithTitle: [[NSUserDefaults standardUserDefaults] objectForKey: @"Refresh"]];
79 79
    
80 80
    // Register for "text changed" notifications of the text storage:
81
-   [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(textDidChange:)
82
-                                                name: NSTextStorageDidProcessEditingNotification
83
-                                              object: [textView textStorage]];
81
+   [[NSNotificationCenter defaultCenter] addObserver:self
82
+                                            selector:@selector(textDidChange:)
83
+                                                name:NSTextStorageDidProcessEditingNotification
84
+                                              object:[textView textStorage]];
84 85
    
85 86
    [super windowControllerDidLoadNib: aController];
86 87
 }
... ...
@@ -88,8 +90,15 @@
88 88
 
89 89
 - (void) dealloc
90 90
 {
91
+   [[NSNotificationCenter defaultCenter] removeObserver:self];
92
+   
93
+   [webView setFrameLoadDelegate:nil];
94
+   [textView setDelegate:nil];
95
+   [plistTextView setDelegate:nil];
96
+   
91 97
    [mulleScionDirPath_ release];
92 98
    [environment_ release];
99
+   
93 100
    [super dealloc];
94 101
 }
95 102
 
... ...
@@ -97,20 +106,12 @@
97 97
 
98 98
 - (IBAction) refresh:(id)sender
99 99
 {
100
-   NSWindow      *window;
101
-   NSResponder   *responder;
102
-   
103
-   window    = [textView window];
104
-   responder = [window firstResponder];
105 100
    [NSObject cancelPreviousPerformRequestsWithTarget:self
106 101
                                             selector:@selector( updatePreview)
107 102
                                               object:nil];
108 103
    [refreshProgressIndicator startAnimation: self];
109 104
    [self drawWebView];
110 105
    [refreshProgressIndicator stopAnimation: self];
111
-   
112
-   if( responder)
113
-      [window makeFirstResponder:responder]; // just in case
114 106
 }
115 107
 
116 108
 
... ...
@@ -132,8 +133,8 @@
132 132
                                                selector:@selector( updatePreview)
133 133
                                                  object:nil];
134 134
       [self performSelector:@selector( updatePreview)
135
-       withObject:nil
136
-        afterDelay:0.5];
135
+                 withObject:nil
136
+                 afterDelay:0.5];
137 137
       return;
138 138
    }
139 139
    
... ...
@@ -183,27 +184,31 @@
183 183
       plistPath = [plist objectForKey:@"__BUNDLE__"];
184 184
       if( ! plistPath)
185 185
       {
186
-         plistPath = @"/tmp/MulleScionDrakeTemp.plist";
186
+         plistPath = @"/tmp/MulleScionistTemp.plist";
187 187
          [plistString writeToFile:plistPath  atomically: YES encoding: NSUTF8StringEncoding error: NULL];
188 188
       }
189 189
    }
190 190
    
191
-   [s writeToFile: @"/tmp/MulleScionDrakeTemp.scion" atomically: YES encoding: NSUTF8StringEncoding error: NULL];
191
+   [s writeToFile: @"/tmp/MulleScionistTemp.scion" atomically: YES encoding: NSUTF8StringEncoding error: NULL];
192 192
    
193 193
    //
194 194
    // generate command string to create html from scion text using mulle-scion
195 195
    // give preference to "OS" mulle-scion, using included mulle-scion only as
196 196
    // a fallback
197 197
    //
198
-   cmdString = [NSString stringWithFormat: @"PATH=\"$PATH:/usr/local/bin:%@\" mulle-scion /tmp/MulleScionDrakeTemp.scion %@ > /tmp/MulleScionDrakeTemp.html", mulleScionDirPath_, plistPath];
198
+   cmdString = [NSString stringWithFormat: @"PATH=\"$PATH:/usr/local/bin:%@\" mulle-scion /tmp/MulleScionistTemp.scion %@ > /tmp/MulleScionistTemp.html", mulleScionDirPath_, plistPath];
199 199
    return( cmdString);
200 200
 }
201 201
 
202
+#pragma mark -
203
+#pragma mark WebView
204
+
202 205
 - (NSView <WebDocumentView> *) webViewDocumentView
203 206
 {
204 207
    return( [[[webView mainFrame] frameView] documentView]);
205 208
 }
206 209
 
210
+
207 211
 - (void) loadHTMLIntoWebView
208 212
 {
209 213
    NSScrollView   *webScrollView;
... ...
@@ -213,18 +218,19 @@
213 213
    // get the current scroll position of the document view of the web view
214 214
    webScrollView         = [[self webViewDocumentView] enclosingScrollView];
215 215
    currentScrollPosition = [[webScrollView contentView] bounds].origin;
216
+   currentResponder_     = [[textView window] firstResponder];
216 217
    
217
-   url     = [NSURL fileURLWithPath: @"/tmp/MulleScionDrakeTemp.html"];
218
+   url     = [NSURL fileURLWithPath: @"/tmp/MulleScionistTemp.html"];
218 219
    request = [NSURLRequest requestWithURL: url];
219 220
    // tell the web view to load the generated, local html file
220 221
    [[webView mainFrame] loadRequest:request];
221 222
 }
222 223
 
224
+
223 225
 - (void) drawWebView
224 226
 {
225 227
    NSString       *cmdString;
226 228
    NSString       *log;
227
-
228 229
    
229 230
    cmdString = [self commandStringWithTemplateString:[textView string]
230 231
                                   propertyListString:[plistTextView string]];
... ...
@@ -257,14 +263,45 @@
257 257
 }
258 258
 
259 259
 
260
-// delegate method we receive when it's done loading the html file. 
260
+
261
+- (void) protectCurrentResponderFocus:(NSTimer *) timer
262
+{
263
+   NSTimeInterval  now;
264
+   
265
+   now = [NSDate timeIntervalSinceReferenceDate];
266
+   if( [[timer userInfo] timeIntervalSinceReferenceDate] + 1 < now)
267
+   {
268
+      [timer invalidate];
269
+      return;
270
+   }
271
+   [[currentResponder_ window] makeFirstResponder:currentResponder_];
272
+}
273
+
274
+
275
+- (void) protectCurrentResponderFocusForDuration:(NSTimeInterval) duration
276
+{
277
+   [NSTimer scheduledTimerWithTimeInterval:0.05
278
+                                    target:self
279
+                                  selector:@selector( protectCurrentResponderFocus:)
280
+                                  userInfo:[NSDate date]
281
+                                   repeats:YES];
282
+}
283
+
284
+// delegate method we receive when it's done loading the html file.
261 285
 - (void) webView:(WebView *)sender
262 286
 didFinishLoadForFrame:(WebFrame *)frame
263 287
 {
264
-   // restore the scroll position
265 288
    [[self webViewDocumentView] scrollPoint:currentScrollPosition];
289
+   
290
+   //
291
+   // a stupid hack to prevent the WebKit inspector from grabbing the
292
+   // keyboard, due to reloading...
293
+   //
294
+   if( currentResponder_  == textView || currentResponder_  == plistTextView)
295
+      [self protectCurrentResponderFocusForDuration:1.0];
266 296
 }
267 297
 
298
+
268 299
 - (void) updatePreview
269 300
 {
270 301
    [NSObject cancelPreviousPerformRequestsWithTarget:self
... ...
@@ -273,6 +310,8 @@ didFinishLoadForFrame:(WebFrame *)frame
273 273
    [self refresh: self];
274 274
 }
275 275
 
276
+
277
+#pragma mark -
276 278
 #pragma mark UKSyntaxColored stuff
277 279
 
278 280
 - (NSString *) syntaxDefinitionFilename
... ...
@@ -286,6 +325,7 @@ didFinishLoadForFrame:(WebFrame *)frame
286 286
    return( NSUTF8StringEncoding);
287 287
 }
288 288
 
289
+
289 290
 - (BOOL) readFromData:(NSData *) data
290 291
                ofType:(NSString *) typeName
291 292
                error:(NSError **) outError
... ...
@@ -295,6 +335,8 @@ didFinishLoadForFrame:(WebFrame *)frame
295 295
                          error:outError]);
296 296
 }
297 297
 
298
+
299
+#pragma mark -
298 300
 #pragma mark UKSyntaxColoredTextViewDelegate methods
299 301
 
300 302
 - (NSString *) syntaxDefinitionFilenameForTextViewController: (UKSyntaxColoredTextViewController *) sender
... ...
@@ -320,6 +362,7 @@ didFinishLoadForFrame:(WebFrame *)frame
320 320
    return( dict);
321 321
 }
322 322
 
323
+
323 324
 # pragma mark -
324 325
 # pragma mark Datasource
325 326
 
... ...
@@ -1,6 +1,6 @@
1 1
 //
2 2
 //  NSTask+Path.h
3
-//  MulleScionDrake
3
+//  MulleScionist
4 4
 //
5 5
 //  Created by Nat! on 17.04.14.
6 6
 //
... ...
@@ -1,6 +1,6 @@
1 1
 //
2 2
 //  NSTask+Path.m
3
-//  MulleScionDrake
3
+//  MulleScionist
4 4
 //
5 5
 //  Created by Nat! on 17.04.14.
6 6
 //
... ...
@@ -204,17 +204,17 @@ char   **mulleEnvironmentARGV( NSDictionary *environment)
204 204
            returningStderr:(BOOL) flag
205 205
 {
206 206
    NSMutableString   *s;
207
+   char              **env;
207 208
    char              buf[ 256];
208 209
    int               fd[ 2];
209 210
    int               fdx[ 2];
210 211
    int               i;
211
-   ssize_t           len;
212 212
    int               rval;
213 213
    int               status;
214 214
    int               wrfd[ 2];
215 215
    pid_t             pid;
216
+   ssize_t           len;
216 217
    system_context    info;
217
-   char              **env;
218 218
    
219 219
    rval  = pipe( fd);
220 220
    rval |= pipe( fdx);
... ...
@@ -245,7 +245,7 @@ char   **mulleEnvironmentARGV( NSDictionary *environment)
245 245
       
246 246
       env = mulleEnvironmentARGV( environment);
247 247
 
248
-      _exit( __system( [command cString], &info, env));
248
+      _exit( __system( (char *) [command cString], &info, env));
249 249
    }
250 250
    
251 251
    close( fd[ 1]);
... ...
@@ -2,13 +2,13 @@
2 2
 <archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
3 3
 	<data>
4 4
 		<int key="IBDocument.SystemTarget">1060</int>
5
-		<string key="IBDocument.SystemVersion">13C64</string>
6
-		<string key="IBDocument.InterfaceBuilderVersion">5053</string>
5
+		<string key="IBDocument.SystemVersion">13C1021</string>
6
+		<string key="IBDocument.InterfaceBuilderVersion">5056</string>
7 7
 		<string key="IBDocument.AppKitVersion">1265.19</string>
8 8
 		<string key="IBDocument.HIToolboxVersion">697.40</string>
9 9
 		<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
10 10
 			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
11
-			<string key="NS.object.0">5053</string>
11
+			<string key="NS.object.0">5056</string>
12 12
 		</object>
13 13
 		<array key="IBDocument.IntegratedClassDependencies">
14 14
 			<string>NSBox</string>
... ...
@@ -212,15 +212,6 @@
212 212
 									<reference key="NSOnImage" ref="1033313550"/>
213 213
 									<reference key="NSMixedImage" ref="310636482"/>
214 214
 								</object>
215
-								<object class="NSMenuItem" id="89339715">
216
-									<reference key="NSMenu" ref="720053764"/>
217
-									<string key="NSTitle">Open Datasource…</string>
218
-									<string key="NSKeyEquiv">O</string>
219
-									<int key="NSKeyEquivModMask">1048576</int>
220
-									<int key="NSMnemonicLoc">2147483647</int>
221
-									<reference key="NSOnImage" ref="1033313550"/>
222
-									<reference key="NSMixedImage" ref="310636482"/>
223
-								</object>
224 215
 								<object class="NSMenuItem" id="1025936716">
225 216
 									<reference key="NSMenu" ref="720053764"/>
226 217
 									<string key="NSTitle">Open Recent</string>
... ...
@@ -293,6 +284,26 @@
293 293
 									<reference key="NSOnImage" ref="1033313550"/>
294 294
 									<reference key="NSMixedImage" ref="310636482"/>
295 295
 								</object>
296
+								<object class="NSMenuItem" id="658756031">
297
+									<reference key="NSMenu" ref="720053764"/>
298
+									<bool key="NSIsDisabled">YES</bool>
299
+									<bool key="NSIsSeparator">YES</bool>
300
+									<string key="NSTitle"/>
301
+									<string key="NSKeyEquiv"/>
302
+									<int key="NSKeyEquivModMask">1048576</int>
303
+									<int key="NSMnemonicLoc">2147483647</int>
304
+									<reference key="NSOnImage" ref="1033313550"/>
305
+									<reference key="NSMixedImage" ref="310636482"/>
306
+								</object>
307
+								<object class="NSMenuItem" id="89339715">
308
+									<reference key="NSMenu" ref="720053764"/>
309
+									<string key="NSTitle">Open Datasource…</string>
310
+									<string key="NSKeyEquiv">O</string>
311
+									<int key="NSKeyEquivModMask">1048576</int>
312
+									<int key="NSMnemonicLoc">2147483647</int>
313
+									<reference key="NSOnImage" ref="1033313550"/>
314
+									<reference key="NSMixedImage" ref="310636482"/>
315
+								</object>
296 316
 								<object class="NSMenuItem" id="1010469920">
297 317
 									<reference key="NSMenu" ref="720053764"/>
298 318
 									<bool key="NSIsDisabled">YES</bool>
... ...
@@ -1728,6 +1739,7 @@
1728 1728
 							<reference ref="1010469920"/>
1729 1729
 							<reference ref="900304628"/>
1730 1730
 							<reference ref="89339715"/>
1731
+							<reference ref="658756031"/>
1731 1732
 						</array>
1732 1733
 						<reference key="parent" ref="379814623"/>
1733 1734
 					</object>
... ...
@@ -2420,6 +2432,11 @@
2420 2420
 						<reference key="object" ref="282124473"/>
2421 2421
 						<reference key="parent" ref="567643404"/>
2422 2422
 					</object>
2423
+					<object class="IBObjectRecord">
2424
+						<string key="id">b5h-Xy-OTL</string>
2425
+						<reference key="object" ref="658756031"/>
2426
+						<reference key="parent" ref="720053764"/>
2427
+					</object>
2423 2428
 				</array>
2424 2429
 			</object>
2425 2430
 			<dictionary class="NSMutableDictionary" key="flattenedProperties">
... ...
@@ -2539,6 +2556,7 @@
2539 2539
 				<string key="82.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
2540 2540
 				<string key="83.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
2541 2541
 				<string key="92.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
2542
+				<string key="b5h-Xy-OTL.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
2542 2543
 				<string key="kFW-d7-smj.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
2543 2544
 				<string key="uGQ-j1-opy.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
2544 2545
 			</dictionary>
... ...
@@ -2567,264 +2585,6 @@
2567 2567
 						<string key="minorKey"/>
2568 2568
 					</object>
2569 2569
 				</object>
2570
-				<object class="IBPartialClassDescription">
2571
-					<string key="className">MulleScionistAppDelegate</string>
2572
-					<string key="superclassName">NSObject</string>
2573
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
2574
-						<string key="majorKey">IBProjectSource</string>
2575
-						<string key="minorKey">./Classes/MulleScionistAppDelegate.h</string>
2576
-					</object>
2577
-				</object>
2578
-				<object class="IBPartialClassDescription">
2579
-					<string key="className">MulleScionistDokument</string>
2580
-					<string key="superclassName">UKSyntaxColoredTextDocument</string>
2581
-					<dictionary class="NSMutableDictionary" key="actions">
2582
-						<string key="openDataSource:">id</string>
2583
-						<string key="prettyPrint:">id</string>
2584
-						<string key="refresh:">id</string>
2585
-						<string key="refreshChanged:">id</string>
2586
-					</dictionary>
2587
-					<dictionary class="NSMutableDictionary" key="actionInfosByName">
2588
-						<object class="IBActionInfo" key="openDataSource:">
2589
-							<string key="name">openDataSource:</string>
2590
-							<string key="candidateClassName">id</string>
2591
-						</object>
2592
-						<object class="IBActionInfo" key="prettyPrint:">
2593
-							<string key="name">prettyPrint:</string>
2594
-							<string key="candidateClassName">id</string>
2595
-						</object>
2596
-						<object class="IBActionInfo" key="refresh:">
2597
-							<string key="name">refresh:</string>
2598
-							<string key="candidateClassName">id</string>
2599
-						</object>
2600
-						<object class="IBActionInfo" key="refreshChanged:">
2601
-							<string key="name">refreshChanged:</string>
2602
-							<string key="candidateClassName">id</string>
2603
-						</object>
2604
-					</dictionary>
2605
-					<dictionary class="NSMutableDictionary" key="outlets">
2606
-						<string key="logTextView">NSTextView</string>
2607
-						<string key="plistTextView">NSTextView</string>
2608
-						<string key="refreshProgressIndicator">id</string>
2609
-						<string key="refreshTypePopupButton">id</string>
2610
-						<string key="syntaxCheckResultTextField">id</string>
2611
-						<string key="syntaxCheckerWindow">NSWindow</string>
2612
-						<string key="traceEnabledButton">NSButton</string>
2613
-						<string key="webView">WebView</string>
2614
-					</dictionary>
2615
-					<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
2616
-						<object class="IBToOneOutletInfo" key="logTextView">
2617
-							<string key="name">logTextView</string>
2618
-							<string key="candidateClassName">NSTextView</string>
2619
-						</object>
2620
-						<object class="IBToOneOutletInfo" key="plistTextView">
2621
-							<string key="name">plistTextView</string>
2622
-							<string key="candidateClassName">NSTextView</string>
2623
-						</object>
2624
-						<object class="IBToOneOutletInfo" key="refreshProgressIndicator">
2625
-							<string key="name">refreshProgressIndicator</string>
2626
-							<string key="candidateClassName">id</string>
2627
-						</object>
2628
-						<object class="IBToOneOutletInfo" key="refreshTypePopupButton">
2629
-							<string key="name">refreshTypePopupButton</string>
2630
-							<string key="candidateClassName">id</string>
2631
-						</object>
2632
-						<object class="IBToOneOutletInfo" key="syntaxCheckResultTextField">
2633
-							<string key="name">syntaxCheckResultTextField</string>
2634
-							<string key="candidateClassName">id</string>
2635
-						</object>
2636
-						<object class="IBToOneOutletInfo" key="syntaxCheckerWindow">
2637
-							<string key="name">syntaxCheckerWindow</string>
2638
-							<string key="candidateClassName">NSWindow</string>
2639
-						</object>
2640
-						<object class="IBToOneOutletInfo" key="traceEnabledButton">
2641
-							<string key="name">traceEnabledButton</string>
2642
-							<string key="candidateClassName">NSButton</string>
2643
-						</object>
2644
-						<object class="IBToOneOutletInfo" key="webView">
2645
-							<string key="name">webView</string>
2646
-							<string key="candidateClassName">WebView</string>
2647
-						</object>
2648
-					</dictionary>
2649
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
2650
-						<string key="majorKey">IBProjectSource</string>
2651
-						<string key="minorKey">./Classes/MulleScionistDokument.h</string>
2652
-					</object>
2653
-				</object>
2654
-				<object class="IBPartialClassDescription">
2655
-					<string key="className">UKSyntaxColoredTextDocument</string>
2656
-					<string key="superclassName">NSDocument</string>
2657
-					<dictionary class="NSMutableDictionary" key="actions">
2658
-						<string key="indentSelection:">id</string>
2659
-						<string key="recolorCompleteFile:">id</string>
2660
-						<string key="showGoToPanel:">id</string>
2661
-						<string key="toggleAutoSyntaxColoring:">id</string>
2662
-						<string key="toggleCommentForSelection:">id</string>
2663
-						<string key="toggleMaintainIndentation:">id</string>
2664
-						<string key="unindentSelection:">id</string>
2665
-					</dictionary>
2666
-					<dictionary class="NSMutableDictionary" key="actionInfosByName">
2667
-						<object class="IBActionInfo" key="indentSelection:">
2668
-							<string key="name">indentSelection:</string>
2669
-							<string key="candidateClassName">id</string>
2670
-						</object>
2671
-						<object class="IBActionInfo" key="recolorCompleteFile:">
2672
-							<string key="name">recolorCompleteFile:</string>
2673
-							<string key="candidateClassName">id</string>
2674
-						</object>
2675
-						<object class="IBActionInfo" key="showGoToPanel:">
2676
-							<string key="name">showGoToPanel:</string>
2677
-							<string key="candidateClassName">id</string>
2678
-						</object>
2679
-						<object class="IBActionInfo" key="toggleAutoSyntaxColoring:">
2680
-							<string key="name">toggleAutoSyntaxColoring:</string>
2681
-							<string key="candidateClassName">id</string>
2682
-						</object>
2683
-						<object class="IBActionInfo" key="toggleCommentForSelection:">
2684
-							<string key="name">toggleCommentForSelection:</string>
2685
-							<string key="candidateClassName">id</string>
2686
-						</object>
2687
-						<object class="IBActionInfo" key="toggleMaintainIndentation:">
2688
-							<string key="name">toggleMaintainIndentation:</string>
2689
-							<string key="candidateClassName">id</string>
2690
-						</object>
2691
-						<object class="IBActionInfo" key="unindentSelection:">
2692
-							<string key="name">unindentSelection:</string>
2693
-							<string key="candidateClassName">id</string>
2694
-						</object>
2695
-					</dictionary>
2696
-					<dictionary class="NSMutableDictionary" key="outlets">
2697
-						<string key="gotoPanel">UKTextDocGoToBox</string>
2698
-						<string key="progress">NSProgressIndicator</string>
2699
-						<string key="selectionKindImage">NSImageView</string>
2700
-						<string key="status">NSTextField</string>
2701
-						<string key="textView">NSTextView</string>
2702
-					</dictionary>
2703
-					<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
2704
-						<object class="IBToOneOutletInfo" key="gotoPanel">
2705
-							<string key="name">gotoPanel</string>
2706
-							<string key="candidateClassName">UKTextDocGoToBox</string>
2707
-						</object>
2708
-						<object class="IBToOneOutletInfo" key="progress">
2709
-							<string key="name">progress</string>
2710
-							<string key="candidateClassName">NSProgressIndicator</string>
2711
-						</object>
2712
-						<object class="IBToOneOutletInfo" key="selectionKindImage">
2713
-							<string key="name">selectionKindImage</string>
2714
-							<string key="candidateClassName">NSImageView</string>
2715
-						</object>
2716
-						<object class="IBToOneOutletInfo" key="status">
2717
-							<string key="name">status</string>
2718
-							<string key="candidateClassName">NSTextField</string>
2719
-						</object>
2720
-						<object class="IBToOneOutletInfo" key="textView">
2721
-							<string key="name">textView</string>
2722
-							<string key="candidateClassName">NSTextView</string>
2723
-						</object>
2724
-					</dictionary>
2725
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
2726
-						<string key="majorKey">IBProjectSource</string>
2727
-						<string key="minorKey">./Classes/UKSyntaxColoredTextDocument.h</string>
2728
-					</object>
2729
-				</object>
2730
-				<object class="IBPartialClassDescription">
2731
-					<string key="className">UKSyntaxColoredTextViewController</string>
2732
-					<string key="superclassName">NSViewController</string>
2733
-					<dictionary class="NSMutableDictionary" key="actions">
2734
-						<string key="indentSelection:">id</string>
2735
-						<string key="recolorCompleteFile:">id</string>
2736
-						<string key="toggleAutoSyntaxColoring:">id</string>
2737
-						<string key="toggleCommentForSelection:">id</string>
2738
-						<string key="toggleMaintainIndentation:">id</string>
2739
-						<string key="unindentSelection:">id</string>
2740
-					</dictionary>
2741
-					<dictionary class="NSMutableDictionary" key="actionInfosByName">
2742
-						<object class="IBActionInfo" key="indentSelection:">
2743
-							<string key="name">indentSelection:</string>
2744
-							<string key="candidateClassName">id</string>
2745
-						</object>
2746
-						<object class="IBActionInfo" key="recolorCompleteFile:">
2747
-							<string key="name">recolorCompleteFile:</string>
2748
-							<string key="candidateClassName">id</string>
2749
-						</object>
2750
-						<object class="IBActionInfo" key="toggleAutoSyntaxColoring:">
2751
-							<string key="name">toggleAutoSyntaxColoring:</string>
2752
-							<string key="candidateClassName">id</string>
2753
-						</object>
2754
-						<object class="IBActionInfo" key="toggleCommentForSelection:">
2755
-							<string key="name">toggleCommentForSelection:</string>
2756
-							<string key="candidateClassName">id</string>
2757
-						</object>
2758
-						<object class="IBActionInfo" key="toggleMaintainIndentation:">
2759
-							<string key="name">toggleMaintainIndentation:</string>
2760
-							<string key="candidateClassName">id</string>
2761
-						</object>
2762
-						<object class="IBActionInfo" key="unindentSelection:">
2763
-							<string key="name">unindentSelection:</string>
2764
-							<string key="candidateClassName">id</string>
2765
-						</object>
2766
-					</dictionary>
2767
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
2768
-						<string key="majorKey">IBProjectSource</string>
2769
-						<string key="minorKey">./Classes/UKSyntaxColoredTextViewController.h</string>
2770
-					</object>
2771
-				</object>
2772
-				<object class="IBPartialClassDescription">
2773
-					<string key="className">UKTextDocGoToBox</string>
2774
-					<string key="superclassName">NSObject</string>
2775
-					<dictionary class="NSMutableDictionary" key="actions">
2776
-						<string key="goToLineOrChar:">id</string>
2777
-						<string key="hideGoToSheet:">id</string>
2778
-						<string key="showGoToSheet:">NSWindow</string>
2779
-					</dictionary>
2780
-					<dictionary class="NSMutableDictionary" key="actionInfosByName">
2781
-						<object class="IBActionInfo" key="goToLineOrChar:">
2782
-							<string key="name">goToLineOrChar:</string>
2783
-							<string key="candidateClassName">id</string>
2784
-						</object>
2785
-						<object class="IBActionInfo" key="hideGoToSheet:">
2786
-							<string key="name">hideGoToSheet:</string>
2787
-							<string key="candidateClassName">id</string>
2788
-						</object>
2789
-						<object class="IBActionInfo" key="showGoToSheet:">
2790
-							<string key="name">showGoToSheet:</string>
2791
-							<string key="candidateClassName">NSWindow</string>
2792
-						</object>
2793
-					</dictionary>
2794
-					<dictionary class="NSMutableDictionary" key="outlets">
2795
-						<string key="goToPanel">NSPanel</string>
2796
-						<string key="lineCharChooser">NSMatrix</string>
2797
-						<string key="lineNumField">NSTextField</string>
2798
-						<string key="okayButton">NSButton</string>
2799
-						<string key="targetDocument">id</string>
2800
-					</dictionary>
2801
-					<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
2802
-						<object class="IBToOneOutletInfo" key="goToPanel">
2803
-							<string key="name">goToPanel</string>
2804
-							<string key="candidateClassName">NSPanel</string>
2805
-						</object>
2806
-						<object class="IBToOneOutletInfo" key="lineCharChooser">
2807
-							<string key="name">lineCharChooser</string>
2808
-							<string key="candidateClassName">NSMatrix</string>
2809
-						</object>
2810
-						<object class="IBToOneOutletInfo" key="lineNumField">
2811
-							<string key="name">lineNumField</string>
2812
-							<string key="candidateClassName">NSTextField</string>
2813
-						</object>
2814
-						<object class="IBToOneOutletInfo" key="okayButton">
2815
-							<string key="name">okayButton</string>
2816
-							<string key="candidateClassName">NSButton</string>
2817
-						</object>
2818
-						<object class="IBToOneOutletInfo" key="targetDocument">
2819
-							<string key="name">targetDocument</string>
2820
-							<string key="candidateClassName">id</string>
2821
-						</object>
2822
-					</dictionary>
2823
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
2824
-						<string key="majorKey">IBProjectSource</string>
2825
-						<string key="minorKey">./Classes/UKTextDocGoToBox.h</string>
2826
-					</object>
2827
-				</object>
2828 2570
 			</array>
2829 2571
 		</object>
2830 2572
 		<int key="IBDocument.localizationMode">0</int>
... ...
@@ -2,13 +2,13 @@
2 2
 <archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
3 3
 	<data>
4 4
 		<int key="IBDocument.SystemTarget">1060</int>
5
-		<string key="IBDocument.SystemVersion">13C64</string>
6
-		<string key="IBDocument.InterfaceBuilderVersion">5053</string>
5
+		<string key="IBDocument.SystemVersion">13C1021</string>
6
+		<string key="IBDocument.InterfaceBuilderVersion">5056</string>
7 7
 		<string key="IBDocument.AppKitVersion">1265.19</string>
8 8
 		<string key="IBDocument.HIToolboxVersion">697.40</string>
9 9
 		<dictionary class="NSMutableDictionary" key="IBDocument.PluginVersions">
10
-			<string key="com.apple.InterfaceBuilder.CocoaPlugin">5053</string>
11
-			<string key="com.apple.WebKitIBPlugin">5053</string>
10
+			<string key="com.apple.InterfaceBuilder.CocoaPlugin">5056</string>
11
+			<string key="com.apple.WebKitIBPlugin">5056</string>
12 12
 		</dictionary>
13 13
 		<array key="IBDocument.IntegratedClassDependencies">
14 14
 			<string>NSBox</string>
... ...
@@ -123,7 +123,7 @@
123 123
 																<int key="NSTCFlags">1</int>
124 124
 															</object>
125 125
 															<object class="NSTextViewSharedData" key="NSSharedData">
126
-																<int key="NSFlags">44483</int>
126
+																<int key="NSFlags">44515</int>
127 127
 																<int key="NSTextCheckingTypes">0</int>
128 128
 																<nil key="NSMarkedAttributes"/>
129 129
 																<object class="NSColor" key="NSBackgroundColor" id="871380574">
... ...
@@ -490,7 +490,7 @@ AAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA</bytes>
490 490
 																		<object class="NSTextView" id="157462489">
491 491
 																			<reference key="NSNextResponder" ref="429686640"/>
492 492
 																			<int key="NSvFlags">2322</int>
493
-																			<string key="NSFrameSize">{15, 111}</string>
493
+																			<string key="NSFrameSize">{15, 90}</string>
494 494
 																			<reference key="NSSuperview" ref="429686640"/>
495 495
 																			<reference key="NSWindow"/>
496 496
 																			<reference key="NSNextKeyView" ref="91957353"/>
... ...
@@ -529,7 +529,7 @@ AAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA</bytes>
529 529
 																				<int key="NSTCFlags">1</int>
530 530
 																			</object>
531 531
 																			<object class="NSTextViewSharedData" key="NSSharedData">
532
-																				<int key="NSFlags">16920549</int>
532
+																				<int key="NSFlags">16919461</int>
533 533
 																				<int key="NSTextCheckingTypes">0</int>
534 534
 																				<nil key="NSMarkedAttributes"/>
535 535
 																				<object class="NSColor" key="NSBackgroundColor">
... ...
@@ -557,11 +557,11 @@ AAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA</bytes>
557 557
 																			</object>
558 558
 																			<int key="NSTVFlags">6</int>
559 559
 																			<string key="NSMaxSize">{540, 10000000}</string>
560
-																			<string key="NSMinize">{326, 111}</string>
560
+																			<string key="NSMinize">{326, 90}</string>
561 561
 																			<nil key="NSDelegate"/>
562 562
 																		</object>
563 563
 																	</array>
564
-																	<string key="NSFrame">{{1, 1}, {326, 111}}</string>
564
+																	<string key="NSFrame">{{1, 1}, {326, 90}}</string>
565 565
 																	<reference key="NSSuperview" ref="437724191"/>
566 566
 																	<reference key="NSWindow"/>
567 567
 																	<reference key="NSNextKeyView" ref="157462489"/>
... ...
@@ -599,11 +599,10 @@ AAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA</bytes>
599 599
 																	<reference key="NSWindow"/>
600 600
 																	<reference key="NSNextKeyView" ref="1021721384"/>
601 601
 																	<string key="NSReuseIdentifierKey">_NS:83</string>
602
-																	<bool key="NSEnabled">YES</bool>
603 602
 																	<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
604 603
 																	<reference key="NSTarget" ref="437724191"/>
605 604
 																	<string key="NSAction">_doScroller:</string>
606
-																	<double key="NSPercent">0.5</double>
605
+																	<double key="NSPercent">0.97619047619047616</double>
607 606
 																</object>
608 607
 																<object class="NSScroller" id="325965293">
609 608
 																	<reference key="NSNextResponder" ref="437724191"/>
... ...
@@ -622,7 +621,7 @@ AAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA</bytes>
622 622
 																	<double key="NSPercent">0.94565218687057495</double>
623 623
 																</object>
624 624
 															</array>
625
-															<string key="NSFrameSize">{328, 113}</string>
625
+															<string key="NSFrameSize">{328, 92}</string>
626 626
 															<reference key="NSSuperview" ref="14841239"/>
627 627
 															<reference key="NSWindow"/>
628 628
 															<reference key="NSNextKeyView" ref="325965293"/>
... ...
@@ -704,7 +703,6 @@ AAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA</bytes>
704 704
 											<string key="NSFrame">{{339, 486}, {80, 28}}</string>
705 705
 											<reference key="NSSuperview" ref="778876534"/>
706 706
 											<reference key="NSWindow"/>
707
-											<reference key="NSNextKeyView"/>
708 707
 											<bool key="NSEnabled">YES</bool>
709 708
 											<object class="NSButtonCell" key="NSCell" id="468289207">
710 709
 												<int key="NSCellFlags">67108864</int>
... ...
@@ -727,7 +725,7 @@ AAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA</bytes>
727 727
 											<string key="NSFrame">{{253, 489}, {86, 22}}</string>
728 728
 											<reference key="NSSuperview" ref="778876534"/>
729 729
 											<reference key="NSWindow"/>
730
-											<reference key="NSNextKeyView" ref="718527708"/>
730
+											<reference key="NSNextKeyView" ref="244132808"/>
731 731
 											<bool key="NSEnabled">YES</bool>
732 732
 											<object class="NSPopUpButtonCell" key="NSCell" id="163136336">
733 733
 												<int key="NSCellFlags">-2076180416</int>
... ...
@@ -847,7 +845,7 @@ AAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA</bytes>
847 847
 												<string>public.url</string>
848 848
 												<string>public.url-name</string>
849 849
 											</set>
850
-											<string key="NSFrameSize">{422, 517}</string>
850
+											<string key="NSFrameSize">{422, 486}</string>
851 851
 											<reference key="NSSuperview" ref="778876534"/>
852 852
 											<reference key="NSWindow"/>
853 853
 											<reference key="NSNextKeyView"/>
... ...
@@ -872,7 +870,7 @@ AAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA</bytes>
872 872
 									<string key="NSFrame">{{338, 0}, {422, 517}}</string>
873 873
 									<reference key="NSSuperview" ref="177522710"/>
874 874
 									<reference key="NSWindow"/>
875
-									<reference key="NSNextKeyView" ref="244132808"/>
875
+									<reference key="NSNextKeyView" ref="759366637"/>
876 876
 									<bool key="NSDoNotTranslateAutoresizingMask">YES</bool>
877 877
 									<string key="NSClassName">NSView</string>
878 878
 								</object>
... ...
@@ -1170,45 +1168,13 @@ AAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA</bytes>
1170 1170
 					</object>
1171 1171
 					<string key="id">17</string>
1172 1172
 				</object>
1173
-				<object class="IBConnectionRecord">
1174
-					<object class="IBOutletConnection" key="connection">
1175
-						<string key="label">downloadDelegate</string>
1176
-						<reference key="source" ref="244132808"/>
1177
-						<reference key="destination" ref="512844837"/>
1178
-					</object>
1179
-					<string key="id">100047</string>
1180
-				</object>
1181 1173
 				<object class="IBConnectionRecord">
1182 1174
 					<object class="IBOutletConnection" key="connection">
1183 1175
 						<string key="label">frameLoadDelegate</string>
1184 1176
 						<reference key="source" ref="244132808"/>
1185 1177
 						<reference key="destination" ref="512844837"/>
1186 1178
 					</object>
1187
-					<string key="id">100048</string>
1188
-				</object>
1189
-				<object class="IBConnectionRecord">
1190
-					<object class="IBOutletConnection" key="connection">
1191
-						<string key="label">policyDelegate</string>
1192
-						<reference key="source" ref="244132808"/>
1193
-						<reference key="destination" ref="512844837"/>
1194
-					</object>
1195
-					<string key="id">100049</string>
1196
-				</object>
1197
-				<object class="IBConnectionRecord">
1198
-					<object class="IBOutletConnection" key="connection">
1199
-						<string key="label">resourceLoadDelegate</string>
1200
-						<reference key="source" ref="244132808"/>
1201
-						<reference key="destination" ref="512844837"/>
1202
-					</object>
1203
-					<string key="id">100050</string>
1204
-				</object>
1205
-				<object class="IBConnectionRecord">
1206
-					<object class="IBOutletConnection" key="connection">
1207
-						<string key="label">UIDelegate</string>
1208
-						<reference key="source" ref="244132808"/>
1209
-						<reference key="destination" ref="512844837"/>
1210
-					</object>
1211
-					<string key="id">100051</string>
1179
+					<string key="id">NQG-At-zxl</string>
1212 1180
 				</object>
1213 1181
 				<object class="IBConnectionRecord">
1214 1182
 					<object class="IBOutletConnection" key="connection">
... ...
@@ -1754,8 +1720,6 @@ AAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA</bytes>
1754 1754
 						</object>
1755 1755
 					</dictionary>
1756 1756
 					<dictionary class="NSMutableDictionary" key="outlets">
1757
-						<string key="hackyHack1">NSBox</string>
1758
-						<string key="hackyHack2">NSBox</string>
1759 1757
 						<string key="logTextView">NSTextView</string>
1760 1758
 						<string key="plistTextView">NSTextView</string>
1761 1759
 						<string key="refreshProgressIndicator">id</string>
... ...
@@ -1766,14 +1730,6 @@ AAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA</bytes>
1766 1766
 						<string key="webView">WebView</string>
1767 1767
 					</dictionary>
1768 1768
 					<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
1769
-						<object class="IBToOneOutletInfo" key="hackyHack1">
1770
-							<string key="name">hackyHack1</string>
1771
-							<string key="candidateClassName">NSBox</string>
1772
-						</object>
1773
-						<object class="IBToOneOutletInfo" key="hackyHack2">
1774
-							<string key="name">hackyHack2</string>
1775
-							<string key="candidateClassName">NSBox</string>
1776
-						</object>
1777 1769
 						<object class="IBToOneOutletInfo" key="logTextView">
1778 1770
 							<string key="name">logTextView</string>
1779 1771
 							<string key="candidateClassName">NSTextView</string>
... ...
@@ -1,21 +1,59 @@
1 1
 <html>
2
-<!--{# a comment #}
3
-{# defines can't be multilined #}
4
-{% define sortedByName = [self sortedArrayUsingDescriptors:@( [NSSortDescriptor sortDescriptorWithKey:@"name" ascending:NO])]; %}-->
5 2
 <body>
6
-<!--{# some multi-lined script, embedded to hide it from Browser just in case #}
3
+This is an example of HTML text, that is processed by MulleScion.<p>
4
+If you wrap the {{ @"{% %}" }} and {{ @"{# #}" }} within HTML comments, it should
5
+be possible to edit the template with a regular HTML editor.
6
+
7
+<!--
8
+{# next up is a multi-lined script, embedded to hide it from Browser 
9
+   just in case. This is a comment ;) #}
7 10
 {%
8
-   set expr=@"An Expression";
9
-   # inline comment
11
+  # this is an inline comment, available in multi-line commands
12
+
13
+   set title=@"Example 1";
10 14
    date=[NSDate date];
11
- %}-->
12
-<!-- If you are creating output, don't surround it with HTML comments -->
13
-<h4>{{ expr }}</h4>
15
+
16
+ # title and date have now been set
17
+
18
+ %}
19
+-->
20
+
21
+{# When creating output, don't surround {{ }} with HTML comments. #}
22
+<h4>{{ title }}</h4>
14 23
 It's {{ date }} now.
15 24
 <p>
25
+
26
+<!-- 
27
+{% set title=@"Example 2" %} 
28
+-->
29
+<h4>{{ title }}</h4>
30
+
31
+In this example we peruse the contents of the property list.
32
+<p>
33
+<!--
34
+{# each define must be enclosed in it's own {% %} tags #}
35
+{% define sortedByName = [self sortedArrayUsingDescriptors:@( [NSSortDescriptor sortDescriptorWithKey:@"name"
36
+ascending:NO])] %}
16 37
 {%
38
+   # Liga is an array from the property list, which we presort and then walk
39
+   # through it
40
+
41
+   # since we are inside html comments, we can not output the data from here
42
+   # it will just end up as HTML comment text (see for yourself in the web inspector)
43
+
17 44
    for item in Liga . sortedByName
18
-   {{ @"Got this \"" }} {{ item.name }} {{ @"\" from the data source<br>" }}
45
+      {{ @"HTML Comment: \"" }}{{ item.name }}{{ @"\" from the data source" }}
46
+
47
+      # with log we can place output into stderr, which is shown in the blue
48
+      # screen
49
+      log @( @"debug", item.name, item.clubs.name)
50
+
19 51
  %}
52
+{# print the values outside #}
53
+ -->
54
+{{ @"Got \"" }}{{ item.name }}{{ @"\" from the data source" }}<br>
55
+<!--
56
+{% endfor %}
57
+-->
20 58
 </body>
21 59
 </html>
22 60
\ No newline at end of file
... ...
@@ -1,5 +1,5 @@
1 1
 /*
2
- MulleScionDrake - MulleScion template editor 
2
+ MulleScionist - MulleScion template editor 
3 3
  Copyright (C) 2011 Sveinbjorn Thordarson <sveinbjornt@gmail.com>
4 4
  Copyright (c) 2013 Mulle kybernetiK, code by Nat!
5 5