From 3ef0d7eee14dcf24f18babe4ab3af43e4616a38a Mon Sep 17 00:00:00 2001
From: Kare Morstol
Date: Tue, 30 Jan 2018 16:33:24 +0100
Subject: [PATCH] Update documentation.
---
Classes.html | 131 +++-
Classes/AsyncCommand.html | 110 ++--
Classes/FileHandleStream.html | 92 ++-
Classes/MainContext.html | 134 ++--
Classes/RunOutput.html | 108 ++--
Classes/Signals.html | 597 ++++++++++++++++++
Classes/Signals/Signal.html | 519 +++++++++++++++
Classes/StdoutStream.html | 88 +--
Enums.html | 72 ++-
Enums/CommandError.html | 82 +--
Enums/FileError.html | 79 +--
Extensions.html | 126 ++--
Extensions/FileHandle.html | 55 +-
Extensions/LazyCollectionProtocol.html | 77 ++-
Extensions/Process.html | 67 +-
Extensions/String.html | 67 +-
Functions.html | 179 +++---
Global Variables.html | 68 +-
Protocols.html | 82 ++-
Protocols/CommandRunning.html | 120 ++--
Protocols/Context.html | 116 ++--
Protocols/ReadableStream.html | 158 ++---
Protocols/WritableStream.html | 107 ++--
Structs.html | 92 +--
Structs/CustomContext.html | 128 ++--
Structs/LazySplitSequence.html | 121 ++--
Structs/PartialSourceLazySplitSequence.html | 89 ++-
badge.svg | 28 +
css/jazzy.css | 5 +
.../Contents/Resources/Documents/Classes.html | 131 +++-
.../Documents/Classes/AsyncCommand.html | 110 ++--
.../Documents/Classes/FileHandleStream.html | 92 ++-
.../Documents/Classes/MainContext.html | 134 ++--
.../Documents/Classes/RunOutput.html | 108 ++--
.../Resources/Documents/Classes/Signals.html | 597 ++++++++++++++++++
.../Documents/Classes/Signals/Signal.html | 519 +++++++++++++++
.../Documents/Classes/StdoutStream.html | 88 +--
.../Contents/Resources/Documents/Enums.html | 72 ++-
.../Documents/Enums/CommandError.html | 82 +--
.../Resources/Documents/Enums/FileError.html | 79 +--
.../Resources/Documents/Extensions.html | 126 ++--
.../Documents/Extensions/FileHandle.html | 55 +-
.../Extensions/LazyCollectionProtocol.html | 77 ++-
.../Documents/Extensions/Process.html | 67 +-
.../Documents/Extensions/String.html | 67 +-
.../Resources/Documents/Functions.html | 179 +++---
.../Resources/Documents/Global Variables.html | 68 +-
.../Resources/Documents/Protocols.html | 82 ++-
.../Documents/Protocols/CommandRunning.html | 120 ++--
.../Documents/Protocols/Context.html | 116 ++--
.../Documents/Protocols/ReadableStream.html | 158 ++---
.../Documents/Protocols/WritableStream.html | 107 ++--
.../Contents/Resources/Documents/Structs.html | 92 +--
.../Documents/Structs/CustomContext.html | 128 ++--
.../Documents/Structs/LazySplitSequence.html | 121 ++--
.../PartialSourceLazySplitSequence.html | 89 ++-
.../Resources/Documents/css/jazzy.css | 5 +
.../Contents/Resources/Documents/index.html | 198 +++---
.../Contents/Resources/Documents/js/jazzy.js | 6 +
.../Contents/Resources/Documents/search.json | 1 +
.../Resources/Documents/undocumented.json | 299 ---------
.../Contents/Resources/docSet.dsidx | Bin 45056 -> 49152 bytes
docsets/SwiftShell.tgz | Bin 79329 -> 85719 bytes
index.html | 198 +++---
js/jazzy.js | 6 +
search.json | 1 +
undocumented.json | 86 ++-
67 files changed, 5338 insertions(+), 2823 deletions(-)
create mode 100644 Classes/Signals.html
create mode 100644 Classes/Signals/Signal.html
create mode 100644 badge.svg
create mode 100644 docsets/SwiftShell.docset/Contents/Resources/Documents/Classes/Signals.html
create mode 100644 docsets/SwiftShell.docset/Contents/Resources/Documents/Classes/Signals/Signal.html
create mode 100644 docsets/SwiftShell.docset/Contents/Resources/Documents/search.json
delete mode 100644 docsets/SwiftShell.docset/Contents/Resources/Documents/undocumented.json
create mode 100644 search.json
diff --git a/Classes.html b/Classes.html
index 7a3a79d..492fd24 100644
--- a/Classes.html
+++ b/Classes.html
@@ -13,7 +13,7 @@
@@ -42,6 +42,12 @@
RunOutput
+
+ Signals
+
+
+ – Signal
+
StdoutStream
@@ -51,15 +57,15 @@
Global Variables
- Enums
+ Enumerations
- Structs
+ Structures
CustomContext
@@ -195,9 +201,9 @@
@@ -213,7 +219,7 @@
Declaration
Swift
-
public final class RunOutput
+
public final class RunOutput
@@ -234,9 +240,9 @@
@@ -252,7 +258,7 @@
Declaration
Swift
-
public final class AsyncCommand
+
public final class AsyncCommand
@@ -266,9 +272,9 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Declaration
+
+
Swift
+
public class Signals
+
+
+
@@ -290,9 +343,9 @@
@@ -308,7 +361,7 @@
Declaration
@@ -318,9 +371,9 @@
+
@@ -340,8 +401,8 @@
diff --git a/Classes/AsyncCommand.html b/Classes/AsyncCommand.html
index abf2f45..d4a5802 100644
--- a/Classes/AsyncCommand.html
+++ b/Classes/AsyncCommand.html
@@ -14,7 +14,7 @@
@@ -43,6 +43,12 @@
RunOutput
+
+ Signals
+
+
+ – Signal
+
StdoutStream
@@ -52,15 +58,15 @@
Global Variables
- Enums
+ Enumerations
- Structs
+ Structures
CustomContext
@@ -182,7 +188,7 @@
AsyncCommand
-
public final class AsyncCommand
+
public final class AsyncCommand
@@ -195,9 +201,9 @@
@@ -212,7 +218,7 @@
Declaration
Swift
-
public final class AsyncCommand
+
public let stdout : ReadableStream
@@ -222,9 +228,9 @@
@@ -239,7 +245,7 @@
Declaration
Swift
-
public final class AsyncCommand
+
public let stderror : ReadableStream
@@ -249,9 +255,9 @@
@@ -266,7 +272,7 @@
Declaration
Swift
-
public var isRunning : Bool
+
public var isRunning : Bool
@@ -276,9 +282,9 @@
@@ -293,7 +299,7 @@
Declaration
Swift
-
public func stop ()
+
public func stop ()
@@ -303,9 +309,9 @@
@@ -314,7 +320,6 @@
Wait for this command to finish.
-
Throws
CommandError.returnedErrorCode(command: String, errorcode: Int) if the exit code is anything but 0.
@@ -326,14 +331,13 @@
Declaration
Swift
-
@discardableResult public func finish () throws -> AsyncCommand
+
@discardableResult public func finish () throws -> AsyncCommand
@@ -341,9 +345,9 @@
@@ -358,7 +362,7 @@
Declaration
Swift
-
public func exitcode () -> Int
+
public func exitcode () -> Int
@@ -368,9 +372,9 @@
@@ -380,24 +384,12 @@
Takes a closure to be called when the command has finished.
-
-
Parameter
- Parameter handler: A closure taking this AsyncCommand as input, returning nothing.
-
-
-
-
-
Returns
- This AsyncCommand.
-
-
-
Declaration
Swift
-
@discardableResult public func onCompletion ( _ handler : @escaping ( AsyncCommand ) -> Void ) -> AsyncCommand
+
@discardableResult public func onCompletion ( _ handler : @escaping ( AsyncCommand ) -> Void ) -> AsyncCommand
@@ -414,7 +406,6 @@
A closure taking this AsyncCommand as input, returning nothing.
-
@@ -424,7 +415,6 @@
Return Value
This AsyncCommand.
-
@@ -434,8 +424,8 @@
diff --git a/Classes/FileHandleStream.html b/Classes/FileHandleStream.html
index 8cd40df..e66f283 100644
--- a/Classes/FileHandleStream.html
+++ b/Classes/FileHandleStream.html
@@ -14,7 +14,7 @@
@@ -43,6 +43,12 @@
RunOutput
+
+ Signals
+
+
+ – Signal
+
StdoutStream
@@ -52,15 +58,15 @@
Global Variables
- Enums
+ Enumerations
- Structs
+ Structures
CustomContext
@@ -180,6 +186,12 @@
FileHandleStream
+
Undocumented
@@ -189,9 +201,9 @@
@@ -202,15 +214,23 @@
Undocumented
+
+
Declaration
+
+
Swift
+
public let filehandle : FileHandle
+
+
+
@@ -221,15 +241,23 @@
Undocumented
+
+
Declaration
+
+
Swift
+
public var encoding : String . Encoding
+
+
+
@@ -240,6 +268,14 @@
Undocumented
+
+
Declaration
+
+
Swift
+
public init ( _ filehandle : FileHandle , encoding : String . Encoding )
+
+
+
@@ -248,8 +284,8 @@
diff --git a/Classes/MainContext.html b/Classes/MainContext.html
index 911aead..db10866 100644
--- a/Classes/MainContext.html
+++ b/Classes/MainContext.html
@@ -14,7 +14,7 @@
@@ -43,6 +43,12 @@
RunOutput
+
+ Signals
+
+
+ – Signal
+
StdoutStream
@@ -52,15 +58,15 @@
Global Variables
- Enums
+ Enumerations
- Structs
+ Structures
CustomContext
@@ -180,6 +186,12 @@
MainContext
+
Undocumented
@@ -189,9 +201,9 @@
@@ -208,7 +220,7 @@
Declaration
Swift
-
public var encoding = String . Encoding . utf8 // TODO: get encoding from environmental variable LC_CTYPE.
+
public var encoding = String . Encoding . utf8 // TODO: get encoding from environmental variable LC_CTYPE.
@@ -229,9 +241,9 @@
@@ -242,15 +254,23 @@
Undocumented
+
+
Declaration
+
+
Swift
+
public lazy var env = ProcessInfo . processInfo . environment as [ String : String ]
+
+
+
@@ -261,15 +281,23 @@
Undocumented
+
+
Declaration
+
+
Swift
+
public lazy var stdin : ReadableStream = { FileHandleStream ( FileHandle . standardInput , encoding : self . encoding ) }()
+
+
+
@@ -280,15 +308,23 @@
Undocumented
+
@@ -299,15 +335,23 @@
Undocumented
+
+
Declaration
+
+
Swift
+
public lazy var stderror : WritableStream = { FileHandleStream ( FileHandle . standardError , encoding : self . encoding ) }()
+
+
+
@@ -327,7 +371,7 @@ separate processes and changing the directory there will not affect the rest of
Declaration
Swift
-
public var currentdirectory : String
+
public var currentdirectory : String
@@ -337,9 +381,9 @@ separate processes and changing the directory there will not affect the rest of
@@ -355,7 +399,7 @@ It lies in the user’s temporary directory and will be automatically delete
Declaration
Swift
-
public private(set) lazy var tempdirectory : String = createTempdirectory ()
+
public private(set) lazy var tempdirectory : String = createTempdirectory ()
@@ -365,9 +409,9 @@ It lies in the user’s temporary directory and will be automatically delete
@@ -382,7 +426,7 @@ It lies in the user’s temporary directory and will be automatically delete
Declaration
Swift
-
public private(set) lazy var arguments : [ String ] = Array ( CommandLine . safeArguments . dropFirst ())
+
public private(set) lazy var arguments : [ String ] = Array ( CommandLine . safeArguments . dropFirst ())
@@ -392,9 +436,9 @@ It lies in the user’s temporary directory and will be automatically delete
@@ -409,7 +453,7 @@ It lies in the user’s temporary directory and will be automatically delete
Declaration
Swift
-
public private(set) lazy var path : String = CommandLine . safeArguments . first ?? ""
+
public private(set) lazy var path : String = CommandLine . safeArguments . first ?? ""
@@ -421,8 +465,8 @@ It lies in the user’s temporary directory and will be automatically delete
diff --git a/Classes/RunOutput.html b/Classes/RunOutput.html
index abc8c93..ce2e423 100644
--- a/Classes/RunOutput.html
+++ b/Classes/RunOutput.html
@@ -14,7 +14,7 @@
@@ -43,6 +43,12 @@
RunOutput
+
+ Signals
+
+
+ – Signal
+
StdoutStream
@@ -52,15 +58,15 @@
Global Variables
- Enums
+ Enumerations
- Structs
+ Structures
CustomContext
@@ -182,7 +188,7 @@
RunOutput
-
public final class RunOutput
+
public final class RunOutput
@@ -195,9 +201,9 @@
@@ -212,7 +218,7 @@
Declaration
@@ -222,9 +228,9 @@
@@ -239,7 +245,7 @@
Declaration
Swift
-
public private(set) lazy var stdout : String = RunOutput . cleanUpOutput ( self . output . stdout . read ())
+
public private(set) lazy var stdout : String = RunOutput . cleanUpOutput ( self . output . stdout . read ())
@@ -249,9 +255,9 @@
@@ -266,7 +272,7 @@
Declaration
Swift
-
public private(set) lazy var stderror : String = RunOutput . cleanUpOutput ( self . output . stderror . read ())
+
public private(set) lazy var stderror : String = RunOutput . cleanUpOutput ( self . output . stderror . read ())
@@ -276,9 +282,9 @@
@@ -293,7 +299,7 @@
Declaration
Swift
-
public var exitcode : Int
+
public var exitcode : Int
@@ -303,9 +309,9 @@
@@ -320,7 +326,7 @@
Declaration
Swift
-
public var succeeded : Bool
+
public var succeeded : Bool
@@ -330,9 +336,9 @@
@@ -342,25 +348,18 @@
Run the first command, then the second one only if the first succeeded.
-
-
Returns
- the result of the second one if it was run, otherwise the first one.
-
-
-
Declaration
Swift
-
public static func && ( lhs : RunOutput , rhs : @autoclosure () -> RunOutput ) -> RunOutput
+
public static func && ( lhs : RunOutput , rhs : @autoclosure () -> RunOutput ) -> RunOutput
Return Value
the result of the second one if it was run, otherwise the first one.
-
@@ -368,9 +367,9 @@
@@ -380,25 +379,18 @@
Run the first command, then the second one only if the first failed.
-
-
Returns
- the result of the second one if it was run, otherwise the first one.
-
-
-
Declaration
Swift
-
public static func || ( lhs : RunOutput , rhs : @autoclosure () -> RunOutput ) -> RunOutput
+
public static func || ( lhs : RunOutput , rhs : @autoclosure () -> RunOutput ) -> RunOutput
Return Value
the result of the second one if it was run, otherwise the first one.
-
@@ -408,8 +400,8 @@
diff --git a/Classes/Signals.html b/Classes/Signals.html
new file mode 100644
index 0000000..5b1ca83
--- /dev/null
+++ b/Classes/Signals.html
@@ -0,0 +1,597 @@
+
+
+
+ Signals Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SwiftShell Reference
+
+ Signals Class Reference
+
+
+
+
+
+
+
+ Signals
+
+
+
public class Signals
+
+
+
+ Undocumented
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Declaration
+
+
Swift
+
public enum Signal
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Action handler signature.
+
+
+
+
Declaration
+
+
Swift
+
public typealias SigActionHandler = @convention(c) ( Int32 ) -> Void
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Trap an operating system signal.
+
+
+
+
+
Parameters
+
+
+
+
+
+ signal
+
+
+
+
+
+
+
+
+
+ action
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Trap multiple signals to individual handlers
+
+
+
+
+
Parameters
+
+
+
+
+
+ signals
+
+
+
+
+
An array of tuples each containing a signal and signal handler.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Trap multiple signals to a single handler
+
+
+
+
+
Parameters
+
+
+
+
+
+ signals
+
+
+
+
+
An array of signals to catch.
+
+
+
+
+
+
+ action
+
+
+
+
+
The action handler that will handle these signals.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Raise an operating system signal
+
+
+
+
Declaration
+
+
Swift
+
public class func raise ( signal : Signal )
+
+
+
+
+
Parameters
+
+
+
+
+
+ signal
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Declaration
+
+
Swift
+
public class func ignore ( signal : Signal )
+
+
+
+
+
Parameters
+
+
+
+
+
+ signal
+
+
+
+
+
The signal to ignore.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Restore default signal handling
+
+
+
+
Declaration
+
+
Swift
+
public class func restore ( signal : Signal )
+
+
+
+
+
Parameters
+
+
+
+
+
+ signal
+
+
+
+
+
The signal to restore.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Classes/Signals/Signal.html b/Classes/Signals/Signal.html
new file mode 100644
index 0000000..970cb60
--- /dev/null
+++ b/Classes/Signals/Signal.html
@@ -0,0 +1,519 @@
+
+
+
+ Signal Enumeration Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SwiftShell Reference
+
+ Signal Enumeration Reference
+
+
+
+
+
+
+
+ Signal
+
+ Common OS Signals
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Declaration
+
+
Swift
+
case user ( Int )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Obtain the OS dependent value of a Signal
+
+
+
+
Declaration
+
+
Swift
+
public var valueOf : Int32
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Classes/StdoutStream.html b/Classes/StdoutStream.html
index 92f7e52..1b17d9f 100644
--- a/Classes/StdoutStream.html
+++ b/Classes/StdoutStream.html
@@ -14,7 +14,7 @@
@@ -43,6 +43,12 @@
RunOutput
+
+ Signals
+
+
+ – Signal
+
StdoutStream
@@ -52,15 +58,15 @@
Global Variables
- Enums
+ Enumerations
- Structs
+ Structures
-
-
-
-
-
-
-
-
-
-
-
-
Declaration
-
-
Swift
-
protocol LazyCollectionProtocol : Collection , LazySequenceProtocol
+
struct String
@@ -323,8 +327,8 @@
diff --git a/Extensions/FileHandle.html b/Extensions/FileHandle.html
index 68bf256..676f251 100644
--- a/Extensions/FileHandle.html
+++ b/Extensions/FileHandle.html
@@ -14,7 +14,7 @@
@@ -43,6 +43,12 @@
RunOutput
+
+ Signals
+
+
+ – Signal
+
StdoutStream
@@ -52,15 +58,15 @@
Global Variables
- Enums
+ Enumerations
- Structs
+ Structures
CustomContext
@@ -180,8 +186,7 @@
FileHandle
- Undocumented
-
+
@@ -199,7 +204,7 @@
-
Undocumented
+
Returns ’/dev/null’. ‘nullDevice’ has not been implemented yet in Swift Foundation.
@@ -210,8 +215,8 @@
diff --git a/Extensions/LazyCollectionProtocol.html b/Extensions/LazyCollectionProtocol.html
index f348139..cf5b9dd 100644
--- a/Extensions/LazyCollectionProtocol.html
+++ b/Extensions/LazyCollectionProtocol.html
@@ -14,7 +14,7 @@
@@ -43,6 +43,12 @@
RunOutput
+
+ Signals
+
+
+ – Signal
+
StdoutStream
@@ -52,15 +58,15 @@
Global Variables
- Enums
+ Enumerations
- Structs
+ Structures
CustomContext
@@ -182,7 +188,7 @@
LazyCollectionProtocol
-
protocol LazyCollectionProtocol : Collection , LazySequenceProtocol
+
protocol LazyCollectionProtocol : Collection , LazySequenceProtocol
@@ -194,9 +200,9 @@
@@ -206,24 +212,14 @@
Creates a lazy sequence by splitting this Collection repeatedly.
-
-Parameters:
-
-
-separator: The element of this collection to split over.
-allowEmptySlices: If there are two or more separators in a row, or this Collection begins or ends with
-a separator, should empty slices be emitted? Defaults to false.
-
-
-
Declaration
Swift
-
public func split (
- separator : Elements . Iterator . Element , allowEmptySlices : Bool = false
- ) -> LazySplitSequence < Elements >
+
public func split (
+ separator : Elements . Iterator . Element , allowEmptySlices : Bool = false
+ ) -> LazySplitSequence < Elements >
@@ -240,7 +236,6 @@ a separator, should empty slices be emitted? Defaults to false.
The element of this collection to split over.
-
@@ -252,8 +247,8 @@ a separator, should empty slices be emitted? Defaults to false.
-
If there are two or more separators in a row, or this Collection begins or ends with a separator, should empty slices be emitted? Defaults to false.
-
+
If there are two or more separators in a row, or this Collection begins or ends with
+a separator, should empty slices be emitted? Defaults to false.
@@ -268,8 +263,8 @@ a separator, should empty slices be emitted? Defaults to false.
diff --git a/Extensions/Process.html b/Extensions/Process.html
index 95cdb9e..f7582b2 100644
--- a/Extensions/Process.html
+++ b/Extensions/Process.html
@@ -14,7 +14,7 @@
@@ -43,6 +43,12 @@
RunOutput
+
+ Signals
+
+
+ – Signal
+
StdoutStream
@@ -52,15 +58,15 @@
Global Variables
- Enums
+ Enumerations
- Structs
+ Structures
CustomContext
@@ -180,8 +186,7 @@
Process
- Undocumented
-
+
@@ -189,9 +194,9 @@
@@ -200,7 +205,6 @@
Launch process.
-
Throws
CommandError.inAccessibleExecutable if command could not be executed.
@@ -212,7 +216,7 @@
Declaration
Swift
-
public func launchThrowably () throws
+
public func launchThrowably () throws
@@ -222,9 +226,9 @@
@@ -233,7 +237,6 @@
Wait until process is finished.
-
Throws
CommandError.returnedErrorCode(command: String, errorcode: Int) if the exit code is anything but 0.
@@ -245,7 +248,7 @@
Declaration
Swift
-
public func finish () throws
+
public func finish () throws
@@ -257,8 +260,8 @@
diff --git a/Extensions/String.html b/Extensions/String.html
index d06c44b..d904328 100644
--- a/Extensions/String.html
+++ b/Extensions/String.html
@@ -14,7 +14,7 @@
@@ -43,6 +43,12 @@
RunOutput
+
+ Signals
+
+
+ – Signal
+
StdoutStream
@@ -52,15 +58,15 @@
Global Variables
- Enums
+ Enumerations
- Structs
+ Structures
Return Value
-
an AsyncCommand struct with standard output, standard error and a ‘finish’ function.
-
+
an AsyncCommand struct with standard output, standard error and a ‘finish’ function.
@@ -307,9 +309,9 @@
@@ -318,7 +320,6 @@
Run bash command and print output and errors.
-
Throws
a CommandError.returnedErrorCode if the return code is anything but 0.
@@ -330,7 +331,7 @@
Declaration
Swift
-
public func runAndPrint ( bash bashcommand : String ) throws
+
public func runAndPrint ( bash bashcommand : String ) throws
@@ -347,7 +348,6 @@
the bash shell command.
-
@@ -371,9 +371,9 @@
@@ -388,7 +388,7 @@
Declaration
Swift
-
public func exit < T > ( errormessage : T , errorcode : Int = 1 , file : String = # file , line : Int = # line ) -> Never
+
public func exit < T > ( errormessage : T , errorcode : Int = 1 , file : String = #file , line : Int = #line ) -> Never
@@ -405,7 +405,6 @@
@@ -418,7 +417,6 @@
exit code for the entire program. Defaults to 1.
-
@@ -428,7 +426,6 @@
@@ -436,9 +433,9 @@
@@ -453,7 +450,7 @@
Declaration
Swift
-
public func exit ( _ error : Error , file : String = # file , line : Int = # line ) -> Never
+
public func exit ( _ error : Error , file : String = #file , line : Int = #line ) -> Never
@@ -470,7 +467,6 @@
@@ -480,7 +476,6 @@
@@ -499,9 +494,9 @@
@@ -512,6 +507,14 @@
Undocumented
+
@@ -529,9 +532,9 @@
@@ -546,7 +549,7 @@
Declaration
Swift
-
@discardableResult public func run ( _ executable : String , _ args : Any ... , combineOutput : Bool = false ) -> RunOutput
+
@discardableResult public func run ( _ executable : String , _ args : Any ... , combineOutput : Bool = false ) -> RunOutput
@@ -563,7 +566,6 @@
path to an executable, or the name of an executable in PATH.
-
@@ -576,7 +578,6 @@
the arguments, one string for each.
-
@@ -589,7 +590,6 @@
if true then stdout and stderror go to the same stream. Default is false.
-
@@ -602,9 +602,9 @@
@@ -613,7 +613,6 @@
Run executable and return before it is finished.
-
Warning
will crash if ‘executable’ could not be launched.
@@ -625,7 +624,7 @@
Declaration
Swift
-
public func runAsync ( _ executable : String , _ args : Any ... , file : String = # file , line : Int = # line ) -> AsyncCommand
+
public func runAsync ( _ executable : String , _ args : Any ... , file : String = #file , line : Int = #line ) -> AsyncCommand
@@ -642,7 +641,6 @@
path to an executable file.
-
@@ -655,7 +653,6 @@
arguments to the executable.
-
@@ -664,8 +661,7 @@
Return Value
-
an AsyncCommand with standard output, standard error and a ‘finish’ function.
-
+
an AsyncCommand with standard output, standard error and a ‘finish’ function.
@@ -673,9 +669,9 @@
@@ -684,21 +680,20 @@
Run executable and print output and errors.
-
Throws
-
CommandError.returnedErrorCode(command: String, errorcode: Int) if the exit code is anything but 0.
-
-
CommandError.inAccessibleExecutable(path: String) if ‘executable’ turned out to be not so executable after all.
+
CommandError.returnedErrorCode(command: String, errorcode: Int) if the exit code is anything but 0.
+
CommandError.inAccessibleExecutable(path: String) if ‘executable’ turned out to be not so executable after all.
+
Declaration
Swift
-
public func runAndPrint ( _ executable : String , _ args : Any ... ) throws
+
public func runAndPrint ( _ executable : String , _ args : Any ... ) throws
@@ -715,7 +710,6 @@
path to an executable file.
-
@@ -728,7 +722,6 @@
arguments to the executable.
-
@@ -745,9 +738,9 @@
@@ -762,7 +755,7 @@
Declaration
Swift
-
public func + ( leftpath : URL , rightpath : String ) -> URL
+
public func + ( leftpath : URL , rightpath : String ) -> URL
@@ -772,9 +765,9 @@
@@ -789,7 +782,7 @@
Declaration
Swift
-
public func open ( _ path : String , encoding : String . Encoding = main . encoding ) throws -> ReadableStream
+
public func open ( _ path : String , encoding : String . Encoding = main . encoding ) throws -> ReadableStream
@@ -799,9 +792,9 @@
@@ -816,7 +809,7 @@
Declaration
Swift
-
public func open ( _ path : URL , encoding : String . Encoding = main . encoding ) throws -> ReadableStream
+
public func open ( _ path : URL , encoding : String . Encoding = main . encoding ) throws -> ReadableStream
@@ -826,9 +819,9 @@
@@ -844,7 +837,7 @@ If the file already exists and overwrite=false, the writing will begin at the en
Declaration
Swift
-
public func open ( forWriting path : URL , overwrite : Bool = false , encoding : String . Encoding = main . encoding ) throws -> WritableStream
+
public func open ( forWriting path : URL , overwrite : Bool = false , encoding : String . Encoding = main . encoding ) throws -> WritableStream
@@ -861,7 +854,6 @@ If the file already exists and overwrite=false, the writing will begin at the en
If true, replace the file if it exists.
-
@@ -874,9 +866,9 @@ If the file already exists and overwrite=false, the writing will begin at the en
@@ -892,7 +884,7 @@ If the file already exists and overwrite=false, the writing will begin at the en
Declaration
Swift
-
public func open ( forWriting path : String , overwrite : Bool = false , encoding : String . Encoding = main . encoding ) throws -> WritableStream
+
public func open ( forWriting path : String , overwrite : Bool = false , encoding : String . Encoding = main . encoding ) throws -> WritableStream
@@ -909,7 +901,6 @@ If the file already exists and overwrite=false, the writing will begin at the en
If true, replace the file if it exists.
-
@@ -926,9 +917,9 @@ If the file already exists and overwrite=false, the writing will begin at the en
@@ -943,7 +934,7 @@ If the file already exists and overwrite=false, the writing will begin at the en
Declaration
@@ -955,8 +946,8 @@ If the file already exists and overwrite=false, the writing will begin at the en
diff --git a/Global Variables.html b/Global Variables.html
index 340aad2..ddae730 100644
--- a/Global Variables.html
+++ b/Global Variables.html
@@ -13,7 +13,7 @@
@@ -42,6 +42,12 @@
RunOutput
+
+ Signals
+
+
+ – Signal
+
StdoutStream
@@ -51,15 +57,15 @@
Global Variables
- Enums
+ Enumerations
- Structs
+ Structures
CustomContext
@@ -188,9 +194,9 @@
@@ -201,6 +207,14 @@
Undocumented
+
+
Declaration
+
+
Swift
+
public let main = MainContext ()
+
+
+
@@ -211,9 +225,9 @@
@@ -228,7 +242,7 @@
Declaration
Swift
-
public let Files = FileManager . default
+
public let Files = FileManager . default
@@ -240,8 +254,8 @@
diff --git a/Protocols.html b/Protocols.html
index e0603f5..d3f1a48 100644
--- a/Protocols.html
+++ b/Protocols.html
@@ -13,7 +13,7 @@
@@ -42,6 +42,12 @@
RunOutput
+
+ Signals
+
+
+ – Signal
+
StdoutStream
@@ -51,15 +57,15 @@
Global Variables
- Enums
+ Enumerations
- Structs
+ Structures
CustomContext
@@ -195,9 +201,9 @@
@@ -213,7 +219,7 @@
Declaration
Swift
-
public protocol CommandRunning
+
public protocol CommandRunning
@@ -227,9 +233,9 @@
+
+
Declaration
+
+
Swift
+
public protocol Context : CustomDebugStringConvertible
+
+
+
@@ -261,7 +275,7 @@
-
Undocumented
+
CommandRunning is not available on iOS, tvOS and watchOS.
@@ -270,9 +284,9 @@
@@ -288,7 +302,7 @@
Declaration
Swift
-
public protocol ReadableStream : class , TextOutputStreamable , CommandRunning
+
public protocol ReadableStream : class , TextOutputStreamable , CommandRunning
@@ -298,9 +312,9 @@
@@ -316,7 +330,7 @@
Declaration
Swift
-
public protocol WritableStream : class , TextOutputStream
+
public protocol WritableStream : class , TextOutputStream
@@ -328,8 +342,8 @@
diff --git a/Protocols/CommandRunning.html b/Protocols/CommandRunning.html
index 61e8667..6521763 100644
--- a/Protocols/CommandRunning.html
+++ b/Protocols/CommandRunning.html
@@ -14,7 +14,7 @@
@@ -43,6 +43,12 @@
RunOutput
+
+ Signals
+
+
+ – Signal
+
StdoutStream
@@ -52,15 +58,15 @@
Global Variables
- Enums
+ Enumerations
- Structs
+ Structures
CustomContext
@@ -182,7 +188,7 @@
CommandRunning
-
public protocol CommandRunning
+
public protocol CommandRunning
@@ -195,9 +201,9 @@
-
+
- context
+ context
Default implementation
@@ -220,7 +226,7 @@
Declaration
Swift
-
public protocol CommandRunning
+
var context : Context
@@ -234,9 +240,9 @@
@@ -271,7 +277,6 @@
the bash shell command.
-
@@ -284,7 +289,6 @@
if true then stdout and stderror go to the same stream. Default is false.
-
@@ -297,9 +301,9 @@
@@ -334,7 +338,6 @@
the bash shell command.
-
@@ -343,8 +346,7 @@
Return Value
-
an AsyncCommand struct with standard output, standard error and a ‘finish’ function.
-
+
an AsyncCommand struct with standard output, standard error and a ‘finish’ function.
@@ -352,9 +354,9 @@
-
+
- runAndPrint(bash:)
+ runAndPrint(bash:)
Extension method
@@ -366,7 +368,6 @@
Run bash command and print output and errors.
-
Throws
a CommandError.returnedErrorCode if the return code is anything but 0.
@@ -378,7 +379,7 @@
Declaration
Swift
-
public func runAndPrint ( bash bashcommand : String ) throws
+
public func runAndPrint ( bash bashcommand : String ) throws
@@ -395,7 +396,6 @@
the bash shell command.
-
@@ -412,9 +412,9 @@
-
+
- run(_:_:combineOutput:)
+ run(_:_:combineOutput:)
Extension method
@@ -432,7 +432,7 @@
Declaration
Swift
-
@discardableResult public func run ( _ executable : String , _ args : Any ... , combineOutput : Bool = false ) -> RunOutput
+
@discardableResult public func run ( _ executable : String , _ args : Any ... , combineOutput : Bool = false ) -> RunOutput
@@ -449,7 +449,6 @@
path to an executable, or the name of an executable in PATH.
-
@@ -462,7 +461,6 @@
the arguments, one string for each.
-
@@ -475,7 +473,6 @@
if true then stdout and stderror go to the same stream. Default is false.
-
@@ -492,9 +489,9 @@
-
+
- runAsync(_:_:file:line:)
+ runAsync(_:_:file:line:)
Extension method
@@ -506,7 +503,6 @@
Run executable and return before it is finished.
-
Warning
will crash if ‘executable’ could not be launched.
@@ -518,7 +514,7 @@
Declaration
Swift
-
public func runAsync ( _ executable : String , _ args : Any ... , file : String = # file , line : Int = # line ) -> AsyncCommand
+
public func runAsync ( _ executable : String , _ args : Any ... , file : String = #file , line : Int = #line ) -> AsyncCommand
@@ -535,7 +531,6 @@
Path to an executable file. If not then exit.
-
@@ -548,7 +543,6 @@
Arguments to the executable.
-
@@ -557,8 +551,7 @@
Return Value
-
An AsyncCommand with standard output, standard error and a ‘finish’ function.
-
+
An AsyncCommand with standard output, standard error and a ‘finish’ function.
@@ -570,9 +563,9 @@
-
+
- runAndPrint(_:_:)
+ runAndPrint(_:_:)
Extension method
@@ -584,21 +577,20 @@
Run executable and print output and errors.
-
Throws
-
CommandError.returnedErrorCode(command: String, errorcode: Int) if the exit code is anything but 0.
-
-
CommandError.inAccessibleExecutable(path: String) if ‘executable’ turned out to be not so executable after all.
+
CommandError.returnedErrorCode(command: String, errorcode: Int) if the exit code is anything but 0.
+
CommandError.inAccessibleExecutable(path: String) if ‘executable’ turned out to be not so executable after all.
+
Declaration
Swift
-
public func runAndPrint ( _ executable : String , _ args : Any ... ) throws
+
public func runAndPrint ( _ executable : String , _ args : Any ... ) throws
@@ -615,7 +607,6 @@
path to an executable file.
-
@@ -628,7 +619,6 @@
arguments to the executable.
-
@@ -643,8 +633,8 @@
diff --git a/Protocols/Context.html b/Protocols/Context.html
index 6f5623e..d23a3c0 100644
--- a/Protocols/Context.html
+++ b/Protocols/Context.html
@@ -14,7 +14,7 @@
@@ -43,6 +43,12 @@
RunOutput
+
+ Signals
+
+
+ – Signal
+
StdoutStream
@@ -52,15 +58,15 @@
Global Variables
- Enums
+ Enumerations
- Structs
+ Structures
CustomContext
@@ -180,6 +186,12 @@
Context
+
+
+
public protocol Context : CustomDebugStringConvertible
+
+
+
Undocumented
@@ -189,9 +201,9 @@
@@ -202,15 +214,23 @@
Undocumented
+
+
Declaration
+
+
Swift
+
var env : [ String : String ]
+
+
+
@@ -221,15 +241,23 @@
Undocumented
+
@@ -240,15 +268,23 @@
Undocumented
+
@@ -259,15 +295,23 @@
Undocumented
+
@@ -285,7 +329,7 @@ separate process and changing the directory there will not affect the rest of th
Declaration
Swift
-
var currentdirectory : String
+
var currentdirectory : String
@@ -299,9 +343,9 @@ separate process and changing the directory there will not affect the rest of th
-
+
- debugDescription
+ debugDescription
Extension method
@@ -319,7 +363,7 @@ separate process and changing the directory there will not affect the rest of th
Declaration
Swift
-
public var debugDescription : String
+
public var debugDescription : String
@@ -331,8 +375,8 @@ separate process and changing the directory there will not affect the rest of th
diff --git a/Protocols/ReadableStream.html b/Protocols/ReadableStream.html
index a970065..ae3752b 100644
--- a/Protocols/ReadableStream.html
+++ b/Protocols/ReadableStream.html
@@ -14,7 +14,7 @@
@@ -43,6 +43,12 @@
RunOutput
+
+ Signals
+
+
+ – Signal
+
StdoutStream
@@ -52,15 +58,15 @@
Global Variables
- Enums
+ Enumerations
- Structs
+ Structures
@@ -340,7 +384,7 @@ currentdirectory is the current working directory.
Declaration
Swift
-
public init ( _ context : Context )
+
public init ( _ context : Context )
@@ -352,8 +396,8 @@ currentdirectory is the current working directory.
diff --git a/Structs/LazySplitSequence.html b/Structs/LazySplitSequence.html
index b1b2d4a..724f893 100644
--- a/Structs/LazySplitSequence.html
+++ b/Structs/LazySplitSequence.html
@@ -1,7 +1,7 @@
- LazySplitSequence Struct Reference
+ LazySplitSequence Structure Reference
@@ -11,10 +11,10 @@
-
+
@@ -22,7 +22,7 @@
SwiftShell Reference
- LazySplitSequence Struct Reference
+ LazySplitSequence Structure Reference
@@ -43,6 +43,12 @@
RunOutput
+
+ Signals
+
+
+ – Signal
+
StdoutStream
@@ -52,15 +58,15 @@
Global Variables
- Enums
+ Enumerations
- Structs
+ Structures
CustomContext
@@ -182,11 +188,9 @@
PartialSourceLazySplitSequence
-
public struct PartialSourceLazySplitSequence < Base : Collection > : IteratorProtocol , LazySequenceProtocol where
+ public struct PartialSourceLazySplitSequence < Base : Collection > : IteratorProtocol , LazySequenceProtocol where
Base . Iterator . Element : Equatable ,
- Base . SubSequence : RangeReplaceableCollection ,
- Base . SubSequence . Iterator . Element == Base . Iterator . Element ,
- Base . SubSequence == Base . SubSequence . SubSequence
+ Base . SubSequence : RangeReplaceableCollection
@@ -199,9 +203,9 @@
@@ -211,22 +215,12 @@
Creates a lazy sequence by splitting a series of collections repeatedly, as if they were one collection.
-
-Parameters:
-
-
-bases: A function which returns the next collection in the series each time it is called,
-or nil if there are no more collections.
-separator: The element of ‘bases’ to split over.
-
-
-
Declaration
Swift
-
public init ( _ bases : @escaping () -> Base ?, separator : Base . Iterator . Element )
+
public init ( _ bases : @escaping () -> Base ?, separator : Base . Iterator . Element )
@@ -242,8 +236,8 @@ or nil if there are no more collections.
-
A function which returns the next collection in the series each time it is called, or nil if there are no more collections.
-
+
A function which returns the next collection in the series each time it is called,
+or nil if there are no more collections.
@@ -256,7 +250,6 @@ or nil if there are no more collections.
The element of ‘bases’ to split over.
-
@@ -269,9 +262,9 @@ or nil if there are no more collections.
@@ -286,7 +279,7 @@ or nil if there are no more collections.
Declaration
Swift
-
public mutating func next () -> Base . SubSequence ?
+
public mutating func next () -> Base . SubSequence ?
@@ -298,8 +291,8 @@ or nil if there are no more collections.
diff --git a/badge.svg b/badge.svg
new file mode 100644
index 0000000..f45ef2d
--- /dev/null
+++ b/badge.svg
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ documentation
+
+
+ documentation
+
+
+ 67%
+
+
+ 67%
+
+
+
diff --git a/css/jazzy.css b/css/jazzy.css
index d6d65b7..d628282 100644
--- a/css/jazzy.css
+++ b/css/jazzy.css
@@ -164,6 +164,11 @@ header {
padding-top: 10px; }
.main-content section .task-group-section .task-group:first-of-type .section-name {
padding-top: 15px; }
+ .main-content section .heading:before {
+ content: "";
+ display: block;
+ padding-top: 70px;
+ margin: -70px 0 0; }
.section {
padding: 0 25px; }
diff --git a/docsets/SwiftShell.docset/Contents/Resources/Documents/Classes.html b/docsets/SwiftShell.docset/Contents/Resources/Documents/Classes.html
index 7a3a79d..492fd24 100644
--- a/docsets/SwiftShell.docset/Contents/Resources/Documents/Classes.html
+++ b/docsets/SwiftShell.docset/Contents/Resources/Documents/Classes.html
@@ -13,7 +13,7 @@
@@ -42,6 +42,12 @@
RunOutput
+
+ Signals
+
+
+ – Signal
+
StdoutStream
@@ -51,15 +57,15 @@
Global Variables
- Enums
+ Enumerations
- Structs
+ Structures
CustomContext
@@ -195,9 +201,9 @@
@@ -213,7 +219,7 @@
Declaration
Swift
-
public final class RunOutput
+
public final class RunOutput
@@ -234,9 +240,9 @@
@@ -252,7 +258,7 @@
Declaration
Swift
-
public final class AsyncCommand
+
public final class AsyncCommand
@@ -266,9 +272,9 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Declaration
+
+
Swift
+
public class Signals
+
+
+
@@ -290,9 +343,9 @@
@@ -308,7 +361,7 @@
Declaration
@@ -318,9 +371,9 @@
+
@@ -340,8 +401,8 @@
diff --git a/docsets/SwiftShell.docset/Contents/Resources/Documents/Classes/AsyncCommand.html b/docsets/SwiftShell.docset/Contents/Resources/Documents/Classes/AsyncCommand.html
index abf2f45..d4a5802 100644
--- a/docsets/SwiftShell.docset/Contents/Resources/Documents/Classes/AsyncCommand.html
+++ b/docsets/SwiftShell.docset/Contents/Resources/Documents/Classes/AsyncCommand.html
@@ -14,7 +14,7 @@
@@ -43,6 +43,12 @@
RunOutput
+
+ Signals
+
+
+ – Signal
+
StdoutStream
@@ -52,15 +58,15 @@
Global Variables
- Enums
+ Enumerations
- Structs
+ Structures
CustomContext
@@ -182,7 +188,7 @@
AsyncCommand
-
public final class AsyncCommand
+
public final class AsyncCommand
@@ -195,9 +201,9 @@
@@ -212,7 +218,7 @@
Declaration
Swift
-
public final class AsyncCommand
+
public let stdout : ReadableStream
@@ -222,9 +228,9 @@
@@ -239,7 +245,7 @@
Declaration
Swift
-
public final class AsyncCommand
+
public let stderror : ReadableStream
@@ -249,9 +255,9 @@
@@ -266,7 +272,7 @@
Declaration
Swift
-
public var isRunning : Bool
+
public var isRunning : Bool
@@ -276,9 +282,9 @@
@@ -293,7 +299,7 @@
Declaration
Swift
-
public func stop ()
+
public func stop ()
@@ -303,9 +309,9 @@
@@ -314,7 +320,6 @@
Wait for this command to finish.
-
Throws
CommandError.returnedErrorCode(command: String, errorcode: Int) if the exit code is anything but 0.
@@ -326,14 +331,13 @@
Declaration
Swift
-
@discardableResult public func finish () throws -> AsyncCommand
+
@discardableResult public func finish () throws -> AsyncCommand
@@ -341,9 +345,9 @@
@@ -358,7 +362,7 @@
Declaration
Swift
-
public func exitcode () -> Int
+
public func exitcode () -> Int
@@ -368,9 +372,9 @@
@@ -380,24 +384,12 @@
Takes a closure to be called when the command has finished.
-
-
Parameter
- Parameter handler: A closure taking this AsyncCommand as input, returning nothing.
-
-
-
-
-
Returns
- This AsyncCommand.
-
-
-
Declaration
Swift
-
@discardableResult public func onCompletion ( _ handler : @escaping ( AsyncCommand ) -> Void ) -> AsyncCommand
+
@discardableResult public func onCompletion ( _ handler : @escaping ( AsyncCommand ) -> Void ) -> AsyncCommand
@@ -414,7 +406,6 @@
A closure taking this AsyncCommand as input, returning nothing.
-
@@ -424,7 +415,6 @@
Return Value
This AsyncCommand.
-
@@ -434,8 +424,8 @@
diff --git a/docsets/SwiftShell.docset/Contents/Resources/Documents/Classes/FileHandleStream.html b/docsets/SwiftShell.docset/Contents/Resources/Documents/Classes/FileHandleStream.html
index 8cd40df..e66f283 100644
--- a/docsets/SwiftShell.docset/Contents/Resources/Documents/Classes/FileHandleStream.html
+++ b/docsets/SwiftShell.docset/Contents/Resources/Documents/Classes/FileHandleStream.html
@@ -14,7 +14,7 @@
@@ -43,6 +43,12 @@
RunOutput
+
+ Signals
+
+
+ – Signal
+
StdoutStream
@@ -52,15 +58,15 @@
Global Variables
- Enums
+ Enumerations
- Structs
+ Structures
CustomContext
@@ -180,6 +186,12 @@
FileHandleStream
+
Undocumented
@@ -189,9 +201,9 @@
@@ -202,15 +214,23 @@
Undocumented
+
+
Declaration
+
+
Swift
+
public let filehandle : FileHandle
+
+
+
@@ -221,15 +241,23 @@
Undocumented
+
+
Declaration
+
+
Swift
+
public var encoding : String . Encoding
+
+
+
@@ -240,6 +268,14 @@
Undocumented
+
+
Declaration
+
+
Swift
+
public init ( _ filehandle : FileHandle , encoding : String . Encoding )
+
+
+
@@ -248,8 +284,8 @@
diff --git a/docsets/SwiftShell.docset/Contents/Resources/Documents/Classes/MainContext.html b/docsets/SwiftShell.docset/Contents/Resources/Documents/Classes/MainContext.html
index 911aead..db10866 100644
--- a/docsets/SwiftShell.docset/Contents/Resources/Documents/Classes/MainContext.html
+++ b/docsets/SwiftShell.docset/Contents/Resources/Documents/Classes/MainContext.html
@@ -14,7 +14,7 @@
@@ -43,6 +43,12 @@
RunOutput
+
+ Signals
+
+
+ – Signal
+
StdoutStream
@@ -52,15 +58,15 @@
Global Variables
- Enums
+ Enumerations
- Structs
+ Structures
CustomContext
@@ -180,6 +186,12 @@
MainContext
+
Undocumented
@@ -189,9 +201,9 @@
@@ -208,7 +220,7 @@
Declaration
Swift
-
public var encoding = String . Encoding . utf8 // TODO: get encoding from environmental variable LC_CTYPE.
+
public var encoding = String . Encoding . utf8 // TODO: get encoding from environmental variable LC_CTYPE.
@@ -229,9 +241,9 @@
@@ -242,15 +254,23 @@
Undocumented
+
+
Declaration
+
+
Swift
+
public lazy var env = ProcessInfo . processInfo . environment as [ String : String ]
+
+
+
@@ -261,15 +281,23 @@
Undocumented
+
+
Declaration
+
+
Swift
+
public lazy var stdin : ReadableStream = { FileHandleStream ( FileHandle . standardInput , encoding : self . encoding ) }()
+
+
+
@@ -280,15 +308,23 @@
Undocumented
+
@@ -299,15 +335,23 @@
Undocumented
+
+
Declaration
+
+
Swift
+
public lazy var stderror : WritableStream = { FileHandleStream ( FileHandle . standardError , encoding : self . encoding ) }()
+
+
+
@@ -327,7 +371,7 @@ separate processes and changing the directory there will not affect the rest of
Declaration
Swift
-
public var currentdirectory : String
+
public var currentdirectory : String
@@ -337,9 +381,9 @@ separate processes and changing the directory there will not affect the rest of
@@ -355,7 +399,7 @@ It lies in the user’s temporary directory and will be automatically delete
Declaration
Swift
-
public private(set) lazy var tempdirectory : String = createTempdirectory ()
+
public private(set) lazy var tempdirectory : String = createTempdirectory ()
@@ -365,9 +409,9 @@ It lies in the user’s temporary directory and will be automatically delete
@@ -382,7 +426,7 @@ It lies in the user’s temporary directory and will be automatically delete
Declaration
Swift
-
public private(set) lazy var arguments : [ String ] = Array ( CommandLine . safeArguments . dropFirst ())
+
public private(set) lazy var arguments : [ String ] = Array ( CommandLine . safeArguments . dropFirst ())
@@ -392,9 +436,9 @@ It lies in the user’s temporary directory and will be automatically delete
@@ -409,7 +453,7 @@ It lies in the user’s temporary directory and will be automatically delete
Declaration
Swift
-
public private(set) lazy var path : String = CommandLine . safeArguments . first ?? ""
+
public private(set) lazy var path : String = CommandLine . safeArguments . first ?? ""
@@ -421,8 +465,8 @@ It lies in the user’s temporary directory and will be automatically delete
diff --git a/docsets/SwiftShell.docset/Contents/Resources/Documents/Classes/RunOutput.html b/docsets/SwiftShell.docset/Contents/Resources/Documents/Classes/RunOutput.html
index abc8c93..ce2e423 100644
--- a/docsets/SwiftShell.docset/Contents/Resources/Documents/Classes/RunOutput.html
+++ b/docsets/SwiftShell.docset/Contents/Resources/Documents/Classes/RunOutput.html
@@ -14,7 +14,7 @@
@@ -43,6 +43,12 @@
RunOutput
+
+ Signals
+
+
+ – Signal
+
StdoutStream
@@ -52,15 +58,15 @@
Global Variables
- Enums
+ Enumerations
- Structs
+ Structures
CustomContext
@@ -182,7 +188,7 @@
RunOutput
-
public final class RunOutput
+
public final class RunOutput
@@ -195,9 +201,9 @@
@@ -212,7 +218,7 @@
Declaration
@@ -222,9 +228,9 @@
@@ -239,7 +245,7 @@
Declaration
Swift
-
public private(set) lazy var stdout : String = RunOutput . cleanUpOutput ( self . output . stdout . read ())
+
public private(set) lazy var stdout : String = RunOutput . cleanUpOutput ( self . output . stdout . read ())
@@ -249,9 +255,9 @@
@@ -266,7 +272,7 @@
Declaration
Swift
-
public private(set) lazy var stderror : String = RunOutput . cleanUpOutput ( self . output . stderror . read ())
+
public private(set) lazy var stderror : String = RunOutput . cleanUpOutput ( self . output . stderror . read ())
@@ -276,9 +282,9 @@
@@ -293,7 +299,7 @@
Declaration
Swift
-
public var exitcode : Int
+
public var exitcode : Int
@@ -303,9 +309,9 @@
@@ -320,7 +326,7 @@
Declaration
Swift
-
public var succeeded : Bool
+
public var succeeded : Bool
@@ -330,9 +336,9 @@
@@ -342,25 +348,18 @@
Run the first command, then the second one only if the first succeeded.
-
-
Returns
- the result of the second one if it was run, otherwise the first one.
-
-
-
Declaration
Swift
-
public static func && ( lhs : RunOutput , rhs : @autoclosure () -> RunOutput ) -> RunOutput
+
public static func && ( lhs : RunOutput , rhs : @autoclosure () -> RunOutput ) -> RunOutput
Return Value
the result of the second one if it was run, otherwise the first one.
-
@@ -368,9 +367,9 @@
@@ -380,25 +379,18 @@
Run the first command, then the second one only if the first failed.
-
-
Returns
- the result of the second one if it was run, otherwise the first one.
-
-
-
Declaration
Swift
-
public static func || ( lhs : RunOutput , rhs : @autoclosure () -> RunOutput ) -> RunOutput
+
public static func || ( lhs : RunOutput , rhs : @autoclosure () -> RunOutput ) -> RunOutput
Return Value
the result of the second one if it was run, otherwise the first one.
-
@@ -408,8 +400,8 @@
diff --git a/docsets/SwiftShell.docset/Contents/Resources/Documents/Classes/Signals.html b/docsets/SwiftShell.docset/Contents/Resources/Documents/Classes/Signals.html
new file mode 100644
index 0000000..5b1ca83
--- /dev/null
+++ b/docsets/SwiftShell.docset/Contents/Resources/Documents/Classes/Signals.html
@@ -0,0 +1,597 @@
+
+
+
+ Signals Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SwiftShell Reference
+
+ Signals Class Reference
+
+
+
+
+
+
+
+ Signals
+
+
+
public class Signals
+
+
+
+ Undocumented
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Declaration
+
+
Swift
+
public enum Signal
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Action handler signature.
+
+
+
+
Declaration
+
+
Swift
+
public typealias SigActionHandler = @convention(c) ( Int32 ) -> Void
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Trap an operating system signal.
+
+
+
+
+
Parameters
+
+
+
+
+
+ signal
+
+
+
+
+
+
+
+
+
+ action
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Trap multiple signals to individual handlers
+
+
+
+
+
Parameters
+
+
+
+
+
+ signals
+
+
+
+
+
An array of tuples each containing a signal and signal handler.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Trap multiple signals to a single handler
+
+
+
+
+
Parameters
+
+
+
+
+
+ signals
+
+
+
+
+
An array of signals to catch.
+
+
+
+
+
+
+ action
+
+
+
+
+
The action handler that will handle these signals.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Raise an operating system signal
+
+
+
+
Declaration
+
+
Swift
+
public class func raise ( signal : Signal )
+
+
+
+
+
Parameters
+
+
+
+
+
+ signal
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Declaration
+
+
Swift
+
public class func ignore ( signal : Signal )
+
+
+
+
+
Parameters
+
+
+
+
+
+ signal
+
+
+
+
+
The signal to ignore.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Restore default signal handling
+
+
+
+
Declaration
+
+
Swift
+
public class func restore ( signal : Signal )
+
+
+
+
+
Parameters
+
+
+
+
+
+ signal
+
+
+
+
+
The signal to restore.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docsets/SwiftShell.docset/Contents/Resources/Documents/Classes/Signals/Signal.html b/docsets/SwiftShell.docset/Contents/Resources/Documents/Classes/Signals/Signal.html
new file mode 100644
index 0000000..970cb60
--- /dev/null
+++ b/docsets/SwiftShell.docset/Contents/Resources/Documents/Classes/Signals/Signal.html
@@ -0,0 +1,519 @@
+
+
+
+ Signal Enumeration Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SwiftShell Reference
+
+ Signal Enumeration Reference
+
+
+
+
+
+
+
+ Signal
+
+ Common OS Signals
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Declaration
+
+
Swift
+
case user ( Int )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Obtain the OS dependent value of a Signal
+
+
+
+
Declaration
+
+
Swift
+
public var valueOf : Int32
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docsets/SwiftShell.docset/Contents/Resources/Documents/Classes/StdoutStream.html b/docsets/SwiftShell.docset/Contents/Resources/Documents/Classes/StdoutStream.html
index 92f7e52..1b17d9f 100644
--- a/docsets/SwiftShell.docset/Contents/Resources/Documents/Classes/StdoutStream.html
+++ b/docsets/SwiftShell.docset/Contents/Resources/Documents/Classes/StdoutStream.html
@@ -14,7 +14,7 @@
@@ -43,6 +43,12 @@
RunOutput
+
+ Signals
+
+
+ – Signal
+
StdoutStream
@@ -52,15 +58,15 @@
Global Variables
- Enums
+ Enumerations
- Structs
+ Structures
-
-
-
-
-
-
-
-
-
-
-
-
Declaration
-
-
Swift
-
protocol LazyCollectionProtocol : Collection , LazySequenceProtocol
+
struct String
@@ -323,8 +327,8 @@
diff --git a/docsets/SwiftShell.docset/Contents/Resources/Documents/Extensions/FileHandle.html b/docsets/SwiftShell.docset/Contents/Resources/Documents/Extensions/FileHandle.html
index 68bf256..676f251 100644
--- a/docsets/SwiftShell.docset/Contents/Resources/Documents/Extensions/FileHandle.html
+++ b/docsets/SwiftShell.docset/Contents/Resources/Documents/Extensions/FileHandle.html
@@ -14,7 +14,7 @@
@@ -43,6 +43,12 @@
RunOutput
+
+ Signals
+
+
+ – Signal
+
StdoutStream
@@ -52,15 +58,15 @@
Global Variables
- Enums
+ Enumerations
- Structs
+ Structures
CustomContext
@@ -180,8 +186,7 @@
FileHandle
- Undocumented
-
+
@@ -199,7 +204,7 @@
-
Undocumented
+
Returns ’/dev/null’. ‘nullDevice’ has not been implemented yet in Swift Foundation.
@@ -210,8 +215,8 @@
diff --git a/docsets/SwiftShell.docset/Contents/Resources/Documents/Extensions/LazyCollectionProtocol.html b/docsets/SwiftShell.docset/Contents/Resources/Documents/Extensions/LazyCollectionProtocol.html
index f348139..cf5b9dd 100644
--- a/docsets/SwiftShell.docset/Contents/Resources/Documents/Extensions/LazyCollectionProtocol.html
+++ b/docsets/SwiftShell.docset/Contents/Resources/Documents/Extensions/LazyCollectionProtocol.html
@@ -14,7 +14,7 @@
@@ -43,6 +43,12 @@
RunOutput
+
+ Signals
+
+
+ – Signal
+
StdoutStream
@@ -52,15 +58,15 @@
Global Variables
- Enums
+ Enumerations
- Structs
+ Structures
CustomContext
@@ -182,7 +188,7 @@
LazyCollectionProtocol
-
protocol LazyCollectionProtocol : Collection , LazySequenceProtocol
+
protocol LazyCollectionProtocol : Collection , LazySequenceProtocol
@@ -194,9 +200,9 @@
@@ -206,24 +212,14 @@
Creates a lazy sequence by splitting this Collection repeatedly.
-
-Parameters:
-
-
-separator: The element of this collection to split over.
-allowEmptySlices: If there are two or more separators in a row, or this Collection begins or ends with
-a separator, should empty slices be emitted? Defaults to false.
-
-
-
Declaration
Swift
-
public func split (
- separator : Elements . Iterator . Element , allowEmptySlices : Bool = false
- ) -> LazySplitSequence < Elements >
+
public func split (
+ separator : Elements . Iterator . Element , allowEmptySlices : Bool = false
+ ) -> LazySplitSequence < Elements >
@@ -240,7 +236,6 @@ a separator, should empty slices be emitted? Defaults to false.
The element of this collection to split over.
-
@@ -252,8 +247,8 @@ a separator, should empty slices be emitted? Defaults to false.
-
If there are two or more separators in a row, or this Collection begins or ends with a separator, should empty slices be emitted? Defaults to false.
-
+
If there are two or more separators in a row, or this Collection begins or ends with
+a separator, should empty slices be emitted? Defaults to false.
@@ -268,8 +263,8 @@ a separator, should empty slices be emitted? Defaults to false.
diff --git a/docsets/SwiftShell.docset/Contents/Resources/Documents/Extensions/Process.html b/docsets/SwiftShell.docset/Contents/Resources/Documents/Extensions/Process.html
index 95cdb9e..f7582b2 100644
--- a/docsets/SwiftShell.docset/Contents/Resources/Documents/Extensions/Process.html
+++ b/docsets/SwiftShell.docset/Contents/Resources/Documents/Extensions/Process.html
@@ -14,7 +14,7 @@
@@ -43,6 +43,12 @@
RunOutput
+
+ Signals
+
+
+ – Signal
+
StdoutStream
@@ -52,15 +58,15 @@
Global Variables
- Enums
+ Enumerations
- Structs
+ Structures
CustomContext
@@ -180,8 +186,7 @@
Process
- Undocumented
-
+
@@ -189,9 +194,9 @@
@@ -200,7 +205,6 @@
Launch process.
-
Throws
CommandError.inAccessibleExecutable if command could not be executed.
@@ -212,7 +216,7 @@
Declaration
Swift
-
public func launchThrowably () throws
+
public func launchThrowably () throws
@@ -222,9 +226,9 @@
@@ -233,7 +237,6 @@
Wait until process is finished.
-
Throws
CommandError.returnedErrorCode(command: String, errorcode: Int) if the exit code is anything but 0.
@@ -245,7 +248,7 @@
Declaration
Swift
-
public func finish () throws
+
public func finish () throws
@@ -257,8 +260,8 @@
diff --git a/docsets/SwiftShell.docset/Contents/Resources/Documents/Extensions/String.html b/docsets/SwiftShell.docset/Contents/Resources/Documents/Extensions/String.html
index d06c44b..d904328 100644
--- a/docsets/SwiftShell.docset/Contents/Resources/Documents/Extensions/String.html
+++ b/docsets/SwiftShell.docset/Contents/Resources/Documents/Extensions/String.html
@@ -14,7 +14,7 @@
@@ -43,6 +43,12 @@
RunOutput
+
+ Signals
+
+
+ – Signal
+
StdoutStream
@@ -52,15 +58,15 @@
Global Variables
- Enums
+ Enumerations
- Structs
+ Structures
Return Value
-
an AsyncCommand struct with standard output, standard error and a ‘finish’ function.
-
+
an AsyncCommand struct with standard output, standard error and a ‘finish’ function.
@@ -307,9 +309,9 @@
@@ -318,7 +320,6 @@
Run bash command and print output and errors.
-
Throws
a CommandError.returnedErrorCode if the return code is anything but 0.
@@ -330,7 +331,7 @@
Declaration
Swift
-
public func runAndPrint ( bash bashcommand : String ) throws
+
public func runAndPrint ( bash bashcommand : String ) throws
@@ -347,7 +348,6 @@
the bash shell command.
-
@@ -371,9 +371,9 @@
@@ -388,7 +388,7 @@
Declaration
Swift
-
public func exit < T > ( errormessage : T , errorcode : Int = 1 , file : String = # file , line : Int = # line ) -> Never
+
public func exit < T > ( errormessage : T , errorcode : Int = 1 , file : String = #file , line : Int = #line ) -> Never
@@ -405,7 +405,6 @@
@@ -418,7 +417,6 @@
exit code for the entire program. Defaults to 1.
-
@@ -428,7 +426,6 @@
@@ -436,9 +433,9 @@
@@ -453,7 +450,7 @@
Declaration
Swift
-
public func exit ( _ error : Error , file : String = # file , line : Int = # line ) -> Never
+
public func exit ( _ error : Error , file : String = #file , line : Int = #line ) -> Never
@@ -470,7 +467,6 @@
@@ -480,7 +476,6 @@
@@ -499,9 +494,9 @@
@@ -512,6 +507,14 @@
Undocumented
+
@@ -529,9 +532,9 @@
@@ -546,7 +549,7 @@
Declaration
Swift
-
@discardableResult public func run ( _ executable : String , _ args : Any ... , combineOutput : Bool = false ) -> RunOutput
+
@discardableResult public func run ( _ executable : String , _ args : Any ... , combineOutput : Bool = false ) -> RunOutput
@@ -563,7 +566,6 @@
path to an executable, or the name of an executable in PATH.
-
@@ -576,7 +578,6 @@
the arguments, one string for each.
-
@@ -589,7 +590,6 @@
if true then stdout and stderror go to the same stream. Default is false.
-
@@ -602,9 +602,9 @@
@@ -613,7 +613,6 @@
Run executable and return before it is finished.
-
Warning
will crash if ‘executable’ could not be launched.
@@ -625,7 +624,7 @@
Declaration
Swift
-
public func runAsync ( _ executable : String , _ args : Any ... , file : String = # file , line : Int = # line ) -> AsyncCommand
+
public func runAsync ( _ executable : String , _ args : Any ... , file : String = #file , line : Int = #line ) -> AsyncCommand
@@ -642,7 +641,6 @@
path to an executable file.
-
@@ -655,7 +653,6 @@
arguments to the executable.
-
@@ -664,8 +661,7 @@
Return Value
-
an AsyncCommand with standard output, standard error and a ‘finish’ function.
-
+
an AsyncCommand with standard output, standard error and a ‘finish’ function.
@@ -673,9 +669,9 @@
@@ -684,21 +680,20 @@
Run executable and print output and errors.
-
Throws
-
CommandError.returnedErrorCode(command: String, errorcode: Int) if the exit code is anything but 0.
-
-
CommandError.inAccessibleExecutable(path: String) if ‘executable’ turned out to be not so executable after all.
+
CommandError.returnedErrorCode(command: String, errorcode: Int) if the exit code is anything but 0.
+
CommandError.inAccessibleExecutable(path: String) if ‘executable’ turned out to be not so executable after all.
+
Declaration
Swift
-
public func runAndPrint ( _ executable : String , _ args : Any ... ) throws
+
public func runAndPrint ( _ executable : String , _ args : Any ... ) throws
@@ -715,7 +710,6 @@
path to an executable file.
-
@@ -728,7 +722,6 @@
arguments to the executable.
-
@@ -745,9 +738,9 @@
@@ -762,7 +755,7 @@
Declaration
Swift
-
public func + ( leftpath : URL , rightpath : String ) -> URL
+
public func + ( leftpath : URL , rightpath : String ) -> URL
@@ -772,9 +765,9 @@
@@ -789,7 +782,7 @@
Declaration
Swift
-
public func open ( _ path : String , encoding : String . Encoding = main . encoding ) throws -> ReadableStream
+
public func open ( _ path : String , encoding : String . Encoding = main . encoding ) throws -> ReadableStream
@@ -799,9 +792,9 @@
@@ -816,7 +809,7 @@
Declaration
Swift
-
public func open ( _ path : URL , encoding : String . Encoding = main . encoding ) throws -> ReadableStream
+
public func open ( _ path : URL , encoding : String . Encoding = main . encoding ) throws -> ReadableStream
@@ -826,9 +819,9 @@
@@ -844,7 +837,7 @@ If the file already exists and overwrite=false, the writing will begin at the en
Declaration
Swift
-
public func open ( forWriting path : URL , overwrite : Bool = false , encoding : String . Encoding = main . encoding ) throws -> WritableStream
+
public func open ( forWriting path : URL , overwrite : Bool = false , encoding : String . Encoding = main . encoding ) throws -> WritableStream
@@ -861,7 +854,6 @@ If the file already exists and overwrite=false, the writing will begin at the en
If true, replace the file if it exists.
-
@@ -874,9 +866,9 @@ If the file already exists and overwrite=false, the writing will begin at the en
@@ -892,7 +884,7 @@ If the file already exists and overwrite=false, the writing will begin at the en
Declaration
Swift
-
public func open ( forWriting path : String , overwrite : Bool = false , encoding : String . Encoding = main . encoding ) throws -> WritableStream
+
public func open ( forWriting path : String , overwrite : Bool = false , encoding : String . Encoding = main . encoding ) throws -> WritableStream
@@ -909,7 +901,6 @@ If the file already exists and overwrite=false, the writing will begin at the en
If true, replace the file if it exists.
-
@@ -926,9 +917,9 @@ If the file already exists and overwrite=false, the writing will begin at the en
@@ -943,7 +934,7 @@ If the file already exists and overwrite=false, the writing will begin at the en
Declaration
@@ -955,8 +946,8 @@ If the file already exists and overwrite=false, the writing will begin at the en
diff --git a/docsets/SwiftShell.docset/Contents/Resources/Documents/Global Variables.html b/docsets/SwiftShell.docset/Contents/Resources/Documents/Global Variables.html
index 340aad2..ddae730 100644
--- a/docsets/SwiftShell.docset/Contents/Resources/Documents/Global Variables.html
+++ b/docsets/SwiftShell.docset/Contents/Resources/Documents/Global Variables.html
@@ -13,7 +13,7 @@
@@ -42,6 +42,12 @@
RunOutput
+
+ Signals
+
+
+ – Signal
+
StdoutStream
@@ -51,15 +57,15 @@
Global Variables
- Enums
+ Enumerations
- Structs
+ Structures
CustomContext
@@ -188,9 +194,9 @@
@@ -201,6 +207,14 @@
Undocumented
+
+
Declaration
+
+
Swift
+
public let main = MainContext ()
+
+
+
@@ -211,9 +225,9 @@
@@ -228,7 +242,7 @@
Declaration
Swift
-
public let Files = FileManager . default
+
public let Files = FileManager . default
@@ -240,8 +254,8 @@
diff --git a/docsets/SwiftShell.docset/Contents/Resources/Documents/Protocols.html b/docsets/SwiftShell.docset/Contents/Resources/Documents/Protocols.html
index e0603f5..d3f1a48 100644
--- a/docsets/SwiftShell.docset/Contents/Resources/Documents/Protocols.html
+++ b/docsets/SwiftShell.docset/Contents/Resources/Documents/Protocols.html
@@ -13,7 +13,7 @@
@@ -42,6 +42,12 @@
RunOutput
+
+ Signals
+
+
+ – Signal
+
StdoutStream
@@ -51,15 +57,15 @@
Global Variables
- Enums
+ Enumerations
- Structs
+ Structures
CustomContext
@@ -195,9 +201,9 @@
@@ -213,7 +219,7 @@
Declaration
Swift
-
public protocol CommandRunning
+
public protocol CommandRunning
@@ -227,9 +233,9 @@
+
+
Declaration
+
+
Swift
+
public protocol Context : CustomDebugStringConvertible
+
+
+
@@ -261,7 +275,7 @@
-
Undocumented
+
CommandRunning is not available on iOS, tvOS and watchOS.
@@ -270,9 +284,9 @@
@@ -288,7 +302,7 @@
Declaration
Swift
-
public protocol ReadableStream : class , TextOutputStreamable , CommandRunning
+
public protocol ReadableStream : class , TextOutputStreamable , CommandRunning
@@ -298,9 +312,9 @@
@@ -316,7 +330,7 @@
Declaration
Swift
-
public protocol WritableStream : class , TextOutputStream
+
public protocol WritableStream : class , TextOutputStream
@@ -328,8 +342,8 @@
diff --git a/docsets/SwiftShell.docset/Contents/Resources/Documents/Protocols/CommandRunning.html b/docsets/SwiftShell.docset/Contents/Resources/Documents/Protocols/CommandRunning.html
index 61e8667..6521763 100644
--- a/docsets/SwiftShell.docset/Contents/Resources/Documents/Protocols/CommandRunning.html
+++ b/docsets/SwiftShell.docset/Contents/Resources/Documents/Protocols/CommandRunning.html
@@ -14,7 +14,7 @@
@@ -43,6 +43,12 @@
RunOutput
+
+ Signals
+
+
+ – Signal
+
StdoutStream
@@ -52,15 +58,15 @@
Global Variables
- Enums
+ Enumerations
- Structs
+ Structures
CustomContext
@@ -182,7 +188,7 @@
CommandRunning
-
public protocol CommandRunning
+
public protocol CommandRunning
@@ -195,9 +201,9 @@
-
+
- context
+ context
Default implementation
@@ -220,7 +226,7 @@
Declaration
Swift
-
public protocol CommandRunning
+
var context : Context
@@ -234,9 +240,9 @@
@@ -271,7 +277,6 @@
the bash shell command.
-
@@ -284,7 +289,6 @@
if true then stdout and stderror go to the same stream. Default is false.
-
@@ -297,9 +301,9 @@
@@ -334,7 +338,6 @@
the bash shell command.
-
@@ -343,8 +346,7 @@
Return Value
-
an AsyncCommand struct with standard output, standard error and a ‘finish’ function.
-
+
an AsyncCommand struct with standard output, standard error and a ‘finish’ function.
@@ -352,9 +354,9 @@
-
+
- runAndPrint(bash:)
+ runAndPrint(bash:)
Extension method
@@ -366,7 +368,6 @@
Run bash command and print output and errors.
-
Throws
a CommandError.returnedErrorCode if the return code is anything but 0.
@@ -378,7 +379,7 @@
Declaration
Swift
-
public func runAndPrint ( bash bashcommand : String ) throws
+
public func runAndPrint ( bash bashcommand : String ) throws
@@ -395,7 +396,6 @@
the bash shell command.
-
@@ -412,9 +412,9 @@
-
+
- run(_:_:combineOutput:)
+ run(_:_:combineOutput:)
Extension method
@@ -432,7 +432,7 @@
Declaration
Swift
-
@discardableResult public func run ( _ executable : String , _ args : Any ... , combineOutput : Bool = false ) -> RunOutput
+
@discardableResult public func run ( _ executable : String , _ args : Any ... , combineOutput : Bool = false ) -> RunOutput
@@ -449,7 +449,6 @@
path to an executable, or the name of an executable in PATH.
-
@@ -462,7 +461,6 @@
the arguments, one string for each.
-
@@ -475,7 +473,6 @@
if true then stdout and stderror go to the same stream. Default is false.
-
@@ -492,9 +489,9 @@
-
+
- runAsync(_:_:file:line:)
+ runAsync(_:_:file:line:)
Extension method
@@ -506,7 +503,6 @@
Run executable and return before it is finished.
-
Warning
will crash if ‘executable’ could not be launched.
@@ -518,7 +514,7 @@
Declaration
Swift
-
public func runAsync ( _ executable : String , _ args : Any ... , file : String = # file , line : Int = # line ) -> AsyncCommand
+
public func runAsync ( _ executable : String , _ args : Any ... , file : String = #file , line : Int = #line ) -> AsyncCommand
@@ -535,7 +531,6 @@
Path to an executable file. If not then exit.
-
@@ -548,7 +543,6 @@
Arguments to the executable.
-
@@ -557,8 +551,7 @@
Return Value
-
An AsyncCommand with standard output, standard error and a ‘finish’ function.
-
+
An AsyncCommand with standard output, standard error and a ‘finish’ function.
@@ -570,9 +563,9 @@
-
+
- runAndPrint(_:_:)
+ runAndPrint(_:_:)
Extension method
@@ -584,21 +577,20 @@
Run executable and print output and errors.
-
Throws
-
CommandError.returnedErrorCode(command: String, errorcode: Int) if the exit code is anything but 0.
-
-
CommandError.inAccessibleExecutable(path: String) if ‘executable’ turned out to be not so executable after all.
+
CommandError.returnedErrorCode(command: String, errorcode: Int) if the exit code is anything but 0.
+
CommandError.inAccessibleExecutable(path: String) if ‘executable’ turned out to be not so executable after all.
+
Declaration
Swift
-
public func runAndPrint ( _ executable : String , _ args : Any ... ) throws
+
public func runAndPrint ( _ executable : String , _ args : Any ... ) throws
@@ -615,7 +607,6 @@
path to an executable file.
-
@@ -628,7 +619,6 @@
arguments to the executable.
-
@@ -643,8 +633,8 @@
diff --git a/docsets/SwiftShell.docset/Contents/Resources/Documents/Protocols/Context.html b/docsets/SwiftShell.docset/Contents/Resources/Documents/Protocols/Context.html
index 6f5623e..d23a3c0 100644
--- a/docsets/SwiftShell.docset/Contents/Resources/Documents/Protocols/Context.html
+++ b/docsets/SwiftShell.docset/Contents/Resources/Documents/Protocols/Context.html
@@ -14,7 +14,7 @@
@@ -43,6 +43,12 @@
RunOutput
+
+ Signals
+
+
+ – Signal
+
StdoutStream
@@ -52,15 +58,15 @@
Global Variables
- Enums
+ Enumerations
- Structs
+ Structures
CustomContext
@@ -180,6 +186,12 @@
Context
+
+
+
public protocol Context : CustomDebugStringConvertible
+
+
+
Undocumented
@@ -189,9 +201,9 @@
@@ -202,15 +214,23 @@
Undocumented
+
+
Declaration
+
+
Swift
+
var env : [ String : String ]
+
+
+
@@ -221,15 +241,23 @@
Undocumented
+
@@ -240,15 +268,23 @@
Undocumented
+
@@ -259,15 +295,23 @@
Undocumented
+
@@ -285,7 +329,7 @@ separate process and changing the directory there will not affect the rest of th
Declaration
Swift
-
var currentdirectory : String
+
var currentdirectory : String
@@ -299,9 +343,9 @@ separate process and changing the directory there will not affect the rest of th
-
+
- debugDescription
+ debugDescription
Extension method
@@ -319,7 +363,7 @@ separate process and changing the directory there will not affect the rest of th
Declaration
Swift
-
public var debugDescription : String
+
public var debugDescription : String
@@ -331,8 +375,8 @@ separate process and changing the directory there will not affect the rest of th
diff --git a/docsets/SwiftShell.docset/Contents/Resources/Documents/Protocols/ReadableStream.html b/docsets/SwiftShell.docset/Contents/Resources/Documents/Protocols/ReadableStream.html
index a970065..ae3752b 100644
--- a/docsets/SwiftShell.docset/Contents/Resources/Documents/Protocols/ReadableStream.html
+++ b/docsets/SwiftShell.docset/Contents/Resources/Documents/Protocols/ReadableStream.html
@@ -14,7 +14,7 @@
@@ -43,6 +43,12 @@
RunOutput
+
+ Signals
+
+
+ – Signal
+
StdoutStream
@@ -52,15 +58,15 @@
Global Variables
- Enums
+ Enumerations
- Structs
+ Structures
CustomContext
@@ -182,7 +188,7 @@
ReadableStream
-
public protocol ReadableStream : class , TextOutputStreamable , CommandRunning
+
public protocol ReadableStream : class , TextOutputStreamable , CommandRunning
@@ -195,9 +201,9 @@
@@ -212,7 +218,7 @@
Declaration
Swift
-
public protocol ReadableStream : class , TextOutputStreamable , CommandRunning
+
var encoding : String . Encoding
@@ -222,9 +228,9 @@
@@ -239,7 +245,7 @@
Declaration
Swift
-
public protocol ReadableStream : class , TextOutputStreamable , CommandRunning
+
var filehandle : FileHandle
@@ -249,9 +255,9 @@
-
+
- readSome()
+ readSome()
Default implementation
@@ -264,27 +270,24 @@
All the text the stream contains so far.
If the source is a file this will read everything at once.
-If the stream is empty and still open this will wait for more content or end-of-file.
-- Returns: more text from the stream, or nil if we have reached the end.
+If the stream is empty and still open this will wait for more content or end-of-file.
Default Implementation
-
Reads everything at once.
-
+
Declaration
Swift
-
func readSome () -> String ?
+
func readSome () -> String ?
Return Value
more text from the stream, or nil if we have reached the end.
-
@@ -292,9 +295,9 @@ If the stream is empty and still open this will wait for more content or end-of-
-
+
- read()
+ read()
Default implementation
@@ -310,14 +313,13 @@ If the stream is empty and still open this will wait for more content or end-of-
Default Implementation
-
Reads everything at once.
-
+
Declaration
Swift
-
func read () -> String
+
func read () -> String
@@ -331,9 +333,9 @@ If the stream is empty and still open this will wait for more content or end-of-
-
+
- lines()
+ lines()
Extension method
@@ -351,7 +353,7 @@ If the stream is empty and still open this will wait for more content or end-of-
Declaration
Swift
-
public func lines () -> LazySequence < AnySequence < String >>
+
public func lines () -> LazySequence < AnySequence < String >>
@@ -361,9 +363,9 @@ If the stream is empty and still open this will wait for more content or end-of-
-
+
- write(to:)
+ write(to:)
Extension method
@@ -381,7 +383,7 @@ If the stream is empty and still open this will wait for more content or end-of-
Declaration
Swift
-
public func write < Target : TextOutputStream > ( to target : inout Target )
+
public func write < Target : TextOutputStream > ( to target : inout Target )
@@ -391,9 +393,9 @@ If the stream is empty and still open this will wait for more content or end-of-
-
+
- write(to:)
+ write(to:)
Extension method
@@ -411,7 +413,7 @@ If the stream is empty and still open this will wait for more content or end-of-
Declaration
@@ -421,9 +423,9 @@ If the stream is empty and still open this will wait for more content or end-of-
-
+
- context
+ context
Extension method
@@ -441,7 +443,7 @@ If the stream is empty and still open this will wait for more content or end-of-
Declaration
Swift
-
public protocol ReadableStream : class , TextOutputStreamable , CommandRunning
+
public var context : Context
@@ -451,9 +453,9 @@ If the stream is empty and still open this will wait for more content or end-of-
-
+
- readSomeData()
+ readSomeData()
Extension method
@@ -466,22 +468,20 @@ If the stream is empty and still open this will wait for more content or end-of-
All the data the stream contains so far.
If the source is a file this will read everything at once.
-If the stream is empty and still open this will wait for more content or end-of-file.
-- Returns: more data from the stream, or nil if we have reached the end.
+If the stream is empty and still open this will wait for more content or end-of-file.
Declaration
Swift
-
public func readSomeData () -> Data ?
+
public func readSomeData () -> Data ?
Return Value
more data from the stream, or nil if we have reached the end.
-
@@ -489,9 +489,9 @@ If the stream is empty and still open this will wait for more content or end-of-
-
+
- readData()
+ readData()
Extension method
@@ -509,7 +509,7 @@ If the stream is empty and still open this will wait for more content or end-of-
Declaration
Swift
-
public func readData () -> Data
+
public func readData () -> Data
@@ -523,9 +523,9 @@ If the stream is empty and still open this will wait for more content or end-of-
-
+
- onOutput(_:)
+ onOutput(_:)
Extension method
@@ -536,16 +536,20 @@ If the stream is empty and still open this will wait for more content or end-of-
-
handler will be called whenever there is new output available.
-- Note: if the stream is read from outside of the handler, or more than once inside
-the handler, it may be called once when stream is closed and empty.
+
handler will be called whenever there is new output available.
+
+
Note
+ if the stream is read from outside of the handler, or more than once inside
+the handler, it may be called once when stream is closed and empty.
+
+
Declaration
Swift
-
public func onOutput ( _ handler : @escaping ( ReadableStream ) -> Void )
+
public func onOutput ( _ handler : @escaping ( ReadableStream ) -> Void )
@@ -555,9 +559,9 @@ the handler, it may be called once when stream is closed and empty.
-
+
- onStringOutput(_:)
+ onStringOutput(_:)
Extension method
@@ -568,16 +572,20 @@ the handler, it may be called once when stream is closed and empty.
-
handler will be called whenever there is new text output available.
-- Note: if the stream is read from outside of the handler, or more than once inside
-the handler, it may be called once when stream is closed and empty.
+
handler will be called whenever there is new text output available.
+
+
Note
+ if the stream is read from outside of the handler, or more than once inside
+the handler, it may be called once when stream is closed and empty.
+
+
Declaration
Swift
-
public func onStringOutput ( _ handler : @escaping ( String ) -> Void )
+
public func onStringOutput ( _ handler : @escaping ( String ) -> Void )
@@ -589,8 +597,8 @@ the handler, it may be called once when stream is closed and empty.
diff --git a/docsets/SwiftShell.docset/Contents/Resources/Documents/Protocols/WritableStream.html b/docsets/SwiftShell.docset/Contents/Resources/Documents/Protocols/WritableStream.html
index e4bbaab..766fb56 100644
--- a/docsets/SwiftShell.docset/Contents/Resources/Documents/Protocols/WritableStream.html
+++ b/docsets/SwiftShell.docset/Contents/Resources/Documents/Protocols/WritableStream.html
@@ -14,7 +14,7 @@
@@ -43,6 +43,12 @@
RunOutput
+
+ Signals
+
+
+ – Signal
+
StdoutStream
@@ -52,15 +58,15 @@
Global Variables
- Enums
+ Enumerations
- Structs
+ Structures
CustomContext
@@ -182,7 +188,7 @@
WritableStream
-
public protocol WritableStream : class , TextOutputStream
+
public protocol WritableStream : class , TextOutputStream
@@ -195,9 +201,9 @@
@@ -212,7 +218,7 @@
Declaration
Swift
-
public protocol WritableStream : class , TextOutputStream
+
var encoding : String . Encoding
@@ -222,9 +228,9 @@
@@ -239,7 +245,7 @@
Declaration
Swift
-
public protocol WritableStream : class , TextOutputStream
+
var filehandle : FileHandle
@@ -249,9 +255,9 @@
-
+
- write(_:)
+ write(_:)
Default implementation
@@ -274,7 +280,7 @@
Declaration
Swift
-
func write ( _ x : String )
+
func write ( _ x : String )
@@ -284,9 +290,9 @@
-
+
- close()
+ close()
Default implementation
@@ -303,15 +309,13 @@ to prevent deadlock when reading.
Default Implementation
-
Closes the stream. Must be called on non-file streams when finished writing,
-to prevent deadlock when reading.
-
+
Declaration
Swift
-
func close ()
+
func close ()
@@ -325,9 +329,9 @@ to prevent deadlock when reading.
-
+
- print(_:separator:terminator:)
+ print(_:separator:terminator:)
Extension method
@@ -343,22 +347,12 @@ Works exactly the same way as print from Swift’s standard lib
To avoid printing a newline at the end, pass terminator: "" or use write ìnstead.
-
-Parameters:
-
-
-items: Zero or more items to print, converted to text with String(describing:).
-separator: What to print between each item. Default is “ ”.
-terminator: What to print at the end. Default is newline.
-
-
-
Declaration
Swift
-
public func print ( _ items : Any ... , separator : String = " " , terminator : String = " \n " )
+
public func print ( _ items : Any ... , separator : String = " " , terminator : String = " \n " )
@@ -375,7 +369,6 @@ Works exactly the same way as print from Swift’s standard lib
Zero or more items to print, converted to text with String(describing:).
-
@@ -387,8 +380,7 @@ Works exactly the same way as print from Swift’s standard lib
-
What to print between each item. Default is “ “.
-
+
What to print between each item. Default is “ ”.
@@ -401,7 +393,6 @@ Works exactly the same way as print from Swift’s standard lib
What to print at the end. Default is newline.
-
@@ -414,9 +405,9 @@ Works exactly the same way as print from Swift’s standard lib
-
+
- write(data:)
+ write(data:)
Extension method
@@ -434,7 +425,7 @@ Works exactly the same way as print from Swift’s standard lib
Declaration
Swift
-
public func write ( data : Data )
+
public func write ( data : Data )
@@ -446,8 +437,8 @@ Works exactly the same way as print from Swift’s standard lib
diff --git a/docsets/SwiftShell.docset/Contents/Resources/Documents/Structs.html b/docsets/SwiftShell.docset/Contents/Resources/Documents/Structs.html
index 31770d8..3d84c46 100644
--- a/docsets/SwiftShell.docset/Contents/Resources/Documents/Structs.html
+++ b/docsets/SwiftShell.docset/Contents/Resources/Documents/Structs.html
@@ -1,7 +1,7 @@
- Structs Reference
+ Structures Reference
@@ -10,10 +10,10 @@
-
+
@@ -21,7 +21,7 @@
SwiftShell Reference
- Structs Reference
+ Structures Reference
@@ -42,6 +42,12 @@
RunOutput
+
+ Signals
+
+
+ – Signal
+
StdoutStream
@@ -51,15 +57,15 @@
Global Variables
- Enums
+ Enumerations
- Structs
+ Structures
CustomContext
@@ -178,8 +184,8 @@
- Structs
- The following structs are available globally.
+ Structures
+ The following structures are available globally.
@@ -212,9 +226,9 @@
@@ -230,11 +244,9 @@
Declaration
Swift
-
public struct LazySplitSequence < Base : Collection > : IteratorProtocol , LazySequenceProtocol where
+ public struct LazySplitSequence < Base : Collection > : IteratorProtocol , LazySequenceProtocol where
Base . Iterator . Element : Equatable ,
- Base . SubSequence : Collection ,
- Base . SubSequence . Iterator . Element == Base . Iterator . Element ,
- Base . SubSequence == Base . SubSequence . SubSequence
+ Base . SubSequence : Collection
@@ -244,9 +256,9 @@
@@ -262,11 +274,9 @@
Declaration
Swift
-
public struct PartialSourceLazySplitSequence < Base : Collection > : IteratorProtocol , LazySequenceProtocol where
+ public struct PartialSourceLazySplitSequence < Base : Collection > : IteratorProtocol , LazySequenceProtocol where
Base . Iterator . Element : Equatable ,
- Base . SubSequence : RangeReplaceableCollection ,
- Base . SubSequence . Iterator . Element == Base . Iterator . Element ,
- Base . SubSequence == Base . SubSequence . SubSequence
+ Base . SubSequence : RangeReplaceableCollection
@@ -278,8 +288,8 @@
diff --git a/docsets/SwiftShell.docset/Contents/Resources/Documents/Structs/CustomContext.html b/docsets/SwiftShell.docset/Contents/Resources/Documents/Structs/CustomContext.html
index a5b1f26..76f9a35 100644
--- a/docsets/SwiftShell.docset/Contents/Resources/Documents/Structs/CustomContext.html
+++ b/docsets/SwiftShell.docset/Contents/Resources/Documents/Structs/CustomContext.html
@@ -1,7 +1,7 @@
- CustomContext Struct Reference
+ CustomContext Structure Reference
@@ -11,10 +11,10 @@
-
+
@@ -22,7 +22,7 @@
SwiftShell Reference
- CustomContext Struct Reference
+ CustomContext Structure Reference
@@ -43,6 +43,12 @@
RunOutput
+
+ Signals
+
+
+ – Signal
+
StdoutStream
@@ -52,15 +58,15 @@
Global Variables
- Enums
+ Enumerations
- Structs
+ Structures
CustomContext
@@ -180,6 +186,12 @@
CustomContext
+
Undocumented
@@ -189,9 +201,9 @@
@@ -202,15 +214,23 @@
Undocumented
+
+
Declaration
+
+
Swift
+
public var env : [ String : String ]
+
+
+
@@ -221,15 +241,23 @@
Undocumented
+
@@ -240,15 +268,23 @@
Undocumented
+
@@ -259,15 +295,23 @@
Undocumented
+
@@ -285,7 +329,7 @@ separate process and changing the directory there will not affect the rest of th
Declaration
Swift
-
public var currentdirectory : String
+
public var currentdirectory : String
@@ -295,9 +339,9 @@ separate process and changing the directory there will not affect the rest of th
@@ -313,7 +357,7 @@ currentdirectory is the current working directory.
Declaration
Swift
-
public init ()
+
public init ()
@@ -323,9 +367,9 @@ currentdirectory is the current working directory.
@@ -340,7 +384,7 @@ currentdirectory is the current working directory.
Declaration
Swift
-
public init ( _ context : Context )
+
public init ( _ context : Context )
@@ -352,8 +396,8 @@ currentdirectory is the current working directory.
diff --git a/docsets/SwiftShell.docset/Contents/Resources/Documents/Structs/LazySplitSequence.html b/docsets/SwiftShell.docset/Contents/Resources/Documents/Structs/LazySplitSequence.html
index b1b2d4a..724f893 100644
--- a/docsets/SwiftShell.docset/Contents/Resources/Documents/Structs/LazySplitSequence.html
+++ b/docsets/SwiftShell.docset/Contents/Resources/Documents/Structs/LazySplitSequence.html
@@ -1,7 +1,7 @@
- LazySplitSequence Struct Reference
+ LazySplitSequence Structure Reference
@@ -11,10 +11,10 @@
-
+
@@ -22,7 +22,7 @@
SwiftShell Reference
- LazySplitSequence Struct Reference
+ LazySplitSequence Structure Reference
@@ -43,6 +43,12 @@
RunOutput
+
+ Signals
+
+
+ – Signal
+
StdoutStream
@@ -52,15 +58,15 @@
Global Variables
- Enums
+ Enumerations
- Structs
+ Structures
CustomContext
@@ -182,11 +188,9 @@
PartialSourceLazySplitSequence
-
public struct PartialSourceLazySplitSequence < Base : Collection > : IteratorProtocol , LazySequenceProtocol where
+ public struct PartialSourceLazySplitSequence < Base : Collection > : IteratorProtocol , LazySequenceProtocol where
Base . Iterator . Element : Equatable ,
- Base . SubSequence : RangeReplaceableCollection ,
- Base . SubSequence . Iterator . Element == Base . Iterator . Element ,
- Base . SubSequence == Base . SubSequence . SubSequence
+ Base . SubSequence : RangeReplaceableCollection
@@ -199,9 +203,9 @@
@@ -211,22 +215,12 @@
Creates a lazy sequence by splitting a series of collections repeatedly, as if they were one collection.
-
-Parameters:
-
-
-bases: A function which returns the next collection in the series each time it is called,
-or nil if there are no more collections.
-separator: The element of ‘bases’ to split over.
-
-
-
Declaration
Swift
-
public init ( _ bases : @escaping () -> Base ?, separator : Base . Iterator . Element )
+
public init ( _ bases : @escaping () -> Base ?, separator : Base . Iterator . Element )
@@ -242,8 +236,8 @@ or nil if there are no more collections.
-
A function which returns the next collection in the series each time it is called, or nil if there are no more collections.
-
+
A function which returns the next collection in the series each time it is called,
+or nil if there are no more collections.
@@ -256,7 +250,6 @@ or nil if there are no more collections.
The element of ‘bases’ to split over.
-
@@ -269,9 +262,9 @@ or nil if there are no more collections.
@@ -286,7 +279,7 @@ or nil if there are no more collections.
Declaration
Swift
-
public mutating func next () -> Base . SubSequence ?
+
public mutating func next () -> Base . SubSequence ?
@@ -298,8 +291,8 @@ or nil if there are no more collections.
diff --git a/docsets/SwiftShell.docset/Contents/Resources/Documents/css/jazzy.css b/docsets/SwiftShell.docset/Contents/Resources/Documents/css/jazzy.css
index d6d65b7..d628282 100644
--- a/docsets/SwiftShell.docset/Contents/Resources/Documents/css/jazzy.css
+++ b/docsets/SwiftShell.docset/Contents/Resources/Documents/css/jazzy.css
@@ -164,6 +164,11 @@ header {
padding-top: 10px; }
.main-content section .task-group-section .task-group:first-of-type .section-name {
padding-top: 15px; }
+ .main-content section .heading:before {
+ content: "";
+ display: block;
+ padding-top: 70px;
+ margin: -70px 0 0; }
.section {
padding: 0 25px; }
diff --git a/docsets/SwiftShell.docset/Contents/Resources/Documents/index.html b/docsets/SwiftShell.docset/Contents/Resources/Documents/index.html
index 85e238e..259c94b 100644
--- a/docsets/SwiftShell.docset/Contents/Resources/Documents/index.html
+++ b/docsets/SwiftShell.docset/Contents/Resources/Documents/index.html
@@ -13,7 +13,7 @@
@@ -42,6 +42,12 @@
RunOutput
+
+ Signals
+
+
+ – Signal
+
StdoutStream
@@ -51,15 +57,15 @@
Global Variables
- Enums
+ Enumerations
- Structs
+ Structures
CustomContext
@@ -183,17 +189,17 @@
-Swift 3 | Swift 2
+Swift 4 | Swift 3 | Swift 2
-
-SwiftShell
+
+SwiftShell
A library for creating command-line applications and running shell commands in Swift.
-Features
+Features
[x] run commands, and handle the output.
@@ -203,17 +209,17 @@
[x] handle errors.
[x] read and write files.
-See also
+See also
-Table of Contents
+Table of Contents
Example
@@ -247,8 +253,8 @@
Setup
-Example
-Print line numbers
+Example
+Print line numbers
#!/usr/bin/env swiftshell
import SwiftShell
-do {
+do {
// If there is an argument, try opening it as a file. Otherwise use standard input.
- let input = try main . arguments . first . map { try open ( $0 )} ?? main . stdin
+ let input = try main . arguments . first . map { try open ( $0 )} ?? main . stdin
- input . lines () . enumerated () . forEach { ( linenr , line ) in
+ input . lines () . enumerated () . forEach { ( linenr , line ) in
print ( linenr + 1 , ":" , line )
}
// Add a newline at the end.
print ( "" )
-} catch {
+} catch {
exit ( error )
}
Launched with e.g. cat long.txt | print_linenumbers.swift or print_linenumbers.swift long.txt this will print the line number at the beginning of each line.
-Others
+Others
-Context
+Context
All commands (a.k.a. processes ) you run in SwiftShell need context: environment variables , the current working directory , standard input, standard output and standard error (standard streams ).
-public struct CustomContext : Context , CommandRunning {
+public struct CustomContext : Context , CommandRunning {
public var env : [ String : String ]
public var currentdirectory : String
public var stdin : ReadableStream
@@ -299,9 +305,9 @@
You can create a copy of your application’s context: let context = CustomContext(main), or create a new empty one: let context = CustomContext(). Everything is mutable, so you can set e.g. the current directory or redirect standard error to a file.
-Main context
+Main context
-The global variable main is the Context for the application itself. In addition to the properties mentioned above it also has these:
+The global variable main is the Context for the application itself. In addition to the properties mentioned above it also has these:
public var encoding: String.Encoding
@@ -317,24 +323,24 @@ The path to the application.
main.stdout is for normal output, like Swift’s print function. main.stderror is for error output, and main.stdin is the standard input to your application, provided by something like somecommand | yourapplication in the terminal.
Commands can’t change the context they run in (or anything else internally in your application) so e.g. main.run("cd", "somedirectory") will achieve nothing. Use main.currentdirectory = "somedirectory" instead, this changes the current working directory for the entire application.
-Example
+Example
Prepare a context similar to a new macOS user account’s environment in the terminal (from kareman/testcommit ):
import SwiftShell
import Foundation
-extension Dictionary where Key : Hashable {
+extension Dictionary where Key : Hashable {
public func filterToDictionary < C : Collection > ( keys : C ) -> [ Key : Value ]
- where C . Iterator . Element == Key , C . IndexDistance == Int {
+ where C . Iterator . Element == Key , C . IndexDistance == Int {
var result = [ Key : Value ]( minimumCapacity : keys . count )
- for key in keys { result [ key ] = self [ key ] }
+ for key in keys { result [ key ] = self [ key ] }
return result
}
}
// Prepare an environment as close to a new OS X user account as possible.
-var cleanctx = CustomContext ( main )
+var cleanctx = CustomContext ( main )
let cleanenvvars = [ "TERM_PROGRAM" , "SHELL" , "TERM" , "TMPDIR" , "Apple_PubSub_Socket_Render" , "TERM_PROGRAM_VERSION" , "TERM_SESSION_ID" , "USER" , "SSH_AUTH_SOCK" , "__CF_USER_TEXT_ENCODING" , "XPC_FLAGS" , "XPC_SERVICE_NAME" , "SHLVL" , "HOME" , "LOGNAME" , "LC_CTYPE" , "_" ]
cleanctx . env = cleanctx . env . filterToDictionary ( keys : cleanenvvars )
cleanctx . env [ "PATH" ] = "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
@@ -342,14 +348,14 @@ The path to the application.
// Create a temporary directory for testing.
cleanctx . currentdirectory = main . tempdirectory
-Streams
+Streams
-The protocols ReadableStream and WritableStream in Context above can read and write text from/to commands, files or the application’s own standard streams. They both have an .encoding property they use when encoding/decoding text.
+The protocols ReadableStream and WritableStream in Context above can read and write text from/to commands, files or the application’s own standard streams. They both have an .encoding property they use when encoding/decoding text.
You can use let (input,output) = streams() to create a new pair of streams. What you write to input you can read from output.
-FileSmith ’s WritableFile and ReadableFile are streams too, and can be used as stdin, stdout and stderror in SwiftShell Contexts, including main.
-WritableStream
+FileSmith ’s WritableFile and ReadableFile are streams too, and can be used as stdin, stdout and stderror in SwiftShell Contexts, including main .
+WritableStream
When writing to a WritableStream you normally use .print which works exactly like Swift’s built-in print function:
main . stdout . print ( "everything is fine" )
@@ -366,7 +372,7 @@ The path to the application.
You can close the stream, so anyone who tries to read from the other end won’t have to wait around forever:
writefile . close ()
-ReadableStream
+ReadableStream
When reading from a ReadableStream you can read everything at once:
let readfile = try open ( path ) // ReadableStream
@@ -390,24 +396,24 @@ The path to the application.
Or instead of stopping and waiting for any output you can be notified whenever there is something in the stream:
-
main . stdin . onOutput { stream in
+main . stdin . onOutput { stream in
// ‘stream’ refers to main.stdin
}
-Data
+Data
In addition to text, streams can also handle raw Data:
-let data = Data ( ... )
+let data = Data ( ... )
writer . write ( data : data )
reader . readSomeData ()
reader . readData ()
-Commands
+Commands
-All Contexts (CustomContext and main) implement CommandRunning, which means they can run commands using themselves as the Context. ReadableStream and String can also run commands, they use main as the Context and themselves as .stdin. As a shortcut you can just use run(...) instead of main.run(...)
+All Contexts (CustomContext and main ) implement CommandRunning , which means they can run commands using themselves as the Context. ReadableStream and String can also run commands, they use main as the Context and themselves as .stdin. As a shortcut you can just use run(...) instead of main.run(...)
There are three different ways of running a command:
-Run
+Run
The simplest is to just run the command, wait until it’s finished and return the results:
let result1 = run ( "/usr/bin/executable" , "argument1" , "argument2" )
@@ -418,7 +424,7 @@ The path to the application.
run returns the following information:
/// Output from a `run` command.
-public final class RunOutput {
+public final class RunOutput {
/// The error from running the command, if any.
let error : CommandError ?
@@ -441,18 +447,18 @@ The path to the application.
let date = run ( "date" , "-u" ) . stdout
print ( "Today's date in UTC is " + date )
-Print output
+Print output
try runAndPrint ( "executable" , "arg" )
-This runs a command like in the terminal, where any output goes to the Context’s (main in this case) .stdout and .stderror respectively. If the executable could not be found, was inaccessible or not executable, or the command returned with an exit code other than zero, then runAndPrint will throw a CommandError.
+This runs a command like in the terminal, where any output goes to the Context’s (main in this case) .stdout and .stderror respectively. If the executable could not be found, was inaccessible or not executable, or the command returned with an exit code other than zero, then runAndPrint will throw a CommandError .
The name may seem a bit cumbersome, but it explains exactly what it does. SwiftShell never prints anything without explicitly being told to.
-Asynchronous
-let command = runAsync ( "cmd" , "-n" , 245 ) . onCompletion { command in
+Asynchronous
+let command = runAsync ( "cmd" , "-n" , 245 ) . onCompletion { command in
// be notified when the command is finished.
}
-command . stdout . onOutput { stdout in
+command . stdout . onOutput { stdout in
// be notified when the command produces output.
}
@@ -463,7 +469,7 @@ The path to the application.
runAsync launches a command and continues before it’s finished. It returns this:
/// Output from the 'runAsync' methods.
-public final class AsyncCommand {
+public final class AsyncCommand {
public let stdout : ReadableStream
public let stderror : ReadableStream
@@ -491,10 +497,10 @@ The path to the application.
You can process standard output and standard error, and optionally wait until it’s finished and handle any errors.
If you read all of command.stderror or command.stdout it will automatically wait for the command to close its streams (and presumably finish running). You can still call finish() to check for errors.
-Parameters
+Parameters
The 3 run functions above take 2 different types of parameters:
-(_ executable: String, _ args: Any …)
+(_ executable: String, _ args: Any …)
If the path to the executable is without any /, SwiftShell will try to find the full path using the which shell command, which searches the directories in the PATH environment variable in order.
@@ -506,7 +512,7 @@ The path to the application.
try runAndPrint ( "echo" , array , array . count + 2 , "arguments" )
// echo But we are 5 arguments
-(bash bashcommand: String)
+(bash bashcommand: String)
These are the commands you normally use in the Terminal. You can use pipes and redirection and all that good stuff:
try runAndPrint ( bash : "cmd1 arg1 | cmd2 > output.txt" )
@@ -516,85 +522,73 @@ The path to the application.
var file = try open ( forWriting : "output.txt" )
runAsync ( "cmd1" , "arg1" ) . stdout . runAsync ( "cmd2" ) . stdout . write ( to : & file )
-Errors
+Errors
If the command provided to runAsync could not be launched for any reason the program will print the error to standard error and exit, as is usual in scripts. The runAsync("cmd").finish() method throws an error if the exit code of the command is anything but 0:
let command = runAsync ( "cmd" , "-n" , 245 )
// do something with command.stderror or command.stdoutCommandError
-do {
+do {
try command . finish ()
-} catch CommandError . ReturnedErrorCode ( let error ) {
+} catch CommandError . ReturnedErrorCode ( let error ) {
// use error.command or error.errorcode
}
The runAndPrint command can also throw this error, in addition to this one if the command could not be launched:
-} catch CommandError . InAccessibleExecutable ( let path ) {
+} catch CommandError . InAccessibleExecutable ( let path ) {
// ‘path’ is the full path to the executable
}
Instead of dealing with the values from these errors you can just print them:
-} catch {
+} catch {
print ( error )
}
… or if they are sufficiently serious you can print them to standard error and exit:
-} catch {
+} catch {
exit ( error )
}
When at the top code level you don’t need to catch any errors, but you still have to use try.
-Setup
-
-One of the goals of SwiftShell is to be able to run single .swift files directly, like you do with bash and Python files. This is possible now, but every time you upgrade Xcode or Swift you have to recompile all the third party frameworks your Swift script files use (including the SwiftShell framework). This will continue to be a problem until Swift achieves ABI stability in (hopefully) version 5. For now it is more practical to precompile the script into a self-contained executable.
-Pre-compiled executable
+Setup
+Stand-alone project
If you put Misc/swiftshell-init somewhere in your $PATH you can create a new project with swiftshell-init <name>. This creates a new folder, initialises a Swift Package Manager executable folder structure, downloads the latest version of SwiftShell, creates an Xcode project and opens it. After running swift build you can find the compiled executable at .build/debug/<name>.
-Shell script
+
-
-In the Terminal, go to where you want to download SwiftShell.
-Run
-git clone https://github.com/kareman/SwiftShell.git
-cd SwiftShell
-
-Copy/link Misc/swiftshell to your bin folder or anywhere in your PATH.
-To install the framework itself, run xcodebuild and copy the resulting framework from the build folder to your library folder of choice. If that is not ~/Library/Frameworks or /Library/Frameworks then make sure the folder is listed in $SWIFTSHELL_FRAMEWORK_PATH.
-
-
-Then include this in the beginning of each script:
-#!/usr/bin/env swiftshell
-
-import SwiftShell
+First add SwiftShell to Marathon:
+marathon add https://github.com/kareman/SwiftShell.git
-
-Add .Package(url: "https://github.com/kareman/SwiftShell", "3.0.0-beta") to your Package.swift:
+Then run your Swift scripts with marathon run <name>.swift. Or add #!/usr/bin/env marathon run to the top of every script file and run them with ./<name>.swift.
+
+
+Add .Package(url: "https://github.com/kareman/SwiftShell", majorVersion: 4) to your Package.swift:
import PackageDescription
-let package = Package (
+let package = Package (
name : "somecommandlineapp" ,
dependencies : [
- . Package ( url : "https://github.com/kareman/SwiftShell.git" , "3.0.0-beta" )
+ . Package ( url : "https://github.com/kareman/SwiftShell.git" , majorVersion : 4 )
]
)
and run swift build.
-
+
-Add github "kareman/SwiftShell" "master" to your Cartfile, then run carthage update and add the resulting framework to the Embedded Binaries section of the application. See Carthage’s README for further instructions.
-
+Add github "kareman/SwiftShell" >= 4.0 to your Cartfile, then run carthage update and add the resulting framework to the Embedded Binaries section of the application. See Carthage’s README for further instructions.
+
Add SwiftShell to your Podfile.
-pod 'SwiftShell', '>= 3.0.0-beta'
+pod 'SwiftShell', '>= 4.0.0'
Then run pod install to install it.
-License
+License
Released under the MIT License (MIT), http://opensource.org/licenses/MIT
@@ -603,8 +597,8 @@ cd SwiftShell
diff --git a/docsets/SwiftShell.docset/Contents/Resources/Documents/js/jazzy.js b/docsets/SwiftShell.docset/Contents/Resources/Documents/js/jazzy.js
index 4ff9455..3965b5f 100755
--- a/docsets/SwiftShell.docset/Contents/Resources/Documents/js/jazzy.js
+++ b/docsets/SwiftShell.docset/Contents/Resources/Documents/js/jazzy.js
@@ -38,3 +38,9 @@ $(".token").click(function(event) {
}
event.preventDefault();
});
+
+// Dumb down quotes within code blocks that delimit strings instead of quotations
+// https://github.com/realm/jazzy/issues/714
+$("code q").replaceWith(function () {
+ return ["\"", $(this).contents(), "\""];
+});
diff --git a/docsets/SwiftShell.docset/Contents/Resources/Documents/search.json b/docsets/SwiftShell.docset/Contents/Resources/Documents/search.json
new file mode 100644
index 0000000..aedd2af
--- /dev/null
+++ b/docsets/SwiftShell.docset/Contents/Resources/Documents/search.json
@@ -0,0 +1 @@
+{"Structs/PartialSourceLazySplitSequence.html#/s:10SwiftShell30PartialSourceLazySplitSequenceVACyxGxSgyc_7ElementQz9separatortcfc":{"name":"init(_:separator:)","abstract":"Creates a lazy sequence by splitting a series of collections repeatedly, as if they were one collection.
","parent_name":"PartialSourceLazySplitSequence"},"Structs/PartialSourceLazySplitSequence.html#/s:10SwiftShell30PartialSourceLazySplitSequenceV4next03SubG0QzSgyF":{"name":"next()","abstract":"The contents of ‘bases’ up to the next occurrence of ‘separator’.
","parent_name":"PartialSourceLazySplitSequence"},"Structs/LazySplitSequence.html#/s:10SwiftShell17LazySplitSequenceV9remaining03SubE0QzSgv":{"name":"remaining","abstract":"Undocumented
","parent_name":"LazySplitSequence"},"Structs/LazySplitSequence.html#/s:10SwiftShell17LazySplitSequenceV9separator7ElementQzv":{"name":"separator","abstract":"Undocumented
","parent_name":"LazySplitSequence"},"Structs/LazySplitSequence.html#/s:10SwiftShell17LazySplitSequenceV16allowEmptySlicesSbv":{"name":"allowEmptySlices","abstract":"Undocumented
","parent_name":"LazySplitSequence"},"Structs/LazySplitSequence.html#/s:10SwiftShell17LazySplitSequenceVACyxGx_7ElementQz9separatorSb16allowEmptySlicestcfc":{"name":"init(_:separator:allowEmptySlices:)","abstract":"Creates a lazy sequence by splitting a Collection repeatedly.
","parent_name":"LazySplitSequence"},"Structs/LazySplitSequence.html#/s:10SwiftShell17LazySplitSequenceV4next03SubE0QzSgyF":{"name":"next()","abstract":"The contents of ‘base’ up to the next occurrence of ‘separator’.
","parent_name":"LazySplitSequence"},"Structs/CustomContext.html#/s:10SwiftShell13CustomContextV3envs10DictionaryVyS2SGv":{"name":"env","abstract":"Undocumented
","parent_name":"CustomContext"},"Structs/CustomContext.html#/s:10SwiftShell13CustomContextV5stdinAA14ReadableStream_pv":{"name":"stdin","abstract":"Undocumented
","parent_name":"CustomContext"},"Structs/CustomContext.html#/s:10SwiftShell13CustomContextV6stdoutAA14WritableStream_pv":{"name":"stdout","abstract":"Undocumented
","parent_name":"CustomContext"},"Structs/CustomContext.html#/s:10SwiftShell13CustomContextV8stderrorAA14WritableStream_pv":{"name":"stderror","abstract":"Undocumented
","parent_name":"CustomContext"},"Structs/CustomContext.html#/s:10SwiftShell13CustomContextV16currentdirectorySSv":{"name":"currentdirectory","abstract":"The current working directory.
","parent_name":"CustomContext"},"Structs/CustomContext.html#/s:10SwiftShell13CustomContextVACycfc":{"name":"init()","abstract":"Creates a blank CustomContext where env and stdin are empty, stdout and stderror discard everything and","parent_name":"CustomContext"},"Structs/CustomContext.html#/s:10SwiftShell13CustomContextVAcA0D0_pcfc":{"name":"init(_:)","abstract":"
Creates an identical copy of another Context.
","parent_name":"CustomContext"},"Structs/CustomContext.html":{"name":"CustomContext","abstract":"Undocumented
"},"Structs/LazySplitSequence.html":{"name":"LazySplitSequence","abstract":"A sequence from splitting a Collection lazily.
"},"Structs/PartialSourceLazySplitSequence.html":{"name":"PartialSourceLazySplitSequence","abstract":"A sequence from splitting a series of Collections lazily, as if they were one Collection.
"},"Protocols/WritableStream.html#/s:10SwiftShell14WritableStreamP8encodingSS10FoundationE8EncodingVv":{"name":"encoding","abstract":"Undocumented
","parent_name":"WritableStream"},"Protocols/WritableStream.html#/s:10SwiftShell14WritableStreamP10filehandleSo10FileHandleCv":{"name":"filehandle","abstract":"Undocumented
","parent_name":"WritableStream"},"Protocols/WritableStream.html#/s:10SwiftShell14WritableStreamP5writeySSF":{"name":"write(_:)","abstract":"Writes x to the stream.
","parent_name":"WritableStream"},"Protocols/WritableStream.html#/s:10SwiftShell14WritableStreamP5closeyyF":{"name":"close()","abstract":"Closes the stream. Must be called on non-file streams when finished writing,","parent_name":"WritableStream"},"Protocols/WritableStream.html#/s:10SwiftShell14WritableStreamPAAE5printySayypGd_SS9separatorSS10terminatortF":{"name":"print(_:separator:terminator:)","abstract":"
Writes the textual representations of the given items into the stream.","parent_name":"WritableStream"},"Protocols/WritableStream.html#/s:10SwiftShell14WritableStreamPAAE5writey10Foundation4DataV4data_tF":{"name":"write(data:)","abstract":"
Writes data to the stream.
","parent_name":"WritableStream"},"Protocols/ReadableStream.html#/s:10SwiftShell14ReadableStreamP8encodingSS10FoundationE8EncodingVv":{"name":"encoding","abstract":"Undocumented
","parent_name":"ReadableStream"},"Protocols/ReadableStream.html#/s:10SwiftShell14ReadableStreamP10filehandleSo10FileHandleCv":{"name":"filehandle","abstract":"Undocumented
","parent_name":"ReadableStream"},"Protocols/ReadableStream.html#/s:10SwiftShell14ReadableStreamP8readSomeSSSgyF":{"name":"readSome()","abstract":"All the text the stream contains so far.","parent_name":"ReadableStream"},"Protocols/ReadableStream.html#/s:10SwiftShell14ReadableStreamP4readSSyF":{"name":"read()","abstract":"
Reads everything at once.
","parent_name":"ReadableStream"},"Protocols/ReadableStream.html#/s:10SwiftShell14ReadableStreamPAAE5liness12LazySequenceVys03AnyG0VySSGGyF":{"name":"lines()","abstract":"Splits stream lazily into lines.
","parent_name":"ReadableStream"},"Protocols/ReadableStream.html#/s:10SwiftShell14ReadableStreamPAAE5writeyqd__z2to_ts010TextOutputD0Rd__lF":{"name":"write(to:)","abstract":"Writes the text in this stream to the given TextOutputStream.
","parent_name":"ReadableStream"},"Protocols/ReadableStream.html#/s:10SwiftShell14ReadableStreamPAAE5writeyAA08WritableD0_pz2to_tF":{"name":"write(to:)","abstract":"Writes the text in this stream to the given WritableStream.
","parent_name":"ReadableStream"},"Protocols/ReadableStream.html#/s:10SwiftShell14ReadableStreamPAAE7contextAA7Context_pv":{"name":"context","abstract":"Undocumented
","parent_name":"ReadableStream"},"Protocols/ReadableStream.html#/s:10SwiftShell14ReadableStreamPAAE12readSomeData10Foundation0G0VSgyF":{"name":"readSomeData()","abstract":"All the data the stream contains so far.","parent_name":"ReadableStream"},"Protocols/ReadableStream.html#/s:10SwiftShell14ReadableStreamPAAE8readData10Foundation0F0VyF":{"name":"readData()","abstract":"
Reads everything at once.
","parent_name":"ReadableStream"},"Protocols/ReadableStream.html#/s:10SwiftShell14ReadableStreamPAAE8onOutputyyAaB_pcF":{"name":"onOutput(_:)","abstract":"handler will be called whenever there is new output available.
","parent_name":"ReadableStream"},"Protocols/ReadableStream.html#/s:10SwiftShell14ReadableStreamPAAE14onStringOutputyySScF":{"name":"onStringOutput(_:)","abstract":"handler will be called whenever there is new text output available.
","parent_name":"ReadableStream"},"Protocols/Context.html#/s:10SwiftShell7ContextP3envs10DictionaryVyS2SGv":{"name":"env","abstract":"Undocumented
","parent_name":"Context"},"Protocols/Context.html#/s:10SwiftShell7ContextP5stdinAA14ReadableStream_pv":{"name":"stdin","abstract":"Undocumented
","parent_name":"Context"},"Protocols/Context.html#/s:10SwiftShell7ContextP6stdoutAA14WritableStream_pv":{"name":"stdout","abstract":"Undocumented
","parent_name":"Context"},"Protocols/Context.html#/s:10SwiftShell7ContextP8stderrorAA14WritableStream_pv":{"name":"stderror","abstract":"Undocumented
","parent_name":"Context"},"Protocols/Context.html#/s:10SwiftShell7ContextP16currentdirectorySSv":{"name":"currentdirectory","abstract":"The current working directory.
","parent_name":"Context"},"Protocols/Context.html#/s:10SwiftShell7ContextPAAE16debugDescriptionSSv":{"name":"debugDescription","abstract":"A textual representation of this instance, suitable for debugging.
","parent_name":"Context"},"Protocols/CommandRunning.html#/s:10SwiftShell14CommandRunningP7contextAA7Context_pv":{"name":"context","abstract":"Undocumented
","parent_name":"CommandRunning"},"Protocols/CommandRunning.html#/s:10SwiftShell14CommandRunningPAAE3runAA9RunOutputCSS4bash_Sb07combineG0tF":{"name":"run(bash:combineOutput:)","abstract":"Runs a bash shell command.
","parent_name":"CommandRunning"},"Protocols/CommandRunning.html#/s:10SwiftShell14CommandRunningPAAE8runAsyncAA0fC0CSS4bash_SS4fileSi4linetF":{"name":"runAsync(bash:file:line:)","abstract":"Run bash command and return before it is finished.
","parent_name":"CommandRunning"},"Protocols/CommandRunning.html#/s:10SwiftShell14CommandRunningPAAE11runAndPrintySS4bash_tKF":{"name":"runAndPrint(bash:)","abstract":"Run bash command and print output and errors.
","parent_name":"CommandRunning"},"Protocols/CommandRunning.html#/s:10SwiftShell14CommandRunningPAAE3runAA9RunOutputCSS_SayypGdSb07combineG0tF":{"name":"run(_:_:combineOutput:)","abstract":"Runs a command.
","parent_name":"CommandRunning"},"Protocols/CommandRunning.html#/s:10SwiftShell14CommandRunningPAAE8runAsyncAA0fC0CSS_SayypGdSS4fileSi4linetF":{"name":"runAsync(_:_:file:line:)","abstract":"Run executable and return before it is finished.
","parent_name":"CommandRunning"},"Protocols/CommandRunning.html#/s:10SwiftShell14CommandRunningPAAE11runAndPrintySS_SayypGdtKF":{"name":"runAndPrint(_:_:)","abstract":"Run executable and print output and errors.
","parent_name":"CommandRunning"},"Protocols/CommandRunning.html":{"name":"CommandRunning","abstract":"Can run commands.
"},"Protocols/Context.html":{"name":"Context","abstract":"Undocumented
"},"Protocols.html#/CommandRunning":{"name":"CommandRunning","abstract":"CommandRunning is not available on iOS, tvOS and watchOS.
"},"Protocols/ReadableStream.html":{"name":"ReadableStream","abstract":"A stream of text. Does as much as possible lazily.
"},"Protocols/WritableStream.html":{"name":"WritableStream","abstract":"An output stream, like standard output or a writeable file.
"},"Functions.html#/s:10SwiftShell3runAA9RunOutputCSS4bash_Sb07combineE0tF":{"name":"run(bash:combineOutput:)","abstract":"Runs a bash shell command.
"},"Functions.html#/s:10SwiftShell8runAsyncAA0D7CommandCSS4bash_SS4fileSi4linetF":{"name":"runAsync(bash:file:line:)","abstract":"Run bash command and return before it is finished.
"},"Functions.html#/s:10SwiftShell11runAndPrintySS4bash_tKF":{"name":"runAndPrint(bash:)","abstract":"Run bash command and print output and errors.
"},"Functions.html#/s:10SwiftShell4exits5NeverOx12errormessage_Si9errorcodeSS4fileSi4linetlF":{"name":"exit(errormessage:errorcode:file:line:)","abstract":"Print message to standard error and halt execution.
"},"Functions.html#/s:10SwiftShell4exits5NeverOs5Error_p_SS4fileSi4linetF":{"name":"exit(_:file:line:)","abstract":"Print error to standard error and halt execution.
"},"Functions.html#/s:10SwiftShell2eeoiSbAA12CommandErrorO_ADtF":{"name":"==(_:_:)","abstract":"Undocumented
"},"Functions.html#/s:10SwiftShell3runAA9RunOutputCSS_SayypGdSb07combineE0tF":{"name":"run(_:_:combineOutput:)","abstract":"Runs a command.
"},"Functions.html#/s:10SwiftShell8runAsyncAA0D7CommandCSS_SayypGdSS4fileSi4linetF":{"name":"runAsync(_:_:file:line:)","abstract":"Run executable and return before it is finished.
"},"Functions.html#/s:10SwiftShell11runAndPrintySS_SayypGdtKF":{"name":"runAndPrint(_:_:)","abstract":"Run executable and print output and errors.
"},"Functions.html#/s:10SwiftShell1poi10Foundation3URLVAE_SStF":{"name":"+(_:_:)","abstract":"Append file or directory url to directory url
"},"Functions.html#/s:10SwiftShell4openAA14ReadableStream_pSS_SS10FoundationE8EncodingV8encodingtKF":{"name":"open(_:encoding:)","abstract":"Open a file for reading, throw if an error occurs.
"},"Functions.html#/s:10SwiftShell4openAA14ReadableStream_p10Foundation3URLV_SSADE8EncodingV8encodingtKF":{"name":"open(_:encoding:)","abstract":"Open a file for reading, throw if an error occurs.
"},"Functions.html#/s:10SwiftShell4openAA14WritableStream_p10Foundation3URLV10forWriting_Sb9overwriteSSADE8EncodingV8encodingtKF":{"name":"open(forWriting:overwrite:encoding:)","abstract":"Open a file for writing, create it first if it doesn’t exist."},"Functions.html#/s:10SwiftShell4openAA14WritableStream_pSS10forWriting_Sb9overwriteSS10FoundationE8EncodingV8encodingtKF":{"name":"open(forWriting:overwrite:encoding:)","abstract":"
Open a file for writing, create it first if it doesn’t exist."},"Functions.html#/s:10SwiftShell7streamsAA14WritableStream_p_AA08ReadableE0_ptyF":{"name":"streams()","abstract":"
Creates a pair of streams. What is written to the 1st one can be read from the 2nd one.
"},"Extensions/String.html#/s:SS10SwiftShellE7contextAA7Context_pv":{"name":"context","abstract":"Undocumented
","parent_name":"String"},"Extensions/String.html#/s:SS10SwiftShellE5linesSaySSGyF":{"name":"lines()","abstract":"Split text into lines (as separated by newlines).
","parent_name":"String"},"Extensions/LazyCollectionProtocol.html#/s:s22LazyCollectionProtocolP10SwiftShellsAARzs9Equatable7ElementRpzs0B08Elements_11SubSequenceRPzlE5splitAC0a5SplitJ0VyAHQzGAF9separator_Sb16allowEmptySlicestF":{"name":"split(separator:allowEmptySlices:)","abstract":"Creates a lazy sequence by splitting this Collection repeatedly.
","parent_name":"LazyCollectionProtocol"},"Extensions/FileHandle.html#/nullDev":{"name":"nullDev","abstract":"Returns ’/dev/null’. ‘nullDevice’ has not been implemented yet in Swift Foundation.
","parent_name":"FileHandle"},"Extensions/FileHandle.html#/s:So10FileHandleC10SwiftShellE7nullDevABvZ":{"name":"nullDev","abstract":"Returns ’.nullDevice’. ‘nullDevice’ has not been implemented yet in Swift Foundation.
","parent_name":"FileHandle"},"Extensions/FileHandle.html#/s:So10FileHandleC10SwiftShellE8readSomeSSSgSS10FoundationE8EncodingV8encoding_tF":{"name":"readSome(encoding:)","abstract":"Read what is available, as a String.
","parent_name":"FileHandle"},"Extensions/FileHandle.html#/s:So10FileHandleC10SwiftShellE4readS2S10FoundationE8EncodingV8encoding_tF":{"name":"read(encoding:)","abstract":"Read to the end, as a String.
","parent_name":"FileHandle"},"Extensions/FileHandle.html#/s:So10FileHandleC10SwiftShellE5writeySS_SS10FoundationE8EncodingV8encodingtF":{"name":"write(_:encoding:)","abstract":"Undocumented
","parent_name":"FileHandle"},"Extensions/Process.html#/s:So7ProcessC10SwiftShellE15launchThrowablyyyKF":{"name":"launchThrowably()","abstract":"Launch process.
","parent_name":"Process"},"Extensions/Process.html#/s:So7ProcessC10SwiftShellE6finishyyKF":{"name":"finish()","abstract":"Wait until process is finished.
","parent_name":"Process"},"Extensions/Process.html":{"name":"Process"},"Extensions/FileHandle.html":{"name":"FileHandle"},"Extensions/LazyCollectionProtocol.html":{"name":"LazyCollectionProtocol"},"Extensions/String.html":{"name":"String","abstract":"Let Strings run commands using itself as stdin.
"},"Enums/FileError.html#/s:10SwiftShell9FileErrorO8notFoundACSS4path_tcACmF":{"name":"notFound","abstract":"Undocumented
","parent_name":"FileError"},"Enums/FileError.html#/s:10SwiftShell9FileErrorO05checkC0ySSKFZ":{"name":"checkFile(_:)","abstract":"Undocumented
","parent_name":"FileError"},"Enums/FileError.html#/s:s23CustomStringConvertibleP11descriptionSSv":{"name":"description","parent_name":"FileError"},"Enums/CommandError.html#/s:10SwiftShell12CommandErrorO08returnedD4CodeACSS7command_Si9errorcodetcACmF":{"name":"returnedErrorCode","abstract":"Exit code was not zero.
","parent_name":"CommandError"},"Enums/CommandError.html#/s:10SwiftShell12CommandErrorO22inAccessibleExecutableACSS4path_tcACmF":{"name":"inAccessibleExecutable","abstract":"Command could not be executed.
","parent_name":"CommandError"},"Enums/CommandError.html#/s:10SwiftShell12CommandErrorO9errorcodeSiv":{"name":"errorcode","abstract":"Exit code for this error.
","parent_name":"CommandError"},"Enums/CommandError.html#/s:s23CustomStringConvertibleP11descriptionSSv":{"name":"description","parent_name":"CommandError"},"Enums/CommandError.html":{"name":"CommandError","abstract":"Error type for commands.
"},"Enums/FileError.html":{"name":"FileError","abstract":"Error type for file commands.
"},"Global Variables.html#/s:10SwiftShell4mainAA11MainContextCv":{"name":"main","abstract":"Undocumented
"},"Global Variables.html#/s:10SwiftShell5FilesSo11FileManagerCv":{"name":"Files","abstract":"The default FileManager
"},"Classes/FileHandleStream.html#/s:10SwiftShell16FileHandleStreamC10filehandleSo0cD0Cv":{"name":"filehandle","abstract":"Undocumented
","parent_name":"FileHandleStream"},"Classes/FileHandleStream.html#/s:10SwiftShell16FileHandleStreamC8encodingSS10FoundationE8EncodingVv":{"name":"encoding","abstract":"Undocumented
","parent_name":"FileHandleStream"},"Classes/FileHandleStream.html#/s:10SwiftShell16FileHandleStreamCACSo0cD0C_SS10FoundationE8EncodingV8encodingtcfc":{"name":"init(_:encoding:)","abstract":"Undocumented
","parent_name":"FileHandleStream"},"Classes/StdoutStream.html#/s:10SwiftShell12StdoutStreamC8encodingSS10FoundationE8EncodingVv":{"name":"encoding","abstract":"Undocumented
","parent_name":"StdoutStream"},"Classes/StdoutStream.html#/s:10SwiftShell12StdoutStreamC10filehandleSo10FileHandleCv":{"name":"filehandle","abstract":"Undocumented
","parent_name":"StdoutStream"},"Classes/StdoutStream.html#/s:10SwiftShell12StdoutStreamC7defaultACvZ":{"name":"default","abstract":"Undocumented
","parent_name":"StdoutStream"},"Classes/StdoutStream.html#/s:10SwiftShell14WritableStreamP5writeySSF":{"name":"write(_:)","parent_name":"StdoutStream"},"Classes/StdoutStream.html#/s:10SwiftShell14WritableStreamP5closeyyF":{"name":"close()","parent_name":"StdoutStream"},"Classes/Signals/Signal.html#/s:10SwiftShell7SignalsC6SignalO3hupA2EmF":{"name":"hup","abstract":"Undocumented
","parent_name":"Signal"},"Classes/Signals/Signal.html#/s:10SwiftShell7SignalsC6SignalO3intA2EmF":{"name":"int","abstract":"Undocumented
","parent_name":"Signal"},"Classes/Signals/Signal.html#/s:10SwiftShell7SignalsC6SignalO4quitA2EmF":{"name":"quit","abstract":"Undocumented
","parent_name":"Signal"},"Classes/Signals/Signal.html#/s:10SwiftShell7SignalsC6SignalO4abrtA2EmF":{"name":"abrt","abstract":"Undocumented
","parent_name":"Signal"},"Classes/Signals/Signal.html#/s:10SwiftShell7SignalsC6SignalO4killA2EmF":{"name":"kill","abstract":"Undocumented
","parent_name":"Signal"},"Classes/Signals/Signal.html#/s:10SwiftShell7SignalsC6SignalO4alrmA2EmF":{"name":"alrm","abstract":"Undocumented
","parent_name":"Signal"},"Classes/Signals/Signal.html#/s:10SwiftShell7SignalsC6SignalO4termA2EmF":{"name":"term","abstract":"Undocumented
","parent_name":"Signal"},"Classes/Signals/Signal.html#/s:10SwiftShell7SignalsC6SignalO4pipeA2EmF":{"name":"pipe","abstract":"Undocumented
","parent_name":"Signal"},"Classes/Signals/Signal.html#/s:10SwiftShell7SignalsC6SignalO4userAESicAEmF":{"name":"user","abstract":"Undocumented
","parent_name":"Signal"},"Classes/Signals/Signal.html#/s:10SwiftShell7SignalsC6SignalO7valueOfs5Int32Vv":{"name":"valueOf","abstract":"Obtain the OS dependent value of a Signal
","parent_name":"Signal"},"Classes/Signals/Signal.html":{"name":"Signal","abstract":"Common OS Signals
","parent_name":"Signals"},"Classes/Signals.html#/s:10SwiftShell7SignalsC16SigActionHandlera":{"name":"SigActionHandler","abstract":"Action handler signature.
","parent_name":"Signals"},"Classes/Signals.html#/s:10SwiftShell7SignalsC4trapyAC6SignalO6signal_ys5Int32VXC6actiontFZ":{"name":"trap(signal:action:)","abstract":"Trap an operating system signal.
","parent_name":"Signals"},"Classes/Signals.html#/s:10SwiftShell7SignalsC4trapySayAC6SignalO6signal_ys5Int32VXC6actiontG7signals_tFZ":{"name":"trap(signals:)","abstract":"Trap multiple signals to individual handlers
","parent_name":"Signals"},"Classes/Signals.html#/s:10SwiftShell7SignalsC4trapySayAC6SignalOG7signals_ys5Int32VXC6actiontFZ":{"name":"trap(signals:action:)","abstract":"Trap multiple signals to a single handler
","parent_name":"Signals"},"Classes/Signals.html#/s:10SwiftShell7SignalsC5raiseyAC6SignalO6signal_tFZ":{"name":"raise(signal:)","abstract":"Raise an operating system signal
","parent_name":"Signals"},"Classes/Signals.html#/s:10SwiftShell7SignalsC6ignoreyAC6SignalO6signal_tFZ":{"name":"ignore(signal:)","abstract":"Ignore a signal
","parent_name":"Signals"},"Classes/Signals.html#/s:10SwiftShell7SignalsC7restoreyAC6SignalO6signal_tFZ":{"name":"restore(signal:)","abstract":"Restore default signal handling
","parent_name":"Signals"},"Classes/MainContext.html#/s:10SwiftShell11MainContextC8encodingSS10FoundationE8EncodingVv":{"name":"encoding","abstract":"The default character encoding used throughout SwiftShell.
","parent_name":"MainContext"},"Classes/MainContext.html#/s:10SwiftShell11MainContextC3envs10DictionaryVyS2SGv":{"name":"env","abstract":"Undocumented
","parent_name":"MainContext"},"Classes/MainContext.html#/s:10SwiftShell11MainContextC5stdinAA14ReadableStream_pv":{"name":"stdin","abstract":"Undocumented
","parent_name":"MainContext"},"Classes/MainContext.html#/s:10SwiftShell11MainContextC6stdoutAA14WritableStream_pv":{"name":"stdout","abstract":"Undocumented
","parent_name":"MainContext"},"Classes/MainContext.html#/s:10SwiftShell11MainContextC8stderrorAA14WritableStream_pv":{"name":"stderror","abstract":"Undocumented
","parent_name":"MainContext"},"Classes/MainContext.html#/s:10SwiftShell11MainContextC16currentdirectorySSv":{"name":"currentdirectory","abstract":"The current working directory.
","parent_name":"MainContext"},"Classes/MainContext.html#/s:10SwiftShell11MainContextC13tempdirectorySSv":{"name":"tempdirectory","abstract":"The tempdirectory is unique each time a script is run and is created the first time it is used.","parent_name":"MainContext"},"Classes/MainContext.html#/s:10SwiftShell11MainContextC9argumentsSaySSGv":{"name":"arguments","abstract":"
The arguments this executable was launched with. Use main.path to get the path.
","parent_name":"MainContext"},"Classes/MainContext.html#/s:10SwiftShell11MainContextC4pathSSv":{"name":"path","abstract":"The path to the currently running executable. Will be empty in playgrounds.
","parent_name":"MainContext"},"Classes/AsyncCommand.html#/s:10SwiftShell12AsyncCommandC6stdoutAA14ReadableStream_pv":{"name":"stdout","abstract":"Undocumented
","parent_name":"AsyncCommand"},"Classes/AsyncCommand.html#/s:10SwiftShell12AsyncCommandC8stderrorAA14ReadableStream_pv":{"name":"stderror","abstract":"Undocumented
","parent_name":"AsyncCommand"},"Classes/AsyncCommand.html#/s:10SwiftShell12AsyncCommandC9isRunningSbv":{"name":"isRunning","abstract":"Is the command still running?
","parent_name":"AsyncCommand"},"Classes/AsyncCommand.html#/s:10SwiftShell12AsyncCommandC4stopyyF":{"name":"stop()","abstract":"Terminates command.
","parent_name":"AsyncCommand"},"Classes/AsyncCommand.html#/s:10SwiftShell12AsyncCommandC6finishACyKF":{"name":"finish()","abstract":"Wait for this command to finish.
","parent_name":"AsyncCommand"},"Classes/AsyncCommand.html#/s:10SwiftShell12AsyncCommandC8exitcodeSiyF":{"name":"exitcode()","abstract":"Wait for command to finish, then return with exit code.
","parent_name":"AsyncCommand"},"Classes/AsyncCommand.html#/s:10SwiftShell12AsyncCommandC12onCompletionACyACcF":{"name":"onCompletion(_:)","abstract":"Takes a closure to be called when the command has finished.
","parent_name":"AsyncCommand"},"Classes/RunOutput.html#/s:10SwiftShell9RunOutputC5errorAA12CommandErrorOSgv":{"name":"error","abstract":"The error from running the command, if any.
","parent_name":"RunOutput"},"Classes/RunOutput.html#/s:10SwiftShell9RunOutputC6stdoutSSv":{"name":"stdout","abstract":"Standard output, trimmed for whitespace and newline if it is single-line.
","parent_name":"RunOutput"},"Classes/RunOutput.html#/s:10SwiftShell9RunOutputC8stderrorSSv":{"name":"stderror","abstract":"Standard error, trimmed for whitespace and newline if it is single-line.
","parent_name":"RunOutput"},"Classes/RunOutput.html#/s:10SwiftShell9RunOutputC8exitcodeSiv":{"name":"exitcode","abstract":"The exit code of the command. Anything but 0 means there was an error.
","parent_name":"RunOutput"},"Classes/RunOutput.html#/s:10SwiftShell9RunOutputC9succeededSbv":{"name":"succeeded","abstract":"Checks if the exit code is 0.
","parent_name":"RunOutput"},"Classes/RunOutput.html#/s:10SwiftShell9RunOutputC2aaoiA2C_ACyXKtFZ":{"name":"&&(_:_:)","abstract":"Run the first command, then the second one only if the first succeeded.
","parent_name":"RunOutput"},"Classes/RunOutput.html#/s:10SwiftShell9RunOutputC2oooiA2C_ACyXKtFZ":{"name":"||(_:_:)","abstract":"Run the first command, then the second one only if the first failed.
","parent_name":"RunOutput"},"Classes/RunOutput.html":{"name":"RunOutput","abstract":"Output from a run command.
"},"Classes/AsyncCommand.html":{"name":"AsyncCommand","abstract":"Output from the ‘runAsync’ methods.
"},"Classes/MainContext.html":{"name":"MainContext","abstract":"Undocumented
"},"Classes/Signals.html":{"name":"Signals","abstract":"Undocumented
"},"Classes/StdoutStream.html":{"name":"StdoutStream","abstract":"Singleton WritableStream used only for printing to stdout.
"},"Classes/FileHandleStream.html":{"name":"FileHandleStream","abstract":"Undocumented
"},"Classes.html":{"name":"Classes","abstract":"The following classes are available globally.
"},"Global Variables.html":{"name":"Global Variables","abstract":"The following global variables are available globally.
"},"Enums.html":{"name":"Enumerations","abstract":"The following enumerations are available globally.
"},"Extensions.html":{"name":"Extensions","abstract":"The following extensions are available globally.
"},"Functions.html":{"name":"Functions","abstract":"The following functions are available globally.
"},"Protocols.html":{"name":"Protocols","abstract":"The following protocols are available globally.
"},"Structs.html":{"name":"Structures","abstract":"The following structures are available globally.
"}}
\ No newline at end of file
diff --git a/docsets/SwiftShell.docset/Contents/Resources/Documents/undocumented.json b/docsets/SwiftShell.docset/Contents/Resources/Documents/undocumented.json
deleted file mode 100644
index ace042c..0000000
--- a/docsets/SwiftShell.docset/Contents/Resources/Documents/undocumented.json
+++ /dev/null
@@ -1,299 +0,0 @@
-{
- "warnings": [
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Command.swift",
- "line": 48,
- "symbol": "CommandRunning.context",
- "symbol_kind": "source.lang.swift.decl.var.instance",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Command.swift",
- "line": 52,
- "symbol": "CommandRunning.context",
- "symbol_kind": "source.lang.swift.decl.var.instance",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Command.swift",
- "line": 119,
- "symbol": "==(_:_:)",
- "symbol_kind": "source.lang.swift.decl.function.free",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Command.swift",
- "line": 259,
- "symbol": "AsyncCommand.stdout",
- "symbol_kind": "source.lang.swift.decl.var.instance",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Command.swift",
- "line": 260,
- "symbol": "AsyncCommand.stderror",
- "symbol_kind": "source.lang.swift.decl.var.instance",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Context.swift",
- "line": null,
- "symbol": "Context",
- "symbol_kind": "source.lang.swift.decl.extension",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Context.swift",
- "line": 12,
- "symbol": "Context",
- "symbol_kind": "source.lang.swift.decl.protocol",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Context.swift",
- "line": 13,
- "symbol": "Context.env",
- "symbol_kind": "source.lang.swift.decl.var.instance",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Context.swift",
- "line": 14,
- "symbol": "Context.stdin",
- "symbol_kind": "source.lang.swift.decl.var.instance",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Context.swift",
- "line": 15,
- "symbol": "Context.stdout",
- "symbol_kind": "source.lang.swift.decl.var.instance",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Context.swift",
- "line": 16,
- "symbol": "Context.stderror",
- "symbol_kind": "source.lang.swift.decl.var.instance",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Context.swift",
- "line": 37,
- "symbol": "CustomContext",
- "symbol_kind": "source.lang.swift.decl.struct",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Context.swift",
- "line": 38,
- "symbol": "CustomContext.env",
- "symbol_kind": "source.lang.swift.decl.var.instance",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Context.swift",
- "line": 39,
- "symbol": "CustomContext.stdin",
- "symbol_kind": "source.lang.swift.decl.var.instance",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Context.swift",
- "line": 40,
- "symbol": "CustomContext.stdout",
- "symbol_kind": "source.lang.swift.decl.var.instance",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Context.swift",
- "line": 41,
- "symbol": "CustomContext.stderror",
- "symbol_kind": "source.lang.swift.decl.var.instance",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Context.swift",
- "line": 92,
- "symbol": "MainContext",
- "symbol_kind": "source.lang.swift.decl.class",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Context.swift",
- "line": 100,
- "symbol": "MainContext.env",
- "symbol_kind": "source.lang.swift.decl.var.instance",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Context.swift",
- "line": 101,
- "symbol": "MainContext.stdin",
- "symbol_kind": "source.lang.swift.decl.var.instance",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Context.swift",
- "line": 102,
- "symbol": "MainContext.stdout",
- "symbol_kind": "source.lang.swift.decl.var.instance",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Context.swift",
- "line": 103,
- "symbol": "MainContext.stderror",
- "symbol_kind": "source.lang.swift.decl.var.instance",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Context.swift",
- "line": 138,
- "symbol": "main",
- "symbol_kind": "source.lang.swift.decl.var.global",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Files.swift",
- "line": 23,
- "symbol": "FileError.notFound",
- "symbol_kind": "source.lang.swift.decl.enumelement",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Files.swift",
- "line": 25,
- "symbol": "FileError.checkFile(_:)",
- "symbol_kind": "source.lang.swift.decl.function.method.static",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Stream/Lazy-split.swift",
- "line": 26,
- "symbol": "LazySplitSequence.remaining",
- "symbol_kind": "source.lang.swift.decl.var.instance",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Stream/Lazy-split.swift",
- "line": 27,
- "symbol": "LazySplitSequence.separator",
- "symbol_kind": "source.lang.swift.decl.var.instance",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Stream/Lazy-split.swift",
- "line": 28,
- "symbol": "LazySplitSequence.allowEmptySlices",
- "symbol_kind": "source.lang.swift.decl.var.instance",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Stream/Stream.swift",
- "line": 38,
- "symbol": "FileHandle.write(_:encoding:)",
- "symbol_kind": "source.lang.swift.decl.function.method.instance",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Stream/Stream.swift",
- "line": 56,
- "symbol": "ReadableStream.encoding",
- "symbol_kind": "source.lang.swift.decl.var.instance",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Stream/Stream.swift",
- "line": 57,
- "symbol": "ReadableStream.filehandle",
- "symbol_kind": "source.lang.swift.decl.var.instance",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Stream/Stream.swift",
- "line": 94,
- "symbol": "ReadableStream.context",
- "symbol_kind": "source.lang.swift.decl.var.instance",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Stream/Stream.swift",
- "line": 142,
- "symbol": "WritableStream.encoding",
- "symbol_kind": "source.lang.swift.decl.var.instance",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Stream/Stream.swift",
- "line": 143,
- "symbol": "WritableStream.filehandle",
- "symbol_kind": "source.lang.swift.decl.var.instance",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Stream/Stream.swift",
- "line": 154,
- "symbol": "WritableStream.write(_:)",
- "symbol_kind": "source.lang.swift.decl.function.method.instance",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Stream/Stream.swift",
- "line": 190,
- "symbol": "StdoutStream.encoding",
- "symbol_kind": "source.lang.swift.decl.var.instance",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Stream/Stream.swift",
- "line": 191,
- "symbol": "StdoutStream.filehandle",
- "symbol_kind": "source.lang.swift.decl.var.instance",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Stream/Stream.swift",
- "line": 195,
- "symbol": "StdoutStream.default",
- "symbol_kind": "source.lang.swift.decl.var.static",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Stream/Stream.swift",
- "line": 204,
- "symbol": "FileHandleStream",
- "symbol_kind": "source.lang.swift.decl.class",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Stream/Stream.swift",
- "line": 205,
- "symbol": "FileHandleStream.filehandle",
- "symbol_kind": "source.lang.swift.decl.var.instance",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Stream/Stream.swift",
- "line": 206,
- "symbol": "FileHandleStream.encoding",
- "symbol_kind": "source.lang.swift.decl.var.instance",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/Stream/Stream.swift",
- "line": 208,
- "symbol": "FileHandleStream.init(_:encoding:)",
- "symbol_kind": "source.lang.swift.decl.function.method.instance",
- "warning": "undocumented"
- },
- {
- "file": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3/Sources/SwiftShell/String.swift",
- "line": 14,
- "symbol": "String.context",
- "symbol_kind": "source.lang.swift.decl.var.instance",
- "warning": "undocumented"
- }
- ],
- "source_directory": "/Users/karemorstol/Programming/SwiftShell/SwiftShell3"
-}
\ No newline at end of file
diff --git a/docsets/SwiftShell.docset/Contents/Resources/docSet.dsidx b/docsets/SwiftShell.docset/Contents/Resources/docSet.dsidx
index db35714e279c760cc93ba338ddace38107deae6e..e4b23e8e3f4e760f175200bd1d2a1d51a68257e7 100644
GIT binary patch
literal 49152
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
literal 45056
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
diff --git a/docsets/SwiftShell.tgz b/docsets/SwiftShell.tgz
index 72813679093370d646ee28c094013bec6cd766d0..8ce7eaefc821ff487181fb314e673ca3c19adbed 100644
GIT binary patch
literal 85719
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