Kind of starting from scratch.

Recreated the project as an xcode 4 project.
Key Bindings are working and reloading.
Got rid of everything that wasn't being used right now.
This commit is contained in:
Corey Johnson 2011-10-26 11:12:18 -07:00
parent e64a0e64a1
commit 003effe5fd
48 changed files with 735 additions and 8868 deletions

View File

@ -0,0 +1,404 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
043D7E4C145794990078D710 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 043D7E4B145794990078D710 /* Cocoa.framework */; };
043D7E56145794990078D710 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 043D7E54145794990078D710 /* InfoPlist.strings */; };
043D7E58145794990078D710 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 043D7E57145794990078D710 /* main.m */; };
043D7E621457949A0078D710 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 043D7E601457949A0078D710 /* MainMenu.xib */; };
043D7E84145795B20078D710 /* BridgeSupportController.m in Sources */ = {isa = PBXBuildFile; fileRef = 043D7E6D145795B20078D710 /* BridgeSupportController.m */; };
043D7E85145795B20078D710 /* JSCocoaController.m in Sources */ = {isa = PBXBuildFile; fileRef = 043D7E70145795B20078D710 /* JSCocoaController.m */; };
043D7E86145795B20078D710 /* JSCocoaFFIArgument.m in Sources */ = {isa = PBXBuildFile; fileRef = 043D7E72145795B20078D710 /* JSCocoaFFIArgument.m */; };
043D7E87145795B20078D710 /* JSCocoaFFIClosure.m in Sources */ = {isa = PBXBuildFile; fileRef = 043D7E74145795B20078D710 /* JSCocoaFFIClosure.m */; };
043D7E88145795B20078D710 /* JSCocoaLib.m in Sources */ = {isa = PBXBuildFile; fileRef = 043D7E76145795B20078D710 /* JSCocoaLib.m */; };
043D7E89145795B20078D710 /* JSCocoaPrivateObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 043D7E78145795B20078D710 /* JSCocoaPrivateObject.m */; };
043D7E8A145795B20078D710 /* UKFileWatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 043D7E7B145795B20078D710 /* UKFileWatcher.m */; };
043D7E8B145795B20078D710 /* UKFNSubscribeFileWatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 043D7E7D145795B20078D710 /* UKFNSubscribeFileWatcher.m */; };
043D7E8C145795B20078D710 /* UKKQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = 043D7E7F145795B20078D710 /* UKKQueue.m */; };
043D7E8D145795B20078D710 /* UKMainThreadProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 043D7E81145795B20078D710 /* UKMainThreadProxy.m */; };
043D7E8E145795B20078D710 /* AtomWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 043D7E83145795B20078D710 /* AtomWindow.xib */; };
043D7E94145795B70078D710 /* AtomApp.m in Sources */ = {isa = PBXBuildFile; fileRef = 043D7E91145795B70078D710 /* AtomApp.m */; };
043D7E95145795B70078D710 /* AtomController.m in Sources */ = {isa = PBXBuildFile; fileRef = 043D7E93145795B70078D710 /* AtomController.m */; };
047F26021457978C006DC904 /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 047F26011457978C006DC904 /* JavaScriptCore.framework */; };
047F260414579792006DC904 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 047F260314579792006DC904 /* WebKit.framework */; };
047F260E145883B9006DC904 /* Icon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 047F260D145883B9006DC904 /* Icon.icns */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
043D7E47145794990078D710 /* Atom.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Atom.app; sourceTree = BUILT_PRODUCTS_DIR; };
043D7E4B145794990078D710 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
043D7E4E145794990078D710 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
043D7E4F145794990078D710 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };
043D7E50145794990078D710 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
043D7E53145794990078D710 /* Atom-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Atom-Info.plist"; sourceTree = "<group>"; };
043D7E55145794990078D710 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
043D7E57145794990078D710 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
043D7E59145794990078D710 /* Atom-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Atom-Prefix.pch"; sourceTree = "<group>"; };
043D7E611457949A0078D710 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = "<group>"; };
043D7E6C145795B20078D710 /* BridgeSupportController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BridgeSupportController.h; sourceTree = "<group>"; };
043D7E6D145795B20078D710 /* BridgeSupportController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BridgeSupportController.m; sourceTree = "<group>"; };
043D7E6E145795B20078D710 /* JSCocoa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCocoa.h; sourceTree = "<group>"; };
043D7E6F145795B20078D710 /* JSCocoaController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCocoaController.h; sourceTree = "<group>"; };
043D7E70145795B20078D710 /* JSCocoaController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JSCocoaController.m; sourceTree = "<group>"; };
043D7E71145795B20078D710 /* JSCocoaFFIArgument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCocoaFFIArgument.h; sourceTree = "<group>"; };
043D7E72145795B20078D710 /* JSCocoaFFIArgument.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JSCocoaFFIArgument.m; sourceTree = "<group>"; };
043D7E73145795B20078D710 /* JSCocoaFFIClosure.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCocoaFFIClosure.h; sourceTree = "<group>"; };
043D7E74145795B20078D710 /* JSCocoaFFIClosure.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JSCocoaFFIClosure.m; sourceTree = "<group>"; };
043D7E75145795B20078D710 /* JSCocoaLib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCocoaLib.h; sourceTree = "<group>"; };
043D7E76145795B20078D710 /* JSCocoaLib.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JSCocoaLib.m; sourceTree = "<group>"; };
043D7E77145795B20078D710 /* JSCocoaPrivateObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCocoaPrivateObject.h; sourceTree = "<group>"; };
043D7E78145795B20078D710 /* JSCocoaPrivateObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JSCocoaPrivateObject.m; sourceTree = "<group>"; };
043D7E7A145795B20078D710 /* UKFileWatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UKFileWatcher.h; sourceTree = "<group>"; };
043D7E7B145795B20078D710 /* UKFileWatcher.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UKFileWatcher.m; sourceTree = "<group>"; };
043D7E7C145795B20078D710 /* UKFNSubscribeFileWatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UKFNSubscribeFileWatcher.h; sourceTree = "<group>"; };
043D7E7D145795B20078D710 /* UKFNSubscribeFileWatcher.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UKFNSubscribeFileWatcher.m; sourceTree = "<group>"; };
043D7E7E145795B20078D710 /* UKKQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UKKQueue.h; sourceTree = "<group>"; };
043D7E7F145795B20078D710 /* UKKQueue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UKKQueue.m; sourceTree = "<group>"; };
043D7E80145795B20078D710 /* UKMainThreadProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UKMainThreadProxy.h; sourceTree = "<group>"; };
043D7E81145795B20078D710 /* UKMainThreadProxy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UKMainThreadProxy.m; sourceTree = "<group>"; };
043D7E83145795B20078D710 /* AtomWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = AtomWindow.xib; path = xibs/AtomWindow.xib; sourceTree = "<group>"; };
043D7E90145795B70078D710 /* AtomApp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AtomApp.h; path = Classes/AtomApp.h; sourceTree = "<group>"; };
043D7E91145795B70078D710 /* AtomApp.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AtomApp.m; path = Classes/AtomApp.m; sourceTree = "<group>"; };
043D7E92145795B70078D710 /* AtomController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AtomController.h; path = Classes/AtomController.h; sourceTree = "<group>"; };
043D7E93145795B70078D710 /* AtomController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AtomController.m; path = Classes/AtomController.m; sourceTree = "<group>"; };
047F26011457978C006DC904 /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
047F260314579792006DC904 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
047F260D145883B9006DC904 /* Icon.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = Icon.icns; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
043D7E44145794990078D710 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
047F260414579792006DC904 /* WebKit.framework in Frameworks */,
047F26021457978C006DC904 /* JavaScriptCore.framework in Frameworks */,
043D7E4C145794990078D710 /* Cocoa.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
043D7E3C145794990078D710 = {
isa = PBXGroup;
children = (
043D7E51145794990078D710 /* Atom */,
043D7E4A145794990078D710 /* Frameworks */,
043D7E48145794990078D710 /* Products */,
);
sourceTree = "<group>";
};
043D7E48145794990078D710 /* Products */ = {
isa = PBXGroup;
children = (
043D7E47145794990078D710 /* Atom.app */,
);
name = Products;
sourceTree = "<group>";
};
043D7E4A145794990078D710 /* Frameworks */ = {
isa = PBXGroup;
children = (
047F260314579792006DC904 /* WebKit.framework */,
047F26011457978C006DC904 /* JavaScriptCore.framework */,
043D7E4B145794990078D710 /* Cocoa.framework */,
043D7E4D145794990078D710 /* Other Frameworks */,
);
name = Frameworks;
sourceTree = "<group>";
};
043D7E4D145794990078D710 /* Other Frameworks */ = {
isa = PBXGroup;
children = (
043D7E4E145794990078D710 /* AppKit.framework */,
043D7E4F145794990078D710 /* CoreData.framework */,
043D7E50145794990078D710 /* Foundation.framework */,
);
name = "Other Frameworks";
sourceTree = "<group>";
};
043D7E51145794990078D710 /* Atom */ = {
isa = PBXGroup;
children = (
043D7E90145795B70078D710 /* AtomApp.h */,
043D7E91145795B70078D710 /* AtomApp.m */,
043D7E92145795B70078D710 /* AtomController.h */,
043D7E93145795B70078D710 /* AtomController.m */,
043D7E6B145795B20078D710 /* JSCocoa */,
043D7E79145795B20078D710 /* UKKQueue */,
043D7E52145794990078D710 /* Supporting Files */,
);
path = Atom;
sourceTree = "<group>";
};
043D7E52145794990078D710 /* Supporting Files */ = {
isa = PBXGroup;
children = (
047F260D145883B9006DC904 /* Icon.icns */,
043D7E601457949A0078D710 /* MainMenu.xib */,
043D7E83145795B20078D710 /* AtomWindow.xib */,
043D7E53145794990078D710 /* Atom-Info.plist */,
043D7E54145794990078D710 /* InfoPlist.strings */,
043D7E57145794990078D710 /* main.m */,
043D7E59145794990078D710 /* Atom-Prefix.pch */,
);
name = "Supporting Files";
sourceTree = "<group>";
};
043D7E6B145795B20078D710 /* JSCocoa */ = {
isa = PBXGroup;
children = (
043D7E6C145795B20078D710 /* BridgeSupportController.h */,
043D7E6D145795B20078D710 /* BridgeSupportController.m */,
043D7E6E145795B20078D710 /* JSCocoa.h */,
043D7E6F145795B20078D710 /* JSCocoaController.h */,
043D7E70145795B20078D710 /* JSCocoaController.m */,
043D7E71145795B20078D710 /* JSCocoaFFIArgument.h */,
043D7E72145795B20078D710 /* JSCocoaFFIArgument.m */,
043D7E73145795B20078D710 /* JSCocoaFFIClosure.h */,
043D7E74145795B20078D710 /* JSCocoaFFIClosure.m */,
043D7E75145795B20078D710 /* JSCocoaLib.h */,
043D7E76145795B20078D710 /* JSCocoaLib.m */,
043D7E77145795B20078D710 /* JSCocoaPrivateObject.h */,
043D7E78145795B20078D710 /* JSCocoaPrivateObject.m */,
);
path = JSCocoa;
sourceTree = "<group>";
};
043D7E79145795B20078D710 /* UKKQueue */ = {
isa = PBXGroup;
children = (
043D7E7A145795B20078D710 /* UKFileWatcher.h */,
043D7E7B145795B20078D710 /* UKFileWatcher.m */,
043D7E7C145795B20078D710 /* UKFNSubscribeFileWatcher.h */,
043D7E7D145795B20078D710 /* UKFNSubscribeFileWatcher.m */,
043D7E7E145795B20078D710 /* UKKQueue.h */,
043D7E7F145795B20078D710 /* UKKQueue.m */,
043D7E80145795B20078D710 /* UKMainThreadProxy.h */,
043D7E81145795B20078D710 /* UKMainThreadProxy.m */,
);
path = UKKQueue;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
043D7E46145794990078D710 /* Atom */ = {
isa = PBXNativeTarget;
buildConfigurationList = 043D7E651457949A0078D710 /* Build configuration list for PBXNativeTarget "Atom" */;
buildPhases = (
043D7E43145794990078D710 /* Sources */,
043D7E44145794990078D710 /* Frameworks */,
043D7E45145794990078D710 /* Resources */,
047F25FF145796A2006DC904 /* Copy HTML folder & compile CoffeeScript */,
);
buildRules = (
);
dependencies = (
);
name = Atom;
productName = Atom;
productReference = 043D7E47145794990078D710 /* Atom.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
043D7E3E145794990078D710 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0420;
};
buildConfigurationList = 043D7E41145794990078D710 /* Build configuration list for PBXProject "Atom" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
en,
);
mainGroup = 043D7E3C145794990078D710;
productRefGroup = 043D7E48145794990078D710 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
043D7E46145794990078D710 /* Atom */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
043D7E45145794990078D710 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
043D7E56145794990078D710 /* InfoPlist.strings in Resources */,
043D7E621457949A0078D710 /* MainMenu.xib in Resources */,
043D7E8E145795B20078D710 /* AtomWindow.xib in Resources */,
047F260E145883B9006DC904 /* Icon.icns in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
047F25FF145796A2006DC904 /* Copy HTML folder & compile CoffeeScript */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "Copy HTML folder & compile CoffeeScript";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "rake build";
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
043D7E43145794990078D710 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
043D7E58145794990078D710 /* main.m in Sources */,
043D7E84145795B20078D710 /* BridgeSupportController.m in Sources */,
043D7E85145795B20078D710 /* JSCocoaController.m in Sources */,
043D7E86145795B20078D710 /* JSCocoaFFIArgument.m in Sources */,
043D7E87145795B20078D710 /* JSCocoaFFIClosure.m in Sources */,
043D7E88145795B20078D710 /* JSCocoaLib.m in Sources */,
043D7E89145795B20078D710 /* JSCocoaPrivateObject.m in Sources */,
043D7E8A145795B20078D710 /* UKFileWatcher.m in Sources */,
043D7E8B145795B20078D710 /* UKFNSubscribeFileWatcher.m in Sources */,
043D7E8C145795B20078D710 /* UKKQueue.m in Sources */,
043D7E8D145795B20078D710 /* UKMainThreadProxy.m in Sources */,
043D7E94145795B70078D710 /* AtomApp.m in Sources */,
043D7E95145795B70078D710 /* AtomController.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
043D7E54145794990078D710 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
043D7E55145794990078D710 /* en */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
043D7E601457949A0078D710 /* MainMenu.xib */ = {
isa = PBXVariantGroup;
children = (
043D7E611457949A0078D710 /* en */,
);
name = MainMenu.xib;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
043D7E631457949A0078D710 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
COPY_PHASE_STRIP = NO;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PRECOMPILE_PREFIX_HEADER = NO;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.7;
ONLY_ACTIVE_ARCH = YES;
OTHER_LDFLAGS = "-lffi";
SDKROOT = macosx;
};
name = Debug;
};
043D7E641457949A0078D710 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
GCC_PRECOMPILE_PREFIX_HEADER = NO;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.7;
OTHER_LDFLAGS = "-lffi";
SDKROOT = macosx;
};
name = Release;
};
043D7E661457949A0078D710 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "Atom/Atom-Prefix.pch";
INFOPLIST_FILE = "Atom/Atom-Info.plist";
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = app;
};
name = Debug;
};
043D7E671457949A0078D710 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "Atom/Atom-Prefix.pch";
INFOPLIST_FILE = "Atom/Atom-Info.plist";
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = app;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
043D7E41145794990078D710 /* Build configuration list for PBXProject "Atom" */ = {
isa = XCConfigurationList;
buildConfigurations = (
043D7E631457949A0078D710 /* Debug */,
043D7E641457949A0078D710 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
043D7E651457949A0078D710 /* Build configuration list for PBXNativeTarget "Atom" */ = {
isa = XCConfigurationList;
buildConfigurations = (
043D7E661457949A0078D710 /* Debug */,
043D7E671457949A0078D710 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 043D7E3E145794990078D710 /* Project object */;
}

View File

@ -3,13 +3,13 @@
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<string>en</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIconFile</key>
<string>APPL.icns</string>
<string>Icon.icns</string>
<key>CFBundleIdentifier</key>
<string>com.github.Atomicity</string>
<string>GitHub.${PRODUCT_NAME:rfc1034identifier}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
@ -24,6 +24,8 @@
<string>1</string>
<key>LSMinimumSystemVersion</key>
<string>${MACOSX_DEPLOYMENT_TARGET}</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2011 __MyCompanyName__. All rights reserved.</string>
<key>NSMainNibFile</key>
<string>MainMenu</string>
<key>NSPrincipalClass</key>

7
Atom/Atom-Prefix.pch Normal file
View File

@ -0,0 +1,7 @@
//
// Prefix header for all source files of the 'Atom' target in the 'Atom' project
//
#ifdef __OBJC__
#import <Cocoa/Cocoa.h>
#endif

View File

@ -17,22 +17,22 @@
}
// Overridden
//- (void)sendEvent:(NSEvent *)event {
// if ([event type] == NSKeyDown) {
// BOOL handeled = NO;
// id controller = [[self keyWindow] windowController];
//
// // The keyWindow could be a Cocoa Dialog or something, ignore that.
// if ([controller isKindOfClass:[AtomController class]]) {
// handeled = [controller handleKeyEvent:event];
// }
//
// if (!handeled) [super sendEvent:event];
// }
// else {
// [super sendEvent:event];
// }
//}
- (void)sendEvent:(NSEvent *)event {
if ([event type] == NSKeyDown) {
BOOL handeled = NO;
id controller = [[self keyWindow] windowController];
// The keyWindow could be a Cocoa Dialog or something, ignore that.
if ([controller isKindOfClass:[AtomController class]]) {
handeled = [controller handleKeyEvent:event];
}
if (!handeled) [super sendEvent:event];
}
else {
[super sendEvent:event];
}
}
// AppDelegate
- (void)applicationWillFinishLaunching:(NSNotification *)aNotification {

View File

@ -1,11 +1,3 @@
//
// AtomWindowController.h
// Atomicity
//
// Created by Chris Wanstrath on 8/22/11.
// Copyright 2011 GitHub. All rights reserved.
//
#import <Cocoa/Cocoa.h>
@class JSCocoa;

View File

@ -1,11 +1,3 @@
//
// AtomWindowController.m
// Atomicity
//
// Created by Chris Wanstrath on 8/22/11.
// Copyright 2011 GitHub. All rights reserved.
//`
#import "AtomController.h"
#import "AtomApp.h"
@ -48,19 +40,10 @@
jscocoa = [[JSCocoa alloc] initWithGlobalContext:[[webView mainFrame] globalContext]];
[jscocoa setObject:self withName:@"atomController"];
// NSString *resourcePath = [[NSBundle mainBundle] resourcePath];
// NSString *requirePath = [resourcePath stringByAppendingString:@"/src/require.js"];
// [jscocoa evalJSFile:requirePath];
NSURL *resourceURL = [[NSBundle mainBundle] resourceURL];
NSURL *indexURL = [resourceURL URLByAppendingPathComponent:@"index.html"];
NSURLRequest *request = [NSURLRequest requestWithURL:indexURL];
[[webView mainFrame] loadRequest:request];
NSString *resourcePath = [[NSBundle mainBundle] resourcePath];
NSString *requirePath = [resourcePath stringByAppendingString:@"/src/watcher.js"];
[jscocoa evalJSFile:requirePath];
[[webView mainFrame] loadRequest:request];
}
}

View File

@ -261,22 +261,18 @@ const JSClassDefinition kJSClassDefinitionEmpty = { 0, 0,
[self setObjectNoRetain:self withName:@"__jsc__" attributes:kJSPropertyAttributeReadOnly|kJSPropertyAttributeDontEnum|kJSPropertyAttributeDontDelete];
// Load class kit
BOOL b;
if (!ctx) {
useJSLint = NO;
id lintPath = [[NSBundle bundleForClass:[self class]] pathForResource:@"jslint-jscocoa" ofType:@"js"];
if ([[NSFileManager defaultManager] fileExistsAtPath:lintPath]) {
b = [self evalJSFile:lintPath];
if (!b)
NSLog(@"[JSCocoa initWithGlobalContext:] JSLint not loaded");
}
id classKitPath = [[NSBundle bundleForClass:[self class]] pathForResource:@"class" ofType:@"js"];
if ([[NSFileManager defaultManager] fileExistsAtPath:classKitPath]) {
b = [self evalJSFile:classKitPath];
if (!b)
NSLog(@"[JSCocoa initWithGlobalContext:] class.js not loaded");
}
}
if (!_ctx)
{
useJSLint = NO;
id lintPath = [[NSBundle bundleForClass:[self class]] pathForResource:@"jslint-jscocoa" ofType:@"js"];
if ([[NSFileManager defaultManager] fileExistsAtPath:lintPath]) {
BOOL b = [self evalJSFile:lintPath];
if (!b)
NSLog(@"[JSCocoa initWithGlobalContext:] JSLint not loaded");
}
id classKitPath = [[NSBundle bundleForClass:[self class]] pathForResource:@"class" ofType:@"js"];
if ([[NSFileManager defaultManager] fileExistsAtPath:classKitPath]) [self evalJSFile:classKitPath];
}
// Objects can use their own dealloc, normally used up by JSCocoa
// JSCocoa registers 'safeDealloc' in place of 'dealloc' and calls it in the next run loop cycle.
@ -490,7 +486,9 @@ static id JSCocoaSingleton = NULL;
// Quick eval of strings and functions returning ObjC objects
//
- (id)eval:(NSString*)script { return [self toObject:[self evalJSString:script]]; }
- (id)callFunction:(NSString*)name { return [self toObject:[self callJSFunctionNamed:name withArgumentsArray:nil]]; }
- (id)callFunction:(NSString*)name {
return [self toObject:[self callJSFunctionNamed:name withArgumentsArray:nil]];
}
- (id)callFunction:(NSString*)name withArguments:(NSArray*)arguments { return [self toObject:[self callJSFunctionNamed:name withArgumentsArray:arguments]]; }
- (BOOL)hasFunction:(NSString*)name { return [self hasJSFunctionNamed:name]; }

File diff suppressed because it is too large Load Diff

14
Atom/main.m Normal file
View File

@ -0,0 +1,14 @@
//
// main.m
// Atom
//
// Created by Corey Johnson on 10/25/11.
// Copyright (c) 2011 __MyCompanyName__. All rights reserved.
//
#import <Cocoa/Cocoa.h>
int main(int argc, char *argv[])
{
return NSApplicationMain(argc, (const char **)argv);
}

16
Cocoa/.gitignore vendored
View File

@ -1,16 +0,0 @@
# Xcode
build/*
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
*.xcworkspace
!default.xcworkspace
xcuserdata
profile
*.moved-aside

View File

@ -1,431 +0,0 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 45;
objects = {
/* Begin PBXBuildFile section */
045043D31455D51B00BFC3A0 /* UKFileWatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 045043CC1455D51B00BFC3A0 /* UKFileWatcher.m */; };
045043D41455D51B00BFC3A0 /* UKFNSubscribeFileWatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 045043CE1455D51B00BFC3A0 /* UKFNSubscribeFileWatcher.m */; };
045043D51455D51B00BFC3A0 /* UKKQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = 045043D01455D51B00BFC3A0 /* UKKQueue.m */; };
045043D61455D51B00BFC3A0 /* UKMainThreadProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 045043D21455D51B00BFC3A0 /* UKMainThreadProxy.m */; };
046973A414145A9500415518 /* AtomApp.m in Sources */ = {isa = PBXBuildFile; fileRef = 046973A314145A9500415518 /* AtomApp.m */; };
83599F9B13FE0F8400AC37E3 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 83599F9A13FE0F8400AC37E3 /* WebKit.framework */; };
8359A6EE13FE26DA00AC37E3 /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8359A6ED13FE26DA00AC37E3 /* JavaScriptCore.framework */; };
837D8BA91408FAAA009B6DFA /* AtomController.m in Sources */ = {isa = PBXBuildFile; fileRef = 837D8BA71408FAAA009B6DFA /* AtomController.m */; };
837D8BAC1408FAB4009B6DFA /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 837D8BAB1408FAB4009B6DFA /* main.m */; };
837D8BB41408FAC3009B6DFA /* APPL.icns in Resources */ = {isa = PBXBuildFile; fileRef = 837D8BAD1408FAC3009B6DFA /* APPL.icns */; };
837D8BB51408FAC3009B6DFA /* Atomicity-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 837D8BAE1408FAC3009B6DFA /* Atomicity-Info.plist */; };
837D8BB61408FAC3009B6DFA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 837D8BB01408FAC3009B6DFA /* InfoPlist.strings */; };
837D8BB71408FAC3009B6DFA /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 837D8BB21408FAC3009B6DFA /* MainMenu.xib */; };
837D8BD51408FAD4009B6DFA /* BridgeSupportController.m in Sources */ = {isa = PBXBuildFile; fileRef = 837D8BC71408FAD4009B6DFA /* BridgeSupportController.m */; };
837D8BD71408FAD4009B6DFA /* JSCocoaController.m in Sources */ = {isa = PBXBuildFile; fileRef = 837D8BCB1408FAD4009B6DFA /* JSCocoaController.m */; };
837D8BD81408FAD4009B6DFA /* JSCocoaFFIArgument.m in Sources */ = {isa = PBXBuildFile; fileRef = 837D8BCD1408FAD4009B6DFA /* JSCocoaFFIArgument.m */; };
837D8BD91408FAD4009B6DFA /* JSCocoaFFIClosure.m in Sources */ = {isa = PBXBuildFile; fileRef = 837D8BCF1408FAD4009B6DFA /* JSCocoaFFIClosure.m */; };
837D8BDA1408FAD4009B6DFA /* JSCocoaLib.m in Sources */ = {isa = PBXBuildFile; fileRef = 837D8BD11408FAD4009B6DFA /* JSCocoaLib.m */; };
837D8BDB1408FAD4009B6DFA /* JSCocoaPrivateObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 837D8BD31408FAD4009B6DFA /* JSCocoaPrivateObject.m */; };
837D8BE11408FAF5009B6DFA /* AtomWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 837D8BE01408FAF5009B6DFA /* AtomWindow.xib */; };
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
045043CB1455D51B00BFC3A0 /* UKFileWatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UKFileWatcher.h; sourceTree = "<group>"; };
045043CC1455D51B00BFC3A0 /* UKFileWatcher.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UKFileWatcher.m; sourceTree = "<group>"; };
045043CD1455D51B00BFC3A0 /* UKFNSubscribeFileWatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UKFNSubscribeFileWatcher.h; sourceTree = "<group>"; };
045043CE1455D51B00BFC3A0 /* UKFNSubscribeFileWatcher.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UKFNSubscribeFileWatcher.m; sourceTree = "<group>"; };
045043CF1455D51B00BFC3A0 /* UKKQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UKKQueue.h; sourceTree = "<group>"; };
045043D01455D51B00BFC3A0 /* UKKQueue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UKKQueue.m; sourceTree = "<group>"; };
045043D11455D51B00BFC3A0 /* UKMainThreadProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UKMainThreadProxy.h; sourceTree = "<group>"; };
045043D21455D51B00BFC3A0 /* UKMainThreadProxy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UKMainThreadProxy.m; sourceTree = "<group>"; };
046973A214145A9500415518 /* AtomApp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AtomApp.h; path = Classes/AtomApp.h; sourceTree = "<group>"; };
046973A314145A9500415518 /* AtomApp.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AtomApp.m; path = Classes/AtomApp.m; sourceTree = "<group>"; };
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = "<absolute>"; };
29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
83599F9A13FE0F8400AC37E3 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
8359A6ED13FE26DA00AC37E3 /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
837D8BA61408FAAA009B6DFA /* AtomController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AtomController.h; path = Classes/AtomController.h; sourceTree = SOURCE_ROOT; };
837D8BA71408FAAA009B6DFA /* AtomController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AtomController.m; path = Classes/AtomController.m; sourceTree = SOURCE_ROOT; };
837D8BAA1408FAB4009B6DFA /* Atomicity_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Atomicity_Prefix.pch; path = ../../Atomicity/Cocoa/Atomicity_Prefix.pch; sourceTree = SOURCE_ROOT; };
837D8BAB1408FAB4009B6DFA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = ../../Atomicity/Cocoa/main.m; sourceTree = SOURCE_ROOT; };
837D8BAD1408FAC3009B6DFA /* APPL.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = APPL.icns; path = ../../Atomicity/Cocoa/APPL.icns; sourceTree = SOURCE_ROOT; };
837D8BAE1408FAC3009B6DFA /* Atomicity-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "Atomicity-Info.plist"; path = "../../Atomicity/Cocoa/Atomicity-Info.plist"; sourceTree = SOURCE_ROOT; };
837D8BB11408FAC3009B6DFA /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = InfoPlist.strings; sourceTree = "<group>"; };
837D8BB31408FAC3009B6DFA /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = MainMenu.xib; sourceTree = "<group>"; };
837D8BC61408FAD4009B6DFA /* BridgeSupportController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BridgeSupportController.h; sourceTree = "<group>"; };
837D8BC71408FAD4009B6DFA /* BridgeSupportController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BridgeSupportController.m; sourceTree = "<group>"; };
837D8BC81408FAD4009B6DFA /* class.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = class.js; sourceTree = "<group>"; };
837D8BC91408FAD4009B6DFA /* JSCocoa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCocoa.h; sourceTree = "<group>"; };
837D8BCA1408FAD4009B6DFA /* JSCocoaController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCocoaController.h; sourceTree = "<group>"; };
837D8BCB1408FAD4009B6DFA /* JSCocoaController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JSCocoaController.m; sourceTree = "<group>"; };
837D8BCC1408FAD4009B6DFA /* JSCocoaFFIArgument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCocoaFFIArgument.h; sourceTree = "<group>"; };
837D8BCD1408FAD4009B6DFA /* JSCocoaFFIArgument.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JSCocoaFFIArgument.m; sourceTree = "<group>"; };
837D8BCE1408FAD4009B6DFA /* JSCocoaFFIClosure.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCocoaFFIClosure.h; sourceTree = "<group>"; };
837D8BCF1408FAD4009B6DFA /* JSCocoaFFIClosure.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JSCocoaFFIClosure.m; sourceTree = "<group>"; };
837D8BD01408FAD4009B6DFA /* JSCocoaLib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCocoaLib.h; sourceTree = "<group>"; };
837D8BD11408FAD4009B6DFA /* JSCocoaLib.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JSCocoaLib.m; sourceTree = "<group>"; };
837D8BD21408FAD4009B6DFA /* JSCocoaPrivateObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCocoaPrivateObject.h; sourceTree = "<group>"; };
837D8BD31408FAD4009B6DFA /* JSCocoaPrivateObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JSCocoaPrivateObject.m; sourceTree = "<group>"; };
837D8BE01408FAF5009B6DFA /* AtomWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = AtomWindow.xib; path = ../../Atomicity/Cocoa/xibs/AtomWindow.xib; sourceTree = SOURCE_ROOT; };
8D1107320486CEB800E47090 /* Atomicity.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Atomicity.app; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
8D11072E0486CEB800E47090 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
83599F9B13FE0F8400AC37E3 /* WebKit.framework in Frameworks */,
8359A6EE13FE26DA00AC37E3 /* JavaScriptCore.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
045043CA1455D51B00BFC3A0 /* UKKQueue */ = {
isa = PBXGroup;
children = (
045043CB1455D51B00BFC3A0 /* UKFileWatcher.h */,
045043CC1455D51B00BFC3A0 /* UKFileWatcher.m */,
045043CD1455D51B00BFC3A0 /* UKFNSubscribeFileWatcher.h */,
045043CE1455D51B00BFC3A0 /* UKFNSubscribeFileWatcher.m */,
045043CF1455D51B00BFC3A0 /* UKKQueue.h */,
045043D01455D51B00BFC3A0 /* UKKQueue.m */,
045043D11455D51B00BFC3A0 /* UKMainThreadProxy.h */,
045043D21455D51B00BFC3A0 /* UKMainThreadProxy.m */,
);
path = UKKQueue;
sourceTree = "<group>";
};
080E96DDFE201D6D7F000001 /* Classes */ = {
isa = PBXGroup;
children = (
046973A214145A9500415518 /* AtomApp.h */,
046973A314145A9500415518 /* AtomApp.m */,
837D8BA61408FAAA009B6DFA /* AtomController.h */,
837D8BA71408FAAA009B6DFA /* AtomController.m */,
29B97315FDCFA39411CA2CEA /* Other Sources */,
);
name = Classes;
sourceTree = "<group>";
};
1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
isa = PBXGroup;
children = (
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
83599F9A13FE0F8400AC37E3 /* WebKit.framework */,
8359A6ED13FE26DA00AC37E3 /* JavaScriptCore.framework */,
);
name = "Linked Frameworks";
sourceTree = "<group>";
};
1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {
isa = PBXGroup;
children = (
29B97324FDCFA39411CA2CEA /* AppKit.framework */,
13E42FB307B3F0F600E4EEF1 /* CoreData.framework */,
29B97325FDCFA39411CA2CEA /* Foundation.framework */,
);
name = "Other Frameworks";
sourceTree = "<group>";
};
19C28FACFE9D520D11CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
8D1107320486CEB800E47090 /* Atomicity.app */,
);
name = Products;
sourceTree = "<group>";
};
29B97314FDCFA39411CA2CEA /* Atomicity */ = {
isa = PBXGroup;
children = (
080E96DDFE201D6D7F000001 /* Classes */,
29B97317FDCFA39411CA2CEA /* Resources */,
837D8BC51408FAD4009B6DFA /* JSCocoa */,
045043CA1455D51B00BFC3A0 /* UKKQueue */,
29B97323FDCFA39411CA2CEA /* Frameworks */,
19C28FACFE9D520D11CA2CBB /* Products */,
);
name = Atomicity;
sourceTree = "<group>";
};
29B97315FDCFA39411CA2CEA /* Other Sources */ = {
isa = PBXGroup;
children = (
837D8BAA1408FAB4009B6DFA /* Atomicity_Prefix.pch */,
837D8BAB1408FAB4009B6DFA /* main.m */,
);
name = "Other Sources";
sourceTree = "<group>";
};
29B97317FDCFA39411CA2CEA /* Resources */ = {
isa = PBXGroup;
children = (
837D8BAD1408FAC3009B6DFA /* APPL.icns */,
837D8BAE1408FAC3009B6DFA /* Atomicity-Info.plist */,
837D8BB01408FAC3009B6DFA /* InfoPlist.strings */,
837D8BE01408FAF5009B6DFA /* AtomWindow.xib */,
837D8BB21408FAC3009B6DFA /* MainMenu.xib */,
);
name = Resources;
sourceTree = "<group>";
};
29B97323FDCFA39411CA2CEA /* Frameworks */ = {
isa = PBXGroup;
children = (
1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
);
name = Frameworks;
sourceTree = "<group>";
};
837D8BC51408FAD4009B6DFA /* JSCocoa */ = {
isa = PBXGroup;
children = (
837D8BC61408FAD4009B6DFA /* BridgeSupportController.h */,
837D8BC71408FAD4009B6DFA /* BridgeSupportController.m */,
837D8BC81408FAD4009B6DFA /* class.js */,
837D8BC91408FAD4009B6DFA /* JSCocoa.h */,
837D8BCA1408FAD4009B6DFA /* JSCocoaController.h */,
837D8BCB1408FAD4009B6DFA /* JSCocoaController.m */,
837D8BCC1408FAD4009B6DFA /* JSCocoaFFIArgument.h */,
837D8BCD1408FAD4009B6DFA /* JSCocoaFFIArgument.m */,
837D8BCE1408FAD4009B6DFA /* JSCocoaFFIClosure.h */,
837D8BCF1408FAD4009B6DFA /* JSCocoaFFIClosure.m */,
837D8BD01408FAD4009B6DFA /* JSCocoaLib.h */,
837D8BD11408FAD4009B6DFA /* JSCocoaLib.m */,
837D8BD21408FAD4009B6DFA /* JSCocoaPrivateObject.h */,
837D8BD31408FAD4009B6DFA /* JSCocoaPrivateObject.m */,
);
name = JSCocoa;
path = ../../Atomicity/Cocoa/JSCocoa;
sourceTree = SOURCE_ROOT;
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
8D1107260486CEB800E47090 /* Atomicity */ = {
isa = PBXNativeTarget;
buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "Atomicity" */;
buildPhases = (
8D1107290486CEB800E47090 /* Resources */,
8D11072C0486CEB800E47090 /* Sources */,
8D11072E0486CEB800E47090 /* Frameworks */,
8393439613FE480600EF93FB /* Copy HTML folder & compile CoffeeScript */,
);
buildRules = (
);
dependencies = (
);
name = Atomicity;
productInstallPath = "$(HOME)/Applications";
productName = Atomicity;
productReference = 8D1107320486CEB800E47090 /* Atomicity.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
29B97313FDCFA39411CA2CEA /* Project object */ = {
isa = PBXProject;
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Atomicity" */;
compatibilityVersion = "Xcode 3.1";
developmentRegion = English;
hasScannedForEncodings = 1;
knownRegions = (
English,
Japanese,
French,
German,
);
mainGroup = 29B97314FDCFA39411CA2CEA /* Atomicity */;
projectDirPath = "";
projectRoot = Cocoa;
targets = (
8D1107260486CEB800E47090 /* Atomicity */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
8D1107290486CEB800E47090 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
837D8BB41408FAC3009B6DFA /* APPL.icns in Resources */,
837D8BB51408FAC3009B6DFA /* Atomicity-Info.plist in Resources */,
837D8BB61408FAC3009B6DFA /* InfoPlist.strings in Resources */,
837D8BB71408FAC3009B6DFA /* MainMenu.xib in Resources */,
837D8BE11408FAF5009B6DFA /* AtomWindow.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
8393439613FE480600EF93FB /* Copy HTML folder & compile CoffeeScript */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "Copy HTML folder & compile CoffeeScript";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "rake build";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
8D11072C0486CEB800E47090 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
837D8BA91408FAAA009B6DFA /* AtomController.m in Sources */,
837D8BAC1408FAB4009B6DFA /* main.m in Sources */,
837D8BD51408FAD4009B6DFA /* BridgeSupportController.m in Sources */,
837D8BD71408FAD4009B6DFA /* JSCocoaController.m in Sources */,
837D8BD81408FAD4009B6DFA /* JSCocoaFFIArgument.m in Sources */,
837D8BD91408FAD4009B6DFA /* JSCocoaFFIClosure.m in Sources */,
837D8BDA1408FAD4009B6DFA /* JSCocoaLib.m in Sources */,
837D8BDB1408FAD4009B6DFA /* JSCocoaPrivateObject.m in Sources */,
046973A414145A9500415518 /* AtomApp.m in Sources */,
045043D31455D51B00BFC3A0 /* UKFileWatcher.m in Sources */,
045043D41455D51B00BFC3A0 /* UKFNSubscribeFileWatcher.m in Sources */,
045043D51455D51B00BFC3A0 /* UKKQueue.m in Sources */,
045043D61455D51B00BFC3A0 /* UKMainThreadProxy.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
837D8BB01408FAC3009B6DFA /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
837D8BB11408FAC3009B6DFA /* English */,
);
name = InfoPlist.strings;
path = ../../Atomicity/Cocoa/English.lproj;
sourceTree = "<group>";
};
837D8BB21408FAC3009B6DFA /* MainMenu.xib */ = {
isa = PBXVariantGroup;
children = (
837D8BB31408FAC3009B6DFA /* English */,
);
name = MainMenu.xib;
path = ../../Atomicity/Cocoa/English.lproj;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
C01FCF4B08A954540054247B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
COPY_PHASE_STRIP = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)\"",
);
GCC_DYNAMIC_NO_PIC = NO;
GCC_ENABLE_FIX_AND_CONTINUE = YES;
GCC_MODEL_TUNING = G5;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = Atomicity_Prefix.pch;
INFOPLIST_FILE = "Atomicity-Info.plist";
INSTALL_PATH = "$(HOME)/Applications";
PRODUCT_NAME = Atomicity;
};
name = Debug;
};
C01FCF4C08A954540054247B /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)\"",
);
GCC_MODEL_TUNING = G5;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = Atomicity_Prefix.pch;
INFOPLIST_FILE = "Atomicity-Info.plist";
INSTALL_PATH = "$(HOME)/Applications";
PRODUCT_NAME = Atomicity;
};
name = Release;
};
C01FCF4F08A954540054247B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
INFOPLIST_FILE = "";
ONLY_ACTIVE_ARCH = YES;
OTHER_LDFLAGS = (
"-lxml2",
"-lffi",
);
PREBINDING = NO;
};
name = Debug;
};
C01FCF5008A954540054247B /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
INFOPLIST_FILE = "";
OTHER_LDFLAGS = (
"-lxml2",
"-lffi",
);
PREBINDING = NO;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "Atomicity" */ = {
isa = XCConfigurationList;
buildConfigurations = (
C01FCF4B08A954540054247B /* Debug */,
C01FCF4C08A954540054247B /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Atomicity" */ = {
isa = XCConfigurationList;
buildConfigurations = (
C01FCF4F08A954540054247B /* Debug */,
C01FCF5008A954540054247B /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
}

View File

@ -1,7 +0,0 @@
//
// Prefix header for all source files of the 'Atomicity' target in the 'Atomicity' project
//
#ifdef __OBJC__
#import <Cocoa/Cocoa.h>
#endif

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,16 +0,0 @@
//
// main.m
// Atomicity
//
// Created by Chris Wanstrath on 8/18/11.
// Copyright 2011 GitHub. All rights reserved.
//
#import <Cocoa/Cocoa.h>
#import <WebKit/WebKit.h>
#import "JSCocoa.h"
int main(int argc, char *argv[])
{
return NSApplicationMain(argc, (const char **) argv);
}

View File

@ -1,145 +0,0 @@
![](https://img.skitch.com/20110828-e6a2sk5mqewpfnxb3eeuef112d.png)
# Futuristic Text Editing
Atomicity is a highly extensible OS X text editor. It is written in CoffeeScript, HTML, and CSS utilizing the power of JSCocoa and the elegance of Ajax.org's Ace editor.
## Atomicity Startup
When Atomicity starts, AtomApp (the application delegate) immediately loads require.coffee and app.coffee using JSCocoa.
app.coffee exports the following two functions:
- `startup: ->`
Called right away in a global JSCocoa context for the app. Different than a browser environment - there is no `window` global, no `document`, etc. Just Atomicity's standard library: require, underscore, etc.
In here we setup the app's menu structure using the AtomMenu class, bind basic app-wide keyboard events with the Keybinder, load our core UI files, load extensions using the ExtensionManager module, and load your `~/.atomicity` module.
Loading core UI files and extensions is important because it gives those modules a chance to register for app events.
After all that's done we check `localStorage` for saved AtomWindow bounds & URLs and recreate them if they exist. If they don't exist we create a fresh AtomWindow. At this point we're done starting up.
- `shutdown: ->`
Called before shutting down. The app doesn't finish quitting until this function returns.
Here is where we save the window positions in localStorage and do any other global cleanup, which is probably nothing.
## Events
Atomicity has a jQuery/Backbone-style event system using the `on` and `off` functions of the `AtomEvent` module. Events should be in the format of: `namespace:event`, for example `window:load` for onLoad or `plugin:install` for when a plugin is installed.
```coffee
AtomEvent.on 'window:load', (window) ->
myCode()
```
Individual events can be uninstalled using `off`:
```coffee
AtomEvent.off 'window:load'
```
As well as entire namespaces:
```coffee
AtomEvent.off 'window:'
```
## AtomWindow Creation
Every AtomWindow represents a URL. If we don't pass in a URL when creating an AtomWindow, it'll set its URL to something random in /tmp.
When we instantiate an AtomWindow it creates a WebView and sets itself as the delegate then loads `index.html`. When the WebView finishes loading the AtomWindow fires a `window:load` event, passing itself as the sole argument.
Extensions will probably listen for the `window:load` event, as will core Atomicity UI code.
## Atomicity UI Code
Atomicity has a few classes in addition to AtomWindow strictly for UI. Each UI class is a "View" while the HTML it represents is a "Template".
- View
Generic class that represents a chunk of HTML, or template. Like Backbone it has a `el` property (a string selector) and a `render` method, which inserts the template into the DOM. Also has a `remove` method.
- Pane
Special view. Has a position.
- Modal
Facebox.
## Extensions
Extensions are directories with a package.json file based on npm's: https://github.com/isaacs/npm/blob/master/doc/cli/json.md
`name`, `version`, `description`, `homepage`, and `author` are probably the only ones that matter most right now.
Extensions also have an index.coffee (or `main` in the package.json) file that exports the following functions:
- `install: ->`
Called the very first time your extension is loaded, before `startup`.
- `uninstall: ->`
Called when your extension is being uninstalled. This is where you should delete any saved data.
- `startup: ->`
Called when the extension is first loaded during the app's startup or an in-process loading of the extension.
Here you'd hand Keybinder a keymap for your extension, add items to AtomMenu, add items to AtomContextMenu, and attach a callback to `window:load` that creates & renders AtomViews if necessary.
- `shutdown: ->`
Called when the app shuts down or your extension is disabled. Different than `window:close`. Make sure to clean up after yourself here by using `AtomEvent.off` and whatever else.
## ExtensionManager
The ExtensionManager module loads, installs, uninstalls, and keeps track of extensions. All extensions are global to the whole app, and enabled/disabled on an app-wide basis.
It fires the following events on AtomEvent, passing the Extension module to each:
- `extension:install`
- `extension:uninstall`
- `extension:startup`
- `extension:shutdown`
## Keybinder
Module with a single public function:
- `bind: (scope, map) ->`
`scope` should be one of:
- `'app'`
- `'window'`
- A Pane object
While `map` should be a key/value object in this format: `shortcut: callback`.
- `shortcut` should be a string like `cmd+w` or `ctrl+shift+o`
- `callback` should be a function
For example:
```coffee
Keybinder.bind 'app',
'cmd+o': openFile
'cmd+s': saveFile
# Called inside a View
Keybinder.bind this,
'cmd+shift+r': => @reload()
'cmd+shift+o': => @openURL()
```
Needs more thought.
## AtomMenu
Used by core app classes and extensions to add menu items to the app. Needs more thought.

View File

@ -1,165 +0,0 @@
## Dogma
- Objective-C classes start with **RF** and JS classes start with **Atom** for disambiguation. *NOTE:* I'm not a huge fan of the **RF** prefix
- AtomApp **only** contains keybindings and a list of AtomWindows. Since it is in a seperate JSCocoa context, all communication must be done via AtomEvent.
- Each AtomWindow has an instance of every extensions.
## Atomicity Startup
When Atomicity starts, RFApp (the NSApplication instance and delegate) immediately loads require.coffee and `atom-app.coffee` using JSCocoa.
atom-app.coffee exports the following two functions:
- `startup: ->`
Called right away in a global JSCocoa context for the app. Different than a browser environment - there is no `window` global, no `document`, etc. Just Atomicity's standard library: require, underscore, etc.
In here we setup the app's menu structure using the AtomMenu class, bind app-wide keyboard events, and load your `~/.atomicity/index.coffee` module.
After all that's done we check `localStorage` for saved AtomWindow URLs and recreate them if they exist. If they don't exist we create a fresh RFWindow. At this point we're done starting up.
- `shutdown: ->`
Called before shutting down. The app doesn't finish quitting until this function returns.
Here is where we store AtomWindow URLS info in localStorage and close all windows. and do any other global cleanup, which is probably nothing.
## RFWindow Creation
AtomApp instantiates an RFWindow with an optional URL. RFWindow contains a WebView and sets itself as the delegate, creates a JSCocoa context and loads `index.html`. `atom-window.coffee` is required by `index.html`. An instance of AtomWindow is created with the URL and window bounds.
## AtomWindow
Every AtomWindow represents a URL. If we don't pass in a URL when creating an AtomWindow, it'll set its URL to something random in /tmp.
`atom-window.coffee` exports the following two functions:
- `startup: ->`
Loads our core UI files, extensions using the ExtensionManager module, and keybindings.
Finally fires a `window:load` event, passing itself as the sole argument. Loading core UI files and extensions first is important because it gives those modules a chance to register for app events.
- `shutdown: ->`
Makes sure files are saved and window placement is remembered.
## Events
Atomicity has a jQuery/Backbone-style event system using the `on`, `off` and `trigger` functions of the `AtomEvent` module. Events should be in the format of: `namespace:event`, for example `window:load` for onLoad or `plugin:install` for when a plugin is installed.
The only way AtomApp and AtomWindows can communicate is via Events.
```coffee
AtomEvent.on 'window:load', (window) ->
myCode()
```
Trigger the event:
```coffee
AtomEvent.trigger 'window:load', @
```
Individual events can be uninstalled using `off`:
```coffee
AtomEvent.off 'window:load', optional-event-or-function-or-something
```
As well as entire namespaces:
```coffee
AtomEvent.off 'window:'
```
## Atomicity UI Code
Atomicity has a few classes in addition to AtomWindow strictly for UI. Each UI class is a "View" while the HTML it represents is a "Template".
- View
Generic class that represents a chunk of HTML, or template. Like Backbone it has a `el` property (a string selector) and a `render` method, which inserts the template into the DOM. Also has a `remove` method.
- Pane
Special view. Has a position.
- Modal
Facebox.
## Extensions
Extensions are directories with a package.json file based on npm's: https://github.com/isaacs/npm/blob/master/doc/cli/json.md
`name`, `version`, `description`, `homepage`, and `author` are probably the only ones that matter most right now.
Extensions also have an index.coffee (or `main` in the package.json) file that exports the following functions:
- `install: ->`
Called the very first time your extension is loaded, before AtomWindow's `startup`.
- `uninstall: ->`
Called when your extension is being uninstalled. This is where you should delete any saved data.
- `startup: ->`
Called when the extension is first loaded during the AtomWindow's startup or an in-process loading of the extension.
Here you'd hand Keybinder a keymap for your extension, add items to AtomMenu, add items to AtomContextMenu, and attach a callback to `window:load` that creates & renders AtomViews if necessary.
- `shutdown: ->`
Called when the AtomWindow closes or your extension is disabled. Make sure to clean up after yourself here by using `AtomEvent.off` and whatever else.
## ExtensionManager
The ExtensionManager module loads, installs, uninstalls, and keeps track of extensions. All extensions are local to an AtomWindow.
It fires the following events on AtomEvent, passing the Extension module to each:
- `extension:install`
- `extension:uninstall`
- `extension:startup`
- `extension:shutdown`
## Keybinder
**IDEA**: bindings are just events?
Module with a single public function:
- `bind: (scope, map) ->`
`scope` should be one of:
- `'app'`
- `'window'`
- A Pane object
While `map` should be a key/value object in this format: `shortcut: callback`.
- `shortcut` should be a string like `cmd+w` or `ctrl+shift+o`
- `callback` should be a function
For example:
```coffee
Keybinder.bind 'app',
'cmd+o': openFile
'cmd+s': saveFile
# Called inside a View
Keybinder.bind this,
'cmd+shift+r': => @reload()
'cmd+shift+o': => @openURL()
```
Needs more thought.
## AtomMenu
Used by core app classes and extensions to add menu items to the app. Needs more thought.

View File

@ -8,7 +8,7 @@ task :build do
dest = File.join(built_dir, contents_dir, "Resources")
%w(index.html src docs static plugins test vendor ).each do |dir|
%w( index.html src docs static plugins test vendor ).each do |dir|
rm_rf File.join(dest, dir)
cp_r dir, File.join(dest, dir)
end

View File

@ -64,13 +64,9 @@
</div>
</body>
<script src='src/require.js'></script>
<script>
//require('startup');
window.onerror = function(message, url, lineNumber) {
// Any error will popup the console
atomController.webView.inspector.showConsole(true);
}
require('startup');
</script>
</html>

View File

@ -14,9 +14,9 @@ class KeyBinder
@load: (path) ->
try
Watcher.watch path, ->
Watcher.watch path, =>
# Should we keep track of which file bindings are associated with? That
# way we could clear bindings when the file is changed or deleted. I
# way we could clear bindings when the file is changed or deleted. I
# think the answer is yes, but I don't want to do this right now.
console.log "#{@name}: Reloading #{path}"
@load path
@ -25,12 +25,12 @@ class KeyBinder
for scopeName, bindings of json
@create scopeName, binding, method for binding, method of bindings
catch error
console.error "#{@class}: Could not load key bindings at `#{path}`. #{error}"
console.error "#{@name}: Could not load key bindings at `#{path}`. #{error}"
@create: (scope, binding, method) ->
if typeof scope is "string"
throw "#{@name}: Unknown scope `#{scope}`" unless @scopes[scope]
scope = @scopes[scope]
scope = @scopes[scope]
callback = if _.isFunction method
-> method scope

View File

@ -1,15 +1,6 @@
resourcePath = OSX.NSBundle.mainBundle.resourcePath
paths = [
"/Users/chris/Code/Atomicity/src"
"/Users/chris/Code/Atomicity/plugins"
"/Users/chris/Code/Atomicity/test"
"/Users/corey/code/mine/Atomicity/src"
"/Users/corey/code/mine/Atomicity/plugins"
"/Users/corey/code/mine/Atomicity/test"
"/Users/corey/code/mine/Atomicity/vendor"
"#{resourcePath}/src"
"#{resourcePath}/plugins"
"#{resourcePath}/vendor"

View File

@ -1,4 +1,4 @@
#module.exports =
module.exports =
class Watcher
@watchedPaths: {}
@ -44,7 +44,3 @@ class Watcher
# Just ignore this
else
console.error "I HAVE NO IDEA WHEN #{notification} IS TRIGGERED"
Watcher.watch "~/tmp/what.txt", ->
OSX.NSLog "HI"

View File

@ -1,6 +1,8 @@
File = require 'fs'
KeyBinder = require 'key-binder'
# This file is a weirdo. We don't create a Window class, we just add stuff to
# the DOM window.
windowAdditions =
extensions: []

View File

@ -1,2 +1,6 @@
app:
"cmd-q": (app) -> app.quit()
"cmd-j": (app) -> console.log "OMG YOU TOUCHED THE LETTER J!"
window:
"cmd-shift-i": (window) -> window.showConsole()