From 969bc2dee31de84ecaae12e1f14a3e4712a00ebc Mon Sep 17 00:00:00 2001 From: meeh <meeh@mail.i2p> Date: Thu, 11 Oct 2018 16:48:10 +0000 Subject: [PATCH] OSX Launcher: String extensions update --- .../I2PLauncher/Utils/StringExtensions.swift | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/launchers/macosx/I2PLauncher/Utils/StringExtensions.swift b/launchers/macosx/I2PLauncher/Utils/StringExtensions.swift index 1bd3f1898a..5bce392d55 100644 --- a/launchers/macosx/I2PLauncher/Utils/StringExtensions.swift +++ b/launchers/macosx/I2PLauncher/Utils/StringExtensions.swift @@ -31,5 +31,44 @@ extension String { public func splitByColon() -> [String] { return self.split { $0 == ":" }.map(String.init) } + + func leftPadding(toLength: Int, withPad character: Character) -> String { + let stringLength = self.count + if stringLength < toLength { + return String(repeatElement(character, count: toLength - stringLength)) + self + } else { + return String(self.suffix(toLength)) + } + } +} + + +extension String { + subscript (i: Int) -> Character { + return self[index(startIndex, offsetBy: i)] + } + subscript (bounds: CountableRange<Int>) -> Substring { + let start = index(startIndex, offsetBy: bounds.lowerBound) + let end = index(startIndex, offsetBy: bounds.upperBound) + return self[start ..< end] + } + subscript (bounds: CountableClosedRange<Int>) -> Substring { + let start = index(startIndex, offsetBy: bounds.lowerBound) + let end = index(startIndex, offsetBy: bounds.upperBound) + return self[start ... end] + } + subscript (bounds: CountablePartialRangeFrom<Int>) -> Substring { + let start = index(startIndex, offsetBy: bounds.lowerBound) + let end = index(endIndex, offsetBy: -1) + return self[start ... end] + } + subscript (bounds: PartialRangeThrough<Int>) -> Substring { + let end = index(startIndex, offsetBy: bounds.upperBound) + return self[startIndex ... end] + } + subscript (bounds: PartialRangeUpTo<Int>) -> Substring { + let end = index(startIndex, offsetBy: bounds.upperBound) + return self[startIndex ..< end] + } } -- GitLab