mirror of
https://github.com/qvacua/vimr.git
synced 2024-12-23 13:53:06 +03:00
Re-add some demos
This commit is contained in:
parent
81f21cbefd
commit
aac853f2a8
@ -5,19 +5,12 @@ import PackageDescription
|
||||
let package = Package(
|
||||
name: "Commons",
|
||||
platforms: [.macOS(.v10_13)],
|
||||
products: [
|
||||
.library(
|
||||
name: "Commons",
|
||||
targets: ["Commons"]),
|
||||
],
|
||||
products: [.library(name: "Commons", targets: ["Commons"])],
|
||||
dependencies: [
|
||||
.package(url: "https://github.com/Quick/Nimble", .upToNextMinor(from: "8.1.1")),
|
||||
],
|
||||
targets: [
|
||||
.target(
|
||||
name: "Commons",
|
||||
dependencies: []
|
||||
),
|
||||
.target(name: "Commons", dependencies: []),
|
||||
.testTarget(
|
||||
name: "CommonsTests",
|
||||
dependencies: ["Commons", "Nimble"],
|
||||
|
@ -38,7 +38,6 @@
|
||||
children = (
|
||||
4B7FBFF924EC936C002D12A1 /* EnvVarTest */,
|
||||
4B7FBFE424EC92F2002D12A1 /* Products */,
|
||||
4B7FC00624EC9425002D12A1 /* Frameworks */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
@ -61,13 +60,6 @@
|
||||
path = EnvVarTest;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4B7FC00624EC9425002D12A1 /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
|
@ -1,47 +0,0 @@
|
||||
/**
|
||||
* Tae Won Ha - http://taewon.de - @hataewon
|
||||
* See LICENSE
|
||||
*/
|
||||
|
||||
import Foundation
|
||||
import RxSwift
|
||||
|
||||
extension PrimitiveSequence where Element == Never, Trait == CompletableTrait {
|
||||
|
||||
func wait(
|
||||
onCompleted: (() -> Void)? = nil,
|
||||
onError: ((Error) -> Void)? = nil
|
||||
) throws {
|
||||
var trigger = false
|
||||
var err: Error? = nil
|
||||
|
||||
let condition = NSCondition()
|
||||
|
||||
condition.lock()
|
||||
defer { condition.unlock() }
|
||||
|
||||
let disposable = self.subscribe(onCompleted: {
|
||||
onCompleted?()
|
||||
|
||||
condition.lock()
|
||||
defer { condition.unlock() }
|
||||
trigger = true
|
||||
condition.broadcast()
|
||||
}, onError: { error in
|
||||
onError?(error)
|
||||
err = error
|
||||
|
||||
condition.lock()
|
||||
defer { condition.unlock() }
|
||||
trigger = true
|
||||
condition.broadcast()
|
||||
})
|
||||
|
||||
while !trigger { condition.wait(until: Date(timeIntervalSinceNow: 5)) }
|
||||
disposable.dispose()
|
||||
|
||||
if let e = err {
|
||||
throw e
|
||||
}
|
||||
}
|
||||
}
|
@ -1,59 +0,0 @@
|
||||
/**
|
||||
* Tae Won Ha - http://taewon.de - @hataewon
|
||||
* See LICENSE
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
|
||||
typedef NS_ENUM(NSInteger, NeoVimServerMsgId) {
|
||||
NeoVimServerMsgIdServerReady = 0,
|
||||
NeoVimServerMsgIdNeoVimReady,
|
||||
NeoVimServerMsgIdResize,
|
||||
NeoVimServerMsgIdClear,
|
||||
NeoVimServerMsgIdEolClear,
|
||||
NeoVimServerMsgIdSetMenu,
|
||||
NeoVimServerMsgIdBusyStart,
|
||||
NeoVimServerMsgIdBusyStop,
|
||||
NeoVimServerMsgIdMouseOn,
|
||||
NeoVimServerMsgIdMouseOff,
|
||||
NeoVimServerMsgIdModeChange,
|
||||
NeoVimServerMsgIdSetScrollRegion,
|
||||
NeoVimServerMsgIdScroll,
|
||||
NeoVimServerMsgIdUnmark,
|
||||
NeoVimServerMsgIdBell,
|
||||
NeoVimServerMsgIdVisualBell,
|
||||
NeoVimServerMsgIdFlush,
|
||||
NeoVimServerMsgIdSetForeground,
|
||||
NeoVimServerMsgIdSetBackground,
|
||||
NeoVimServerMsgIdSetSpecial,
|
||||
NeoVimServerMsgIdSetTitle,
|
||||
NeoVimServerMsgIdSetIcon,
|
||||
NeoVimServerMsgIdStop,
|
||||
|
||||
NeoVimServerMsgIdDirtyStatusChanged,
|
||||
NeoVimServerMsgIdCwdChanged,
|
||||
NeoVimServerMsgIdColorSchemeChanged,
|
||||
NeoVimServerMsgIdAutoCommandEvent,
|
||||
|
||||
#ifdef DEBUG
|
||||
NeoVimServerDebug1,
|
||||
#endif
|
||||
};
|
||||
|
||||
typedef NS_ENUM(NSInteger, NeoVimAgentMsgId) {
|
||||
NeoVimAgentMsgIdAgentReady = 0,
|
||||
NeoVimAgentMsgIdInput,
|
||||
NeoVimAgentMsgIdInputMarked,
|
||||
NeoVimAgentMsgIdDelete,
|
||||
NeoVimAgentMsgIdResize,
|
||||
NeoVimAgentMsgIdScroll,
|
||||
|
||||
NeoVimAgentMsgIdGetEscapeFileNames,
|
||||
|
||||
NeoVimAgentMsgIdFocusGained,
|
||||
|
||||
#ifdef DEBUG
|
||||
NeoVimAgentDebug1,
|
||||
#endif
|
||||
};
|
File diff suppressed because it is too large
Load Diff
@ -1,76 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "1020"
|
||||
version = "1.7">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "4BF1851F21313EE300954FE7"
|
||||
BuildableName = "DrawerDev.app"
|
||||
BlueprintName = "DrawerDev"
|
||||
ReferencedContainer = "container:NvimView.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "4BF1851F21313EE300954FE7"
|
||||
BuildableName = "DrawerDev.app"
|
||||
BlueprintName = "DrawerDev"
|
||||
ReferencedContainer = "container:NvimView.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
<LocationScenarioReference
|
||||
identifier = "com.apple.dt.IDEFoundation.CurrentLocationScenarioIdentifier"
|
||||
referenceType = "1">
|
||||
</LocationScenarioReference>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
@ -1,76 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "1020"
|
||||
version = "1.7">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "4BF01CCB2235015E00411218"
|
||||
BuildableName = "DrawerPerf.app"
|
||||
BlueprintName = "DrawerPerf"
|
||||
ReferencedContainer = "container:NvimView.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Release"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "4BF01CCB2235015E00411218"
|
||||
BuildableName = "DrawerPerf.app"
|
||||
BlueprintName = "DrawerPerf"
|
||||
ReferencedContainer = "container:NvimView.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
<LocationScenarioReference
|
||||
identifier = "com.apple.dt.IDEFoundation.CurrentLocationScenarioIdentifier"
|
||||
referenceType = "1">
|
||||
</LocationScenarioReference>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
@ -1,86 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "1020"
|
||||
version = "1.7">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "4BF01CCB2235015E00411218"
|
||||
BuildableName = "DrawerPerf.app"
|
||||
BlueprintName = "DrawerPerf"
|
||||
ReferencedContainer = "container:NvimView.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "4BF01CCB2235015E00411218"
|
||||
BuildableName = "DrawerPerf.app"
|
||||
BlueprintName = "DrawerPerf"
|
||||
ReferencedContainer = "container:NvimView.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
<LocationScenarioReference
|
||||
identifier = "com.apple.dt.IDEFoundation.CurrentLocationScenarioIdentifier"
|
||||
referenceType = "1">
|
||||
</LocationScenarioReference>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "4BF01CCB2235015E00411218"
|
||||
BuildableName = "DrawerPerf.app"
|
||||
BlueprintName = "DrawerPerf"
|
||||
ReferencedContainer = "container:NvimView.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
@ -1,78 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "1160"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "4B3C735724BB2631006274F0"
|
||||
BuildableName = "EnvTest.app"
|
||||
BlueprintName = "EnvTest"
|
||||
ReferencedContainer = "container:NvimView.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "4B3C735724BB2631006274F0"
|
||||
BuildableName = "EnvTest.app"
|
||||
BlueprintName = "EnvTest"
|
||||
ReferencedContainer = "container:NvimView.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "4B3C735724BB2631006274F0"
|
||||
BuildableName = "EnvTest.app"
|
||||
BlueprintName = "EnvTest"
|
||||
ReferencedContainer = "container:NvimView.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
@ -1,36 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
version = "1.3">
|
||||
<BuildAction>
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForRunning = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "4B0225EF224AAE260052362B"
|
||||
BuildableName = "MinimalNvimViewDemo.app"
|
||||
BlueprintName = "MinimalNvimViewDemo"
|
||||
ReferencedContainer = "container:NvimView.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<LaunchAction
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Release"
|
||||
allowLocationSimulation = "YES">
|
||||
<BuildableProductRunnable>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "4B0225EF224AAE260052362B"
|
||||
BuildableName = "MinimalNvimViewDemo.app"
|
||||
BlueprintName = "MinimalNvimViewDemo"
|
||||
ReferencedContainer = "container:NvimView.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
<LocationScenarioReference
|
||||
identifier = "com.apple.dt.IDEFoundation.CurrentLocationScenarioIdentifier"
|
||||
referenceType = "1">
|
||||
</LocationScenarioReference>
|
||||
</LaunchAction>
|
||||
</Scheme>
|
@ -1,101 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "1020"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "4B0225EF224AAE260052362B"
|
||||
BuildableName = "MinimalNvimViewDemo.app"
|
||||
BlueprintName = "MinimalNvimViewDemo"
|
||||
ReferencedContainer = "container:NvimView.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "4B0225EF224AAE260052362B"
|
||||
BuildableName = "MinimalNvimViewDemo.app"
|
||||
BlueprintName = "MinimalNvimViewDemo"
|
||||
ReferencedContainer = "container:NvimView.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "4B0225EF224AAE260052362B"
|
||||
BuildableName = "MinimalNvimViewDemo.app"
|
||||
BlueprintName = "MinimalNvimViewDemo"
|
||||
ReferencedContainer = "container:NvimView.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
<AdditionalOptions>
|
||||
<AdditionalOption
|
||||
key = "MallocStackLogging"
|
||||
value = ""
|
||||
isEnabled = "YES">
|
||||
</AdditionalOption>
|
||||
<AdditionalOption
|
||||
key = "PrefersMallocStackLoggingLite"
|
||||
value = ""
|
||||
isEnabled = "YES">
|
||||
</AdditionalOption>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "4B0225EF224AAE260052362B"
|
||||
BuildableName = "MinimalNvimViewDemo.app"
|
||||
BlueprintName = "MinimalNvimViewDemo"
|
||||
ReferencedContainer = "container:NvimView.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
@ -1,99 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "1020"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "4B90F0031FD2AF59008A39E0"
|
||||
BuildableName = "NvimView.framework"
|
||||
BlueprintName = "NvimView"
|
||||
ReferencedContainer = "container:NvimView.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
<TestableReference
|
||||
skipped = "NO">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "4B0A1B102129F49500F1E02F"
|
||||
BuildableName = "NvimViewTests.xctest"
|
||||
BlueprintName = "NvimViewTests"
|
||||
ReferencedContainer = "container:NvimView.xcodeproj">
|
||||
</BuildableReference>
|
||||
</TestableReference>
|
||||
</Testables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "4B90F0031FD2AF59008A39E0"
|
||||
BuildableName = "NvimView.framework"
|
||||
BlueprintName = "NvimView"
|
||||
ReferencedContainer = "container:NvimView.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "4B90F0031FD2AF59008A39E0"
|
||||
BuildableName = "NvimView.framework"
|
||||
BlueprintName = "NvimView"
|
||||
ReferencedContainer = "container:NvimView.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
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">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
@ -1,85 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "1020"
|
||||
version = "1.7">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "4B0A1B102129F49500F1E02F"
|
||||
BuildableName = "NvimViewTests.xctest"
|
||||
BlueprintName = "NvimViewTests"
|
||||
ReferencedContainer = "container:NvimView.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
<TestableReference
|
||||
skipped = "NO">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "4B0A1B102129F49500F1E02F"
|
||||
BuildableName = "NvimViewTests.xctest"
|
||||
BlueprintName = "NvimViewTests"
|
||||
ReferencedContainer = "container:NvimView.xcodeproj">
|
||||
</BuildableReference>
|
||||
</TestableReference>
|
||||
</Testables>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "4B0A1B102129F49500F1E02F"
|
||||
BuildableName = "NvimViewTests.xctest"
|
||||
BlueprintName = "NvimViewTests"
|
||||
ReferencedContainer = "container:NvimView.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
<LocationScenarioReference
|
||||
identifier = "com.apple.dt.IDEFoundation.CurrentLocationScenarioIdentifier"
|
||||
referenceType = "1">
|
||||
</LocationScenarioReference>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
@ -1,26 +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>$(DEVELOPMENT_LANGUAGE)</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</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>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>SNAPSHOT-357</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>357</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright © 2017 Tae Won Ha. All rights reserved.</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</plist>
|
816
NvimView/Support/NvimViewSupport.xcodeproj/project.pbxproj
Normal file
816
NvimView/Support/NvimViewSupport.xcodeproj/project.pbxproj
Normal file
@ -0,0 +1,816 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 52;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
1929B11F4306BF8AA97E080F /* Geometry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1929B78E7E39A629E6F562E0 /* Geometry.swift */; };
|
||||
1929B2DB631E6EB5C3452B68 /* MyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1929BAF033A398BFBC2A7890 /* MyView.swift */; };
|
||||
1929B2F38470E1DC39215987 /* CellAttributesCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1929BEA272F8FBB77C464EB9 /* CellAttributesCollection.swift */; };
|
||||
1929B45811AAE477DFA4C107 /* FontUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1929B9AC87B65FDA23239EA7 /* FontUtils.swift */; };
|
||||
1929B9F7DD2EB3277A133EAF /* Runs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1929BC404D40D77F35EA10BB /* Runs.swift */; };
|
||||
1929BAA738326459033CADAE /* Typesetter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1929B92EC70C40EE6647886E /* Typesetter.swift */; };
|
||||
1929BC29B7858F8E963FD9BE /* AttributesRunDrawer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1929B8E30EBB02E9CF99E5E3 /* AttributesRunDrawer.swift */; };
|
||||
1929BCC8C561F0DE73B67D90 /* CellAttributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1929BDFF7AC6A198BDC64B14 /* CellAttributes.swift */; };
|
||||
1929BD694DE393302A1AF42E /* ColorUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1929B51A7E7A07A38C8497FF /* ColorUtils.swift */; };
|
||||
1929BE00E22B5E472B89C7AA /* Defs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1929B201A097751F817A23B1 /* Defs.swift */; };
|
||||
1929BE88F4A892215227D0AB /* UGrid.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1929BEB34345F348237FE0E4 /* UGrid.swift */; };
|
||||
1929BF95400085EE3F0FFAD5 /* FontTrait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1929B9D7F040B8B9E2F038DF /* FontTrait.swift */; };
|
||||
4B0225F3224AAE260052362B /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B0225F2224AAE260052362B /* AppDelegate.swift */; };
|
||||
4B0225F5224AAE260052362B /* Document.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B0225F4224AAE260052362B /* Document.swift */; };
|
||||
4B0225F8224AAE260052362B /* Document.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4B0225F6224AAE260052362B /* Document.xib */; };
|
||||
4B0225FA224AAE270052362B /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 4B0225F9224AAE270052362B /* Assets.xcassets */; };
|
||||
4B0225FD224AAE270052362B /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4B0225FB224AAE270052362B /* MainMenu.xib */; };
|
||||
4BD67C9924ECF53E00147C51 /* Commons in Frameworks */ = {isa = PBXBuildFile; productRef = 4BD67C7C24ECF35300147C51 /* Commons */; };
|
||||
4BD67C9A24ECF53E00147C51 /* NvimServerTypes in Frameworks */ = {isa = PBXBuildFile; productRef = 4BD67C9324ECF47000147C51 /* NvimServerTypes */; };
|
||||
4BD67C9B24ECF53E00147C51 /* MessagePack in Frameworks */ = {isa = PBXBuildFile; productRef = 4BD67C9624ECF4B300147C51 /* MessagePack */; };
|
||||
4BD67CA524ED037000147C51 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BD67CA424ED037000147C51 /* AppDelegate.swift */; };
|
||||
4BD67CA724ED037100147C51 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 4BD67CA624ED037100147C51 /* Assets.xcassets */; };
|
||||
4BD67CAA24ED037100147C51 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4BD67CA824ED037100147C51 /* MainMenu.xib */; };
|
||||
4BD67CB524ED03B000147C51 /* 0.json in Resources */ = {isa = PBXBuildFile; fileRef = 4BD67CB024ED03B000147C51 /* 0.json */; };
|
||||
4BD67CB624ED03B000147C51 /* FontTrait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BD67CB124ED03B000147C51 /* FontTrait.swift */; };
|
||||
4BD67CB724ED03B000147C51 /* PerfTester.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BD67CB224ED03B000147C51 /* PerfTester.swift */; };
|
||||
4BD67CB824ED03B000147C51 /* 2.json in Resources */ = {isa = PBXBuildFile; fileRef = 4BD67CB324ED03B000147C51 /* 2.json */; };
|
||||
4BD67CB924ED03B000147C51 /* 1.json in Resources */ = {isa = PBXBuildFile; fileRef = 4BD67CB424ED03B000147C51 /* 1.json */; };
|
||||
4BD67CBB24ED03BF00147C51 /* Commons in Frameworks */ = {isa = PBXBuildFile; productRef = 4BD67CBA24ED03BF00147C51 /* Commons */; };
|
||||
4BD67CBE24ED03ED00147C51 /* Typesetter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1929B92EC70C40EE6647886E /* Typesetter.swift */; };
|
||||
4BD67CBF24ED03F800147C51 /* Runs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1929BC404D40D77F35EA10BB /* Runs.swift */; };
|
||||
4BD67CC024ED03F800147C51 /* UGrid.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1929BEB34345F348237FE0E4 /* UGrid.swift */; };
|
||||
4BD67CC124ED040100147C51 /* CellAttributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1929BDFF7AC6A198BDC64B14 /* CellAttributes.swift */; };
|
||||
4BD67CC324ED040700147C51 /* NvimServerTypes in Frameworks */ = {isa = PBXBuildFile; productRef = 4BD67CC224ED040700147C51 /* NvimServerTypes */; };
|
||||
4BD67CC424ED040E00147C51 /* ColorUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1929B51A7E7A07A38C8497FF /* ColorUtils.swift */; };
|
||||
4BD67CC524ED041400147C51 /* CellAttributesCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1929BEA272F8FBB77C464EB9 /* CellAttributesCollection.swift */; };
|
||||
4BD67CC624ED041A00147C51 /* FontUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1929B9AC87B65FDA23239EA7 /* FontUtils.swift */; };
|
||||
4BD67CC724ED042000147C51 /* Geometry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1929B78E7E39A629E6F562E0 /* Geometry.swift */; };
|
||||
4BD67CC824ED042600147C51 /* Defs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1929B201A097751F817A23B1 /* Defs.swift */; };
|
||||
4BD67CCA24ED042F00147C51 /* MessagePack in Frameworks */ = {isa = PBXBuildFile; productRef = 4BD67CC924ED042F00147C51 /* MessagePack */; };
|
||||
4BD67CCC24ED089800147C51 /* Commons in Frameworks */ = {isa = PBXBuildFile; productRef = 4BD67CCB24ED089800147C51 /* Commons */; };
|
||||
4BD67CCE24ED089A00147C51 /* NvimView in Frameworks */ = {isa = PBXBuildFile; productRef = 4BD67CCD24ED089A00147C51 /* NvimView */; };
|
||||
4BD67CD124ED08D400147C51 /* PureLayout in Frameworks */ = {isa = PBXBuildFile; productRef = 4BD67CD024ED08D400147C51 /* PureLayout */; };
|
||||
4BF1852321313EE400954FE7 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BF1852221313EE400954FE7 /* AppDelegate.swift */; };
|
||||
4BF1852521313EE500954FE7 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 4BF1852421313EE500954FE7 /* Assets.xcassets */; };
|
||||
4BF1852821313EE500954FE7 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4BF1852621313EE500954FE7 /* MainMenu.xib */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXCopyFilesBuildPhase section */
|
||||
4B022619224AAEA80052362B /* Embed Frameworks */ = {
|
||||
isa = PBXCopyFilesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
dstPath = "";
|
||||
dstSubfolderSpec = 10;
|
||||
files = (
|
||||
);
|
||||
name = "Embed Frameworks";
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXCopyFilesBuildPhase section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
1929B201A097751F817A23B1 /* Defs.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Defs.swift; path = ../Sources/NvimView/Defs.swift; sourceTree = "<group>"; };
|
||||
1929B51A7E7A07A38C8497FF /* ColorUtils.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ColorUtils.swift; path = ../Sources/NvimView/ColorUtils.swift; sourceTree = "<group>"; };
|
||||
1929B78E7E39A629E6F562E0 /* Geometry.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Geometry.swift; path = ../Sources/NvimView/Geometry.swift; sourceTree = "<group>"; };
|
||||
1929B8E30EBB02E9CF99E5E3 /* AttributesRunDrawer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AttributesRunDrawer.swift; path = ../Sources/NvimView/AttributesRunDrawer.swift; sourceTree = "<group>"; };
|
||||
1929B92EC70C40EE6647886E /* Typesetter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Typesetter.swift; path = ../Sources/NvimView/Typesetter.swift; sourceTree = "<group>"; };
|
||||
1929B9AC87B65FDA23239EA7 /* FontUtils.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = FontUtils.swift; path = ../Sources/NvimView/FontUtils.swift; sourceTree = "<group>"; };
|
||||
1929B9D7F040B8B9E2F038DF /* FontTrait.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FontTrait.swift; sourceTree = "<group>"; };
|
||||
1929BAF033A398BFBC2A7890 /* MyView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MyView.swift; sourceTree = "<group>"; };
|
||||
1929BC404D40D77F35EA10BB /* Runs.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Runs.swift; path = ../Sources/NvimView/Runs.swift; sourceTree = "<group>"; };
|
||||
1929BDFF7AC6A198BDC64B14 /* CellAttributes.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = CellAttributes.swift; path = ../Sources/NvimView/CellAttributes.swift; sourceTree = "<group>"; };
|
||||
1929BEA272F8FBB77C464EB9 /* CellAttributesCollection.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = CellAttributesCollection.swift; path = ../Sources/NvimView/CellAttributesCollection.swift; sourceTree = "<group>"; };
|
||||
1929BEB34345F348237FE0E4 /* UGrid.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = UGrid.swift; path = ../Sources/NvimView/UGrid.swift; sourceTree = "<group>"; };
|
||||
4B0225F0224AAE260052362B /* MinimalNvimViewDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MinimalNvimViewDemo.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
4B0225F2224AAE260052362B /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
||||
4B0225F4224AAE260052362B /* Document.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Document.swift; sourceTree = "<group>"; };
|
||||
4B0225F7224AAE260052362B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/Document.xib; sourceTree = "<group>"; };
|
||||
4B0225F9224AAE270052362B /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||
4B0225FC224AAE270052362B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
|
||||
4B0225FE224AAE270052362B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
4BD67CA224ED037000147C51 /* DrawerPerf.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DrawerPerf.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
4BD67CA424ED037000147C51 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
||||
4BD67CA624ED037100147C51 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||
4BD67CA924ED037100147C51 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
|
||||
4BD67CAB24ED037100147C51 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
4BD67CB024ED03B000147C51 /* 0.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = 0.json; sourceTree = "<group>"; };
|
||||
4BD67CB124ED03B000147C51 /* FontTrait.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FontTrait.swift; sourceTree = "<group>"; };
|
||||
4BD67CB224ED03B000147C51 /* PerfTester.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PerfTester.swift; sourceTree = "<group>"; };
|
||||
4BD67CB324ED03B000147C51 /* 2.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = 2.json; sourceTree = "<group>"; };
|
||||
4BD67CB424ED03B000147C51 /* 1.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = 1.json; sourceTree = "<group>"; };
|
||||
4BF1852021313EE300954FE7 /* DrawerDev.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DrawerDev.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
4BF1852221313EE400954FE7 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
||||
4BF1852421313EE500954FE7 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||
4BF1852721313EE500954FE7 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
|
||||
4BF1852921313EE500954FE7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
4B0225ED224AAE260052362B /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4BD67CD124ED08D400147C51 /* PureLayout in Frameworks */,
|
||||
4BD67CCC24ED089800147C51 /* Commons in Frameworks */,
|
||||
4BD67CCE24ED089A00147C51 /* NvimView in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
4BD67C9F24ED037000147C51 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4BD67CBB24ED03BF00147C51 /* Commons in Frameworks */,
|
||||
4BD67CC324ED040700147C51 /* NvimServerTypes in Frameworks */,
|
||||
4BD67CCA24ED042F00147C51 /* MessagePack in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
4BF1851D21313EE300954FE7 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4BD67C9924ECF53E00147C51 /* Commons in Frameworks */,
|
||||
4BD67C9A24ECF53E00147C51 /* NvimServerTypes in Frameworks */,
|
||||
4BD67C9B24ECF53E00147C51 /* MessagePack in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
1929B38C5A0A59172A3402B2 /* NvimView Sources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1929B8E30EBB02E9CF99E5E3 /* AttributesRunDrawer.swift */,
|
||||
1929BDFF7AC6A198BDC64B14 /* CellAttributes.swift */,
|
||||
1929BEA272F8FBB77C464EB9 /* CellAttributesCollection.swift */,
|
||||
1929B51A7E7A07A38C8497FF /* ColorUtils.swift */,
|
||||
1929B201A097751F817A23B1 /* Defs.swift */,
|
||||
1929B9AC87B65FDA23239EA7 /* FontUtils.swift */,
|
||||
1929B78E7E39A629E6F562E0 /* Geometry.swift */,
|
||||
1929BC404D40D77F35EA10BB /* Runs.swift */,
|
||||
1929B92EC70C40EE6647886E /* Typesetter.swift */,
|
||||
1929BEB34345F348237FE0E4 /* UGrid.swift */,
|
||||
);
|
||||
name = "NvimView Sources";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4B0225F1224AAE260052362B /* MinimalNvimViewDemo */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4B0225F2224AAE260052362B /* AppDelegate.swift */,
|
||||
4B0225F4224AAE260052362B /* Document.swift */,
|
||||
4B0225F6224AAE260052362B /* Document.xib */,
|
||||
4B0225F9224AAE270052362B /* Assets.xcassets */,
|
||||
4B0225FB224AAE270052362B /* MainMenu.xib */,
|
||||
4B0225FE224AAE270052362B /* Info.plist */,
|
||||
);
|
||||
path = MinimalNvimViewDemo;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4B90EFFA1FD2AF59008A39E0 = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1929B38C5A0A59172A3402B2 /* NvimView Sources */,
|
||||
4BD67CA324ED037000147C51 /* DrawerPerf */,
|
||||
4BF1852121313EE400954FE7 /* DrawerDev */,
|
||||
4B0225F1224AAE260052362B /* MinimalNvimViewDemo */,
|
||||
4B90F0051FD2AF59008A39E0 /* Products */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4B90F0051FD2AF59008A39E0 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4BF1852021313EE300954FE7 /* DrawerDev.app */,
|
||||
4B0225F0224AAE260052362B /* MinimalNvimViewDemo.app */,
|
||||
4BD67CA224ED037000147C51 /* DrawerPerf.app */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4BD67CA324ED037000147C51 /* DrawerPerf */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4BD67CA424ED037000147C51 /* AppDelegate.swift */,
|
||||
4BD67CB124ED03B000147C51 /* FontTrait.swift */,
|
||||
4BD67CB224ED03B000147C51 /* PerfTester.swift */,
|
||||
4BD67CA624ED037100147C51 /* Assets.xcassets */,
|
||||
4BD67CA824ED037100147C51 /* MainMenu.xib */,
|
||||
4BD67CAB24ED037100147C51 /* Info.plist */,
|
||||
4BD67CB024ED03B000147C51 /* 0.json */,
|
||||
4BD67CB424ED03B000147C51 /* 1.json */,
|
||||
4BD67CB324ED03B000147C51 /* 2.json */,
|
||||
);
|
||||
path = DrawerPerf;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4BF1852121313EE400954FE7 /* DrawerDev */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4BF1852221313EE400954FE7 /* AppDelegate.swift */,
|
||||
4BF1852421313EE500954FE7 /* Assets.xcassets */,
|
||||
4BF1852621313EE500954FE7 /* MainMenu.xib */,
|
||||
4BF1852921313EE500954FE7 /* Info.plist */,
|
||||
1929B9D7F040B8B9E2F038DF /* FontTrait.swift */,
|
||||
1929BAF033A398BFBC2A7890 /* MyView.swift */,
|
||||
);
|
||||
path = DrawerDev;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
4B0225EF224AAE260052362B /* MinimalNvimViewDemo */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 4B022602224AAE270052362B /* Build configuration list for PBXNativeTarget "MinimalNvimViewDemo" */;
|
||||
buildPhases = (
|
||||
4B0225EC224AAE260052362B /* Sources */,
|
||||
4B0225ED224AAE260052362B /* Frameworks */,
|
||||
4B0225EE224AAE260052362B /* Resources */,
|
||||
4B022619224AAEA80052362B /* Embed Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = MinimalNvimViewDemo;
|
||||
packageProductDependencies = (
|
||||
4BD67CCB24ED089800147C51 /* Commons */,
|
||||
4BD67CCD24ED089A00147C51 /* NvimView */,
|
||||
4BD67CD024ED08D400147C51 /* PureLayout */,
|
||||
);
|
||||
productName = MinimalNvimViewDemo;
|
||||
productReference = 4B0225F0224AAE260052362B /* MinimalNvimViewDemo.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
4BD67CA124ED037000147C51 /* DrawerPerf */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 4BD67CAD24ED037100147C51 /* Build configuration list for PBXNativeTarget "DrawerPerf" */;
|
||||
buildPhases = (
|
||||
4BD67C9E24ED037000147C51 /* Sources */,
|
||||
4BD67C9F24ED037000147C51 /* Frameworks */,
|
||||
4BD67CA024ED037000147C51 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = DrawerPerf;
|
||||
packageProductDependencies = (
|
||||
4BD67CBA24ED03BF00147C51 /* Commons */,
|
||||
4BD67CC224ED040700147C51 /* NvimServerTypes */,
|
||||
4BD67CC924ED042F00147C51 /* MessagePack */,
|
||||
);
|
||||
productName = DrawerPerf;
|
||||
productReference = 4BD67CA224ED037000147C51 /* DrawerPerf.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
4BF1851F21313EE300954FE7 /* DrawerDev */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 4BF1852D21313EE500954FE7 /* Build configuration list for PBXNativeTarget "DrawerDev" */;
|
||||
buildPhases = (
|
||||
4BF1851C21313EE300954FE7 /* Sources */,
|
||||
4BF1851D21313EE300954FE7 /* Frameworks */,
|
||||
4BF1851E21313EE300954FE7 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = DrawerDev;
|
||||
packageProductDependencies = (
|
||||
4BD67C7C24ECF35300147C51 /* Commons */,
|
||||
4BD67C9324ECF47000147C51 /* NvimServerTypes */,
|
||||
4BD67C9624ECF4B300147C51 /* MessagePack */,
|
||||
);
|
||||
productName = DrawerDev;
|
||||
productReference = 4BF1852021313EE300954FE7 /* DrawerDev.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
4B90EFFB1FD2AF59008A39E0 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastSwiftUpdateCheck = 1200;
|
||||
LastUpgradeCheck = 0930;
|
||||
ORGANIZATIONNAME = "Tae Won Ha";
|
||||
TargetAttributes = {
|
||||
4B0225EF224AAE260052362B = {
|
||||
CreatedOnToolsVersion = 10.2;
|
||||
ProvisioningStyle = Manual;
|
||||
};
|
||||
4BD67CA124ED037000147C51 = {
|
||||
CreatedOnToolsVersion = 12.0;
|
||||
};
|
||||
4BF1851F21313EE300954FE7 = {
|
||||
CreatedOnToolsVersion = 9.4.1;
|
||||
ProvisioningStyle = Manual;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = 4B90EFFE1FD2AF59008A39E0 /* Build configuration list for PBXProject "NvimViewSupport" */;
|
||||
compatibilityVersion = "Xcode 8.0";
|
||||
developmentRegion = en;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
en,
|
||||
Base,
|
||||
);
|
||||
mainGroup = 4B90EFFA1FD2AF59008A39E0;
|
||||
packageReferences = (
|
||||
4BD67C9224ECF46900147C51 /* XCRemoteSwiftPackageReference "neovim" */,
|
||||
4BD67C9524ECF4AB00147C51 /* XCRemoteSwiftPackageReference "MessagePack" */,
|
||||
4BD67CCF24ED08CB00147C51 /* XCRemoteSwiftPackageReference "PureLayout" */,
|
||||
);
|
||||
productRefGroup = 4B90F0051FD2AF59008A39E0 /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
4BF1851F21313EE300954FE7 /* DrawerDev */,
|
||||
4B0225EF224AAE260052362B /* MinimalNvimViewDemo */,
|
||||
4BD67CA124ED037000147C51 /* DrawerPerf */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
4B0225EE224AAE260052362B /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4B0225FA224AAE270052362B /* Assets.xcassets in Resources */,
|
||||
4B0225F8224AAE260052362B /* Document.xib in Resources */,
|
||||
4B0225FD224AAE270052362B /* MainMenu.xib in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
4BD67CA024ED037000147C51 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4BD67CB924ED03B000147C51 /* 1.json in Resources */,
|
||||
4BD67CB824ED03B000147C51 /* 2.json in Resources */,
|
||||
4BD67CB524ED03B000147C51 /* 0.json in Resources */,
|
||||
4BD67CA724ED037100147C51 /* Assets.xcassets in Resources */,
|
||||
4BD67CAA24ED037100147C51 /* MainMenu.xib in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
4BF1851E21313EE300954FE7 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4BF1852521313EE500954FE7 /* Assets.xcassets in Resources */,
|
||||
4BF1852821313EE500954FE7 /* MainMenu.xib in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
4B0225EC224AAE260052362B /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4B0225F5224AAE260052362B /* Document.swift in Sources */,
|
||||
4B0225F3224AAE260052362B /* AppDelegate.swift in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
4BD67C9E24ED037000147C51 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4BD67CC824ED042600147C51 /* Defs.swift in Sources */,
|
||||
4BD67CC724ED042000147C51 /* Geometry.swift in Sources */,
|
||||
4BD67CC624ED041A00147C51 /* FontUtils.swift in Sources */,
|
||||
4BD67CC524ED041400147C51 /* CellAttributesCollection.swift in Sources */,
|
||||
4BD67CC424ED040E00147C51 /* ColorUtils.swift in Sources */,
|
||||
4BD67CC124ED040100147C51 /* CellAttributes.swift in Sources */,
|
||||
4BD67CBF24ED03F800147C51 /* Runs.swift in Sources */,
|
||||
4BD67CC024ED03F800147C51 /* UGrid.swift in Sources */,
|
||||
4BD67CBE24ED03ED00147C51 /* Typesetter.swift in Sources */,
|
||||
4BD67CA524ED037000147C51 /* AppDelegate.swift in Sources */,
|
||||
4BD67CB724ED03B000147C51 /* PerfTester.swift in Sources */,
|
||||
4BD67CB624ED03B000147C51 /* FontTrait.swift in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
4BF1851C21313EE300954FE7 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4BF1852321313EE400954FE7 /* AppDelegate.swift in Sources */,
|
||||
1929BF95400085EE3F0FFAD5 /* FontTrait.swift in Sources */,
|
||||
1929B2DB631E6EB5C3452B68 /* MyView.swift in Sources */,
|
||||
1929BC29B7858F8E963FD9BE /* AttributesRunDrawer.swift in Sources */,
|
||||
1929BCC8C561F0DE73B67D90 /* CellAttributes.swift in Sources */,
|
||||
1929B2F38470E1DC39215987 /* CellAttributesCollection.swift in Sources */,
|
||||
1929BD694DE393302A1AF42E /* ColorUtils.swift in Sources */,
|
||||
1929BE00E22B5E472B89C7AA /* Defs.swift in Sources */,
|
||||
1929B45811AAE477DFA4C107 /* FontUtils.swift in Sources */,
|
||||
1929B11F4306BF8AA97E080F /* Geometry.swift in Sources */,
|
||||
1929B9F7DD2EB3277A133EAF /* Runs.swift in Sources */,
|
||||
1929BAA738326459033CADAE /* Typesetter.swift in Sources */,
|
||||
1929BE88F4A892215227D0AB /* UGrid.swift in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
4B0225F6224AAE260052362B /* Document.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
4B0225F7224AAE260052362B /* Base */,
|
||||
);
|
||||
name = Document.xib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4B0225FB224AAE270052362B /* MainMenu.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
4B0225FC224AAE270052362B /* Base */,
|
||||
);
|
||||
name = MainMenu.xib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4BD67CA824ED037100147C51 /* MainMenu.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
4BD67CA924ED037100147C51 /* Base */,
|
||||
);
|
||||
name = MainMenu.xib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4BF1852621313EE500954FE7 /* MainMenu.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
4BF1852721313EE500954FE7 /* Base */,
|
||||
);
|
||||
name = MainMenu.xib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
4B022600224AAE270052362B /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)/../Carthage/Build/Mac";
|
||||
INFOPLIST_FILE = MinimalNvimViewDemo/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/../Frameworks",
|
||||
);
|
||||
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||
MTL_FAST_MATH = YES;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.qvacua.MinimalNvimViewDemo;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SDKROOT = macosx;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
4B022601224AAE270052362B /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)/../Carthage/Build/Mac";
|
||||
INFOPLIST_FILE = MinimalNvimViewDemo/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/../Frameworks",
|
||||
);
|
||||
MTL_FAST_MATH = YES;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.qvacua.MinimalNvimViewDemo;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SDKROOT = macosx;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
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_DEPRECATED_OBJC_IMPLEMENTATIONS = 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_IMPLICIT_RETAIN_SELF = 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;
|
||||
CODE_SIGN_IDENTITY = "-";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 357;
|
||||
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.13;
|
||||
MTL_ENABLE_DEBUG_INFO = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
|
||||
SWIFT_DISABLE_SAFETY_CHECKS = YES;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
SWIFT_VERSION = 5.0;
|
||||
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_DEPRECATED_OBJC_IMPLEMENTATIONS = 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_IMPLICIT_RETAIN_SELF = 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;
|
||||
CODE_SIGN_IDENTITY = "-";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 357;
|
||||
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_OPTIMIZATION_LEVEL = fast;
|
||||
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.13;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
SWIFT_COMPILATION_MODE = wholemodule;
|
||||
SWIFT_DISABLE_SAFETY_CHECKS = YES;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-O";
|
||||
SWIFT_VERSION = 5.0;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
VERSION_INFO_PREFIX = "";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
4BD67CAE24ED037100147C51 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
INFOPLIST_FILE = DrawerPerf/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/../Frameworks",
|
||||
);
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.15;
|
||||
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||
MTL_FAST_MATH = YES;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.qvacua.DrawerPerf;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SDKROOT = macosx;
|
||||
SWIFT_VERSION = 5.0;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
4BD67CAF24ED037100147C51 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
INFOPLIST_FILE = DrawerPerf/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/../Frameworks",
|
||||
);
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.15;
|
||||
MTL_FAST_MATH = YES;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.qvacua.DrawerPerf;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SDKROOT = macosx;
|
||||
SWIFT_VERSION = 5.0;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
4BF1852B21313EE500954FE7 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)/../Carthage/Build/Mac";
|
||||
INFOPLIST_FILE = DrawerDev/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/../Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.qvacua.DrawerDev;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SDKROOT = macosx;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
4BF1852C21313EE500954FE7 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)/../Carthage/Build/Mac";
|
||||
INFOPLIST_FILE = DrawerDev/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/../Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.qvacua.DrawerDev;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SDKROOT = macosx;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
4B022602224AAE270052362B /* Build configuration list for PBXNativeTarget "MinimalNvimViewDemo" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
4B022600224AAE270052362B /* Debug */,
|
||||
4B022601224AAE270052362B /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
4B90EFFE1FD2AF59008A39E0 /* Build configuration list for PBXProject "NvimViewSupport" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
4B90F00A1FD2AF59008A39E0 /* Debug */,
|
||||
4B90F00B1FD2AF59008A39E0 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
4BD67CAD24ED037100147C51 /* Build configuration list for PBXNativeTarget "DrawerPerf" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
4BD67CAE24ED037100147C51 /* Debug */,
|
||||
4BD67CAF24ED037100147C51 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
4BF1852D21313EE500954FE7 /* Build configuration list for PBXNativeTarget "DrawerDev" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
4BF1852B21313EE500954FE7 /* Debug */,
|
||||
4BF1852C21313EE500954FE7 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
|
||||
/* Begin XCRemoteSwiftPackageReference section */
|
||||
4BD67C9224ECF46900147C51 /* XCRemoteSwiftPackageReference "neovim" */ = {
|
||||
isa = XCRemoteSwiftPackageReference;
|
||||
repositoryURL = "https://github.com/qvacua/neovim";
|
||||
requirement = {
|
||||
kind = exactVersion;
|
||||
version = "0.1.0-types";
|
||||
};
|
||||
};
|
||||
4BD67C9524ECF4AB00147C51 /* XCRemoteSwiftPackageReference "MessagePack" */ = {
|
||||
isa = XCRemoteSwiftPackageReference;
|
||||
repositoryURL = "https://github.com/a2/MessagePack.swift";
|
||||
requirement = {
|
||||
kind = upToNextMajorVersion;
|
||||
minimumVersion = 4.0.0;
|
||||
};
|
||||
};
|
||||
4BD67CCF24ED08CB00147C51 /* XCRemoteSwiftPackageReference "PureLayout" */ = {
|
||||
isa = XCRemoteSwiftPackageReference;
|
||||
repositoryURL = "https://github.com/PureLayout/PureLayout";
|
||||
requirement = {
|
||||
kind = upToNextMajorVersion;
|
||||
minimumVersion = 3.1.6;
|
||||
};
|
||||
};
|
||||
/* End XCRemoteSwiftPackageReference section */
|
||||
|
||||
/* Begin XCSwiftPackageProductDependency section */
|
||||
4BD67C7C24ECF35300147C51 /* Commons */ = {
|
||||
isa = XCSwiftPackageProductDependency;
|
||||
productName = Commons;
|
||||
};
|
||||
4BD67C9324ECF47000147C51 /* NvimServerTypes */ = {
|
||||
isa = XCSwiftPackageProductDependency;
|
||||
package = 4BD67C9224ECF46900147C51 /* XCRemoteSwiftPackageReference "neovim" */;
|
||||
productName = NvimServerTypes;
|
||||
};
|
||||
4BD67C9624ECF4B300147C51 /* MessagePack */ = {
|
||||
isa = XCSwiftPackageProductDependency;
|
||||
package = 4BD67C9524ECF4AB00147C51 /* XCRemoteSwiftPackageReference "MessagePack" */;
|
||||
productName = MessagePack;
|
||||
};
|
||||
4BD67CBA24ED03BF00147C51 /* Commons */ = {
|
||||
isa = XCSwiftPackageProductDependency;
|
||||
productName = Commons;
|
||||
};
|
||||
4BD67CC224ED040700147C51 /* NvimServerTypes */ = {
|
||||
isa = XCSwiftPackageProductDependency;
|
||||
package = 4BD67C9224ECF46900147C51 /* XCRemoteSwiftPackageReference "neovim" */;
|
||||
productName = NvimServerTypes;
|
||||
};
|
||||
4BD67CC924ED042F00147C51 /* MessagePack */ = {
|
||||
isa = XCSwiftPackageProductDependency;
|
||||
package = 4BD67C9524ECF4AB00147C51 /* XCRemoteSwiftPackageReference "MessagePack" */;
|
||||
productName = MessagePack;
|
||||
};
|
||||
4BD67CCB24ED089800147C51 /* Commons */ = {
|
||||
isa = XCSwiftPackageProductDependency;
|
||||
productName = Commons;
|
||||
};
|
||||
4BD67CCD24ED089A00147C51 /* NvimView */ = {
|
||||
isa = XCSwiftPackageProductDependency;
|
||||
productName = NvimView;
|
||||
};
|
||||
4BD67CD024ED08D400147C51 /* PureLayout */ = {
|
||||
isa = XCSwiftPackageProductDependency;
|
||||
package = 4BD67CCF24ED08CB00147C51 /* XCRemoteSwiftPackageReference "PureLayout" */;
|
||||
productName = PureLayout;
|
||||
};
|
||||
/* End XCSwiftPackageProductDependency section */
|
||||
};
|
||||
rootObject = 4B90EFFB1FD2AF59008A39E0 /* Project object */;
|
||||
}
|
7
NvimView/Support/NvimViewSupport.xcodeproj/project.xcworkspace/contents.xcworkspacedata
generated
Normal file
7
NvimView/Support/NvimViewSupport.xcodeproj/project.xcworkspace/contents.xcworkspacedata
generated
Normal file
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "self:">
|
||||
</FileRef>
|
||||
</Workspace>
|
@ -0,0 +1,8 @@
|
||||
<?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>IDEDidComputeMac32BitWarning</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
@ -0,0 +1,16 @@
|
||||
{
|
||||
"object": {
|
||||
"pins": [
|
||||
{
|
||||
"package": "Socket",
|
||||
"repositoryURL": "https://github.com/IBM-Swift/BlueSocket",
|
||||
"state": {
|
||||
"branch": null,
|
||||
"revision": "c46a3d41f5b2401d18bcb46d0101cdc5cd13e307",
|
||||
"version": "1.0.52"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"version": 1
|
||||
}
|
@ -1,67 +0,0 @@
|
||||
/**
|
||||
* Tae Won Ha - http://taewon.de - @hataewon
|
||||
* See LICENSE
|
||||
*/
|
||||
|
||||
import Cocoa
|
||||
import XCTest
|
||||
import Nimble
|
||||
|
||||
@testable import NvimView
|
||||
|
||||
class CellAttributesCollectionTest: XCTestCase {
|
||||
|
||||
func testSetDefaultAttributes() {
|
||||
let attrs = CellAttributes(
|
||||
fontTrait: [], foreground: 1, background: 2, special: 3, reverse: true
|
||||
)
|
||||
self.cellAttributesCollection.set(attributes: attrs, for: 0)
|
||||
expect(self.cellAttributesCollection.defaultAttributes)
|
||||
.to(equal(attrs))
|
||||
}
|
||||
|
||||
func testSetAndGetAttributes() {
|
||||
let attrs = CellAttributes(
|
||||
fontTrait: [], foreground: 1, background: 2, special: 3, reverse: true
|
||||
)
|
||||
self.cellAttributesCollection.set(attributes: attrs, for: 1)
|
||||
expect(self.cellAttributesCollection.attributes(of: 1))
|
||||
.to(equal(attrs))
|
||||
}
|
||||
|
||||
func testSetAndGetAttributesWithDefaults() {
|
||||
let defaultAttrs = CellAttributes(
|
||||
fontTrait: [], foreground: 10, background: 20, special: 30, reverse: true
|
||||
)
|
||||
self.cellAttributesCollection.set(attributes: defaultAttrs, for: 0)
|
||||
|
||||
var attrs = CellAttributes(
|
||||
fontTrait: [], foreground: -1, background: 2, special: 3, reverse: true
|
||||
)
|
||||
self.cellAttributesCollection.set(attributes: attrs, for: 1)
|
||||
expect(self.cellAttributesCollection.attributes(of: 1))
|
||||
.to(equal(CellAttributes(
|
||||
fontTrait: [], foreground: 10, background: 2, special: 3, reverse: true
|
||||
)))
|
||||
|
||||
attrs = CellAttributes(
|
||||
fontTrait: [], foreground: 1, background: -1, special: 3, reverse: true
|
||||
)
|
||||
self.cellAttributesCollection.set(attributes: attrs, for: 1)
|
||||
expect(self.cellAttributesCollection.attributes(of: 1))
|
||||
.to(equal(CellAttributes(
|
||||
fontTrait: [], foreground: 1, background: 20, special: 3, reverse: true
|
||||
)))
|
||||
|
||||
attrs = CellAttributes(
|
||||
fontTrait: [], foreground: 1, background: -1, special: -1, reverse: true
|
||||
)
|
||||
self.cellAttributesCollection.set(attributes: attrs, for: 1)
|
||||
expect(self.cellAttributesCollection.attributes(of: 1))
|
||||
.to(equal(CellAttributes(
|
||||
fontTrait: [], foreground: 1, background: 20, special: 30, reverse: true
|
||||
)))
|
||||
}
|
||||
|
||||
private let cellAttributesCollection = CellAttributesCollection()
|
||||
}
|
@ -1,22 +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>$(DEVELOPMENT_LANGUAGE)</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</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>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>SNAPSHOT-357</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>357</string>
|
||||
</dict>
|
||||
</plist>
|
@ -1,29 +0,0 @@
|
||||
/**
|
||||
* Tae Won Ha - http://taewon.de - @hataewon
|
||||
* See LICENSE
|
||||
*/
|
||||
|
||||
import Cocoa
|
||||
import Nimble
|
||||
|
||||
// I don't know why the font returned by Typesetter is not equal to the font
|
||||
// it should be equal to. This is a workaround.
|
||||
func equalFont(_ expectedValue: NSFont?) -> Predicate<NSFont> {
|
||||
return Predicate { actualExpression in
|
||||
let msg = ExpectationMessage.expectedActualValueTo(
|
||||
"equal <\(String(describing: expectedValue))>"
|
||||
)
|
||||
if let actualValue = try actualExpression.evaluate() {
|
||||
return PredicateResult(
|
||||
bool: NSFont(name: actualValue.fontName,
|
||||
size: actualValue.pointSize) == expectedValue!,
|
||||
message: msg
|
||||
)
|
||||
} else {
|
||||
return PredicateResult(
|
||||
status: .fail,
|
||||
message: msg.appendedBeNilHint()
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
@ -1,678 +0,0 @@
|
||||
/**
|
||||
* Tae Won Ha - http://taewon.de - @hataewon
|
||||
* See LICENSE
|
||||
*/
|
||||
|
||||
import Cocoa
|
||||
import XCTest
|
||||
import Nimble
|
||||
|
||||
@testable import NvimView
|
||||
|
||||
class TypesetterWithoutLigaturesTest: XCTestCase {
|
||||
|
||||
// GH-709
|
||||
func testHindi() {
|
||||
let runs = typesetter.fontGlyphRunsWithoutLigatures(
|
||||
nvimUtf16Cells: emojiMarked(["क", "ख", "ग", "घ", "ड़", "-", ">", "ड़"]),
|
||||
startColumn: 10,
|
||||
offset: offset,
|
||||
font: defaultFont,
|
||||
cellWidth: defaultWidth
|
||||
)
|
||||
expect(runs).to(haveCount(4))
|
||||
|
||||
var run = runs[0]
|
||||
expect(run.font).to(equalFont(kohinoorDevanagari))
|
||||
expect(run.glyphs).to(equal([51, 52, 53, 54, 99]))
|
||||
expect(run.positions).to(equal(
|
||||
(10..<15).map {
|
||||
CGPoint(x: offset.x + CGFloat($0) * defaultWidth, y: offset.y)
|
||||
}
|
||||
))
|
||||
|
||||
run = runs[1]
|
||||
expect(run.font).to(equalFont(defaultFont))
|
||||
expect(run.glyphs).to(equal([16, 33]))
|
||||
expect(run.positions).to(equal(
|
||||
(15..<17).map {
|
||||
CGPoint(x: offset.x + CGFloat($0) * defaultWidth, y: offset.y)
|
||||
}
|
||||
))
|
||||
|
||||
run = runs[2]
|
||||
expect(run.font).to(equalFont(kohinoorDevanagari))
|
||||
expect(run.glyphs).to(equal([99]))
|
||||
expect(run.positions).to(equal(
|
||||
(17..<18).map {
|
||||
CGPoint(x: offset.x + CGFloat($0) * defaultWidth, y: offset.y)
|
||||
}
|
||||
))
|
||||
|
||||
self.assertEmojiMarker(run: runs[3],
|
||||
xPosition: offset.x + 18 * defaultWidth)
|
||||
}
|
||||
|
||||
func testSimpleAsciiChars() {
|
||||
let runs = typesetter.fontGlyphRunsWithoutLigatures(
|
||||
nvimUtf16Cells: emojiMarked(["a", "b", "c"]),
|
||||
startColumn: 10,
|
||||
offset: offset,
|
||||
font: defaultFont,
|
||||
cellWidth: defaultWidth
|
||||
)
|
||||
expect(runs).to(haveCount(2))
|
||||
|
||||
let run = runs[0]
|
||||
expect(run.font).to(equalFont(defaultFont))
|
||||
expect(run.glyphs).to(haveCount(3))
|
||||
expect(run.positions).to(equal(
|
||||
(10..<13).map {
|
||||
CGPoint(x: offset.x + CGFloat($0) * defaultWidth, y: offset.y)
|
||||
}
|
||||
))
|
||||
|
||||
self.assertEmojiMarker(run: runs[1],
|
||||
xPosition: offset.x + 13 * defaultWidth)
|
||||
}
|
||||
|
||||
func testAccentedChars() {
|
||||
let runs = typesetter.fontGlyphRunsWithoutLigatures(
|
||||
nvimUtf16Cells: emojiMarked(["ü", "î", "ñ"]),
|
||||
startColumn: 20,
|
||||
offset: offset,
|
||||
font: defaultFont,
|
||||
cellWidth: defaultWidth
|
||||
)
|
||||
expect(runs).to(haveCount(2))
|
||||
|
||||
let run = runs[0]
|
||||
expect(run.font).to(equalFont(defaultFont))
|
||||
expect(run.glyphs).to(haveCount(3))
|
||||
expect(run.positions).to(equal(
|
||||
(20..<23).map {
|
||||
CGPoint(x: offset.x + CGFloat($0) * defaultWidth, y: offset.y)
|
||||
}
|
||||
))
|
||||
|
||||
self.assertEmojiMarker(run: runs[1],
|
||||
xPosition: offset.x + 23 * defaultWidth)
|
||||
}
|
||||
|
||||
func testCombiningChars() {
|
||||
let runs = typesetter.fontGlyphRunsWithoutLigatures(
|
||||
nvimUtf16Cells: emojiMarked(
|
||||
["a", "a\u{1DC1}", "a\u{032A}", "a\u{034B}", "b", "c"]
|
||||
),
|
||||
startColumn: 10,
|
||||
offset: offset,
|
||||
font: defaultFont,
|
||||
cellWidth: defaultWidth
|
||||
)
|
||||
expect(runs).to(haveCount(6))
|
||||
|
||||
var run = runs[0]
|
||||
expect(run.font).to(equalFont(defaultFont))
|
||||
expect(run.glyphs).to(haveCount(1))
|
||||
expect(run.positions).to(equal(
|
||||
[
|
||||
CGPoint(x: offset.x + 10 * defaultWidth, y: offset.y)
|
||||
]
|
||||
))
|
||||
|
||||
run = runs[1]
|
||||
expect(run.font).to(equalFont(courierNew))
|
||||
expect(run.glyphs).to(haveCount(2))
|
||||
expect(run.positions[0])
|
||||
.to(equal(CGPoint(x: offset.x + 11 * defaultWidth, y: offset.y)))
|
||||
expect(run.positions[1].x)
|
||||
.to(beCloseTo(offset.x + 11 * defaultWidth + 0.003, within: 0.001))
|
||||
expect(run.positions[1].y).to(beCloseTo(offset.y + 0.305, within: 0.001))
|
||||
|
||||
run = runs[2]
|
||||
expect(run.font).to(equalFont(defaultFont))
|
||||
expect(run.glyphs).to(haveCount(2))
|
||||
expect(run.positions[0])
|
||||
.to(equal(CGPoint(x: offset.x + 12 * defaultWidth, y: offset.y)))
|
||||
expect(run.positions[1].x)
|
||||
.to(beCloseTo(offset.x + 12 * defaultWidth, within: 0.001))
|
||||
expect(run.positions[1].y).to(beCloseTo(offset.y - 0.279, within: 0.001))
|
||||
|
||||
run = runs[3]
|
||||
expect(run.font).to(equalFont(monaco))
|
||||
expect(run.glyphs).to(haveCount(2))
|
||||
expect(run.positions[0])
|
||||
.to(equal(CGPoint(x: offset.x + 13 * defaultWidth, y: offset.y)))
|
||||
expect(run.positions[1].x)
|
||||
.to(beCloseTo(offset.x + 13 * defaultWidth + 7.804, within: 0.001))
|
||||
expect(run.positions[1].y).to(beCloseTo(offset.y + 2.446, within: 0.001))
|
||||
|
||||
run = runs[4]
|
||||
expect(run.font).to(equalFont(defaultFont))
|
||||
expect(run.glyphs).to(haveCount(2))
|
||||
expect(run.positions).to(equal(
|
||||
[
|
||||
CGPoint(x: offset.x + 14 * defaultWidth, y: offset.y),
|
||||
CGPoint(x: offset.x + 15 * defaultWidth, y: offset.y),
|
||||
]
|
||||
))
|
||||
|
||||
self.assertEmojiMarker(run: runs[5],
|
||||
xPosition: offset.x + 16 * defaultWidth)
|
||||
}
|
||||
|
||||
func testSimpleEmojis() {
|
||||
let runs = typesetter.fontGlyphRunsWithoutLigatures(
|
||||
nvimUtf16Cells: asciiMarked(["a", "b", "\u{1F600}", "", "\u{1F377}", ""]),
|
||||
startColumn: 1,
|
||||
offset: offset,
|
||||
font: defaultFont,
|
||||
cellWidth: defaultWidth
|
||||
)
|
||||
expect(runs).to(haveCount(3))
|
||||
|
||||
var run = runs[0]
|
||||
expect(run.font).to(equalFont(defaultFont))
|
||||
expect(run.glyphs).to(haveCount(2))
|
||||
expect(run.positions).to(equal(
|
||||
[
|
||||
CGPoint(x: offset.x + 1 * defaultWidth, y: offset.y),
|
||||
CGPoint(x: offset.x + 2 * defaultWidth, y: offset.y),
|
||||
]
|
||||
))
|
||||
|
||||
run = runs[1]
|
||||
expect(run.font).to(equalFont(emoji))
|
||||
expect(run.glyphs).to(haveCount(2))
|
||||
expect(run.positions).to(equal(
|
||||
[
|
||||
CGPoint(x: offset.x + 3 * defaultWidth, y: offset.y),
|
||||
CGPoint(x: offset.x + 5 * defaultWidth, y: offset.y),
|
||||
]
|
||||
))
|
||||
|
||||
self.assertAsciiMarker(run: runs[2], xPosition: offset.x + 7 * defaultWidth)
|
||||
}
|
||||
|
||||
func testEmojisWithFitzpatrickModifier() {
|
||||
let runs = typesetter.fontGlyphRunsWithoutLigatures(
|
||||
nvimUtf16Cells: asciiMarked(["a", "\u{1F476}", "", "\u{1F3FD}", ""]),
|
||||
startColumn: 1,
|
||||
offset: offset,
|
||||
font: defaultFont,
|
||||
cellWidth: defaultWidth
|
||||
)
|
||||
|
||||
expect(runs).to(haveCount(3))
|
||||
|
||||
var run = runs[0]
|
||||
expect(run.font).to(equalFont(defaultFont))
|
||||
expect(run.glyphs).to(haveCount(1))
|
||||
expect(run.positions).to(equal(
|
||||
[
|
||||
CGPoint(x: offset.x + 1 * defaultWidth, y: offset.y),
|
||||
]
|
||||
))
|
||||
|
||||
run = runs[1]
|
||||
expect(run.font).to(equalFont(emoji))
|
||||
expect(run.positions).to(equal(
|
||||
[
|
||||
CGPoint(x: offset.x + 2 * defaultWidth, y: offset.y),
|
||||
]
|
||||
))
|
||||
|
||||
self.assertAsciiMarker(run: runs[2], xPosition: offset.x + 6 * defaultWidth)
|
||||
}
|
||||
|
||||
func testHangul() {
|
||||
let runs = typesetter.fontGlyphRunsWithoutLigatures(
|
||||
nvimUtf16Cells: asciiMarked(["a", "b", "하", "", "태", "", "원", ""]),
|
||||
startColumn: 1,
|
||||
offset: offset,
|
||||
font: defaultFont,
|
||||
cellWidth: defaultWidth
|
||||
)
|
||||
expect(runs).to(haveCount(3))
|
||||
|
||||
var run = runs[0]
|
||||
expect(run.font).to(equalFont(defaultFont))
|
||||
expect(run.glyphs).to(haveCount(2))
|
||||
expect(run.positions).to(equal(
|
||||
[
|
||||
CGPoint(x: offset.x + 1 * defaultWidth, y: offset.y),
|
||||
CGPoint(x: offset.x + 2 * defaultWidth, y: offset.y),
|
||||
]
|
||||
))
|
||||
|
||||
run = runs[1]
|
||||
expect(run.font).to(equalFont(gothic))
|
||||
expect(run.positions).to(equal(
|
||||
[
|
||||
CGPoint(x: offset.x + 3 * defaultWidth, y: offset.y),
|
||||
CGPoint(x: offset.x + 5 * defaultWidth, y: offset.y),
|
||||
CGPoint(x: offset.x + 7 * defaultWidth, y: offset.y),
|
||||
]
|
||||
))
|
||||
|
||||
self.assertAsciiMarker(run: runs[2], xPosition: offset.x + 9 * defaultWidth)
|
||||
}
|
||||
|
||||
func testHanja() {
|
||||
let runs = typesetter.fontGlyphRunsWithoutLigatures(
|
||||
nvimUtf16Cells: asciiMarked(["a", "b", "河", "", "泰", "", "元", ""]),
|
||||
startColumn: 1,
|
||||
offset: offset,
|
||||
font: defaultFont,
|
||||
cellWidth: defaultWidth
|
||||
)
|
||||
expect(runs).to(haveCount(3))
|
||||
|
||||
var run = runs[0]
|
||||
expect(run.font).to(equalFont(defaultFont))
|
||||
expect(run.glyphs).to(haveCount(2))
|
||||
expect(run.positions).to(equal(
|
||||
[
|
||||
CGPoint(x: offset.x + 1 * defaultWidth, y: offset.y),
|
||||
CGPoint(x: offset.x + 2 * defaultWidth, y: offset.y),
|
||||
]
|
||||
))
|
||||
|
||||
run = runs[1]
|
||||
expect(run.font).to(equalFont(gothic))
|
||||
expect(run.positions).to(equal(
|
||||
[
|
||||
CGPoint(x: offset.x + 3 * defaultWidth, y: offset.y),
|
||||
CGPoint(x: offset.x + 5 * defaultWidth, y: offset.y),
|
||||
CGPoint(x: offset.x + 7 * defaultWidth, y: offset.y),
|
||||
]
|
||||
))
|
||||
|
||||
self.assertAsciiMarker(run: runs[2], xPosition: offset.x + 9 * defaultWidth)
|
||||
}
|
||||
|
||||
func testOthers() {
|
||||
let runs = typesetter.fontGlyphRunsWithoutLigatures(
|
||||
nvimUtf16Cells: emojiMarked(["a", "\u{10437}", "\u{1F14}"]),
|
||||
startColumn: 1,
|
||||
offset: offset,
|
||||
font: defaultFont,
|
||||
cellWidth: defaultWidth
|
||||
)
|
||||
expect(runs).to(haveCount(4))
|
||||
|
||||
var run = runs[0]
|
||||
expect(run.font).to(equalFont(defaultFont))
|
||||
expect(run.glyphs).to(haveCount(1))
|
||||
expect(run.positions).to(equal(
|
||||
[
|
||||
CGPoint(x: offset.x + 1 * defaultWidth, y: offset.y)
|
||||
]
|
||||
))
|
||||
|
||||
run = runs[1]
|
||||
expect(run.font).to(equalFont(baskerville))
|
||||
expect(run.positions).to(equal(
|
||||
[
|
||||
CGPoint(x: offset.x + 2 * defaultWidth, y: offset.y),
|
||||
]
|
||||
))
|
||||
|
||||
run = runs[2]
|
||||
expect(run.font).to(equalFont(defaultFont))
|
||||
expect(run.glyphs).to(haveCount(1))
|
||||
expect(run.positions).to(equal(
|
||||
[
|
||||
CGPoint(x: offset.x + 3 * defaultWidth, y: offset.y),
|
||||
]
|
||||
))
|
||||
|
||||
self.assertEmojiMarker(run: runs[3], xPosition: offset.x + 4 * defaultWidth)
|
||||
}
|
||||
|
||||
func testSimpleLigatureChars() {
|
||||
let runs = typesetter.fontGlyphRunsWithoutLigatures(
|
||||
nvimUtf16Cells: emojiMarked(["a", "-", "-", ">", "a"]),
|
||||
startColumn: 1,
|
||||
offset: offset,
|
||||
font: fira,
|
||||
cellWidth: firaWidth
|
||||
)
|
||||
|
||||
expect(runs).to(haveCount(2))
|
||||
|
||||
let run = runs[0]
|
||||
expect(run.font).to(equalFont(fira))
|
||||
expect(run.glyphs).to(equal([134, 1021, 1021, 1171, 134]))
|
||||
expect(run.positions).to(equal(
|
||||
(1..<6).map {
|
||||
CGPoint(x: offset.x + CGFloat($0) * firaWidth, y: offset.y)
|
||||
}
|
||||
))
|
||||
|
||||
self.assertEmojiMarker(run: runs[1], xPosition: offset.x + 6 * firaWidth)
|
||||
}
|
||||
|
||||
private func assertAsciiMarker(run: FontGlyphRun, xPosition: CGFloat) {
|
||||
expect(run.font).to(equalFont(defaultFont))
|
||||
expect(run.positions).to(equal([CGPoint(x: xPosition, y: offset.y)]))
|
||||
}
|
||||
|
||||
private func assertEmojiMarker(run: FontGlyphRun, xPosition: CGFloat) {
|
||||
expect(run.font).to(equalFont(emoji))
|
||||
expect(run.positions).to(equal([CGPoint(x: xPosition, y: offset.y)]))
|
||||
}
|
||||
}
|
||||
|
||||
class TypesetterWithLigaturesTest: XCTestCase {
|
||||
|
||||
func testSimpleAsciiChars() {
|
||||
let runs = typesetter.fontGlyphRunsWithLigatures(
|
||||
nvimUtf16Cells: emojiMarked(Array(repeating: "a", count: 20)),
|
||||
startColumn: 1,
|
||||
offset: offset,
|
||||
font: defaultFont,
|
||||
cellWidth: defaultWidth
|
||||
)
|
||||
expect(runs).to(haveCount(2))
|
||||
|
||||
let run = runs[0]
|
||||
expect(run.font).to(equalFont(defaultFont))
|
||||
expect(run.glyphs).to(haveCount(20))
|
||||
expect(run.positions).to(equal(
|
||||
(1..<21).map {
|
||||
CGPoint(x: offset.x + CGFloat($0) * defaultWidth, y: offset.y)
|
||||
}
|
||||
))
|
||||
|
||||
self.assertEmojiMarker(run: runs[1],
|
||||
xPosition: offset.x + 21 * defaultWidth)
|
||||
}
|
||||
|
||||
func testAccentedChars() {
|
||||
let runs = typesetter.fontGlyphRunsWithLigatures(
|
||||
nvimUtf16Cells: emojiMarked(["ü", "î", "ñ"]),
|
||||
startColumn: 10,
|
||||
offset: offset,
|
||||
font: defaultFont,
|
||||
cellWidth: defaultWidth
|
||||
)
|
||||
|
||||
expect(runs).to(haveCount(2))
|
||||
|
||||
let run = runs[0]
|
||||
expect(run.font).to(equalFont(defaultFont))
|
||||
expect(run.glyphs).to(haveCount(3))
|
||||
expect(run.positions).to(equal(
|
||||
[
|
||||
CGPoint(x: offset.x + 10 * defaultWidth, y: offset.y),
|
||||
CGPoint(x: offset.x + 11 * defaultWidth, y: offset.y),
|
||||
CGPoint(x: offset.x + 12 * defaultWidth, y: offset.y),
|
||||
]
|
||||
))
|
||||
|
||||
self.assertEmojiMarker(run: runs[1], xPosition: offset.x + 13 * defaultWidth)
|
||||
}
|
||||
|
||||
func testCombiningChars() {
|
||||
let runs = typesetter.fontGlyphRunsWithLigatures(
|
||||
nvimUtf16Cells: emojiMarked(["a\u{1DC1}", "a\u{032A}", "a\u{034B}"]),
|
||||
startColumn: 1,
|
||||
offset: offset,
|
||||
font: defaultFont,
|
||||
cellWidth: defaultWidth
|
||||
)
|
||||
expect(runs).to(haveCount(4))
|
||||
|
||||
// The positions of the combining characters are copied from print outputs
|
||||
// and they are visually checked by drawing them and inspecting them...
|
||||
var run = runs[0]
|
||||
expect(run.font).to(equalFont(courierNew))
|
||||
expect(run.glyphs).to(haveCount(2))
|
||||
expect(run.positions[0])
|
||||
.to(equal(CGPoint(x: offset.x + 1 * defaultWidth, y: offset.y)))
|
||||
expect(run.positions[1].x)
|
||||
.to(beCloseTo(offset.x + 1 * defaultWidth + 0.003, within: 0.001))
|
||||
expect(run.positions[1].y).to(beCloseTo(offset.y + 0.305, within: 0.001))
|
||||
|
||||
run = runs[1]
|
||||
expect(run.font).to(equalFont(defaultFont))
|
||||
expect(run.glyphs).to(haveCount(2))
|
||||
expect(run.positions[0])
|
||||
.to(equal(CGPoint(x: offset.x + 2 * defaultWidth, y: offset.y)))
|
||||
expect(run.positions[1].x)
|
||||
.to(beCloseTo(offset.x + 2 * defaultWidth, within: 0.001))
|
||||
expect(run.positions[1].y).to(beCloseTo(offset.y - 0.279, within: 0.001))
|
||||
|
||||
run = runs[2]
|
||||
expect(run.font).to(equalFont(monaco))
|
||||
expect(run.glyphs).to(haveCount(2))
|
||||
expect(run.positions[0])
|
||||
.to(equal(CGPoint(x: offset.x + 3 * defaultWidth, y: offset.y)))
|
||||
expect(run.positions[1].x)
|
||||
.to(beCloseTo(offset.x + 3 * defaultWidth + 7.804, within: 0.001))
|
||||
expect(run.positions[1].y).to(beCloseTo(offset.y + 2.446, within: 0.001))
|
||||
|
||||
self.assertEmojiMarker(run: runs[3], xPosition: offset.x + 4 * defaultWidth)
|
||||
}
|
||||
|
||||
func testSimpleEmojis() {
|
||||
let runs = typesetter.fontGlyphRunsWithLigatures(
|
||||
nvimUtf16Cells: asciiMarked(["\u{1F600}", "", "\u{1F377}", ""]),
|
||||
startColumn: 0,
|
||||
offset: offset,
|
||||
font: defaultFont,
|
||||
cellWidth: defaultWidth
|
||||
)
|
||||
expect(runs).to(haveCount(2))
|
||||
|
||||
let run = runs[0]
|
||||
expect(run.font).to(equalFont(emoji))
|
||||
expect(run.positions).to(equal(
|
||||
[
|
||||
CGPoint(x: offset.x + 0, y: offset.y),
|
||||
CGPoint(x: offset.x + 2 * defaultWidth, y: offset.y),
|
||||
]
|
||||
))
|
||||
|
||||
self.assertAsciiMarker(run: runs[1], xPosition: offset.x + 4 * defaultWidth)
|
||||
}
|
||||
|
||||
func testEmojisWithFitzpatrickModifier() {
|
||||
let runs = typesetter.fontGlyphRunsWithLigatures(
|
||||
// Neovim does not yet seem to support the Fitzpatrick modifiers:
|
||||
// It sends the following instead of ["\u{1F476}\u{1F3FD}", ""].
|
||||
// We render it together anyway and treat it as a 4-cell character.
|
||||
nvimUtf16Cells: asciiMarked(["\u{1F476}", "", "\u{1F3FD}", ""]),
|
||||
startColumn: 0,
|
||||
offset: offset,
|
||||
font: defaultFont,
|
||||
cellWidth: defaultWidth
|
||||
)
|
||||
expect(runs).to(haveCount(2))
|
||||
|
||||
let run = runs[0]
|
||||
expect(run.font).to(equalFont(emoji))
|
||||
expect(run.positions).to(equal(
|
||||
[
|
||||
CGPoint(x: offset.x + 0, y: offset.y),
|
||||
]
|
||||
))
|
||||
|
||||
self.assertAsciiMarker(run: runs[1], xPosition: offset.x + 4 * defaultWidth)
|
||||
}
|
||||
|
||||
func testEmojisWithZeroWidthJoiner() {
|
||||
// Neovim does not yet seem to support Emojis composed by zero-width-joiner:
|
||||
// If it did, we'd render it correctly.
|
||||
let runs = typesetter.fontGlyphRunsWithLigatures(
|
||||
nvimUtf16Cells: asciiMarked(
|
||||
[
|
||||
"\u{1F468}\u{200D}\u{1F468}\u{200D}\u{1F467}\u{200D}\u{1F467}", "",
|
||||
]
|
||||
),
|
||||
startColumn: 1,
|
||||
offset: offset,
|
||||
font: defaultFont,
|
||||
cellWidth: defaultWidth
|
||||
)
|
||||
expect(runs).to(haveCount(2))
|
||||
|
||||
let run = runs[0]
|
||||
expect(run.font).to(equalFont(emoji))
|
||||
expect(run.glyphs).to(haveCount(1))
|
||||
expect(run.positions).to(equal(
|
||||
[
|
||||
CGPoint(x: offset.x + 1 * defaultWidth, y: offset.y),
|
||||
]
|
||||
))
|
||||
|
||||
self.assertAsciiMarker(run: runs[1], xPosition: offset.x + 3 * defaultWidth)
|
||||
}
|
||||
|
||||
func testHangul() {
|
||||
let runs = typesetter.fontGlyphRunsWithLigatures(
|
||||
nvimUtf16Cells: asciiMarked(["하", "", "태", "", "원", ""]),
|
||||
startColumn: 1,
|
||||
offset: offset,
|
||||
font: defaultFont,
|
||||
cellWidth: defaultWidth
|
||||
)
|
||||
expect(runs).to(haveCount(2))
|
||||
|
||||
let run = runs[0]
|
||||
expect(run.font).to(equalFont(gothic))
|
||||
expect(run.positions).to(equal(
|
||||
[
|
||||
CGPoint(x: offset.x + 1 * defaultWidth, y: offset.y),
|
||||
CGPoint(x: offset.x + 3 * defaultWidth, y: offset.y),
|
||||
CGPoint(x: offset.x + 5 * defaultWidth, y: offset.y),
|
||||
]
|
||||
))
|
||||
|
||||
self.assertAsciiMarker(run: runs[1], xPosition: offset.x + 7 * defaultWidth)
|
||||
}
|
||||
|
||||
func testHanja() {
|
||||
let runs = typesetter.fontGlyphRunsWithLigatures(
|
||||
nvimUtf16Cells: asciiMarked(["河", "", "泰", "", "元", ""]),
|
||||
startColumn: 1,
|
||||
offset: offset,
|
||||
font: defaultFont,
|
||||
cellWidth: defaultWidth
|
||||
)
|
||||
expect(runs).to(haveCount(2))
|
||||
|
||||
let run = runs[0]
|
||||
expect(run.font).to(equalFont(gothic))
|
||||
expect(run.positions).to(equal(
|
||||
[
|
||||
CGPoint(x: offset.x + 1 * defaultWidth, y: offset.y),
|
||||
CGPoint(x: offset.x + 3 * defaultWidth, y: offset.y),
|
||||
CGPoint(x: offset.x + 5 * defaultWidth, y: offset.y),
|
||||
]
|
||||
))
|
||||
|
||||
self.assertAsciiMarker(run: runs[1], xPosition: offset.x + 7 * defaultWidth)
|
||||
}
|
||||
|
||||
func testOthers() {
|
||||
let runs = typesetter.fontGlyphRunsWithLigatures(
|
||||
nvimUtf16Cells: emojiMarked(["\u{10437}", "\u{1F14}"]),
|
||||
startColumn: 0,
|
||||
offset: offset,
|
||||
font: defaultFont,
|
||||
cellWidth: defaultWidth
|
||||
)
|
||||
expect(runs).to(haveCount(3))
|
||||
|
||||
var run = runs[0]
|
||||
expect(run.font).to(equalFont(baskerville))
|
||||
expect(run.positions).to(equal(
|
||||
[
|
||||
CGPoint(x: offset.x + 0, y: offset.y),
|
||||
]
|
||||
))
|
||||
|
||||
run = runs[1]
|
||||
expect(run.font).to(equalFont(defaultFont))
|
||||
expect(run.positions).to(equal(
|
||||
[
|
||||
CGPoint(x: offset.x + 1 * defaultWidth, y: offset.y),
|
||||
]
|
||||
))
|
||||
|
||||
self.assertEmojiMarker(run: runs[2], xPosition: offset.x + 2 * defaultWidth)
|
||||
}
|
||||
|
||||
func testSimpleLigatureChars() {
|
||||
let runs = typesetter.fontGlyphRunsWithLigatures(
|
||||
nvimUtf16Cells: emojiMarked(["-", "-", ">", "a"]),
|
||||
startColumn: 0,
|
||||
offset: offset,
|
||||
font: fira,
|
||||
cellWidth: firaWidth
|
||||
)
|
||||
expect(runs).to(haveCount(2))
|
||||
|
||||
let run = runs[0]
|
||||
expect(run.font).to(equalFont(fira))
|
||||
// Ligatures of popular monospace fonts like Fira Code seem to be composed
|
||||
// of multiple characters with the same advance as other normal characters.
|
||||
expect(run.glyphs).to(equal([1742, 1742, 1054, 134]))
|
||||
expect(run.positions).to(equal(
|
||||
(0..<4).map {
|
||||
CGPoint(x: offset.x + CGFloat($0) * firaWidth, y: offset.y)
|
||||
}
|
||||
))
|
||||
|
||||
self.assertEmojiMarker(run: runs[1], xPosition: offset.x + 4 * firaWidth)
|
||||
}
|
||||
|
||||
private func assertAsciiMarker(run: FontGlyphRun, xPosition: CGFloat) {
|
||||
expect(run.font).to(equalFont(defaultFont))
|
||||
expect(run.positions).to(equal(
|
||||
[
|
||||
CGPoint(x: xPosition, y: offset.y),
|
||||
]
|
||||
))
|
||||
}
|
||||
|
||||
private func assertEmojiMarker(run: FontGlyphRun, xPosition: CGFloat) {
|
||||
expect(run.font).to(equalFont(emoji))
|
||||
expect(run.positions).to(equal(
|
||||
[
|
||||
CGPoint(x: xPosition, y: offset.y),
|
||||
]
|
||||
))
|
||||
}
|
||||
}
|
||||
|
||||
private let defaultFont = NSFont(name: "Menlo", size: 13)!
|
||||
private let fira = NSFont(name: "FiraCode-Regular", size: 13)!
|
||||
private let courierNew = NSFont(name: "Courier New", size: 13)!
|
||||
private let monaco = NSFont(name: "Monaco", size: 13)!
|
||||
private let emoji = NSFont(name: "AppleColorEmoji", size: 13)!
|
||||
private let gothic = NSFont(name: "Apple SD Gothic Neo", size: 13)!
|
||||
private let baskerville = NSFont(name: "Baskerville", size: 13)!
|
||||
private let kohinoorDevanagari = NSFont(name: "Kohinoor Devanagari", size: 13)!
|
||||
|
||||
private let defaultWidth = FontUtils
|
||||
.cellSize(of: defaultFont, linespacing: 1, characterspacing: 1).width
|
||||
private let firaWidth = FontUtils.cellSize(of: fira, linespacing: 1, characterspacing: 1).width
|
||||
|
||||
private let offset = CGPoint(x: 7, y: 8)
|
||||
|
||||
private let typesetter = Typesetter()
|
||||
|
||||
private func asciiMarked(_ strings: [String]) -> [[Unicode.UTF16.CodeUnit]] {
|
||||
return utf16Chars(strings + ["a"])
|
||||
}
|
||||
|
||||
private func emojiMarked(_ strings: [String]) -> [[Unicode.UTF16.CodeUnit]] {
|
||||
return utf16Chars(strings + ["\u{1F600}"])
|
||||
}
|
||||
|
||||
private func utf16Chars(_ array: [String]) -> [[Unicode.UTF16.CodeUnit]] {
|
||||
return array.map { Array($0.utf16) }
|
||||
}
|
@ -1,271 +0,0 @@
|
||||
/**
|
||||
* Tae Won Ha - http://taewon.de - @hataewon
|
||||
* See LICENSE
|
||||
*/
|
||||
|
||||
import Cocoa
|
||||
import XCTest
|
||||
import Nimble
|
||||
|
||||
@testable import NvimView
|
||||
|
||||
class UGridTest: XCTestCase {
|
||||
|
||||
private let ugrid = UGrid()
|
||||
|
||||
func testFlatCharIndex() {
|
||||
self.ugrid.resize(Size(width: 10, height: 3))
|
||||
|
||||
self.ugrid.update(
|
||||
row: 0,
|
||||
startCol: 0, endCol: 10,
|
||||
clearCol: 0, clearAttr: 0,
|
||||
chunk: ["0", "하", "", "3", "4", "태", "", "7", "8", "9"],
|
||||
attrIds: Array(repeating: 0, count: 10)
|
||||
)
|
||||
self.ugrid.recomputeFlatIndices(rowStart: 0, rowEndInclusive: 2)
|
||||
|
||||
expect(self.ugrid.cells.reduce(into: []) { result, row in
|
||||
return result.append(contentsOf: row.reduce(into: []) { rowResult, cell in
|
||||
rowResult.append(cell.flatCharIndex)
|
||||
})
|
||||
}).to(equal(
|
||||
[
|
||||
0, 1, 1, 2, 3, 4, 4, 5, 6, 7,
|
||||
8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
|
||||
18, 19, 20, 21, 22, 23, 24, 25, 26, 27
|
||||
]
|
||||
))
|
||||
|
||||
self.ugrid.update(
|
||||
row: 1,
|
||||
startCol: 5, endCol: 7,
|
||||
clearCol: 0, clearAttr: 0,
|
||||
chunk: ["하", ""],
|
||||
attrIds: Array(repeating: 0, count: 2)
|
||||
)
|
||||
self.ugrid.recomputeFlatIndices(rowStart: 0, rowEndInclusive: 2)
|
||||
|
||||
expect(self.ugrid.cells.reduce(into: []) { result, row in
|
||||
return result.append(contentsOf: row.reduce(into: []) { rowResult, cell in
|
||||
rowResult.append(cell.flatCharIndex)
|
||||
})
|
||||
}).to(equal(
|
||||
[
|
||||
0, 1, 1, 2, 3, 4, 4, 5, 6, 7,
|
||||
8, 9, 10, 11, 12, 13, 13, 14, 15, 16,
|
||||
17, 18, 19, 20, 21, 22, 23, 24, 25, 26
|
||||
]
|
||||
))
|
||||
|
||||
self.ugrid.update(
|
||||
row: 2,
|
||||
startCol: 8, endCol: 10,
|
||||
clearCol: 0, clearAttr: 0,
|
||||
chunk: ["하", ""],
|
||||
attrIds: Array(repeating: 0, count: 2)
|
||||
)
|
||||
self.ugrid.recomputeFlatIndices(rowStart: 0, rowEndInclusive: 2)
|
||||
|
||||
expect(self.ugrid.cells.reduce(into: []) { result, row in
|
||||
return result.append(contentsOf: row.reduce(into: []) { rowResult, cell in
|
||||
rowResult.append(cell.flatCharIndex)
|
||||
})
|
||||
}).to(equal(
|
||||
[
|
||||
0, 1, 1, 2, 3, 4, 4, 5, 6, 7,
|
||||
8, 9, 10, 11, 12, 13, 13, 14, 15, 16,
|
||||
17, 18, 19, 20, 21, 22, 23, 24, 25, 25
|
||||
]
|
||||
))
|
||||
}
|
||||
|
||||
func testUnmarkPosition() {
|
||||
self.ugrid.resize(Size(width: 20, height: 10))
|
||||
self.ugrid.update(
|
||||
row: 9,
|
||||
startCol: 0,
|
||||
endCol: 9,
|
||||
clearCol: 0,
|
||||
clearAttr: 0,
|
||||
chunk: Array("0123456789".compactMap { String($0) }),
|
||||
attrIds: [
|
||||
0, -1, 2, 3, 4, 5, 6, 7, 8,
|
||||
CellAttributesCollection.reversedDefaultAttributesId
|
||||
]
|
||||
)
|
||||
self.ugrid.unmarkCell(at: Position(row: 9, column: 0))
|
||||
expect(self.ugrid.cells[9][0].attrId).to(equal(0))
|
||||
self.ugrid.unmarkCell(at: Position(row: 9, column: 1))
|
||||
expect(self.ugrid.cells[9][1].attrId).to(equal(1))
|
||||
self.ugrid.unmarkCell(at: Position(row: 9, column: 2))
|
||||
expect(self.ugrid.cells[9][2].attrId).to(equal(2))
|
||||
self.ugrid.unmarkCell(at: Position(row: 9, column: 9))
|
||||
expect(self.ugrid.cells[9][9].attrId)
|
||||
.to(equal(CellAttributesCollection.defaultAttributesId))
|
||||
}
|
||||
|
||||
func testMarkPosition() {
|
||||
self.ugrid.resize(Size(width: 20, height: 10))
|
||||
self.ugrid.update(
|
||||
row: 9,
|
||||
startCol: 0,
|
||||
endCol: 9,
|
||||
clearCol: 0,
|
||||
clearAttr: 0,
|
||||
chunk: Array("0123456789".compactMap { String($0) }),
|
||||
attrIds: [
|
||||
0, -1, 2, 3, 4, 5, 6, 7, 8,
|
||||
CellAttributesCollection.reversedDefaultAttributesId
|
||||
]
|
||||
)
|
||||
self.ugrid.recomputeFlatIndices(rowStart: 9, rowEndInclusive: 9)
|
||||
|
||||
self.ugrid.markCell(at: Position(row: 9, column: 4))
|
||||
expect(self.ugrid.cells[9][4].attrId).to(equal(-4))
|
||||
self.ugrid.markCell(at: Position(row: 9, column: 1))
|
||||
expect(self.ugrid.cells[9][1].attrId).to(equal(-1))
|
||||
self.ugrid.markCell(at: Position(row: 9, column: 9))
|
||||
expect(self.ugrid.cells[9][9].attrId)
|
||||
.to(equal(CellAttributesCollection.reversedDefaultAttributesId))
|
||||
|
||||
self.ugrid.update(
|
||||
row: 7,
|
||||
startCol: 0,
|
||||
endCol: 10,
|
||||
clearCol: 0,
|
||||
clearAttr: 0,
|
||||
chunk: Array("01234567".compactMap { String($0) }) + ["하", ""],
|
||||
attrIds: [0, 1, 2, 3, 4, 5, 6, 7, 8, 8]
|
||||
)
|
||||
self.ugrid.recomputeFlatIndices(rowStart: 7, rowEndInclusive: 9)
|
||||
|
||||
self.ugrid.markCell(at: Position(row: 7, column: 8))
|
||||
expect(self.ugrid.cells[7][8].attrId)
|
||||
.to(equal(-8))
|
||||
expect(self.ugrid.cells[7][9].attrId)
|
||||
.to(equal(-8))
|
||||
|
||||
self.ugrid.update(
|
||||
row: 8,
|
||||
startCol: 0,
|
||||
endCol: 9,
|
||||
clearCol: 0,
|
||||
clearAttr: 0,
|
||||
chunk: ["하", ""] + Array("23456789".compactMap { String($0) }),
|
||||
attrIds: [0, 0, 2, 3, 4, 5, 6, 7, 8, 9]
|
||||
)
|
||||
self.ugrid.markCell(at: Position(row: 8, column: 0))
|
||||
expect(self.ugrid.cells[8][0].attrId)
|
||||
.to(equal(CellAttributesCollection.reversedDefaultAttributesId))
|
||||
expect(self.ugrid.cells[8][1].attrId)
|
||||
.to(equal(CellAttributesCollection.reversedDefaultAttributesId))
|
||||
}
|
||||
|
||||
func testFlattenedIndex() {
|
||||
self.ugrid.resize(Size(width: 20, height: 10))
|
||||
expect(
|
||||
self.ugrid.oneDimCellIndex(forPosition: Position(row: 0, column: 0))
|
||||
).to(equal(0))
|
||||
expect(
|
||||
self.ugrid.oneDimCellIndex(forPosition: Position(row: 0, column: 5))
|
||||
).to(equal(5))
|
||||
expect(
|
||||
self.ugrid.oneDimCellIndex(forPosition: Position(row: 1, column: 0))
|
||||
).to(equal(20))
|
||||
expect(
|
||||
self.ugrid.oneDimCellIndex(forPosition: Position(row: 1, column: 5))
|
||||
).to(equal(25))
|
||||
expect(
|
||||
self.ugrid.oneDimCellIndex(forPosition: Position(row: 9, column: 0))
|
||||
).to(equal(180))
|
||||
expect(
|
||||
self.ugrid.oneDimCellIndex(forPosition: Position(row: 9, column: 19))
|
||||
).to(equal(199))
|
||||
}
|
||||
|
||||
func testPositionFromFlattenedIndex() {
|
||||
self.ugrid.resize(Size(width: 20, height: 10))
|
||||
expect(self.ugrid.position(fromOneDimCellIndex: 0))
|
||||
.to(equal(Position(row: 0, column: 0)))
|
||||
expect(self.ugrid.position(fromOneDimCellIndex: 5))
|
||||
.to(equal(Position(row: 0, column: 5)))
|
||||
expect(self.ugrid.position(fromOneDimCellIndex: 20))
|
||||
.to(equal(Position(row: 1, column: 0)))
|
||||
expect(self.ugrid.position(fromOneDimCellIndex: 25))
|
||||
.to(equal(Position(row: 1, column: 5)))
|
||||
expect(self.ugrid.position(fromOneDimCellIndex: 180))
|
||||
.to(equal(Position(row: 9, column: 0)))
|
||||
expect(self.ugrid.position(fromOneDimCellIndex: 199))
|
||||
.to(equal(Position(row: 9, column: 19)))
|
||||
expect(self.ugrid.position(fromOneDimCellIndex: 418))
|
||||
.to(equal(Position(row: 9, column: 18)))
|
||||
expect(self.ugrid.position(fromOneDimCellIndex: 419))
|
||||
.to(equal(Position(row: 9, column: 19)))
|
||||
}
|
||||
|
||||
func testLeftBoundaryOfWord() {
|
||||
self.ugrid.resize(Size(width: 10, height: 2))
|
||||
self.ugrid.update(row: 0,
|
||||
startCol: 0,
|
||||
endCol: 10,
|
||||
clearCol: 10,
|
||||
clearAttr: 0,
|
||||
chunk: " 12 45678 ".compactMap { String($0) },
|
||||
attrIds: Array<Int>(repeating: 0, count: 10))
|
||||
|
||||
expect(self.ugrid.leftBoundaryOfWord(at: Position(row: 0, column: 9)))
|
||||
.to(equal(9))
|
||||
expect(self.ugrid.leftBoundaryOfWord(at: Position(row: 0, column: 8)))
|
||||
.to(equal(4))
|
||||
expect(self.ugrid.leftBoundaryOfWord(at: Position(row: 0, column: 4)))
|
||||
.to(equal(4))
|
||||
expect(self.ugrid.leftBoundaryOfWord(at: Position(row: 0, column: 3)))
|
||||
.to(equal(3))
|
||||
expect(self.ugrid.leftBoundaryOfWord(at: Position(row: 0, column: 0)))
|
||||
.to(equal(0))
|
||||
|
||||
self.ugrid.update(row: 1,
|
||||
startCol: 0,
|
||||
endCol: 10,
|
||||
clearCol: 10,
|
||||
clearAttr: 0,
|
||||
chunk: "0123456789".compactMap { String($0) },
|
||||
attrIds: Array<Int>(repeating: 0, count: 10))
|
||||
|
||||
expect(self.ugrid.leftBoundaryOfWord(at: Position(row: 1, column: 0)))
|
||||
.to(equal(0))
|
||||
}
|
||||
|
||||
func testRightBoundaryOfWord() {
|
||||
self.ugrid.resize(Size(width: 10, height: 2))
|
||||
self.ugrid.update(row: 0,
|
||||
startCol: 0,
|
||||
endCol: 10,
|
||||
clearCol: 10,
|
||||
clearAttr: 0,
|
||||
chunk: " 12345 78 ".compactMap { String($0) },
|
||||
attrIds: Array<Int>(repeating: 0, count: 10))
|
||||
|
||||
expect(self.ugrid.rightBoundaryOfWord(at: Position(row: 0, column: 9)))
|
||||
.to(equal(9))
|
||||
expect(self.ugrid.rightBoundaryOfWord(at: Position(row: 0, column: 8)))
|
||||
.to(equal(8))
|
||||
expect(self.ugrid.rightBoundaryOfWord(at: Position(row: 0, column: 7)))
|
||||
.to(equal(8))
|
||||
expect(self.ugrid.rightBoundaryOfWord(at: Position(row: 0, column: 1)))
|
||||
.to(equal(5))
|
||||
expect(self.ugrid.rightBoundaryOfWord(at: Position(row: 0, column: 0)))
|
||||
.to(equal(0))
|
||||
|
||||
self.ugrid.update(row: 1,
|
||||
startCol: 0,
|
||||
endCol: 10,
|
||||
clearCol: 10,
|
||||
clearAttr: 0,
|
||||
chunk: "0123456789".compactMap { String($0) },
|
||||
attrIds: Array<Int>(repeating: 0, count: 10))
|
||||
expect(self.ugrid.rightBoundaryOfWord(at: Position(row: 1, column: 9)))
|
||||
.to(equal(9))
|
||||
}
|
||||
}
|
@ -1,25 +0,0 @@
|
||||
DISABLE_TUI := DISABLE
|
||||
ENABLE_CUSTOM_UI := ENABLE
|
||||
|
||||
# Sets the build type; defaults to Debug. Valid values:
|
||||
#
|
||||
# - Debug: Disables optimizations (-O0), enables debug information and logging.
|
||||
#
|
||||
# - Dev: Enables all optimizations that do not interfere with
|
||||
# debugging (-Og if available, -O2 and -g if not).
|
||||
# Enables debug information and logging.
|
||||
#
|
||||
# - RelWithDebInfo: Enables optimizations (-O2) and debug information.
|
||||
# Disables logging.
|
||||
#
|
||||
# - MinSizeRel: Enables all -O2 optimization that do not typically
|
||||
# increase code size, and performs further optimizations
|
||||
# designed to reduce code size (-Os).
|
||||
# Disables debug information and logging.
|
||||
#
|
||||
# - Release: Same as RelWithDebInfo, but disables debug information.
|
||||
#CMAKE_BUILD_TYPE := Dev
|
||||
CMAKE_BUILD_TYPE := Release
|
||||
|
||||
# The log level must be a number DEBUG (0), INFO (1), WARNING (2) or ERROR (3).
|
||||
#CMAKE_EXTRA_FLAGS += -DMIN_LOG_LEVEL=0
|
@ -1,4 +0,0 @@
|
||||
DISABLE_TUI := DISABLE
|
||||
ENABLE_CUSTOM_UI := ENABLE
|
||||
|
||||
CMAKE_BUILD_TYPE := Release
|
@ -1,502 +0,0 @@
|
||||
/* Message catalogs for internationalization.
|
||||
Copyright (C) 1995-1997, 2000-2016, 2018-2019 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation; either version 2.1 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _LIBINTL_H
|
||||
#define _LIBINTL_H 1
|
||||
|
||||
#include <locale.h>
|
||||
#if (defined __APPLE__ && defined __MACH__) && 1
|
||||
# include <xlocale.h>
|
||||
#endif
|
||||
|
||||
/* The LC_MESSAGES locale category is the category used by the functions
|
||||
gettext() and dgettext(). It is specified in POSIX, but not in ANSI C.
|
||||
On systems that don't define it, use an arbitrary value instead.
|
||||
On Solaris, <locale.h> defines __LOCALE_H (or _LOCALE_H in Solaris 2.5)
|
||||
then includes <libintl.h> (i.e. this file!) and then only defines
|
||||
LC_MESSAGES. To avoid a redefinition warning, don't define LC_MESSAGES
|
||||
in this case. */
|
||||
#if !defined LC_MESSAGES && !(defined __LOCALE_H || (defined _LOCALE_H && defined __sun))
|
||||
# define LC_MESSAGES 1729
|
||||
#endif
|
||||
|
||||
/* We define an additional symbol to signal that we use the GNU
|
||||
implementation of gettext. */
|
||||
#define __USE_GNU_GETTEXT 1
|
||||
|
||||
/* Provide information about the supported file formats. Returns the
|
||||
maximum minor revision number supported for a given major revision. */
|
||||
#define __GNU_GETTEXT_SUPPORTED_REVISION(major) \
|
||||
((major) == 0 || (major) == 1 ? 1 : -1)
|
||||
|
||||
/* Resolve a platform specific conflict on DJGPP. GNU gettext takes
|
||||
precedence over _conio_gettext. */
|
||||
#ifdef __DJGPP__
|
||||
# undef gettext
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
/* Version number: (major<<16) + (minor<<8) + subminor */
|
||||
#define LIBINTL_VERSION 0x001400
|
||||
extern int libintl_version;
|
||||
|
||||
|
||||
/* We redirect the functions to those prefixed with "libintl_". This is
|
||||
necessary, because some systems define gettext/textdomain/... in the C
|
||||
library (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer).
|
||||
If we used the unprefixed names, there would be cases where the
|
||||
definition in the C library would override the one in the libintl.so
|
||||
shared library. Recall that on ELF systems, the symbols are looked
|
||||
up in the following order:
|
||||
1. in the executable,
|
||||
2. in the shared libraries specified on the link command line, in order,
|
||||
3. in the dependencies of the shared libraries specified on the link
|
||||
command line,
|
||||
4. in the dlopen()ed shared libraries, in the order in which they were
|
||||
dlopen()ed.
|
||||
The definition in the C library would override the one in libintl.so if
|
||||
either
|
||||
* -lc is given on the link command line and -lintl isn't, or
|
||||
* -lc is given on the link command line before -lintl, or
|
||||
* libintl.so is a dependency of a dlopen()ed shared library but not
|
||||
linked to the executable at link time.
|
||||
Since Solaris gettext() behaves differently than GNU gettext(), this
|
||||
would be unacceptable.
|
||||
|
||||
The redirection happens by default through macros in C, so that &gettext
|
||||
is independent of the compilation unit, but through inline functions in
|
||||
C++, in order not to interfere with the name mangling of class fields or
|
||||
class methods called 'gettext'. */
|
||||
|
||||
/* The user can define _INTL_REDIRECT_INLINE or _INTL_REDIRECT_MACROS.
|
||||
If he doesn't, we choose the method. A third possible method is
|
||||
_INTL_REDIRECT_ASM, supported only by GCC. */
|
||||
#if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS)
|
||||
# if defined __GNUC__ && __GNUC__ >= 2 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1) && !defined __MINGW32__ && !(__GNUC__ == 2 && defined _AIX) && (defined __STDC__ || defined __cplusplus)
|
||||
# define _INTL_REDIRECT_ASM
|
||||
# else
|
||||
# ifdef __cplusplus
|
||||
# define _INTL_REDIRECT_INLINE
|
||||
# else
|
||||
# define _INTL_REDIRECT_MACROS
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
/* Auxiliary macros. */
|
||||
#ifdef _INTL_REDIRECT_ASM
|
||||
# define _INTL_ASM(cname) __asm__ (_INTL_ASMNAME (__USER_LABEL_PREFIX__, #cname))
|
||||
# define _INTL_ASMNAME(prefix,cnamestring) _INTL_STRINGIFY (prefix) cnamestring
|
||||
# define _INTL_STRINGIFY(prefix) #prefix
|
||||
#else
|
||||
# define _INTL_ASM(cname)
|
||||
#endif
|
||||
|
||||
/* _INTL_MAY_RETURN_STRING_ARG(n) declares that the given function may return
|
||||
its n-th argument literally. This enables GCC to warn for example about
|
||||
printf (gettext ("foo %y")). */
|
||||
#if defined __GNUC__ && __GNUC__ >= 3 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1 && !(defined __clang__ && __clang__ && __clang_major__ >= 3) && defined __cplusplus)
|
||||
# define _INTL_MAY_RETURN_STRING_ARG(n) __attribute__ ((__format_arg__ (n)))
|
||||
#else
|
||||
# define _INTL_MAY_RETURN_STRING_ARG(n)
|
||||
#endif
|
||||
|
||||
/* Look up MSGID in the current default message catalog for the current
|
||||
LC_MESSAGES locale. If not found, returns MSGID itself (the default
|
||||
text). */
|
||||
#ifdef _INTL_REDIRECT_INLINE
|
||||
extern char *libintl_gettext (const char *__msgid)
|
||||
_INTL_MAY_RETURN_STRING_ARG (1);
|
||||
static inline
|
||||
_INTL_MAY_RETURN_STRING_ARG (1)
|
||||
char *gettext (const char *__msgid)
|
||||
{
|
||||
return libintl_gettext (__msgid);
|
||||
}
|
||||
#else
|
||||
#ifdef _INTL_REDIRECT_MACROS
|
||||
# define gettext libintl_gettext
|
||||
#endif
|
||||
extern char *gettext (const char *__msgid)
|
||||
_INTL_ASM (libintl_gettext)
|
||||
_INTL_MAY_RETURN_STRING_ARG (1);
|
||||
#endif
|
||||
|
||||
/* Look up MSGID in the DOMAINNAME message catalog for the current
|
||||
LC_MESSAGES locale. */
|
||||
#ifdef _INTL_REDIRECT_INLINE
|
||||
extern char *libintl_dgettext (const char *__domainname, const char *__msgid)
|
||||
_INTL_MAY_RETURN_STRING_ARG (2);
|
||||
static inline
|
||||
_INTL_MAY_RETURN_STRING_ARG (2)
|
||||
char *dgettext (const char *__domainname, const char *__msgid)
|
||||
{
|
||||
return libintl_dgettext (__domainname, __msgid);
|
||||
}
|
||||
#else
|
||||
#ifdef _INTL_REDIRECT_MACROS
|
||||
# define dgettext libintl_dgettext
|
||||
#endif
|
||||
extern char *dgettext (const char *__domainname, const char *__msgid)
|
||||
_INTL_ASM (libintl_dgettext)
|
||||
_INTL_MAY_RETURN_STRING_ARG (2);
|
||||
#endif
|
||||
|
||||
/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
|
||||
locale. */
|
||||
#ifdef _INTL_REDIRECT_INLINE
|
||||
extern char *libintl_dcgettext (const char *__domainname, const char *__msgid,
|
||||
int __category)
|
||||
_INTL_MAY_RETURN_STRING_ARG (2);
|
||||
static inline
|
||||
_INTL_MAY_RETURN_STRING_ARG (2)
|
||||
char *dcgettext (const char *__domainname, const char *__msgid, int __category)
|
||||
{
|
||||
return libintl_dcgettext (__domainname, __msgid, __category);
|
||||
}
|
||||
#else
|
||||
#ifdef _INTL_REDIRECT_MACROS
|
||||
# define dcgettext libintl_dcgettext
|
||||
#endif
|
||||
extern char *dcgettext (const char *__domainname, const char *__msgid,
|
||||
int __category)
|
||||
_INTL_ASM (libintl_dcgettext)
|
||||
_INTL_MAY_RETURN_STRING_ARG (2);
|
||||
#endif
|
||||
|
||||
|
||||
/* Similar to 'gettext' but select the plural form corresponding to the
|
||||
number N. */
|
||||
#ifdef _INTL_REDIRECT_INLINE
|
||||
extern char *libintl_ngettext (const char *__msgid1, const char *__msgid2,
|
||||
unsigned long int __n)
|
||||
_INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2);
|
||||
static inline
|
||||
_INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2)
|
||||
char *ngettext (const char *__msgid1, const char *__msgid2,
|
||||
unsigned long int __n)
|
||||
{
|
||||
return libintl_ngettext (__msgid1, __msgid2, __n);
|
||||
}
|
||||
#else
|
||||
#ifdef _INTL_REDIRECT_MACROS
|
||||
# define ngettext libintl_ngettext
|
||||
#endif
|
||||
extern char *ngettext (const char *__msgid1, const char *__msgid2,
|
||||
unsigned long int __n)
|
||||
_INTL_ASM (libintl_ngettext)
|
||||
_INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2);
|
||||
#endif
|
||||
|
||||
/* Similar to 'dgettext' but select the plural form corresponding to the
|
||||
number N. */
|
||||
#ifdef _INTL_REDIRECT_INLINE
|
||||
extern char *libintl_dngettext (const char *__domainname, const char *__msgid1,
|
||||
const char *__msgid2, unsigned long int __n)
|
||||
_INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3);
|
||||
static inline
|
||||
_INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3)
|
||||
char *dngettext (const char *__domainname, const char *__msgid1,
|
||||
const char *__msgid2, unsigned long int __n)
|
||||
{
|
||||
return libintl_dngettext (__domainname, __msgid1, __msgid2, __n);
|
||||
}
|
||||
#else
|
||||
#ifdef _INTL_REDIRECT_MACROS
|
||||
# define dngettext libintl_dngettext
|
||||
#endif
|
||||
extern char *dngettext (const char *__domainname,
|
||||
const char *__msgid1, const char *__msgid2,
|
||||
unsigned long int __n)
|
||||
_INTL_ASM (libintl_dngettext)
|
||||
_INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3);
|
||||
#endif
|
||||
|
||||
/* Similar to 'dcgettext' but select the plural form corresponding to the
|
||||
number N. */
|
||||
#ifdef _INTL_REDIRECT_INLINE
|
||||
extern char *libintl_dcngettext (const char *__domainname,
|
||||
const char *__msgid1, const char *__msgid2,
|
||||
unsigned long int __n, int __category)
|
||||
_INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3);
|
||||
static inline
|
||||
_INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3)
|
||||
char *dcngettext (const char *__domainname,
|
||||
const char *__msgid1, const char *__msgid2,
|
||||
unsigned long int __n, int __category)
|
||||
{
|
||||
return libintl_dcngettext (__domainname, __msgid1, __msgid2, __n, __category);
|
||||
}
|
||||
#else
|
||||
#ifdef _INTL_REDIRECT_MACROS
|
||||
# define dcngettext libintl_dcngettext
|
||||
#endif
|
||||
extern char *dcngettext (const char *__domainname,
|
||||
const char *__msgid1, const char *__msgid2,
|
||||
unsigned long int __n, int __category)
|
||||
_INTL_ASM (libintl_dcngettext)
|
||||
_INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3);
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/* Set the current default message catalog to DOMAINNAME.
|
||||
If DOMAINNAME is null, return the current default.
|
||||
If DOMAINNAME is "", reset to the default of "messages". */
|
||||
#ifdef _INTL_REDIRECT_INLINE
|
||||
extern char *libintl_textdomain (const char *__domainname);
|
||||
static inline char *textdomain (const char *__domainname)
|
||||
{
|
||||
return libintl_textdomain (__domainname);
|
||||
}
|
||||
#else
|
||||
#ifdef _INTL_REDIRECT_MACROS
|
||||
# define textdomain libintl_textdomain
|
||||
#endif
|
||||
extern char *textdomain (const char *__domainname)
|
||||
_INTL_ASM (libintl_textdomain);
|
||||
#endif
|
||||
|
||||
/* Specify that the DOMAINNAME message catalog will be found
|
||||
in DIRNAME rather than in the system locale data base. */
|
||||
#ifdef _INTL_REDIRECT_INLINE
|
||||
extern char *libintl_bindtextdomain (const char *__domainname,
|
||||
const char *__dirname);
|
||||
static inline char *bindtextdomain (const char *__domainname,
|
||||
const char *__dirname)
|
||||
{
|
||||
return libintl_bindtextdomain (__domainname, __dirname);
|
||||
}
|
||||
#else
|
||||
#ifdef _INTL_REDIRECT_MACROS
|
||||
# define bindtextdomain libintl_bindtextdomain
|
||||
#endif
|
||||
extern char *bindtextdomain (const char *__domainname, const char *__dirname)
|
||||
_INTL_ASM (libintl_bindtextdomain);
|
||||
#endif
|
||||
|
||||
/* Specify the character encoding in which the messages from the
|
||||
DOMAINNAME message catalog will be returned. */
|
||||
#ifdef _INTL_REDIRECT_INLINE
|
||||
extern char *libintl_bind_textdomain_codeset (const char *__domainname,
|
||||
const char *__codeset);
|
||||
static inline char *bind_textdomain_codeset (const char *__domainname,
|
||||
const char *__codeset)
|
||||
{
|
||||
return libintl_bind_textdomain_codeset (__domainname, __codeset);
|
||||
}
|
||||
#else
|
||||
#ifdef _INTL_REDIRECT_MACROS
|
||||
# define bind_textdomain_codeset libintl_bind_textdomain_codeset
|
||||
#endif
|
||||
extern char *bind_textdomain_codeset (const char *__domainname,
|
||||
const char *__codeset)
|
||||
_INTL_ASM (libintl_bind_textdomain_codeset);
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/* Support for format strings with positions in *printf(), following the
|
||||
POSIX/XSI specification.
|
||||
Note: These replacements for the *printf() functions are visible only
|
||||
in source files that #include <libintl.h> or #include "gettext.h".
|
||||
Packages that use *printf() in source files that don't refer to _()
|
||||
or gettext() but for which the format string could be the return value
|
||||
of _() or gettext() need to add this #include. Oh well. */
|
||||
|
||||
#if !1
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stddef.h>
|
||||
|
||||
/* Get va_list. */
|
||||
#if (defined __STDC__ && __STDC__) || defined __cplusplus || defined _MSC_VER
|
||||
# include <stdarg.h>
|
||||
#else
|
||||
# include <varargs.h>
|
||||
#endif
|
||||
|
||||
#if !(defined fprintf && defined _GL_STDIO_H) /* don't override gnulib */
|
||||
#undef fprintf
|
||||
#define fprintf libintl_fprintf
|
||||
extern int fprintf (FILE *, const char *, ...);
|
||||
#endif
|
||||
#if !(defined vfprintf && defined _GL_STDIO_H) /* don't override gnulib */
|
||||
#undef vfprintf
|
||||
#define vfprintf libintl_vfprintf
|
||||
extern int vfprintf (FILE *, const char *, va_list);
|
||||
#endif
|
||||
|
||||
#if !(defined printf && defined _GL_STDIO_H) /* don't override gnulib */
|
||||
#undef printf
|
||||
#if defined __NetBSD__ || defined __BEOS__ || defined __CYGWIN__ || defined __MINGW32__
|
||||
/* Don't break __attribute__((format(printf,M,N))).
|
||||
This redefinition is only possible because the libc in NetBSD, Cygwin,
|
||||
mingw does not have a function __printf__.
|
||||
Alternatively, we could have done this redirection only when compiling with
|
||||
__GNUC__, together with a symbol redirection:
|
||||
extern int printf (const char *, ...)
|
||||
__asm__ (#__USER_LABEL_PREFIX__ "libintl_printf");
|
||||
But doing it now would introduce a binary incompatibility with already
|
||||
distributed versions of libintl on these systems. */
|
||||
# define libintl_printf __printf__
|
||||
#endif
|
||||
#define printf libintl_printf
|
||||
extern int printf (const char *, ...);
|
||||
#endif
|
||||
#if !(defined vprintf && defined _GL_STDIO_H) /* don't override gnulib */
|
||||
#undef vprintf
|
||||
#define vprintf libintl_vprintf
|
||||
extern int vprintf (const char *, va_list);
|
||||
#endif
|
||||
|
||||
#if !(defined sprintf && defined _GL_STDIO_H) /* don't override gnulib */
|
||||
#undef sprintf
|
||||
#define sprintf libintl_sprintf
|
||||
extern int sprintf (char *, const char *, ...);
|
||||
#endif
|
||||
#if !(defined vsprintf && defined _GL_STDIO_H) /* don't override gnulib */
|
||||
#undef vsprintf
|
||||
#define vsprintf libintl_vsprintf
|
||||
extern int vsprintf (char *, const char *, va_list);
|
||||
#endif
|
||||
|
||||
#if 1
|
||||
|
||||
#if !(defined snprintf && defined _GL_STDIO_H) /* don't override gnulib */
|
||||
#undef snprintf
|
||||
#define snprintf libintl_snprintf
|
||||
extern int snprintf (char *, size_t, const char *, ...);
|
||||
#endif
|
||||
#if !(defined vsnprintf && defined _GL_STDIO_H) /* don't override gnulib */
|
||||
#undef vsnprintf
|
||||
#define vsnprintf libintl_vsnprintf
|
||||
extern int vsnprintf (char *, size_t, const char *, va_list);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#if 1
|
||||
|
||||
#if !(defined asprintf && defined _GL_STDIO_H) /* don't override gnulib */
|
||||
#undef asprintf
|
||||
#define asprintf libintl_asprintf
|
||||
extern int asprintf (char **, const char *, ...);
|
||||
#endif
|
||||
#if !(defined vasprintf && defined _GL_STDIO_H) /* don't override gnulib */
|
||||
#undef vasprintf
|
||||
#define vasprintf libintl_vasprintf
|
||||
extern int vasprintf (char **, const char *, va_list);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#if 1
|
||||
|
||||
#undef fwprintf
|
||||
#define fwprintf libintl_fwprintf
|
||||
extern int fwprintf (FILE *, const wchar_t *, ...);
|
||||
#undef vfwprintf
|
||||
#define vfwprintf libintl_vfwprintf
|
||||
extern int vfwprintf (FILE *, const wchar_t *, va_list);
|
||||
|
||||
#undef wprintf
|
||||
#define wprintf libintl_wprintf
|
||||
extern int wprintf (const wchar_t *, ...);
|
||||
#undef vwprintf
|
||||
#define vwprintf libintl_vwprintf
|
||||
extern int vwprintf (const wchar_t *, va_list);
|
||||
|
||||
#undef swprintf
|
||||
#define swprintf libintl_swprintf
|
||||
extern int swprintf (wchar_t *, size_t, const wchar_t *, ...);
|
||||
#undef vswprintf
|
||||
#define vswprintf libintl_vswprintf
|
||||
extern int vswprintf (wchar_t *, size_t, const wchar_t *, va_list);
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/* Support for retrieving the name of a locale_t object. */
|
||||
#if 0
|
||||
|
||||
#ifndef GNULIB_defined_newlocale /* don't override gnulib */
|
||||
#undef newlocale
|
||||
#define newlocale libintl_newlocale
|
||||
extern locale_t newlocale (int, const char *, locale_t);
|
||||
#endif
|
||||
|
||||
#ifndef GNULIB_defined_duplocale /* don't override gnulib */
|
||||
#undef duplocale
|
||||
#define duplocale libintl_duplocale
|
||||
extern locale_t duplocale (locale_t);
|
||||
#endif
|
||||
|
||||
#ifndef GNULIB_defined_freelocale /* don't override gnulib */
|
||||
#undef freelocale
|
||||
#define freelocale libintl_freelocale
|
||||
extern void freelocale (locale_t);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/* Support for the locale chosen by the user. */
|
||||
#if (defined __APPLE__ && defined __MACH__) || defined _WIN32 || defined __CYGWIN__
|
||||
|
||||
#ifndef GNULIB_defined_setlocale /* don't override gnulib */
|
||||
#undef setlocale
|
||||
#define setlocale libintl_setlocale
|
||||
extern char *setlocale (int, const char *);
|
||||
#endif
|
||||
|
||||
#if 1
|
||||
|
||||
#undef newlocale
|
||||
#define newlocale libintl_newlocale
|
||||
/* Declare newlocale() only if the system headers define the 'locale_t' type. */
|
||||
#if !(defined __CYGWIN__ && !defined LC_ALL_MASK)
|
||||
extern locale_t newlocale (int, const char *, locale_t);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/* Support for relocatable packages. */
|
||||
|
||||
/* Sets the original and the current installation prefix of the package.
|
||||
Relocation simply replaces a pathname starting with the original prefix
|
||||
by the corresponding pathname with the current prefix instead. Both
|
||||
prefixes should be directory names without trailing slash (i.e. use ""
|
||||
instead of "/"). */
|
||||
#define libintl_set_relocation_prefix libintl_set_relocation_prefix
|
||||
extern void
|
||||
libintl_set_relocation_prefix (const char *orig_prefix,
|
||||
const char *curr_prefix);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* libintl.h */
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d26911f127c071ad3614ffe5506cb48eb018ebf4f203e528e5ca3be5648eebad
|
||||
size 71680
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:da69917872f71d621ac0083cb03b7bd585ef7d8c7ac8e8c709569e3eaa049aae
|
||||
size 100824
|
@ -1 +0,0 @@
|
||||
libintl.8.dylib
|
3
VimR.xcworkspace/contents.xcworkspacedata
generated
3
VimR.xcworkspace/contents.xcworkspacedata
generated
@ -16,6 +16,9 @@
|
||||
<FileRef
|
||||
location = "group:RxPack/Support/RxPackSupport.xcodeproj">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:NvimView/Support/NvimViewSupport.xcodeproj">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:VimR/VimR.xcodeproj">
|
||||
</FileRef>
|
||||
|
@ -73,7 +73,6 @@
|
||||
1929BEDE1BE950EDA9497363 /* GeneralPref.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1929BB55946DAEBF55D24048 /* GeneralPref.swift */; };
|
||||
1929BF03FD6465F289AA80B2 /* ToolsPref.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1929BB2AD21A10A0ECA66A5E /* ToolsPref.swift */; };
|
||||
1929BF3253594E5B1908C6CE /* RpcAppearanceEpic.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1929B230EE8F1428980988F0 /* RpcAppearanceEpic.swift */; };
|
||||
1929BF4FF30D9A9DE82C3052 /* FileUtilsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1929B8042AC566CDF6C998A3 /* FileUtilsTest.swift */; };
|
||||
1929BF5D0EFCC56A733BB4B7 /* FuzzySearch.xcdatamodel in Sources */ = {isa = PBXBuildFile; fileRef = 1929B656C04BA6F950BFA2F5 /* FuzzySearch.xcdatamodel */; };
|
||||
1929BFDE22D155F7C4B19E96 /* HtmlPreviewTool.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1929B85023B042C485409CE1 /* HtmlPreviewTool.swift */; };
|
||||
4B029F1A1D45E349004EE0D3 /* PrefWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4B029F1C1D45E349004EE0D3 /* PrefWindow.xib */; };
|
||||
@ -84,7 +83,6 @@
|
||||
4B3965361DEB21300082D3C1 /* InnterToolBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B3965351DEB21300082D3C1 /* InnterToolBar.swift */; };
|
||||
4B3AC8941DB031C600AC5823 /* sparkle_pub.pem in Resources */ = {isa = PBXBuildFile; fileRef = 4B3AC8931DB031C600AC5823 /* sparkle_pub.pem */; };
|
||||
4B4147A31D97361400DD4A2C /* WorkspaceToolButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BB489411D952CF6005BB0E8 /* WorkspaceToolButton.swift */; };
|
||||
4B5011FB1EBA6FD700F76C46 /* UrlCommonsTest in Resources */ = {isa = PBXBuildFile; fileRef = 4B5011FA1EBA6FD700F76C46 /* UrlCommonsTest */; };
|
||||
4B6423961D8EFD7100FC78C8 /* Workspace.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B6423951D8EFD7100FC78C8 /* Workspace.swift */; };
|
||||
4B6423981D8EFDE000FC78C8 /* WorkspaceBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B6423971D8EFDE000FC78C8 /* WorkspaceBar.swift */; };
|
||||
4B64239A1D8EFE3000FC78C8 /* WorkspaceTool.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B6423991D8EFE3000FC78C8 /* WorkspaceTool.swift */; };
|
||||
@ -168,7 +166,6 @@
|
||||
4BD5657B24E8448300D52809 /* EonilFSEvents in Frameworks */ = {isa = PBXBuildFile; productRef = 4BD5657A24E8448300D52809 /* EonilFSEvents */; };
|
||||
4BD67C7824EC488200147C51 /* RxPack in Frameworks */ = {isa = PBXBuildFile; productRef = 4BD67C7724EC488200147C51 /* RxPack */; };
|
||||
4BD67C7B24EC765900147C51 /* Commons in Frameworks */ = {isa = PBXBuildFile; productRef = 4BD67C7A24EC765900147C51 /* Commons */; };
|
||||
4BDF500C1D760A3500D8FBC3 /* FileUtilsTest in Resources */ = {isa = PBXBuildFile; fileRef = 4BDF500B1D760A3500D8FBC3 /* FileUtilsTest */; };
|
||||
4BDF50171D77540900D8FBC3 /* OpenQuicklyWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4BDF50191D77540900D8FBC3 /* OpenQuicklyWindow.xib */; };
|
||||
4BEBA5091CFF374B00673FDF /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BEBA5081CFF374B00673FDF /* AppDelegate.swift */; };
|
||||
4BEBA50B1CFF374B00673FDF /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 4BEBA50A1CFF374B00673FDF /* Assets.xcassets */; };
|
||||
@ -269,7 +266,6 @@
|
||||
1929B7A68B7109CEFAF105E8 /* AppDelegateReducer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegateReducer.swift; sourceTree = "<group>"; };
|
||||
1929B7BB3E4B3DC96284B686 /* PrefUtilsTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PrefUtilsTest.swift; sourceTree = "<group>"; };
|
||||
1929B7F7A4B3FD52263D211D /* Defs.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Defs.swift; sourceTree = "<group>"; };
|
||||
1929B8042AC566CDF6C998A3 /* FileUtilsTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FileUtilsTest.swift; sourceTree = "<group>"; };
|
||||
1929B8241CDE58F7AAF89AE4 /* PrefUtils.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PrefUtils.swift; sourceTree = "<group>"; };
|
||||
1929B84E4B53B05F5434E464 /* lang.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = lang.h; path = "../../third-party/libag/include/lang.h"; sourceTree = "<group>"; };
|
||||
1929B85023B042C485409CE1 /* HtmlPreviewTool.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HtmlPreviewTool.swift; sourceTree = "<group>"; };
|
||||
@ -314,7 +310,6 @@
|
||||
4B37ADB81D6E471B00970D55 /* vimr */ = {isa = PBXFileReference; fileEncoding = 1; lastKnownFileType = text.script.python; path = vimr; sourceTree = "<group>"; };
|
||||
4B3965351DEB21300082D3C1 /* InnterToolBar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = InnterToolBar.swift; path = Workspace/InnterToolBar.swift; sourceTree = "<group>"; };
|
||||
4B3AC8931DB031C600AC5823 /* sparkle_pub.pem */ = {isa = PBXFileReference; fileEncoding = 1; lastKnownFileType = text; path = sparkle_pub.pem; sourceTree = "<group>"; };
|
||||
4B5011FA1EBA6FD700F76C46 /* UrlCommonsTest */ = {isa = PBXFileReference; lastKnownFileType = folder; path = UrlCommonsTest; sourceTree = "<group>"; };
|
||||
4B6423951D8EFD7100FC78C8 /* Workspace.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Workspace.swift; path = Workspace/Workspace.swift; sourceTree = "<group>"; };
|
||||
4B6423971D8EFDE000FC78C8 /* WorkspaceBar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = WorkspaceBar.swift; path = Workspace/WorkspaceBar.swift; sourceTree = "<group>"; };
|
||||
4B6423991D8EFE3000FC78C8 /* WorkspaceTool.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = WorkspaceTool.swift; path = Workspace/WorkspaceTool.swift; sourceTree = "<group>"; };
|
||||
@ -384,7 +379,6 @@
|
||||
4BB409E61DD68CCC005F39A2 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/FileBrowserMenu.xib; sourceTree = "<group>"; };
|
||||
4BB409ED1DDA77E9005F39A2 /* ProxyWorkspaceBar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ProxyWorkspaceBar.swift; path = Workspace/ProxyWorkspaceBar.swift; sourceTree = "<group>"; };
|
||||
4BB489411D952CF6005BB0E8 /* WorkspaceToolButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = WorkspaceToolButton.swift; path = Workspace/WorkspaceToolButton.swift; sourceTree = "<group>"; };
|
||||
4BDF500B1D760A3500D8FBC3 /* FileUtilsTest */ = {isa = PBXFileReference; lastKnownFileType = folder; path = FileUtilsTest; sourceTree = "<group>"; };
|
||||
4BDF50181D77540900D8FBC3 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/OpenQuicklyWindow.xib; sourceTree = "<group>"; };
|
||||
4BEBA5051CFF374B00673FDF /* VimR.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = VimR.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
4BEBA5081CFF374B00673FDF /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
||||
@ -475,7 +469,6 @@
|
||||
1929B275B9921DA7503A1932 /* Utils */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1929B8042AC566CDF6C998A3 /* FileUtilsTest.swift */,
|
||||
1929B7BB3E4B3DC96284B686 /* PrefUtilsTest.swift */,
|
||||
);
|
||||
name = Utils;
|
||||
@ -508,15 +501,6 @@
|
||||
name = Components;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1929B41F745CDCDFE09ACDCF /* resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4B5011FA1EBA6FD700F76C46 /* UrlCommonsTest */,
|
||||
4BDF500B1D760A3500D8FBC3 /* FileUtilsTest */,
|
||||
);
|
||||
path = resources;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1929B5E773BDB3B4EE9D00C1 /* Reducers */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@ -821,7 +805,6 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4BEBA51A1CFF374B00673FDF /* Info.plist */,
|
||||
1929B41F745CDCDFE09ACDCF /* resources */,
|
||||
1929B79B3F03D2E050438074 /* Commons */,
|
||||
1929B275B9921DA7503A1932 /* Utils */,
|
||||
);
|
||||
@ -1051,8 +1034,6 @@
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4BDF500C1D760A3500D8FBC3 /* FileUtilsTest in Resources */,
|
||||
4B5011FB1EBA6FD700F76C46 /* UrlCommonsTest in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@ -1167,7 +1148,6 @@
|
||||
4B96FB3F1EBBC56F00E4E164 /* PrefUtils.swift in Sources */,
|
||||
4B96FB401EBBC56F00E4E164 /* FoundationCommons.swift in Sources */,
|
||||
1929BDFDBDA7180D02ACB37E /* RxSwiftCommonsTest.swift in Sources */,
|
||||
1929BF4FF30D9A9DE82C3052 /* FileUtilsTest.swift in Sources */,
|
||||
1929B8E90A1378E494D481E7 /* PrefUtilsTest.swift in Sources */,
|
||||
1929B20CE35B43BB1CE023BA /* Theme.swift in Sources */,
|
||||
1929B9318D32146D58BB38EC /* AppKitCommons.swift in Sources */,
|
||||
|
Loading…
Reference in New Issue
Block a user