1
1
mirror of https://github.com/qvacua/vimr.git synced 2024-11-23 10:13:32 +03:00

Restructure the project

This commit is contained in:
Tae Won Ha 2017-12-03 09:59:15 +01:00
parent 7b0e56357c
commit 4ef2fd0f15
No known key found for this signature in database
GPG Key ID: E40743465B5B8B44
220 changed files with 2137 additions and 3684 deletions

2
.gitmodules vendored
View File

@ -1,3 +1,3 @@
[submodule "neovim"]
path = neovim
path = NvimView/neovim
url = https://github.com/qvacua/neovim.git

View File

@ -1,5 +1,8 @@
brew 'carthage'
brew 'gnu-sed'
brew 'libtool'
brew 'automake'
brew 'cmake'
brew 'pkg-config'
brew 'gettext'
brew 'ninja'
brew 'gnu-sed'

View File

@ -8,3 +8,5 @@ github "sindresorhus/github-markdown-css" == 2.9.0
github "httpswift/swifter" == 1.3.3
github "a2/MessagePack.swift" == 3.0.0
github "antitypical/Result" == 3.2.4
github "Quick/Nimble" == 7.0.1

View File

@ -1 +0,0 @@
github "Quick/Nimble" == 7.0.1

View File

@ -140,6 +140,11 @@ static void socket_call_back(
}
- (CFSocketError)writeData:(NSData *)data {
if (!CFSocketIsValid(_socket)) {
NSLog(@"Socket invalid, but trying to send %@", data);
return kCFSocketError;
}
return CFSocketSendData(_socket, NULL, (__bridge CFDataRef) data, _timeout);
}

View File

@ -5,7 +5,7 @@ import NvimMsgPack
// Start nvim as follows:
// $ NVIM_LISTEN_ADDRESS=/tmp/nvim.sock nvim $SOME_FILES
guard let nvim = Nvim(at: "/tmp/nvim.sock") else {
guard let nvim = NvimApi(at: "/tmp/nvim.sock") else {
preconditionFailure("Could not connect to nvim")
}

View File

@ -9,8 +9,8 @@
/* Begin PBXBuildFile section */
4B9E33711FCB475600E0C4BC /* NvimMsgPack.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B9E336F1FCB475600E0C4BC /* NvimMsgPack.h */; settings = {ATTRIBUTES = (Public, ); }; };
4B9E33781FCB476D00E0C4BC /* MsgPackRpc.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B9E33791FCB476D00E0C4BC /* MsgPackRpc.framework */; };
4B9E337C1FCB47B300E0C4BC /* Nvim.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B9E337A1FCB47B300E0C4BC /* Nvim.swift */; };
4B9E337D1FCB47B300E0C4BC /* NvimMethods.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B9E337B1FCB47B300E0C4BC /* NvimMethods.swift */; };
4B9E337C1FCB47B300E0C4BC /* NvimApi.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B9E337A1FCB47B300E0C4BC /* NvimApi.swift */; };
4B9E337D1FCB47B300E0C4BC /* NvimApiMethods.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B9E337B1FCB47B300E0C4BC /* NvimApiMethods.swift */; };
4B9E33831FCB47F900E0C4BC /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 4B9E337F1FCB47F900E0C4BC /* Info.plist */; };
4B9E33841FCB47F900E0C4BC /* Result.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B9E33801FCB47F900E0C4BC /* Result.h */; };
4B9E33851FCB47F900E0C4BC /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B9E33811FCB47F900E0C4BC /* Result.swift */; };
@ -22,8 +22,8 @@
4B9E336F1FCB475600E0C4BC /* NvimMsgPack.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NvimMsgPack.h; sourceTree = "<group>"; };
4B9E33701FCB475600E0C4BC /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
4B9E33791FCB476D00E0C4BC /* MsgPackRpc.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = MsgPackRpc.framework; sourceTree = BUILT_PRODUCTS_DIR; };
4B9E337A1FCB47B300E0C4BC /* Nvim.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Nvim.swift; sourceTree = "<group>"; };
4B9E337B1FCB47B300E0C4BC /* NvimMethods.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NvimMethods.swift; sourceTree = "<group>"; };
4B9E337A1FCB47B300E0C4BC /* NvimApi.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NvimApi.swift; sourceTree = "<group>"; };
4B9E337B1FCB47B300E0C4BC /* NvimApiMethods.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NvimApiMethods.swift; sourceTree = "<group>"; };
4B9E337F1FCB47F900E0C4BC /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
4B9E33801FCB47F900E0C4BC /* Result.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Result.h; sourceTree = "<group>"; };
4B9E33811FCB47F900E0C4BC /* Result.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Result.swift; sourceTree = "<group>"; };
@ -63,8 +63,8 @@
isa = PBXGroup;
children = (
4B9E336F1FCB475600E0C4BC /* NvimMsgPack.h */,
4B9E337A1FCB47B300E0C4BC /* Nvim.swift */,
4B9E337B1FCB47B300E0C4BC /* NvimMethods.swift */,
4B9E337A1FCB47B300E0C4BC /* NvimApi.swift */,
4B9E337B1FCB47B300E0C4BC /* NvimApiMethods.swift */,
4B9E337E1FCB47F900E0C4BC /* Result */,
4B9E33701FCB475600E0C4BC /* Info.plist */,
);
@ -177,8 +177,8 @@
files = (
4B9E33861FCB47F900E0C4BC /* ResultProtocol.swift in Sources */,
4B9E33851FCB47F900E0C4BC /* Result.swift in Sources */,
4B9E337D1FCB47B300E0C4BC /* NvimMethods.swift in Sources */,
4B9E337C1FCB47B300E0C4BC /* Nvim.swift in Sources */,
4B9E337D1FCB47B300E0C4BC /* NvimApiMethods.swift in Sources */,
4B9E337C1FCB47B300E0C4BC /* NvimApi.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};

View File

@ -6,20 +6,6 @@
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4B9E333E1FCB457800E0C4BC"
BuildableName = "MsgPackRpc.framework"
BlueprintName = "MsgPackRpc"
ReferencedContainer = "container:../MsgPackRpc/MsgPackRpc.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"

View File

@ -6,7 +6,7 @@
import Foundation
import MsgPackRpc
public class Nvim {
public class NvimApi {
public struct Buffer: Equatable {
@ -66,7 +66,7 @@ public class Nvim {
self.message = message
}
init(_ value: Nvim.Value?) {
init(_ value: NvimApi.Value?) {
if let rawValue = value?.unsignedIntegerValue {
self.type = ErrorType(rawValue: Int(rawValue)) ?? .unknown
} else {
@ -79,9 +79,9 @@ public class Nvim {
public typealias Value = MsgPackRpc.Value
public typealias Response<R> = Result<R, Nvim.Error>
public typealias Response<R> = Result<R, NvimApi.Error>
public var notificationCallback: ((MsgPackRpc.MessageType, String, [Nvim.Value]) -> Void)? {
public var notificationCallback: ((MsgPackRpc.MessageType, String, [NvimApi.Value]) -> Void)? {
get {
return self.session.notificationCallback
}
@ -91,7 +91,7 @@ public class Nvim {
}
}
public var unknownMessageCallback: (([Nvim.Value]) -> Void)? {
public var unknownMessageCallback: (([NvimApi.Value]) -> Void)? {
get {
return self.session.unknownMessageCallback
}
@ -101,7 +101,7 @@ public class Nvim {
}
}
public var errorCallback: ((Nvim.Value) -> Void)? {
public var errorCallback: ((NvimApi.Value) -> Void)? {
get {
return self.session.errorCallback
}
@ -113,7 +113,7 @@ public class Nvim {
public class Session {
var notificationCallback: ((MsgPackRpc.MessageType, String, [Nvim.Value]) -> Void)? {
var notificationCallback: ((MsgPackRpc.MessageType, String, [NvimApi.Value]) -> Void)? {
get {
return self.connection.notificationCallback
}
@ -123,7 +123,7 @@ public class Nvim {
}
}
var unknownMessageCallback: (([Nvim.Value]) -> Void)? {
var unknownMessageCallback: (([NvimApi.Value]) -> Void)? {
get {
return self.connection.unknownMessageCallback
}
@ -133,7 +133,7 @@ public class Nvim {
}
}
var errorCallback: ((Nvim.Value) -> Void)? {
var errorCallback: ((NvimApi.Value) -> Void)? {
get {
return self.connection.errorCallback
}
@ -161,7 +161,7 @@ public class Nvim {
public func rpc(method: String,
params: [MsgPackRpc.Value],
expectsReturnValue: Bool) -> Result<MsgPackRpc.Value, Nvim.Error> {
expectsReturnValue: Bool) -> Result<MsgPackRpc.Value, NvimApi.Error> {
let msgid = locked(with: self.nextMsgidLock) { () -> UInt32 in
let msgid = self.nextMsgid
@ -176,7 +176,7 @@ public class Nvim {
expectsReturnValue: expectsReturnValue)
guard response.error.isNil else {
return .failure(Nvim.Error(response.error))
return .failure(NvimApi.Error(response.error))
}
return .success(response.result)
@ -215,17 +215,17 @@ public class Nvim {
}
@discardableResult
public func checkBlocked<T>(_ fn: () -> Nvim.Response<T>) -> Nvim.Response<T> {
public func checkBlocked<T>(_ fn: () -> NvimApi.Response<T>) -> NvimApi.Response<T> {
if self.getMode().value?.dictionaryValue?[.string("blocked")] == .bool(true) {
return Nvim.Response.failure(Nvim.Error(type: .blocked, message: "Nvim is currently blocked."))
return NvimApi.Response.failure(NvimApi.Error(type: .blocked, message: "Nvim is currently blocked."))
}
return fn()
}
public func rpc(method: String,
params: [Nvim.Value],
expectsReturnValue: Bool = true) -> Nvim.Response<Nvim.Value> {
params: [NvimApi.Value],
expectsReturnValue: Bool = true) -> NvimApi.Response<NvimApi.Value> {
return self.session.rpc(method: method, params: params, expectsReturnValue: expectsReturnValue)
}

View File

@ -0,0 +1,714 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 48;
objects = {
/* Begin PBXBuildFile section */
4B90F02D1FD2AFAE008A39E0 /* NeoVimUiBridgeProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B90F00F1FD2AFAC008A39E0 /* NeoVimUiBridgeProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
4B90F02E1FD2AFAE008A39E0 /* NeoVimView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B90F0101FD2AFAC008A39E0 /* NeoVimView.swift */; };
4B90F02F1FD2AFAE008A39E0 /* NeoVimView+Resize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B90F0111FD2AFAC008A39E0 /* NeoVimView+Resize.swift */; };
4B90F0301FD2AFAE008A39E0 /* KeyUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B90F0121FD2AFAC008A39E0 /* KeyUtils.swift */; };
4B90F0311FD2AFAE008A39E0 /* NeoVimAutoCommandEvent.generated.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B90F0131FD2AFAC008A39E0 /* NeoVimAutoCommandEvent.generated.m */; };
4B90F0321FD2AFAE008A39E0 /* NeoVimView+Dragging.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B90F0141FD2AFAC008A39E0 /* NeoVimView+Dragging.swift */; };
4B90F0331FD2AFAE008A39E0 /* NeoVimAutoCommandEvent.generated.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B90F0151FD2AFAC008A39E0 /* NeoVimAutoCommandEvent.generated.h */; settings = {ATTRIBUTES = (Public, ); }; };
4B90F0341FD2AFAE008A39E0 /* CocoaExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B90F0161FD2AFAC008A39E0 /* CocoaExtensions.swift */; };
4B90F0351FD2AFAE008A39E0 /* NeoVimView+Mouse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B90F0171FD2AFAC008A39E0 /* NeoVimView+Mouse.swift */; };
4B90F0361FD2AFAE008A39E0 /* NeoVimViewDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B90F0181FD2AFAC008A39E0 /* NeoVimViewDelegate.swift */; };
4B90F0371FD2AFAE008A39E0 /* NeoVimAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B90F0191FD2AFAC008A39E0 /* NeoVimAgent.h */; settings = {ATTRIBUTES = (Public, ); }; };
4B90F0381FD2AFAE008A39E0 /* ColorUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B90F01A1FD2AFAC008A39E0 /* ColorUtils.swift */; };
4B90F0391FD2AFAE008A39E0 /* NeoVimView+Api.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B90F01B1FD2AFAC008A39E0 /* NeoVimView+Api.swift */; };
4B90F03A1FD2AFAE008A39E0 /* NeoVimView+Key.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B90F01C1FD2AFAC008A39E0 /* NeoVimView+Key.swift */; };
4B90F03B1FD2AFAE008A39E0 /* NeoVimObjectsExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B90F01D1FD2AFAC008A39E0 /* NeoVimObjectsExtensions.swift */; };
4B90F03C1FD2AFAE008A39E0 /* NeoVimView+TouchBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B90F01E1FD2AFAC008A39E0 /* NeoVimView+TouchBar.swift */; };
4B90F03E1FD2AFAE008A39E0 /* MMCoreTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B90F0201FD2AFAD008A39E0 /* MMCoreTextView.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
4B90F03F1FD2AFAE008A39E0 /* NeoVimView+Draw.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B90F0211FD2AFAD008A39E0 /* NeoVimView+Draw.swift */; };
4B90F0401FD2AFAE008A39E0 /* TextDrawer.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B90F0221FD2AFAD008A39E0 /* TextDrawer.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
4B90F0411FD2AFAE008A39E0 /* TextDrawer.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B90F0231FD2AFAD008A39E0 /* TextDrawer.h */; settings = {ATTRIBUTES = (Public, ); }; };
4B90F0421FD2AFAE008A39E0 /* NeoVimView+UiBridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B90F0241FD2AFAD008A39E0 /* NeoVimView+UiBridge.swift */; };
4B90F0431FD2AFAE008A39E0 /* NeoVimView+MenuItems.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B90F0251FD2AFAD008A39E0 /* NeoVimView+MenuItems.swift */; };
4B90F0441FD2AFAE008A39E0 /* MMCoreTextView.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B90F0261FD2AFAD008A39E0 /* MMCoreTextView.h */; settings = {ATTRIBUTES = (Private, ); }; };
4B90F0451FD2AFAE008A39E0 /* Logger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B90F0271FD2AFAD008A39E0 /* Logger.swift */; };
4B90F0461FD2AFAE008A39E0 /* Grid.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B90F0281FD2AFAD008A39E0 /* Grid.swift */; };
4B90F0481FD2AFAE008A39E0 /* NeoVimUiBridgeProtocol.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B90F02A1FD2AFAD008A39E0 /* NeoVimUiBridgeProtocol.m */; };
4B90F0491FD2AFAE008A39E0 /* CellAttributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B90F02B1FD2AFAD008A39E0 /* CellAttributes.swift */; };
4B90F04A1FD2AFAE008A39E0 /* NeoVimAgent.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B90F02C1FD2AFAE008A39E0 /* NeoVimAgent.m */; };
4B90F0521FD2AFD3008A39E0 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B90F0511FD2AFD3008A39E0 /* main.m */; };
4B90F0661FD2AFF7008A39E0 /* server_ui.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B90F0561FD2AFF7008A39E0 /* server_ui.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
4B90F0681FD2AFF7008A39E0 /* CocoaCategories.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B90F05A1FD2AFF7008A39E0 /* CocoaCategories.m */; };
4B90F06A1FD2AFF7008A39E0 /* DataWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B90F0611FD2AFF7008A39E0 /* DataWrapper.m */; };
4B90F06B1FD2AFF7008A39E0 /* NeoVimServer.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B90F0641FD2AFF7008A39E0 /* NeoVimServer.m */; };
4B90F0701FD2B9F1008A39E0 /* MsgPackRpc.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B90F0721FD2B9F1008A39E0 /* MsgPackRpc.framework */; };
4B90F0711FD2B9F1008A39E0 /* NvimMsgPack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B90F0731FD2B9F1008A39E0 /* NvimMsgPack.framework */; };
4B90F0781FD2BA7B008A39E0 /* Logger.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B90F0771FD2BA7B008A39E0 /* Logger.h */; settings = {ATTRIBUTES = (Private, ); }; };
4B90F07B1FD30650008A39E0 /* NeoVimMsgIds.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B90F0591FD2AFF7008A39E0 /* NeoVimMsgIds.h */; settings = {ATTRIBUTES = (Private, ); }; };
4BE45C081FD2D4E3005C0A95 /* NvimServer in CopyFiles */ = {isa = PBXBuildFile; fileRef = 4B90F04F1FD2AFD3008A39E0 /* NvimServer */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
4BE45C0C1FD2DA49005C0A95 /* runtime in Resources */ = {isa = PBXBuildFile; fileRef = 4BE45C0B1FD2DA49005C0A95 /* runtime */; };
4BE45C161FD2DB53005C0A95 /* NeoVimWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BE45C101FD2DB52005C0A95 /* NeoVimWindow.h */; settings = {ATTRIBUTES = (Public, ); }; };
4BE45C171FD2DB53005C0A95 /* NeoVimWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BE45C111FD2DB52005C0A95 /* NeoVimWindow.m */; };
4BE45C181FD2DB53005C0A95 /* NeoVimTab.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BE45C121FD2DB52005C0A95 /* NeoVimTab.m */; };
4BE45C191FD2DB53005C0A95 /* NeoVimTab.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BE45C131FD2DB52005C0A95 /* NeoVimTab.h */; settings = {ATTRIBUTES = (Public, ); }; };
4BE45C1A1FD2DB53005C0A95 /* NeoVimBuffer.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BE45C141FD2DB53005C0A95 /* NeoVimBuffer.m */; };
4BE45C1B1FD2DB53005C0A95 /* NeoVimBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BE45C151FD2DB53005C0A95 /* NeoVimBuffer.h */; settings = {ATTRIBUTES = (Public, ); }; };
4BF18C5D1FD2EEE400DF95D1 /* NvimView.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF18C5C1FD2EEE400DF95D1 /* NvimView.h */; settings = {ATTRIBUTES = (Public, ); }; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
4B90F06D1FD2B9E3008A39E0 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 4B90EFFB1FD2AF59008A39E0 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 4B90F04E1FD2AFD3008A39E0;
remoteInfo = NvimServer;
};
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
4B90F04D1FD2AFD3008A39E0 /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = /usr/share/man/man1/;
dstSubfolderSpec = 0;
files = (
);
runOnlyForDeploymentPostprocessing = 1;
};
4BE45C071FD2D4D7005C0A95 /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 13;
files = (
4BE45C081FD2D4E3005C0A95 /* NvimServer in CopyFiles */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
4B90F0041FD2AF59008A39E0 /* NvimView.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = NvimView.framework; sourceTree = BUILT_PRODUCTS_DIR; };
4B90F0081FD2AF59008A39E0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
4B90F00F1FD2AFAC008A39E0 /* NeoVimUiBridgeProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NeoVimUiBridgeProtocol.h; sourceTree = "<group>"; };
4B90F0101FD2AFAC008A39E0 /* NeoVimView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NeoVimView.swift; sourceTree = "<group>"; };
4B90F0111FD2AFAC008A39E0 /* NeoVimView+Resize.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NeoVimView+Resize.swift"; sourceTree = "<group>"; };
4B90F0121FD2AFAC008A39E0 /* KeyUtils.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyUtils.swift; sourceTree = "<group>"; };
4B90F0131FD2AFAC008A39E0 /* NeoVimAutoCommandEvent.generated.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NeoVimAutoCommandEvent.generated.m; sourceTree = "<group>"; };
4B90F0141FD2AFAC008A39E0 /* NeoVimView+Dragging.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NeoVimView+Dragging.swift"; sourceTree = "<group>"; };
4B90F0151FD2AFAC008A39E0 /* NeoVimAutoCommandEvent.generated.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NeoVimAutoCommandEvent.generated.h; sourceTree = "<group>"; };
4B90F0161FD2AFAC008A39E0 /* CocoaExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CocoaExtensions.swift; sourceTree = "<group>"; };
4B90F0171FD2AFAC008A39E0 /* NeoVimView+Mouse.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NeoVimView+Mouse.swift"; sourceTree = "<group>"; };
4B90F0181FD2AFAC008A39E0 /* NeoVimViewDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NeoVimViewDelegate.swift; sourceTree = "<group>"; };
4B90F0191FD2AFAC008A39E0 /* NeoVimAgent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NeoVimAgent.h; sourceTree = "<group>"; };
4B90F01A1FD2AFAC008A39E0 /* ColorUtils.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ColorUtils.swift; sourceTree = "<group>"; };
4B90F01B1FD2AFAC008A39E0 /* NeoVimView+Api.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NeoVimView+Api.swift"; sourceTree = "<group>"; };
4B90F01C1FD2AFAC008A39E0 /* NeoVimView+Key.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NeoVimView+Key.swift"; sourceTree = "<group>"; };
4B90F01D1FD2AFAC008A39E0 /* NeoVimObjectsExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NeoVimObjectsExtensions.swift; sourceTree = "<group>"; };
4B90F01E1FD2AFAC008A39E0 /* NeoVimView+TouchBar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NeoVimView+TouchBar.swift"; sourceTree = "<group>"; };
4B90F01F1FD2AFAD008A39E0 /* InputTestView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = InputTestView.swift; sourceTree = "<group>"; };
4B90F0201FD2AFAD008A39E0 /* MMCoreTextView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MMCoreTextView.m; sourceTree = "<group>"; };
4B90F0211FD2AFAD008A39E0 /* NeoVimView+Draw.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NeoVimView+Draw.swift"; sourceTree = "<group>"; };
4B90F0221FD2AFAD008A39E0 /* TextDrawer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TextDrawer.m; sourceTree = "<group>"; };
4B90F0231FD2AFAD008A39E0 /* TextDrawer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextDrawer.h; sourceTree = "<group>"; };
4B90F0241FD2AFAD008A39E0 /* NeoVimView+UiBridge.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NeoVimView+UiBridge.swift"; sourceTree = "<group>"; };
4B90F0251FD2AFAD008A39E0 /* NeoVimView+MenuItems.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NeoVimView+MenuItems.swift"; sourceTree = "<group>"; };
4B90F0261FD2AFAD008A39E0 /* MMCoreTextView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MMCoreTextView.h; sourceTree = "<group>"; };
4B90F0271FD2AFAD008A39E0 /* Logger.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Logger.swift; sourceTree = "<group>"; };
4B90F0281FD2AFAD008A39E0 /* Grid.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Grid.swift; sourceTree = "<group>"; };
4B90F02A1FD2AFAD008A39E0 /* NeoVimUiBridgeProtocol.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NeoVimUiBridgeProtocol.m; sourceTree = "<group>"; };
4B90F02B1FD2AFAD008A39E0 /* CellAttributes.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CellAttributes.swift; sourceTree = "<group>"; };
4B90F02C1FD2AFAE008A39E0 /* NeoVimAgent.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NeoVimAgent.m; sourceTree = "<group>"; };
4B90F04F1FD2AFD3008A39E0 /* NvimServer */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = NvimServer; sourceTree = BUILT_PRODUCTS_DIR; };
4B90F0511FD2AFD3008A39E0 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
4B90F0561FD2AFF7008A39E0 /* server_ui.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = server_ui.m; sourceTree = "<group>"; };
4B90F0571FD2AFF7008A39E0 /* CocoaCategories.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CocoaCategories.h; sourceTree = "<group>"; };
4B90F0591FD2AFF7008A39E0 /* NeoVimMsgIds.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NeoVimMsgIds.h; sourceTree = "<group>"; };
4B90F05A1FD2AFF7008A39E0 /* CocoaCategories.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CocoaCategories.m; sourceTree = "<group>"; };
4B90F05B1FD2AFF7008A39E0 /* Logging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Logging.h; sourceTree = "<group>"; };
4B90F05C1FD2AFF7008A39E0 /* DataWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DataWrapper.h; sourceTree = "<group>"; };
4B90F0611FD2AFF7008A39E0 /* DataWrapper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DataWrapper.m; sourceTree = "<group>"; };
4B90F0621FD2AFF7008A39E0 /* NeoVimServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NeoVimServer.h; sourceTree = "<group>"; };
4B90F0631FD2AFF7008A39E0 /* server_globals.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = server_globals.h; sourceTree = "<group>"; };
4B90F0641FD2AFF7008A39E0 /* NeoVimServer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NeoVimServer.m; sourceTree = "<group>"; };
4B90F0721FD2B9F1008A39E0 /* MsgPackRpc.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = MsgPackRpc.framework; sourceTree = BUILT_PRODUCTS_DIR; };
4B90F0731FD2B9F1008A39E0 /* NvimMsgPack.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = NvimMsgPack.framework; sourceTree = BUILT_PRODUCTS_DIR; };
4B90F0771FD2BA7B008A39E0 /* Logger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Logger.h; path = NvimView/Logger.h; sourceTree = SOURCE_ROOT; };
4BE45C0B1FD2DA49005C0A95 /* runtime */ = {isa = PBXFileReference; lastKnownFileType = folder; name = runtime; path = neovim/runtime; sourceTree = "<group>"; };
4BE45C101FD2DB52005C0A95 /* NeoVimWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NeoVimWindow.h; sourceTree = "<group>"; };
4BE45C111FD2DB52005C0A95 /* NeoVimWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NeoVimWindow.m; sourceTree = "<group>"; };
4BE45C121FD2DB52005C0A95 /* NeoVimTab.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NeoVimTab.m; sourceTree = "<group>"; };
4BE45C131FD2DB52005C0A95 /* NeoVimTab.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NeoVimTab.h; sourceTree = "<group>"; };
4BE45C141FD2DB53005C0A95 /* NeoVimBuffer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NeoVimBuffer.m; sourceTree = "<group>"; };
4BE45C151FD2DB53005C0A95 /* NeoVimBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NeoVimBuffer.h; sourceTree = "<group>"; };
4BF18C5A1FD2E72D00DF95D1 /* nvim */ = {isa = PBXFileReference; lastKnownFileType = folder; name = nvim; path = neovim/src/nvim; sourceTree = "<group>"; };
4BF18C5B1FD2E74800DF95D1 /* auto */ = {isa = PBXFileReference; lastKnownFileType = folder; name = auto; path = neovim/build/src/nvim/auto; sourceTree = "<group>"; };
4BF18C5C1FD2EEE400DF95D1 /* NvimView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NvimView.h; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
4B90F0001FD2AF59008A39E0 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
4B90F0701FD2B9F1008A39E0 /* MsgPackRpc.framework in Frameworks */,
4B90F0711FD2B9F1008A39E0 /* NvimMsgPack.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
4B90F04C1FD2AFD3008A39E0 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
4B90EFFA1FD2AF59008A39E0 = {
isa = PBXGroup;
children = (
4BF18C5B1FD2E74800DF95D1 /* auto */,
4BF18C5A1FD2E72D00DF95D1 /* nvim */,
4BE45C0B1FD2DA49005C0A95 /* runtime */,
4B90F0591FD2AFF7008A39E0 /* NeoVimMsgIds.h */,
4B90F0061FD2AF59008A39E0 /* NvimView */,
4B90F0501FD2AFD3008A39E0 /* NvimServer */,
4B90F0051FD2AF59008A39E0 /* Products */,
4B90F06F1FD2B9F1008A39E0 /* Frameworks */,
);
sourceTree = "<group>";
};
4B90F0051FD2AF59008A39E0 /* Products */ = {
isa = PBXGroup;
children = (
4B90F0041FD2AF59008A39E0 /* NvimView.framework */,
4B90F04F1FD2AFD3008A39E0 /* NvimServer */,
);
name = Products;
sourceTree = "<group>";
};
4B90F0061FD2AF59008A39E0 /* NvimView */ = {
isa = PBXGroup;
children = (
4B90F0081FD2AF59008A39E0 /* Info.plist */,
4BF18C5C1FD2EEE400DF95D1 /* NvimView.h */,
4B90F02B1FD2AFAD008A39E0 /* CellAttributes.swift */,
4B90F0161FD2AFAC008A39E0 /* CocoaExtensions.swift */,
4B90F01A1FD2AFAC008A39E0 /* ColorUtils.swift */,
4B90F0281FD2AFAD008A39E0 /* Grid.swift */,
4B90F01F1FD2AFAD008A39E0 /* InputTestView.swift */,
4B90F0121FD2AFAC008A39E0 /* KeyUtils.swift */,
4B90F0271FD2AFAD008A39E0 /* Logger.swift */,
4B90F0261FD2AFAD008A39E0 /* MMCoreTextView.h */,
4B90F0201FD2AFAD008A39E0 /* MMCoreTextView.m */,
4B90F0191FD2AFAC008A39E0 /* NeoVimAgent.h */,
4B90F02C1FD2AFAE008A39E0 /* NeoVimAgent.m */,
4B90F0151FD2AFAC008A39E0 /* NeoVimAutoCommandEvent.generated.h */,
4B90F0131FD2AFAC008A39E0 /* NeoVimAutoCommandEvent.generated.m */,
4B90F01D1FD2AFAC008A39E0 /* NeoVimObjectsExtensions.swift */,
4B90F00F1FD2AFAC008A39E0 /* NeoVimUiBridgeProtocol.h */,
4B90F02A1FD2AFAD008A39E0 /* NeoVimUiBridgeProtocol.m */,
4B90F0101FD2AFAC008A39E0 /* NeoVimView.swift */,
4B90F01B1FD2AFAC008A39E0 /* NeoVimView+Api.swift */,
4B90F0141FD2AFAC008A39E0 /* NeoVimView+Dragging.swift */,
4B90F0211FD2AFAD008A39E0 /* NeoVimView+Draw.swift */,
4B90F01C1FD2AFAC008A39E0 /* NeoVimView+Key.swift */,
4B90F0251FD2AFAD008A39E0 /* NeoVimView+MenuItems.swift */,
4B90F0171FD2AFAC008A39E0 /* NeoVimView+Mouse.swift */,
4B90F0111FD2AFAC008A39E0 /* NeoVimView+Resize.swift */,
4B90F01E1FD2AFAC008A39E0 /* NeoVimView+TouchBar.swift */,
4B90F0241FD2AFAD008A39E0 /* NeoVimView+UiBridge.swift */,
4B90F0181FD2AFAC008A39E0 /* NeoVimViewDelegate.swift */,
4B90F0231FD2AFAD008A39E0 /* TextDrawer.h */,
4B90F0221FD2AFAD008A39E0 /* TextDrawer.m */,
4B90F0771FD2BA7B008A39E0 /* Logger.h */,
4BE45C151FD2DB53005C0A95 /* NeoVimBuffer.h */,
4BE45C141FD2DB53005C0A95 /* NeoVimBuffer.m */,
4BE45C131FD2DB52005C0A95 /* NeoVimTab.h */,
4BE45C121FD2DB52005C0A95 /* NeoVimTab.m */,
4BE45C101FD2DB52005C0A95 /* NeoVimWindow.h */,
4BE45C111FD2DB52005C0A95 /* NeoVimWindow.m */,
);
path = NvimView;
sourceTree = "<group>";
};
4B90F0501FD2AFD3008A39E0 /* NvimServer */ = {
isa = PBXGroup;
children = (
4B90F0511FD2AFD3008A39E0 /* main.m */,
4B90F0571FD2AFF7008A39E0 /* CocoaCategories.h */,
4B90F05A1FD2AFF7008A39E0 /* CocoaCategories.m */,
4B90F05C1FD2AFF7008A39E0 /* DataWrapper.h */,
4B90F0611FD2AFF7008A39E0 /* DataWrapper.m */,
4B90F05B1FD2AFF7008A39E0 /* Logging.h */,
4B90F0621FD2AFF7008A39E0 /* NeoVimServer.h */,
4B90F0641FD2AFF7008A39E0 /* NeoVimServer.m */,
4B90F0631FD2AFF7008A39E0 /* server_globals.h */,
4B90F0561FD2AFF7008A39E0 /* server_ui.m */,
);
path = NvimServer;
sourceTree = "<group>";
};
4B90F06F1FD2B9F1008A39E0 /* Frameworks */ = {
isa = PBXGroup;
children = (
4B90F0721FD2B9F1008A39E0 /* MsgPackRpc.framework */,
4B90F0731FD2B9F1008A39E0 /* NvimMsgPack.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
4B90F0011FD2AF59008A39E0 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
4BF18C5D1FD2EEE400DF95D1 /* NvimView.h in Headers */,
4B90F0411FD2AFAE008A39E0 /* TextDrawer.h in Headers */,
4B90F0371FD2AFAE008A39E0 /* NeoVimAgent.h in Headers */,
4B90F02D1FD2AFAE008A39E0 /* NeoVimUiBridgeProtocol.h in Headers */,
4BE45C161FD2DB53005C0A95 /* NeoVimWindow.h in Headers */,
4BE45C1B1FD2DB53005C0A95 /* NeoVimBuffer.h in Headers */,
4BE45C191FD2DB53005C0A95 /* NeoVimTab.h in Headers */,
4B90F0441FD2AFAE008A39E0 /* MMCoreTextView.h in Headers */,
4B90F0331FD2AFAE008A39E0 /* NeoVimAutoCommandEvent.generated.h in Headers */,
4B90F0781FD2BA7B008A39E0 /* Logger.h in Headers */,
4B90F07B1FD30650008A39E0 /* NeoVimMsgIds.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
4B90F0031FD2AF59008A39E0 /* NvimView */ = {
isa = PBXNativeTarget;
buildConfigurationList = 4B90F00C1FD2AF59008A39E0 /* Build configuration list for PBXNativeTarget "NvimView" */;
buildPhases = (
4B90EFFF1FD2AF59008A39E0 /* Sources */,
4B90F0001FD2AF59008A39E0 /* Frameworks */,
4B90F0011FD2AF59008A39E0 /* Headers */,
4B90F0021FD2AF59008A39E0 /* Resources */,
4BE45C071FD2D4D7005C0A95 /* CopyFiles */,
);
buildRules = (
);
dependencies = (
4B90F06E1FD2B9E3008A39E0 /* PBXTargetDependency */,
);
name = NvimView;
productName = NvimView;
productReference = 4B90F0041FD2AF59008A39E0 /* NvimView.framework */;
productType = "com.apple.product-type.framework";
};
4B90F04E1FD2AFD3008A39E0 /* NvimServer */ = {
isa = PBXNativeTarget;
buildConfigurationList = 4B90F0531FD2AFD3008A39E0 /* Build configuration list for PBXNativeTarget "NvimServer" */;
buildPhases = (
4BE45C091FD2D92D005C0A95 /* ShellScript */,
4BE45C0A1FD2D941005C0A95 /* ShellScript */,
4B90F04B1FD2AFD3008A39E0 /* Sources */,
4B90F04C1FD2AFD3008A39E0 /* Frameworks */,
4B90F04D1FD2AFD3008A39E0 /* CopyFiles */,
);
buildRules = (
);
dependencies = (
);
name = NvimServer;
productName = NvimServer;
productReference = 4B90F04F1FD2AFD3008A39E0 /* NvimServer */;
productType = "com.apple.product-type.tool";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
4B90EFFB1FD2AF59008A39E0 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0910;
ORGANIZATIONNAME = "Tae Won Ha";
TargetAttributes = {
4B90F0031FD2AF59008A39E0 = {
CreatedOnToolsVersion = 9.1;
LastSwiftMigration = 0910;
};
4B90F04E1FD2AFD3008A39E0 = {
CreatedOnToolsVersion = 9.1;
};
};
};
buildConfigurationList = 4B90EFFE1FD2AF59008A39E0 /* Build configuration list for PBXProject "NvimView" */;
compatibilityVersion = "Xcode 8.0";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
);
mainGroup = 4B90EFFA1FD2AF59008A39E0;
productRefGroup = 4B90F0051FD2AF59008A39E0 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
4B90F0031FD2AF59008A39E0 /* NvimView */,
4B90F04E1FD2AFD3008A39E0 /* NvimServer */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
4B90F0021FD2AF59008A39E0 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
4BE45C0C1FD2DA49005C0A95 /* runtime in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
4BE45C091FD2D92D005C0A95 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "pushd neovim\n../../bin/build_libnvim.sh\npopd";
};
4BE45C0A1FD2D941005C0A95 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = ../bin/generate_source.py;
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
4B90EFFF1FD2AF59008A39E0 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
4B90F0381FD2AFAE008A39E0 /* ColorUtils.swift in Sources */,
4B90F03E1FD2AFAE008A39E0 /* MMCoreTextView.m in Sources */,
4B90F0481FD2AFAE008A39E0 /* NeoVimUiBridgeProtocol.m in Sources */,
4B90F03F1FD2AFAE008A39E0 /* NeoVimView+Draw.swift in Sources */,
4B90F02F1FD2AFAE008A39E0 /* NeoVimView+Resize.swift in Sources */,
4B90F0341FD2AFAE008A39E0 /* CocoaExtensions.swift in Sources */,
4B90F0461FD2AFAE008A39E0 /* Grid.swift in Sources */,
4BE45C171FD2DB53005C0A95 /* NeoVimWindow.m in Sources */,
4B90F0421FD2AFAE008A39E0 /* NeoVimView+UiBridge.swift in Sources */,
4B90F0401FD2AFAE008A39E0 /* TextDrawer.m in Sources */,
4B90F02E1FD2AFAE008A39E0 /* NeoVimView.swift in Sources */,
4B90F03C1FD2AFAE008A39E0 /* NeoVimView+TouchBar.swift in Sources */,
4B90F03B1FD2AFAE008A39E0 /* NeoVimObjectsExtensions.swift in Sources */,
4BE45C1A1FD2DB53005C0A95 /* NeoVimBuffer.m in Sources */,
4B90F04A1FD2AFAE008A39E0 /* NeoVimAgent.m in Sources */,
4B90F0351FD2AFAE008A39E0 /* NeoVimView+Mouse.swift in Sources */,
4B90F0431FD2AFAE008A39E0 /* NeoVimView+MenuItems.swift in Sources */,
4B90F0391FD2AFAE008A39E0 /* NeoVimView+Api.swift in Sources */,
4B90F0311FD2AFAE008A39E0 /* NeoVimAutoCommandEvent.generated.m in Sources */,
4B90F0451FD2AFAE008A39E0 /* Logger.swift in Sources */,
4B90F0321FD2AFAE008A39E0 /* NeoVimView+Dragging.swift in Sources */,
4B90F0491FD2AFAE008A39E0 /* CellAttributes.swift in Sources */,
4B90F0301FD2AFAE008A39E0 /* KeyUtils.swift in Sources */,
4B90F03A1FD2AFAE008A39E0 /* NeoVimView+Key.swift in Sources */,
4B90F0361FD2AFAE008A39E0 /* NeoVimViewDelegate.swift in Sources */,
4BE45C181FD2DB53005C0A95 /* NeoVimTab.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
4B90F04B1FD2AFD3008A39E0 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
4B90F06B1FD2AFF7008A39E0 /* NeoVimServer.m in Sources */,
4B90F0661FD2AFF7008A39E0 /* server_ui.m in Sources */,
4B90F0521FD2AFD3008A39E0 /* main.m in Sources */,
4B90F0681FD2AFF7008A39E0 /* CocoaCategories.m in Sources */,
4B90F06A1FD2AFF7008A39E0 /* DataWrapper.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
4B90F06E1FD2B9E3008A39E0 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 4B90F04E1FD2AFD3008A39E0 /* NvimServer */;
targetProxy = 4B90F06D1FD2B9E3008A39E0 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
4B90F00A1FD2AF59008A39E0 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.10;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
4B90F00B1FD2AF59008A39E0 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.10;
MTL_ENABLE_DEBUG_INFO = NO;
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
};
4B90F00D1FD2AF59008A39E0 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ENABLE_MODULES = YES;
COMBINE_HIDPI_IMAGES = YES;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)/../Carthage/Build/Mac";
FRAMEWORK_VERSION = A;
INFOPLIST_FILE = NvimView/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.qvacua.NvimView;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SKIP_INSTALL = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 4.0;
};
name = Debug;
};
4B90F00E1FD2AF59008A39E0 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ENABLE_MODULES = YES;
COMBINE_HIDPI_IMAGES = YES;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)/../Carthage/Build/Mac";
FRAMEWORK_VERSION = A;
INFOPLIST_FILE = NvimView/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.qvacua.NvimView;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SKIP_INSTALL = YES;
SWIFT_VERSION = 4.0;
};
name = Release;
};
4B90F0541FD2AFD3008A39E0 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
GCC_PREPROCESSOR_DEFINITIONS = (
"$(inherited)",
"INCLUDE_GENERATED_DECLARATIONS=1",
);
HEADER_SEARCH_PATHS = (
"$(PROJECT_DIR)/neovim/build/include",
"$(PROJECT_DIR)/neovim/src",
"$(PROJECT_DIR)/neovim/.deps/usr/include",
"$(PROJECT_DIR)/neovim/build/config",
"$(PROJECT_DIR)/third-party/libintl/include",
"$(PROJECT_DIR)/neovim/build/src/nvim/auto",
);
LIBRARY_SEARCH_PATHS = (
"$(PROJECT_DIR)/neovim/build/lib",
"$(PROJECT_DIR)/neovim/.deps/usr/lib",
);
OTHER_LDFLAGS = (
"-liconv",
"-lpthread",
"-ldl",
"-lm",
"-lutil",
"$(PROJECT_DIR)/third-party/libintl/lib/libintl.a",
"$(PROJECT_DIR)/neovim/.deps/usr/lib/libjemalloc.a",
"$(PROJECT_DIR)/neovim/.deps/usr/lib/liblua.a",
"$(PROJECT_DIR)/neovim/.deps/usr/lib/libvterm.a",
"$(PROJECT_DIR)/neovim/.deps/usr/lib/libuv.a",
"$(PROJECT_DIR)/neovim/.deps/usr/lib/libmsgpackc.a",
"$(PROJECT_DIR)/neovim/build/lib/libnvim.a",
);
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
};
4B90F0551FD2AFD3008A39E0 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
GCC_PREPROCESSOR_DEFINITIONS = "INCLUDE_GENERATED_DECLARATIONS=1";
HEADER_SEARCH_PATHS = (
"$(PROJECT_DIR)/neovim/build/include",
"$(PROJECT_DIR)/neovim/src",
"$(PROJECT_DIR)/neovim/.deps/usr/include",
"$(PROJECT_DIR)/neovim/build/config",
"$(PROJECT_DIR)/third-party/libintl/include",
"$(PROJECT_DIR)/neovim/build/src/nvim/auto",
);
LIBRARY_SEARCH_PATHS = (
"$(PROJECT_DIR)/neovim/build/lib",
"$(PROJECT_DIR)/neovim/.deps/usr/lib",
);
OTHER_LDFLAGS = (
"-liconv",
"-lpthread",
"-ldl",
"-lm",
"-lutil",
"$(PROJECT_DIR)/third-party/libintl/lib/libintl.a",
"$(PROJECT_DIR)/neovim/.deps/usr/lib/libjemalloc.a",
"$(PROJECT_DIR)/neovim/.deps/usr/lib/liblua.a",
"$(PROJECT_DIR)/neovim/.deps/usr/lib/libvterm.a",
"$(PROJECT_DIR)/neovim/.deps/usr/lib/libuv.a",
"$(PROJECT_DIR)/neovim/.deps/usr/lib/libmsgpackc.a",
"$(PROJECT_DIR)/neovim/build/lib/libnvim.a",
);
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
4B90EFFE1FD2AF59008A39E0 /* Build configuration list for PBXProject "NvimView" */ = {
isa = XCConfigurationList;
buildConfigurations = (
4B90F00A1FD2AF59008A39E0 /* Debug */,
4B90F00B1FD2AF59008A39E0 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
4B90F00C1FD2AF59008A39E0 /* Build configuration list for PBXNativeTarget "NvimView" */ = {
isa = XCConfigurationList;
buildConfigurations = (
4B90F00D1FD2AF59008A39E0 /* Debug */,
4B90F00E1FD2AF59008A39E0 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
4B90F0531FD2AFD3008A39E0 /* Build configuration list for PBXNativeTarget "NvimServer" */ = {
isa = XCConfigurationList;
buildConfigurations = (
4B90F0541FD2AFD3008A39E0 /* Debug */,
4B90F0551FD2AFD3008A39E0 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 4B90EFFB1FD2AF59008A39E0 /* Project object */;
}

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0900"
LastUpgradeVersion = "0910"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@ -14,10 +14,10 @@
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4B12CD851F5A985600167D59"
BuildableName = "ThemedWindow.app"
BlueprintName = "ThemedWindow"
ReferencedContainer = "container:VimR.xcodeproj">
BlueprintIdentifier = "4B90F04E1FD2AFD3008A39E0"
BuildableName = "NvimServer"
BlueprintName = "NvimServer"
ReferencedContainer = "container:NvimView.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
@ -33,10 +33,10 @@
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4B12CD851F5A985600167D59"
BuildableName = "ThemedWindow.app"
BlueprintName = "ThemedWindow"
ReferencedContainer = "container:VimR.xcodeproj">
BlueprintIdentifier = "4B90F04E1FD2AFD3008A39E0"
BuildableName = "NvimServer"
BlueprintName = "NvimServer"
ReferencedContainer = "container:NvimView.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
@ -57,10 +57,10 @@
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4B12CD851F5A985600167D59"
BuildableName = "ThemedWindow.app"
BlueprintName = "ThemedWindow"
ReferencedContainer = "container:VimR.xcodeproj">
BlueprintIdentifier = "4B90F04E1FD2AFD3008A39E0"
BuildableName = "NvimServer"
BlueprintName = "NvimServer"
ReferencedContainer = "container:NvimView.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
@ -76,10 +76,10 @@
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4B12CD851F5A985600167D59"
BuildableName = "ThemedWindow.app"
BlueprintName = "ThemedWindow"
ReferencedContainer = "container:VimR.xcodeproj">
BlueprintIdentifier = "4B90F04E1FD2AFD3008A39E0"
BuildableName = "NvimServer"
BlueprintName = "NvimServer"
ReferencedContainer = "container:NvimView.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0900"
LastUpgradeVersion = "0910"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@ -14,10 +14,10 @@
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4B56F28F1D29903F00C1F92E"
BuildableName = "SwiftNeoVimTests.xctest"
BlueprintName = "SwiftNeoVimTests"
ReferencedContainer = "container:VimR.xcodeproj">
BlueprintIdentifier = "4B90F0031FD2AF59008A39E0"
BuildableName = "NvimView.framework"
BlueprintName = "NvimView"
ReferencedContainer = "container:NvimView.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
@ -29,16 +29,6 @@
language = ""
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4B56F28F1D29903F00C1F92E"
BuildableName = "SwiftNeoVimTests.xctest"
BlueprintName = "SwiftNeoVimTests"
ReferencedContainer = "container:VimR.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
<AdditionalOptions>
</AdditionalOptions>
@ -57,10 +47,10 @@
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4B56F28F1D29903F00C1F92E"
BuildableName = "SwiftNeoVimTests.xctest"
BlueprintName = "SwiftNeoVimTests"
ReferencedContainer = "container:VimR.xcodeproj">
BlueprintIdentifier = "4B90F0031FD2AF59008A39E0"
BuildableName = "NvimView.framework"
BlueprintName = "NvimView"
ReferencedContainer = "container:NvimView.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
@ -72,6 +62,15 @@
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4B90F0031FD2AF59008A39E0"
BuildableName = "NvimView.framework"
BlueprintName = "NvimView"
ReferencedContainer = "container:NvimView.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">

View File

@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
@ -15,13 +15,11 @@
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>SNAPSHOT-243</string>
<key>CFBundleSignature</key>
<string>????</string>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>243</string>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2016 Tae Won Ha. All rights reserved.</string>
<string>Copyright © 2017 Tae Won Ha. All rights reserved.</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>

View File

@ -413,7 +413,7 @@ static CFDataRef local_server_callback(CFMessagePortRef local __unused, SInt32 m
}
- (NSString *)neoVimServerExecutablePath {
return [[[NSBundle bundleForClass:[self class]] builtInPlugInsPath] stringByAppendingPathComponent:@"NeoVimServer"];
return [[[NSBundle bundleForClass:[self class]] builtInPlugInsPath] stringByAppendingPathComponent:@"NVimServer"];
}
- (NSString *)localServerName {

View File

@ -63,7 +63,7 @@ extension NeoVimView {
if buffers.filter({ $0.url == url }).first != nil {
for window in tabs.map({ $0.windows }).flatMap({ $0 }) {
if window.buffer.url == url {
self.nvim.setCurrentWin(window: Nvim.Window(window.handle), expectsReturnValue: false)
self.nvim.setCurrentWin(window: NvimApi.Window(window.handle), expectsReturnValue: false)
return
}
}
@ -96,7 +96,7 @@ extension NeoVimView {
public func select(buffer: NeoVimBuffer) {
for window in self.allTabs().map({ $0.windows }).flatMap({ $0 }) {
if window.buffer.handle == buffer.handle {
self.nvim.setCurrentWin(window: Nvim.Window(window.handle), expectsReturnValue: false)
self.nvim.setCurrentWin(window: NvimApi.Window(window.handle), expectsReturnValue: false)
return
}
}
@ -188,7 +188,7 @@ extension NeoVimView {
self.exec(command: "\(cmd) \(escapedFileName)")
}
private func neoVimBuffer(for buf: Nvim.Buffer, currentBuffer: Nvim.Buffer?) -> NeoVimBuffer? {
private func neoVimBuffer(for buf: NvimApi.Buffer, currentBuffer: NvimApi.Buffer?) -> NeoVimBuffer? {
guard let path = self.nvim.bufGetName(buffer: buf).value else {
return nil
}
@ -207,9 +207,9 @@ extension NeoVimView {
return NeoVimBuffer(handle: buf.handle, unescapedPath: path, dirty: dirty, readOnly: readonly, current: current)
}
private func neoVimWindow(for window: Nvim.Window,
currentWindow: Nvim.Window?,
currentBuffer: Nvim.Buffer?) -> NeoVimWindow? {
private func neoVimWindow(for window: NvimApi.Window,
currentWindow: NvimApi.Window?,
currentBuffer: NvimApi.Buffer?) -> NeoVimWindow? {
guard let buf = self.nvim.winGetBuf(window: window).value else {
return nil
@ -222,9 +222,9 @@ extension NeoVimView {
return NeoVimWindow(handle: window.handle, buffer: buffer, currentInTab: window == currentWindow)
}
private func neoVimTab(for tabpage: Nvim.Tabpage,
currentTabpage: Nvim.Tabpage?,
currentBuffer: Nvim.Buffer?) -> NeoVimTab? {
private func neoVimTab(for tabpage: NvimApi.Tabpage,
currentTabpage: NvimApi.Tabpage?,
currentBuffer: NvimApi.Buffer?) -> NeoVimTab? {
let curWinInTab = self.nvim.tabpageGetWin(tabpage: tabpage).value

View File

@ -87,6 +87,6 @@ extension NeoVimView : NSTouchBarDelegate, NSScrubberDataSource, NSScrubberDeleg
}
let window = tab.currentWindow() ?? tab.windows[0]
self.nvim.setCurrentWin(window: Nvim.Window(window.handle), expectsReturnValue: false)
self.nvim.setCurrentWin(window: NvimApi.Window(window.handle), expectsReturnValue: false)
}
}

View File

@ -154,7 +154,7 @@ public class NeoVimView: NSView,
self.agent = NeoVimAgent(uuid: self.uuid)
let sockPath = URL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent("vimr_\(self.uuid).sock").path
guard let nvim = Nvim(at: sockPath) else {
guard let nvim = NvimApi(at: sockPath) else {
preconditionFailure("Nvim could not be instantiated")
}
@ -207,7 +207,7 @@ public class NeoVimView: NSView,
with: URL(fileURLWithPath: "/tmp/nvv-bridge.log"),
shouldLogDebug: nil)
let agent: NeoVimAgent
let nvim: Nvim
let nvim: NvimApi
let grid = Grid()
let drawer: TextDrawer

View File

@ -0,0 +1,26 @@
//
// NvimView.h
// NvimView
//
// Created by hat on 02.12.17.
// Copyright © 2017 Tae Won Ha. All rights reserved.
//
#import <Cocoa/Cocoa.h>
//! Project version number for NvimView.
FOUNDATION_EXPORT double NvimViewVersionNumber;
//! Project version string for NvimView.
FOUNDATION_EXPORT const unsigned char NvimViewVersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <NvimView/PublicHeader.h>
#import <NvimView/NeoVimUiBridgeProtocol.h>
// TODO: this header should not be public, but we cannot use a bridging header in a framework.
#import <NvimView/TextDrawer.h>
#import <NvimView/NeoVimAgent.h>
#import <NvimView/NeoVimBuffer.h>
#import <NvimView/NeoVimTab.h>
#import <NvimView/NeoVimWindow.h>
#import <NvimView/NeoVimAutoCommandEvent.generated.h>

View File

@ -4,4 +4,3 @@ ENABLE_CUSTOM_UI := ENABLE
DEPS_CMAKE_FLAGS += -DUSE_BUNDLED_LUA=ON
CMAKE_BUILD_TYPE := Release

View File

@ -53,53 +53,40 @@ We will gradually create feature [issues](https://github.com/qvacua/vimr/issues)
## How to Build
First after cloning the VimR source tree you need to initialize git submodules
(right now the only one used is for neovim source tree):
```bash
git submodule init
git submodule update
```
You have to use Xcode 8. First install `homebrew`, then in the project root:
You have to use Xcode 9. First install `homebrew`, then in the project root:
```bash
xcode-select --install # install the Xcode command line tools
brew install gnu-sed
brew install carthage # install Carthage for dependency management
brew install libtool automake cmake pkg-config gettext ninja # install libs and tools for neovim
xcode-select --install # install the Xcode command line tools, if you haven't already
brew bundle
./bin/build_vimr.sh # VimR.app will be placed in build/Build/Products/Release/
```
If you encounter `/usr/local/Library/ENV/4.3/sed: No such file or directory`, then try the following:
```bash
cd neovim
make distclean
brew reinstall -s libtool
```
Then `./bin/build_vimr.sh` again in the project root folder. (See [GH-263](https://github.com/qvacua/vimr/issues/263))
## Project Setup
### Artifacts Hierarchy
```
VimR.app
+-- SwiftNeoVim.framework
+-- NvimView.framework
   +-- NeoVimView
   +-- runtime files for Neovim
   +-- NeoVimServer
   +-- NvimServer
      +-- libnvim
      +-- other libs for Neovim
```
### Libraries for Neovim
* The library `libiconv` is linked by the linker flag `-liconv`. The version bundled with OSX will be linked.
* The library `libintl` is in `third-party/libintl/lib` and linked by "Other Linker Flags" of the NeoVimServer target.
* Other libraries used by Neovim, which are automatically built by building `libnvim`, are linked by "Other Linker Flags" of the NeoVimServer target.
* The library `libiconv` is linked by the linker flag `-liconv`. The version bundled with macOS will be linked.
* The library `libintl` is pre-built in `third-party/libintl/lib` and linked by "Other Linker Flags" of the NvimServer target.
* Other libraries used by Neovim, which are automatically built by building `libnvim`, are linked by "Other Linker Flags" of the NvimServer target.
## License

View File

@ -1,22 +0,0 @@
/**
* Tae Won Ha - http://taewon.de - @hataewon
* See LICENSE
*/
#import <Cocoa/Cocoa.h>
//! Project version number for SwiftNeoVim.
FOUNDATION_EXPORT double SwiftNeoVimVersionNumber;
//! Project version string for SwiftNeoVim.
FOUNDATION_EXPORT const unsigned char SwiftNeoVimVersionString[];
#import <SwiftNeoVim/NeoVimUiBridgeProtocol.h>
// TODO: this header should not be public, but we cannot use a bridging header in a framework.
#import <SwiftNeoVim/TextDrawer.h>
#import <SwiftNeoVim/NeoVimAgent.h>
#import <SwiftNeoVim/NeoVimMsgIds.h>
#import <SwiftNeoVim/NeoVimBuffer.h>
#import <SwiftNeoVim/NeoVimTab.h>
#import <SwiftNeoVim/NeoVimWindow.h>
#import <SwiftNeoVim/NeoVimAutoCommandEvent.generated.h>

View File

@ -1,11 +0,0 @@
/**
* Tae Won Ha - http://taewon.de - @hataewon
* See LICENSE
*/
import XCTest
import Nimble
@testable import SwiftNeoVim
class GridTest: XCTestCase {
}

View File

@ -1,26 +0,0 @@
//
// AppDelegate.swift
// ThemedWindow
//
// Created by hat on 02.09.17.
// Copyright © 2017 Tae Won Ha. All rights reserved.
//
import Cocoa
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
func applicationDidFinishLaunching(_ aNotification: Notification) {
// Insert code here to initialize your application
}
func applicationWillTerminate(_ aNotification: Notification) {
// Insert code here to tear down your application
}
}

View File

@ -1,58 +0,0 @@
{
"images" : [
{
"idiom" : "mac",
"size" : "16x16",
"scale" : "1x"
},
{
"idiom" : "mac",
"size" : "16x16",
"scale" : "2x"
},
{
"idiom" : "mac",
"size" : "32x32",
"scale" : "1x"
},
{
"idiom" : "mac",
"size" : "32x32",
"scale" : "2x"
},
{
"idiom" : "mac",
"size" : "128x128",
"scale" : "1x"
},
{
"idiom" : "mac",
"size" : "128x128",
"scale" : "2x"
},
{
"idiom" : "mac",
"size" : "256x256",
"scale" : "1x"
},
{
"idiom" : "mac",
"size" : "256x256",
"scale" : "2x"
},
{
"idiom" : "mac",
"size" : "512x512",
"scale" : "1x"
},
{
"idiom" : "mac",
"size" : "512x512",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

View File

@ -1,417 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.Storyboard.XIB" version="3.0" toolsVersion="12121" systemVersion="16G29" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" initialViewController="B8D-0N-5wS">
<dependencies>
<deployment identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="12121"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--Application-->
<scene sceneID="JPo-4y-FX3">
<objects>
<application id="hnw-xV-0zn" sceneMemberID="viewController">
<menu key="mainMenu" title="Main Menu" systemMenu="main" id="AYu-sK-qS6">
<items>
<menuItem title="ThemedWindow" id="1Xt-HY-uBw">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="ThemedWindow" systemMenu="apple" id="uQy-DD-JDr">
<items>
<menuItem title="About ThemedWindow" id="5kV-Vb-QxS">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="orderFrontStandardAboutPanel:" target="Ady-hI-5gd" id="Exp-CZ-Vem"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="VOq-y0-SEH"/>
<menuItem title="Preferences…" keyEquivalent="," id="BOF-NM-1cW"/>
<menuItem isSeparatorItem="YES" id="wFC-TO-SCJ"/>
<menuItem title="Services" id="NMo-om-nkz">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Services" systemMenu="services" id="hz9-B4-Xy5"/>
</menuItem>
<menuItem isSeparatorItem="YES" id="4je-JR-u6R"/>
<menuItem title="Hide ThemedWindow" keyEquivalent="h" id="Olw-nP-bQN">
<connections>
<action selector="hide:" target="Ady-hI-5gd" id="PnN-Uc-m68"/>
</connections>
</menuItem>
<menuItem title="Hide Others" keyEquivalent="h" id="Vdr-fp-XzO">
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
<connections>
<action selector="hideOtherApplications:" target="Ady-hI-5gd" id="VT4-aY-XCT"/>
</connections>
</menuItem>
<menuItem title="Show All" id="Kd2-mp-pUS">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="unhideAllApplications:" target="Ady-hI-5gd" id="Dhg-Le-xox"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="kCx-OE-vgT"/>
<menuItem title="Quit ThemedWindow" keyEquivalent="q" id="4sb-4s-VLi">
<connections>
<action selector="terminate:" target="Ady-hI-5gd" id="Te7-pn-YzF"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="File" id="dMs-cI-mzQ">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="File" id="bib-Uj-vzu">
<items>
<menuItem title="Set URL 1" keyEquivalent="1" id="Was-JA-tGl">
<connections>
<action selector="setRepUrl1:" target="Ady-hI-5gd" id="MCQ-wp-O7P"/>
</connections>
</menuItem>
<menuItem title="Set URL 2" keyEquivalent="2" id="IAo-SY-fd9">
<connections>
<action selector="setRepUrl2:" target="Ady-hI-5gd" id="5o0-8i-WME"/>
</connections>
</menuItem>
<menuItem title="Turn On Theme" keyEquivalent="3" id="wW8-Lv-cK4">
<connections>
<action selector="themeTitlebar" target="Ady-hI-5gd" id="uau-he-2Ov"/>
</connections>
</menuItem>
<menuItem title="Turn Off Theme" keyEquivalent="4" id="wKo-N6-gcC">
<connections>
<action selector="unthemeTitlebar" target="Ady-hI-5gd" id="PVY-ao-WPz"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Edit" id="5QF-Oa-p0T">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Edit" id="W48-6f-4Dl">
<items>
<menuItem title="Undo" keyEquivalent="z" id="dRJ-4n-Yzg">
<connections>
<action selector="undo:" target="Ady-hI-5gd" id="M6e-cu-g7V"/>
</connections>
</menuItem>
<menuItem title="Redo" keyEquivalent="Z" id="6dh-zS-Vam">
<connections>
<action selector="redo:" target="Ady-hI-5gd" id="oIA-Rs-6OD"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="WRV-NI-Exz"/>
<menuItem title="Cut" keyEquivalent="x" id="uRl-iY-unG">
<connections>
<action selector="cut:" target="Ady-hI-5gd" id="YJe-68-I9s"/>
</connections>
</menuItem>
<menuItem title="Copy" keyEquivalent="c" id="x3v-GG-iWU">
<connections>
<action selector="copy:" target="Ady-hI-5gd" id="G1f-GL-Joy"/>
</connections>
</menuItem>
<menuItem title="Paste" keyEquivalent="v" id="gVA-U4-sdL">
<connections>
<action selector="paste:" target="Ady-hI-5gd" id="UvS-8e-Qdg"/>
</connections>
</menuItem>
<menuItem title="Paste and Match Style" keyEquivalent="V" id="WeT-3V-zwk">
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
<connections>
<action selector="pasteAsPlainText:" target="Ady-hI-5gd" id="cEh-KX-wJQ"/>
</connections>
</menuItem>
<menuItem title="Delete" id="pa3-QI-u2k">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="delete:" target="Ady-hI-5gd" id="0Mk-Ml-PaM"/>
</connections>
</menuItem>
<menuItem title="Select All" keyEquivalent="a" id="Ruw-6m-B2m">
<connections>
<action selector="selectAll:" target="Ady-hI-5gd" id="VNm-Mi-diN"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="uyl-h8-XO2"/>
<menuItem title="Find" id="4EN-yA-p0u">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Find" id="1b7-l0-nxx">
<items>
<menuItem title="Find…" tag="1" keyEquivalent="f" id="Xz5-n4-O0W">
<connections>
<action selector="performFindPanelAction:" target="Ady-hI-5gd" id="cD7-Qs-BN4"/>
</connections>
</menuItem>
<menuItem title="Find and Replace…" tag="12" keyEquivalent="f" id="YEy-JH-Tfz">
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
<connections>
<action selector="performFindPanelAction:" target="Ady-hI-5gd" id="WD3-Gg-5AJ"/>
</connections>
</menuItem>
<menuItem title="Find Next" tag="2" keyEquivalent="g" id="q09-fT-Sye">
<connections>
<action selector="performFindPanelAction:" target="Ady-hI-5gd" id="NDo-RZ-v9R"/>
</connections>
</menuItem>
<menuItem title="Find Previous" tag="3" keyEquivalent="G" id="OwM-mh-QMV">
<connections>
<action selector="performFindPanelAction:" target="Ady-hI-5gd" id="HOh-sY-3ay"/>
</connections>
</menuItem>
<menuItem title="Use Selection for Find" tag="7" keyEquivalent="e" id="buJ-ug-pKt">
<connections>
<action selector="performFindPanelAction:" target="Ady-hI-5gd" id="U76-nv-p5D"/>
</connections>
</menuItem>
<menuItem title="Jump to Selection" keyEquivalent="j" id="S0p-oC-mLd">
<connections>
<action selector="centerSelectionInVisibleArea:" target="Ady-hI-5gd" id="IOG-6D-g5B"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Spelling and Grammar" id="Dv1-io-Yv7">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Spelling" id="3IN-sU-3Bg">
<items>
<menuItem title="Show Spelling and Grammar" keyEquivalent=":" id="HFo-cy-zxI">
<connections>
<action selector="showGuessPanel:" target="Ady-hI-5gd" id="vFj-Ks-hy3"/>
</connections>
</menuItem>
<menuItem title="Check Document Now" keyEquivalent=";" id="hz2-CU-CR7">
<connections>
<action selector="checkSpelling:" target="Ady-hI-5gd" id="fz7-VC-reM"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="bNw-od-mp5"/>
<menuItem title="Check Spelling While Typing" id="rbD-Rh-wIN">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleContinuousSpellChecking:" target="Ady-hI-5gd" id="7w6-Qz-0kB"/>
</connections>
</menuItem>
<menuItem title="Check Grammar With Spelling" id="mK6-2p-4JG">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleGrammarChecking:" target="Ady-hI-5gd" id="muD-Qn-j4w"/>
</connections>
</menuItem>
<menuItem title="Correct Spelling Automatically" id="78Y-hA-62v">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleAutomaticSpellingCorrection:" target="Ady-hI-5gd" id="2lM-Qi-WAP"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Substitutions" id="9ic-FL-obx">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Substitutions" id="FeM-D8-WVr">
<items>
<menuItem title="Show Substitutions" id="z6F-FW-3nz">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="orderFrontSubstitutionsPanel:" target="Ady-hI-5gd" id="oku-mr-iSq"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="gPx-C9-uUO"/>
<menuItem title="Smart Copy/Paste" id="9yt-4B-nSM">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleSmartInsertDelete:" target="Ady-hI-5gd" id="3IJ-Se-DZD"/>
</connections>
</menuItem>
<menuItem title="Smart Quotes" id="hQb-2v-fYv">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleAutomaticQuoteSubstitution:" target="Ady-hI-5gd" id="ptq-xd-QOA"/>
</connections>
</menuItem>
<menuItem title="Smart Dashes" id="rgM-f4-ycn">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleAutomaticDashSubstitution:" target="Ady-hI-5gd" id="oCt-pO-9gS"/>
</connections>
</menuItem>
<menuItem title="Smart Links" id="cwL-P1-jid">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleAutomaticLinkDetection:" target="Ady-hI-5gd" id="Gip-E3-Fov"/>
</connections>
</menuItem>
<menuItem title="Data Detectors" id="tRr-pd-1PS">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleAutomaticDataDetection:" target="Ady-hI-5gd" id="R1I-Nq-Kbl"/>
</connections>
</menuItem>
<menuItem title="Text Replacement" id="HFQ-gK-NFA">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleAutomaticTextReplacement:" target="Ady-hI-5gd" id="DvP-Fe-Py6"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Transformations" id="2oI-Rn-ZJC">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Transformations" id="c8a-y6-VQd">
<items>
<menuItem title="Make Upper Case" id="vmV-6d-7jI">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="uppercaseWord:" target="Ady-hI-5gd" id="sPh-Tk-edu"/>
</connections>
</menuItem>
<menuItem title="Make Lower Case" id="d9M-CD-aMd">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="lowercaseWord:" target="Ady-hI-5gd" id="iUZ-b5-hil"/>
</connections>
</menuItem>
<menuItem title="Capitalize" id="UEZ-Bs-lqG">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="capitalizeWord:" target="Ady-hI-5gd" id="26H-TL-nsh"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Speech" id="xrE-MZ-jX0">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Speech" id="3rS-ZA-NoH">
<items>
<menuItem title="Start Speaking" id="Ynk-f8-cLZ">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="startSpeaking:" target="Ady-hI-5gd" id="654-Ng-kyl"/>
</connections>
</menuItem>
<menuItem title="Stop Speaking" id="Oyz-dy-DGm">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="stopSpeaking:" target="Ady-hI-5gd" id="dX8-6p-jy9"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="View" id="H8h-7b-M4v">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="View" id="HyV-fh-RgO">
<items>
<menuItem title="Show Toolbar" keyEquivalent="t" id="snW-S8-Cw5">
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
<connections>
<action selector="toggleToolbarShown:" target="Ady-hI-5gd" id="BXY-wc-z0C"/>
</connections>
</menuItem>
<menuItem title="Customize Toolbar…" id="1UK-8n-QPP">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="runToolbarCustomizationPalette:" target="Ady-hI-5gd" id="pQI-g3-MTW"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="hB3-LF-h0Y"/>
<menuItem title="Show Sidebar" keyEquivalent="s" id="kIP-vf-haE">
<modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>
<connections>
<action selector="toggleSourceList:" target="Ady-hI-5gd" id="iwa-gc-5KM"/>
</connections>
</menuItem>
<menuItem title="Enter Full Screen" keyEquivalent="f" id="4J7-dP-txa">
<modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>
<connections>
<action selector="toggleFullScreen:" target="Ady-hI-5gd" id="dU3-MA-1Rq"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Window" id="aUF-d1-5bR">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Window" systemMenu="window" id="Td7-aD-5lo">
<items>
<menuItem title="Minimize" keyEquivalent="m" id="OY7-WF-poV">
<connections>
<action selector="performMiniaturize:" target="Ady-hI-5gd" id="VwT-WD-YPe"/>
</connections>
</menuItem>
<menuItem title="Zoom" id="R4o-n2-Eq4">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="performZoom:" target="Ady-hI-5gd" id="DIl-cC-cCs"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="eu3-7i-yIM"/>
<menuItem title="Bring All to Front" id="LE2-aR-0XJ">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="arrangeInFront:" target="Ady-hI-5gd" id="DRN-fu-gQh"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Help" id="wpr-3q-Mcd">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Help" systemMenu="help" id="F2S-fz-NVQ">
<items>
<menuItem title="ThemedWindow Help" keyEquivalent="?" id="FKE-Sm-Kum">
<connections>
<action selector="showHelp:" target="Ady-hI-5gd" id="y7X-2Q-9no"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
</items>
</menu>
<connections>
<outlet property="delegate" destination="Voe-Tx-rLC" id="PrD-fu-P6m"/>
</connections>
</application>
<customObject id="Voe-Tx-rLC" customClass="AppDelegate" customModule="ThemedWindow" customModuleProvider="target"/>
<customObject id="Ady-hI-5gd" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="75" y="0.0"/>
</scene>
<!--Window Controller-->
<scene sceneID="R2V-B0-nI4">
<objects>
<windowController id="B8D-0N-5wS" customClass="WindowController" customModule="ThemedWindow" customModuleProvider="target" sceneMemberID="viewController">
<window key="window" title="Window" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" oneShot="NO" releasedWhenClosed="NO" showsToolbarButton="NO" visibleAtLaunch="NO" animationBehavior="default" id="IQv-IB-iLA">
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
<rect key="contentRect" x="196" y="240" width="480" height="270"/>
<rect key="screenRect" x="0.0" y="0.0" width="1680" height="1027"/>
</window>
<connections>
<segue destination="XfG-lQ-9wD" kind="relationship" relationship="window.shadowedContentViewController" id="cq2-FE-JQM"/>
</connections>
</windowController>
<customObject id="Oky-zY-oP4" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="75" y="250"/>
</scene>
<!--View Controller-->
<scene sceneID="hIz-AP-VOD">
<objects>
<viewController id="XfG-lQ-9wD" customClass="ViewController" customModule="ThemedWindow" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" wantsLayer="YES" id="m2S-Jp-Qdl">
<rect key="frame" x="0.0" y="0.0" width="480" height="270"/>
<autoresizingMask key="autoresizingMask"/>
</view>
</viewController>
<customObject id="rPt-NT-nkU" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="75" y="655"/>
</scene>
</scenes>
</document>

View File

@ -1,32 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>SNAPSHOT-243</string>
<key>CFBundleVersion</key>
<string>243</string>
<key>LSMinimumSystemVersion</key>
<string>$(MACOSX_DEPLOYMENT_TARGET)</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2017 Tae Won Ha. All rights reserved.</string>
<key>NSMainStoryboardFile</key>
<string>Main</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>

View File

@ -1,27 +0,0 @@
//
// ViewController.swift
// ThemedWindow
//
// Created by hat on 02.09.17.
// Copyright © 2017 Tae Won Ha. All rights reserved.
//
import Cocoa
class ViewController: NSViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override var representedObject: Any? {
didSet {
// Update the view, if already loaded.
}
}
}

View File

@ -1,210 +0,0 @@
import Cocoa
import PureLayout
fileprivate let gap = CGFloat(4.0)
class WindowController: NSWindowController, NSWindowDelegate {
func windowWillEnterFullScreen(_: Notification) {
self.unthemeTitlebar(dueFullScreen: true)
}
func windowDidExitFullScreen(_: Notification) {
if self.titlebarThemed {
self.themeTitlebar(grow: true)
}
}
fileprivate var titlebarThemed = false
fileprivate var repIcon: NSButton?
fileprivate var titleView: NSTextField?
fileprivate func themeTitlebar(grow: Bool) {
guard let window = self.window else {
return
}
if window.styleMask.contains(.fullScreen) {
return
}
window.titlebarAppearsTransparent = true
self.root.removeFromSuperview()
self.set(repUrl: window.representedURL, themed: true)
window.contentView?.addSubview(self.root)
self.root.autoPinEdge(toSuperviewEdge: .top, withInset: 22)
self.root.autoPinEdge(toSuperviewEdge: .right)
self.root.autoPinEdge(toSuperviewEdge: .bottom)
self.root.autoPinEdge(toSuperviewEdge: .left)
self.titlebarThemed = true
}
fileprivate func unthemeTitlebar(dueFullScreen: Bool) {
self.clearCustomTitle()
guard let window = self.window, let contentView = window.contentView else {
return
}
let prevFrame = window.frame
window.titlebarAppearsTransparent = false
self.root.removeFromSuperview()
window.titleVisibility = .visible
window.styleMask.remove(.fullSizeContentView)
self.set(repUrl: window.representedURL, themed: false)
contentView.addSubview(self.root)
self.root.autoPinEdgesToSuperviewEdges()
if !dueFullScreen {
window.setFrame(prevFrame, display: true, animate: false)
self.titlebarThemed = false
}
}
fileprivate func clearCustomTitle() {
self.titleView?.removeFromSuperview()
self.repIcon?.removeFromSuperview()
self.titleView = nil
self.repIcon = nil
}
fileprivate func internalSetRepUrl(_ url: URL?) {
self.window?.representedURL = nil
self.window?.representedURL = url
self.window?.title = url?.lastPathComponent ?? "Title"
}
fileprivate func set(repUrl url: URL?, themed: Bool) {
guard let window = self.window else {
return
}
if window.styleMask.contains(.fullScreen) || themed == false {
self.internalSetRepUrl(url)
return
}
let prevFrame = window.frame
self.clearCustomTitle()
window.titleVisibility = .visible
self.internalSetRepUrl(url)
guard let contentView = window.contentView else {
return
}
window.titleVisibility = .hidden
window.styleMask.insert(.fullSizeContentView)
let title = NSTextField(labelWithString: window.title)
title.configureForAutoLayout()
contentView.addSubview(title)
title.autoPinEdge(toSuperviewEdge: .top, withInset: 2)
self.titleView = title
if let button = window.standardWindowButton(.documentIconButton) {
button.removeFromSuperview() // remove the rep icon from the original superview and add it to content view
contentView.addSubview(button)
button.autoSetDimension(.width, toSize: 16)
button.autoSetDimension(.height, toSize: 16)
button.autoPinEdge(toSuperviewEdge: .top, withInset: 3)
// Center the rep icon and the title side by side in the content view:
// rightView.left = leftView.right + gap
// rightView.right = parentView.centerX + (leftView.width + gap + rightView.width) / 2 - 4
// The (-4) at the end is an empirical value...
contentView.addConstraint(NSLayoutConstraint(item: title, attribute: .left,
relatedBy: .equal,
toItem: button, attribute: .right,
multiplier: 1,
constant: gap))
contentView.addConstraint(NSLayoutConstraint(item: title, attribute: .right,
relatedBy: .equal,
toItem: contentView, attribute: .centerX,
multiplier: 1,
constant: -4 + (button.frame.width + gap + title.frame.width) / 2))
self.repIcon = button
} else {
title.autoAlignAxis(toSuperviewAxis: .vertical)
}
window.setFrame(prevFrame, display: true, animate: false)
}
// ====== >8 ======
fileprivate let root = ColorView(bg: .green)
override func windowDidLoad() {
super.windowDidLoad()
guard let window = self.window else {
return
}
window.delegate = self
window.backgroundColor = .yellow
guard let contentView = window.contentView else {
return
}
contentView.addSubview(self.root)
self.root.autoPinEdgesToSuperviewEdges()
}
@IBAction func setRepUrl1(_: Any?) {
self.set(repUrl: URL(fileURLWithPath: "/Users/hat/big.txt"), themed: self.titlebarThemed)
}
@IBAction func setRepUrl2(_: Any?) {
self.set(repUrl: URL(fileURLWithPath: "/Users/hat/greek.tex"), themed: self.titlebarThemed)
}
@IBAction func themeTitlebar(_: Any?) {
self.themeTitlebar(grow: !self.titlebarThemed)
}
@IBAction func unthemeTitlebar(_: Any?) {
self.unthemeTitlebar(dueFullScreen: false)
}
}
class ColorView: NSView {
fileprivate let color: NSColor
init(bg: NSColor) {
self.color = bg
super.init(frame: .zero)
self.configureForAutoLayout()
self.wantsLayer = true
self.layer?.backgroundColor = bg.cgColor
}
override func draw(_ dirtyRect: NSRect) {
super.draw(dirtyRect)
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}

View File

@ -1,108 +0,0 @@
/**
* Tae Won Ha - http://taewon.de - @hataewon
* See LICENSE
*/
import Cocoa
import PureLayout
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate, WorkspaceDelegate {
@IBOutlet weak var window: NSWindow!
fileprivate var workspace: Workspace = Workspace(mainView: NSView())
@IBAction func toggleBars(_ sender: AnyObject!) {
workspace.toggleAllTools()
}
@IBAction func toggleButtons(_ sender: AnyObject!) {
workspace.toggleToolButtons()
}
func applicationDidFinishLaunching(_ aNotification: Notification) {
let contentView = self.window.contentView!
let workspace = Workspace(mainView: DummyView(NSColor.white))
self.workspace = workspace
contentView.addSubview(workspace)
workspace.autoPinEdgesToSuperviewEdges()
// workspace.append(tool: dummyTool(title: "Top-1", color: .yellow), location: .top)
workspace.append(tool: dummyTool(title: "Right-1", color: .magenta), location: .right)
workspace.append(tool: dummyTool(title: "Right-2", color: .black), location: .right)
let menuItems = [
NSMenuItem(title: "First", action: nil, keyEquivalent: ""),
NSMenuItem(title: "Second", action: nil, keyEquivalent: ""),
NSMenuItem(title: "Third", action: nil, keyEquivalent: ""),
NSMenuItem(title: "Fourth", action: nil, keyEquivalent: ""),
NSMenuItem(title: "Fifth", action: nil, keyEquivalent: ""),
]
let tool = dummyTool(title: "Left-1", color: .blue, customToolbar: DummyView(.orange), customMenu: menuItems)
workspace.append(tool: tool, location: .left)
workspace.append(tool: dummyTool(title: "Left-2", color: .red), location: .left)
workspace.append(tool: dummyTool(title: "Left-3", color: .gray), location: .left)
workspace.append(tool: dummyTool(title: "Bottom-1", color: .cyan), location: .bottom)
workspace.append(tool: dummyTool(title: "Bottom-2", color: .blue), location: .bottom)
tool.toggle()
// FIXME: GH-422
workspace.delegate = self
}
fileprivate func dummyTool(title: String,
color: NSColor,
customToolbar: CustomToolBar? = nil,
customMenu: [NSMenuItem] = []) -> WorkspaceTool
{
let config = WorkspaceTool.Config(title: title,
view: DummyView(color),
minimumDimension: 150,
withInnerToolbar: true,
customToolbar: customToolbar,
customMenuItems: customMenu)
return WorkspaceTool(config)
}
func resizeWillStart(workspace: Workspace, tool: WorkspaceTool?) {
NSLog("\(#function)")
}
func resizeDidEnd(workspace: Workspace, tool: WorkspaceTool?) {
NSLog("\(#function)")
}
func toggled(tool: WorkspaceTool) {
NSLog("\(#function)")
}
func moved(tool: WorkspaceTool) {
NSLog("\(#function)")
}
}
class DummyView: CustomToolBar {
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
init(_ color: NSColor) {
super.init(frame: .zero)
self.configureForAutoLayout()
self.wantsLayer = true
self.layer?.backgroundColor = color.cgColor
}
override func mouseDown(with event: NSEvent) {
NSLog("mouse down")
}
}

View File

@ -1,58 +0,0 @@
{
"images" : [
{
"idiom" : "mac",
"size" : "16x16",
"scale" : "1x"
},
{
"idiom" : "mac",
"size" : "16x16",
"scale" : "2x"
},
{
"idiom" : "mac",
"size" : "32x32",
"scale" : "1x"
},
{
"idiom" : "mac",
"size" : "32x32",
"scale" : "2x"
},
{
"idiom" : "mac",
"size" : "128x128",
"scale" : "1x"
},
{
"idiom" : "mac",
"size" : "128x128",
"scale" : "2x"
},
{
"idiom" : "mac",
"size" : "256x256",
"scale" : "1x"
},
{
"idiom" : "mac",
"size" : "256x256",
"scale" : "2x"
},
{
"idiom" : "mac",
"size" : "512x512",
"scale" : "1x"
},
{
"idiom" : "mac",
"size" : "512x512",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

View File

@ -1,122 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="11201" systemVersion="15G1108" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="11201"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="NSApplication">
<connections>
<outlet property="delegate" destination="Voe-Tx-rLC" id="GzC-gU-4Uq"/>
</connections>
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<customObject id="Voe-Tx-rLC" customClass="AppDelegate" customModule="VimR_Workspace_Demo" customModuleProvider="target">
<connections>
<outlet property="window" destination="QvC-M9-y7g" id="gIp-Ho-8D9"/>
</connections>
</customObject>
<customObject id="YLy-65-1bz" customClass="NSFontManager"/>
<menu title="Main Menu" systemMenu="main" id="AYu-sK-qS6">
<items>
<menuItem title="VimR-Workspace-Demo" id="1Xt-HY-uBw">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="VimR-Workspace-Demo" systemMenu="apple" id="uQy-DD-JDr">
<items>
<menuItem title="About VimR-Workspace-Demo" id="5kV-Vb-QxS">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="orderFrontStandardAboutPanel:" target="-1" id="Exp-CZ-Vem"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="VOq-y0-SEH"/>
<menuItem title="Preferences…" keyEquivalent="," id="BOF-NM-1cW"/>
<menuItem isSeparatorItem="YES" id="wFC-TO-SCJ"/>
<menuItem title="Services" id="NMo-om-nkz">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Services" systemMenu="services" id="hz9-B4-Xy5"/>
</menuItem>
<menuItem isSeparatorItem="YES" id="4je-JR-u6R"/>
<menuItem title="Hide VimR-Workspace-Demo" keyEquivalent="h" id="Olw-nP-bQN">
<connections>
<action selector="hide:" target="-1" id="PnN-Uc-m68"/>
</connections>
</menuItem>
<menuItem title="Hide Others" keyEquivalent="h" id="Vdr-fp-XzO">
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
<connections>
<action selector="hideOtherApplications:" target="-1" id="VT4-aY-XCT"/>
</connections>
</menuItem>
<menuItem title="Show All" id="Kd2-mp-pUS">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="unhideAllApplications:" target="-1" id="Dhg-Le-xox"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="kCx-OE-vgT"/>
<menuItem title="Quit VimR-Workspace-Demo" keyEquivalent="q" id="4sb-4s-VLi">
<connections>
<action selector="terminate:" target="-1" id="Te7-pn-YzF"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Debug" id="dMs-cI-mzQ">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Debug" id="bib-Uj-vzu">
<items>
<menuItem title="Toggle Tools" keyEquivalent="\" id="IAo-SY-fd9">
<connections>
<action selector="toggleBars:" target="-1" id="XTB-Vl-cqN"/>
</connections>
</menuItem>
<menuItem title="Toggle Bar Buttons" keyEquivalent="\" id="yUM-CD-4Ay">
<modifierMask key="keyEquivalentModifierMask" shift="YES" command="YES"/>
<connections>
<action selector="toggleButtons:" target="-1" id="B2v-Vc-Vky"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Window" id="aUF-d1-5bR">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Window" systemMenu="window" id="Td7-aD-5lo">
<items>
<menuItem title="Minimize" keyEquivalent="m" id="OY7-WF-poV">
<connections>
<action selector="performMiniaturize:" target="-1" id="VwT-WD-YPe"/>
</connections>
</menuItem>
<menuItem title="Zoom" id="R4o-n2-Eq4">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="performZoom:" target="-1" id="DIl-cC-cCs"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="eu3-7i-yIM"/>
<menuItem title="Bring All to Front" id="LE2-aR-0XJ">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="arrangeInFront:" target="-1" id="DRN-fu-gQh"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
</items>
</menu>
<window title="VimR-Workspace-Demo" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" frameAutosaveName="vimr-workspace-demo-main-window" animationBehavior="default" id="QvC-M9-y7g">
<windowStyleMask key="styleMask" titled="YES" miniaturizable="YES" resizable="YES"/>
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
<rect key="contentRect" x="335" y="390" width="480" height="360"/>
<rect key="screenRect" x="0.0" y="0.0" width="1440" height="877"/>
<view key="contentView" id="EiT-Mj-1SZ">
<rect key="frame" x="0.0" y="0.0" width="480" height="360"/>
<autoresizingMask key="autoresizingMask"/>
</view>
</window>
</objects>
</document>

View File

@ -1,34 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>SNAPSHOT-243</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>243</string>
<key>LSMinimumSystemVersion</key>
<string>$(MACOSX_DEPLOYMENT_TARGET)</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2016 Tae Won Ha. All rights reserved.</string>
<key>NSMainNibFile</key>
<string>MainMenu</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>

View File

@ -1,110 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0900"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4B854A191D31447C00E08DE1"
BuildableName = "NeoVimServer"
BlueprintName = "NeoVimServer"
ReferencedContainer = "container:VimR.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
language = ""
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4B854A191D31447C00E08DE1"
BuildableName = "NeoVimServer"
BlueprintName = "NeoVimServer"
ReferencedContainer = "container:VimR.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
language = ""
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4B854A191D31447C00E08DE1"
BuildableName = "NeoVimServer"
BlueprintName = "NeoVimServer"
ReferencedContainer = "container:VimR.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<CommandLineArguments>
<CommandLineArgument
argument = "local"
isEnabled = "YES">
</CommandLineArgument>
<CommandLineArgument
argument = "remote"
isEnabled = "YES">
</CommandLineArgument>
</CommandLineArguments>
<EnvironmentVariables>
<EnvironmentVariable
key = "VIMRUNTIME"
value = "/usr/local/share/nvim/runtime"
isEnabled = "YES">
</EnvironmentVariable>
</EnvironmentVariables>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4B854A191D31447C00E08DE1"
BuildableName = "NeoVimServer"
BlueprintName = "NeoVimServer"
ReferencedContainer = "container:VimR.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@ -1,143 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0900"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4B9E333E1FCB457800E0C4BC"
BuildableName = "MsgPackRpc.framework"
BlueprintName = "MsgPackRpc"
ReferencedContainer = "container:MsgPackRpc/MsgPackRpc.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4B9E336B1FCB475600E0C4BC"
BuildableName = "NvimMsgPack.framework"
BlueprintName = "NvimMsgPack"
ReferencedContainer = "container:NvimMsgPack/NvimMsgPack.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4B2A2BF61D0351810074CE9A"
BuildableName = "SwiftNeoVim.framework"
BlueprintName = "SwiftNeoVim"
ReferencedContainer = "container:VimR.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4B854A191D31447C00E08DE1"
BuildableName = "NeoVimServer"
BlueprintName = "NeoVimServer"
ReferencedContainer = "container:VimR.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
language = ""
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4B56F28F1D29903F00C1F92E"
BuildableName = "SwiftNeoVimTests.xctest"
BlueprintName = "SwiftNeoVimTests"
ReferencedContainer = "container:VimR.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4B2A2BF61D0351810074CE9A"
BuildableName = "SwiftNeoVim.framework"
BlueprintName = "SwiftNeoVim"
ReferencedContainer = "container:VimR.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
language = ""
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4B2A2BF61D0351810074CE9A"
BuildableName = "SwiftNeoVim.framework"
BlueprintName = "SwiftNeoVim"
ReferencedContainer = "container:VimR.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4B2A2BF61D0351810074CE9A"
BuildableName = "SwiftNeoVim.framework"
BlueprintName = "SwiftNeoVim"
ReferencedContainer = "container:VimR.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@ -1,159 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0900"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4BEBA5041CFF374B00673FDF"
BuildableName = "VimR.app"
BlueprintName = "VimR"
ReferencedContainer = "container:VimR.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4B9E333E1FCB457800E0C4BC"
BuildableName = "MsgPackRpc.framework"
BlueprintName = "MsgPackRpc"
ReferencedContainer = "container:MsgPackRpc/MsgPackRpc.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4B9E336B1FCB475600E0C4BC"
BuildableName = "NvimMsgPack.framework"
BlueprintName = "NvimMsgPack"
ReferencedContainer = "container:NvimMsgPack/NvimMsgPack.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4B854A191D31447C00E08DE1"
BuildableName = "NeoVimServer"
BlueprintName = "NeoVimServer"
ReferencedContainer = "container:VimR.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4B2A2BF61D0351810074CE9A"
BuildableName = "SwiftNeoVim.framework"
BlueprintName = "SwiftNeoVim"
ReferencedContainer = "container:VimR.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
language = ""
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4BEBA5131CFF374B00673FDF"
BuildableName = "VimRTests.xctest"
BlueprintName = "VimRTests"
ReferencedContainer = "container:VimR.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4BEBA5041CFF374B00673FDF"
BuildableName = "VimR.app"
BlueprintName = "VimR"
ReferencedContainer = "container:VimR.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
language = ""
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4BEBA5041CFF374B00673FDF"
BuildableName = "VimR.app"
BlueprintName = "VimR"
ReferencedContainer = "container:VimR.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4BEBA5041CFF374B00673FDF"
BuildableName = "VimR.app"
BlueprintName = "VimR"
ReferencedContainer = "container:VimR.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@ -1,6 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "group:VimR/VimR.xcodeproj">
</FileRef>
<FileRef
location = "group:NvimView/NvimView.xcodeproj">
</FileRef>
<FileRef
location = "group:MsgPackRpc/MsgPackRpc.xcodeproj">
</FileRef>
@ -10,7 +16,4 @@
<FileRef
location = "group:NvimMsgPack/NvimMsgPack.xcodeproj">
</FileRef>
<FileRef
location = "container:VimR.xcodeproj">
</FileRef>
</Workspace>

View File

@ -14,9 +14,9 @@
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4B64239E1D8EFE7500FC78C8"
BuildableName = "VimR-Workspace-Demo.app"
BlueprintName = "VimR-Workspace-Demo"
BlueprintIdentifier = "4BEBA5041CFF374B00673FDF"
BuildableName = "VimR.app"
BlueprintName = "VimR"
ReferencedContainer = "container:VimR.xcodeproj">
</BuildableReference>
</BuildActionEntry>
@ -29,13 +29,23 @@
language = ""
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4BEBA5131CFF374B00673FDF"
BuildableName = "VimRTests.xctest"
BlueprintName = "VimRTests"
ReferencedContainer = "container:VimR.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4B64239E1D8EFE7500FC78C8"
BuildableName = "VimR-Workspace-Demo.app"
BlueprintName = "VimR-Workspace-Demo"
BlueprintIdentifier = "4BEBA5041CFF374B00673FDF"
BuildableName = "VimR.app"
BlueprintName = "VimR"
ReferencedContainer = "container:VimR.xcodeproj">
</BuildableReference>
</MacroExpansion>
@ -57,9 +67,9 @@
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4B64239E1D8EFE7500FC78C8"
BuildableName = "VimR-Workspace-Demo.app"
BlueprintName = "VimR-Workspace-Demo"
BlueprintIdentifier = "4BEBA5041CFF374B00673FDF"
BuildableName = "VimR.app"
BlueprintName = "VimR"
ReferencedContainer = "container:VimR.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
@ -76,9 +86,9 @@
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4B64239E1D8EFE7500FC78C8"
BuildableName = "VimR-Workspace-Demo.app"
BlueprintName = "VimR-Workspace-Demo"
BlueprintIdentifier = "4BEBA5041CFF374B00673FDF"
BuildableName = "VimR.app"
BlueprintName = "VimR"
ReferencedContainer = "container:VimR.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>

Some files were not shown because too many files have changed in this diff Show More