Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 7 additions & 4 deletions cookiecutter.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
{
"short_name": "MyNewPlugin",
"author": "Your Name",
"description": "One line description of the plug-in"
}
"plugin_name": null,
"author": null,
"description": null,
"__prompts__": {
"plugin_name": "Plugin Name (strongly suggested to use 'QS' prefix, e.g. 'QSMyNewPlugin'):"
}
}
5 changes: 5 additions & 0 deletions {{cookiecutter.plugin_name}}/Documentation.mdown
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# {{cookiecutter.plugin_name}} #

## {{cookiecutter.description}} ##

Documentation for {{cookiecutter.plugin_name}}
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
//
// QS{{cookiecutter.short_name}}_Unit_Tests.swift
// QS{{cookiecutter.short_name}} Unit Tests
// {{cookiecutter.plugin_name}}_Unit_Tests.swift
// {{cookiecutter.plugin_name}} Unit Tests
//
// Created by Nathan Henrie on 2022-09-11.
// Copyright © 2022 Quicksilver. All rights reserved.
//

import XCTest

import QS{{cookiecutter.short_name}}
import {{cookiecutter.plugin_name}}

class QS{{cookiecutter.short_name}}_Unit_Tests: XCTestCase {
class {{cookiecutter.plugin_name}}_Unit_Tests: XCTestCase {

override func setUpWithError() throws {
// Put setup code here. This method is called before the invocation of each test method in the class.
Expand All @@ -21,7 +21,7 @@ class QS{{cookiecutter.short_name}}_Unit_Tests: XCTestCase {
}

func testExample() throws {
let action = QS{{cookiecutter.short_name}}SwiftAction()
let action = {{cookiecutter.plugin_name}}SwiftAction()
let result = action.performSwiftActionOnObject(QSObject(string:"example input")!)
XCTAssertEqual(result, QSObject(string:"here it comes!")!)
// This is an example of a functional test case.
Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "D434B7701FC8FFC7007AF9C3"
BuildableName = "QS{{cookiecutter.short_name}}.qsplugin"
BlueprintName = "QS{{cookiecutter.short_name}}"
ReferencedContainer = "container:QS{{cookiecutter.short_name}}.xcodeproj">
BuildableName = "{{cookiecutter.plugin_name}}.qsplugin"
BlueprintName = "{{cookiecutter.plugin_name}}"
ReferencedContainer = "container:{{cookiecutter.plugin_name}}.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
Expand All @@ -29,7 +29,7 @@
shouldUseLaunchSchemeArgsEnv = "YES">
<TestPlans>
<TestPlanReference
reference = "container:QS{{cookiecutter.short_name}}.xctestplan"
reference = "container:{{cookiecutter.plugin_name}}.xctestplan"
default = "YES">
</TestPlanReference>
</TestPlans>
Expand Down Expand Up @@ -59,9 +59,9 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "D434B7701FC8FFC7007AF9C3"
BuildableName = "QS{{cookiecutter.short_name}}.qsplugin"
BlueprintName = "QS{{cookiecutter.short_name}}"
ReferencedContainer = "container:QS{{cookiecutter.short_name}}.xcodeproj">
BuildableName = "{{cookiecutter.plugin_name}}.qsplugin"
BlueprintName = "{{cookiecutter.plugin_name}}"
ReferencedContainer = "container:{{cookiecutter.plugin_name}}.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@
"testTargets" : [
{
"target" : {
"containerPath" : "container:QS{{cookiecutter.short_name}}.xcodeproj",
"containerPath" : "container:{{cookiecutter.plugin_name}}.xcodeproj",
"identifier" : "603AE8EE28CE5ED700C67DD0",
"name" : "QS{{cookiecutter.short_name}} Unit Tests"
"name" : "{{cookiecutter.plugin_name}} Unit Tests"
}
}
],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>com.qsapp.{{cookiecutter.short_name}}Plugin</string>
<string>com.qsapp.{{cookiecutter.plugin_name}}Plugin</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
Expand All @@ -17,20 +17,20 @@
<key>CFBundleVersion</key>
<string>1</string>
<key>CFBundleDisplayName</key>
<string>{{cookiecutter.short_name}} Plugin</string>
<string>{{cookiecutter.plugin_name}} Plugin</string>
<key>QSActions</key>
<dict>
<key>DoSomethingAction</key>
<dict>
<key>actionClass</key>
<string>QS{{cookiecutter.short_name}}Action</string>
<string>{{cookiecutter.plugin_name}}Action</string>
<key>actionSelector</key>
<string>performActionOnObject:</string>
<key>commandFormat</key>
<string>Do something to %@</string>
<key>directTypes</key>
<array>
<string>QS{{cookiecutter.short_name}}Type</string>
<string>{{cookiecutter.plugin_name}}Type</string>
<string>NSStringPboardType</string>
</array>
<key>displaysResult</key>
Expand All @@ -45,14 +45,14 @@
<key>DoSomethingUsingAction</key>
<dict>
<key>actionClass</key>
<string>QS{{cookiecutter.short_name}}Action</string>
<string>{{cookiecutter.plugin_name}}Action</string>
<key>actionSelector</key>
<string>performActionOnObject:using:</string>
<key>commandFormat</key>
<string>Do something to %@ using %@</string>
<key>directTypes</key>
<array>
<string>QS{{cookiecutter.short_name}}Type</string>
<string>{{cookiecutter.plugin_name}}Type</string>
<string>NSStringPboardType</string>
</array>
<key>displaysResult</key>
Expand All @@ -63,7 +63,7 @@
<false/>
<key>indirectTypes</key>
<array>
<string>QS{{cookiecutter.short_name}}Type</string>
<string>{{cookiecutter.plugin_name}}Type</string>
<string>NSStringPboardType</string>
</array>
<key>name</key>
Expand All @@ -74,14 +74,14 @@
<key>DoSomethingInSwiftAction</key>
<dict>
<key>actionClass</key>
<string>QS{{cookiecutter.short_name}}.QS{{cookiecutter.short_name}}SwiftAction</string>
<string>{{cookiecutter.plugin_name}}.{{cookiecutter.plugin_name}}SwiftAction</string>
<key>actionSelector</key>
<string>performSwiftActionOnObject:</string>
<key>commandFormat</key>
<string>Do Something in Swift to %@</string>
<key>directTypes</key>
<array>
<string>QS{{cookiecutter.short_name}}Type</string>
<string>{{cookiecutter.plugin_name}}Type</string>
<string>NSStringPboardType</string>
</array>
<key>displaysResult</key>
Expand All @@ -96,14 +96,14 @@
<key>DoSomethingInSwiftUsingAction</key>
<dict>
<key>actionClass</key>
<string>QS{{cookiecutter.short_name}}.QS{{cookiecutter.short_name}}SwiftAction</string>
<string>{{cookiecutter.plugin_name}}.{{cookiecutter.plugin_name}}SwiftAction</string>
<key>actionSelector</key>
<string>performSwiftActionOnObject:using:</string>
<key>commandFormat</key>
<string>Do something in Swift to %@ using %@</string>
<key>directTypes</key>
<array>
<string>QS{{cookiecutter.short_name}}Type</string>
<string>{{cookiecutter.plugin_name}}Type</string>
<string>NSStringPboardType</string>
</array>
<key>displaysResult</key>
Expand All @@ -114,7 +114,7 @@
<false/>
<key>indirectTypes</key>
<array>
<string>QS{{cookiecutter.short_name}}Type</string>
<string>{{cookiecutter.plugin_name}}Type</string>
<string>NSStringPboardType</string>
</array>
<key>name</key>
Expand All @@ -125,14 +125,14 @@
<key>DoSomethingInSwiftFromObjCAction</key>
<dict>
<key>actionClass</key>
<string>QS{{cookiecutter.short_name}}.QS{{cookiecutter.short_name}}SwiftAction</string>
<string>{{cookiecutter.plugin_name}}.{{cookiecutter.plugin_name}}SwiftAction</string>
<key>actionSelector</key>
<string>performSwiftActionFromObjC:</string>
<key>commandFormat</key>
<string>Do Something in Swift from ObjC to %@</string>
<key>directTypes</key>
<array>
<string>QS{{cookiecutter.short_name}}Type</string>
<string>{{cookiecutter.plugin_name}}Type</string>
<string>NSStringPboardType</string>
</array>
<key>displaysResult</key>
Expand All @@ -147,14 +147,14 @@
<key>DoSomethingInSwiftFromObjCUsingAction</key>
<dict>
<key>actionClass</key>
<string>QS{{cookiecutter.short_name}}.QS{{cookiecutter.short_name}}SwiftAction</string>
<string>{{cookiecutter.plugin_name}}.{{cookiecutter.plugin_name}}SwiftAction</string>
<key>actionSelector</key>
<string>performSwiftActionFromObjC:using:</string>
<key>commandFormat</key>
<string>Do something in Swift from ObjC to %@ using %@</string>
<key>directTypes</key>
<array>
<string>QS{{cookiecutter.short_name}}Type</string>
<string>{{cookiecutter.plugin_name}}Type</string>
<string>NSStringPboardType</string>
</array>
<key>displaysResult</key>
Expand All @@ -165,7 +165,7 @@
<false/>
<key>indirectTypes</key>
<array>
<string>QS{{cookiecutter.short_name}}Type</string>
<string>{{cookiecutter.plugin_name}}Type</string>
<string>NSStringPboardType</string>
</array>
<key>name</key>
Expand All @@ -176,7 +176,7 @@
</dict>
<key>QSDefaultsTemplate</key>
<dict>
<key>{{cookiecutter.short_name}}EnableFeature</key>
<key>{{cookiecutter.plugin_name}}EnableFeature</key>
<true/>
</dict>
<key>QSPlugIn</key>
Expand All @@ -190,9 +190,9 @@
<key>description</key>
<string>{{cookiecutter.description}}</string>
<key>extendedDescription</key>
<string>&lt;h1&gt;{{cookiecutter.short_name}}&lt;/h1&gt;
<string>&lt;h1&gt;{{cookiecutter.plugin_name}}&lt;/h1&gt;
&lt;h2&gt;{{cookiecutter.description}}&lt;/h2&gt;
&lt;p&gt;Documentation for {{cookiecutter.short_name}}&lt;/p&gt;</string>
&lt;p&gt;Documentation for {{cookiecutter.plugin_name}}&lt;/p&gt;</string>
<key>icon</key>
<string>QSPlugIn</string>
</dict>
Expand All @@ -213,7 +213,7 @@
<string>/path/to/data</string>
</dict>
<key>source</key>
<string>QS{{cookiecutter.short_name}}Source</string>
<string>{{cookiecutter.plugin_name}}Source</string>
</dict>
<dict>
<key>ID</key>
Expand All @@ -230,34 +230,34 @@
<string>/path/to/data</string>
</dict>
<key>source</key>
<string>QS{{cookiecutter.short_name}}.QS{{cookiecutter.short_name}}SwiftSource</string>
<string>{{cookiecutter.plugin_name}}.{{cookiecutter.plugin_name}}SwiftSource</string>
</dict>
</array>
<key>QSRegistration</key>
<dict>
<key>QSActionProviders</key>
<dict>
<key>QS{{cookiecutter.short_name}}Action</key>
<string>QS{{cookiecutter.short_name}}Action</string>
<key>{{cookiecutter.plugin_name}}Action</key>
<string>{{cookiecutter.plugin_name}}Action</string>
</dict>
<key>QSObjectHandlers</key>
<dict>
<key>QS{{cookiecutter.short_name}}Type</key>
<string>QS{{cookiecutter.short_name}}Source</string>
<key>{{cookiecutter.plugin_name}}Type</key>
<string>{{cookiecutter.plugin_name}}Source</string>
</dict>
<key>QSObjectSources</key>
<dict>
<key>QS{{cookiecutter.short_name}}Source</key>
<string>QS{{cookiecutter.short_name}}Source</string>
<key>{{cookiecutter.plugin_name}}Source</key>
<string>{{cookiecutter.plugin_name}}Source</string>
</dict>
<key>QSTypeDefinitions</key>
<dict>
<key>QS{{cookiecutter.short_name}}Type</key>
<key>{{cookiecutter.plugin_name}}Type</key>
<dict>
<key>icon</key>
<string>GenericDocumentIcon</string>
<key>name</key>
<string>{{cookiecutter.short_name}} Objects</string>
<string>{{cookiecutter.plugin_name}} Objects</string>
</dict>
</dict>
</dict>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
// Use this file to import your target's public headers that you would like to expose to Swift.
//

#import "QS{{cookiecutter.short_name}}.h"
#import "{{cookiecutter.plugin_name}}.h"
#import "Quicksilver.pch"
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
//
// {{cookiecutter.short_name}}Source.h
// {{cookiecutter.short_name}}
// {{cookiecutter.plugin_name}}Source.h
// {{cookiecutter.plugin_name}}
//
// Created by {{cookiecutter.author}}
//
Expand All @@ -11,4 +11,4 @@
*/

// QSObject types for this plug-in
#define QS{{cookiecutter.short_name}}Type @"QS{{cookiecutter.short_name}}Type"
#define {{cookiecutter.plugin_name}}Type @"{{cookiecutter.plugin_name}}Type"
Loading