##Adding Swift Build System
- Open Sublime Text 3
- Go To
Preferences > Browse Packages...
- Add a file named
Swift.sublime-build
insidePackages
directory. - Copy the following script in
Swift.sublime-build
file.
{
"shell_cmd": "xcrun swift $file",
#!/bin/bash | |
# | |
# hook script for swiftlint. It will triggered when you make a commit. | |
# | |
#TODO: move this content to separate file ('lint'), add separate file for swiftformat ('format'), use them here in pre-commit | |
GUI=0 | |
LINT_PATH_FOR_GUI="/usr/local/bin/swiftlint" |
//: A UIKit based Playground for presenting user interface | |
import UIKit | |
import PlaygroundSupport | |
let container = UIView(frame: CGRect(x: 0, y: 0, width: 500, height: 200)) | |
container.backgroundColor = .lightGray | |
class MyView: UIView { |
extension UIFont { | |
/** | |
Will return the best font conforming to the descriptor which will fit in the provided bounds. | |
*/ | |
static func bestFittingFontSize(for text: String, in bounds: CGRect, fontDescriptor: UIFontDescriptor, additionalAttributes: [NSAttributedStringKey: Any]? = nil) -> CGFloat { | |
let constrainingDimension = min(bounds.width, bounds.height) | |
let properBounds = CGRect(origin: .zero, size: bounds.size) | |
var attributes = additionalAttributes ?? [:] | |
/// Core Animation doesn't support chaining of animations by default. The `CAAnimationChain` class adds this ability. | |
/// The `CAAnimationSet` struct holds animation set for one target, and `CAAnimationChain` accepts an array of | |
/// `CAAnimationSet`s to support multiple targets. | |
import Foundation | |
class CAAnimationChain: NSObject, CAAnimationDelegate { | |
private var animationSets: [CAAnimationSet] | |
private let completion: (() -> Void)? |
// Public domain - https://gist.github.com/nolanw/dff7cc5d5570b030d6ba385698348b7c | |
import Foundation | |
extension URLRequest { | |
/** | |
Configures the URL request for `multipart/form-data`. The request's `httpBody` is set, and a value is set for the HTTP header field `Content-Type`. | |
- Parameter parameters: The form data to set. |
import SwiftUI | |
import WidgetKit | |
struct WaterAppTimelineProvider: TimelineProvider { | |
func placeholder(in context: Self.Context) -> WaterAppWidgetEntry { | |
return .previewData | |
} | |
func getSnapshot(in context: Self.Context, completion: @escaping (WaterAppWidgetEntry) -> Void) { |
#!/bin/bash | |
JIRA_TAG_PATTERN="mob-[0-9]+" | |
BRANCH_NAME=$(git rev-parse --abbrev-ref HEAD 2> /dev/null \ | |
| grep -oiE "$JIRA_TAG_PATTERN" \ | |
| tr '[:lower:]' '[:upper:]') | |
USER_MSG=$(cat $1) | |
MSG=$(echo $USER_MSG | tr '[:upper:]' '[:lower:]') |
#import <UIKit/UIKit.h> | |
@interface NumberPadDoneBtn : UIView | |
@end | |
@interface NumberPadButton : UIButton | |
@end |
// https://noahgilmore.com/blog/nesting-property-wrappers | |
import Cocoa | |
protocol Appendable { | |
func appending(string: String) -> Self | |
} | |
extension String: Appendable { | |
func appending(string: String) -> String { |
##Adding Swift Build System
Preferences > Browse Packages...
Swift.sublime-build
inside Packages
directory.Swift.sublime-build
file.{
"shell_cmd": "xcrun swift $file",