[alfred] Update Dash workflow
diff --git a/Alfred 2/Alfred.alfredpreferences/preferences/features/defaultresults/prefs.plist b/Alfred 2/Alfred.alfredpreferences/preferences/features/defaultresults/prefs.plist
index a122e0e8..fb068eb5 100644
--- a/Alfred 2/Alfred.alfredpreferences/preferences/features/defaultresults/prefs.plist
+++ b/Alfred 2/Alfred.alfredpreferences/preferences/features/defaultresults/prefs.plist
@@ -4,5 +4,12 @@
<dict>
<key>applicationFuzzyType</key>
<integer>1</integer>
+ <key>fallbacks</key>
+ <array>
+ <string>features.websearch.duckduckgo.fallback</string>
+ <string>features.websearch.google.fallback</string>
+ <string>features.websearch.amazon.fallback</string>
+ <string>features.websearch.wiki.fallback</string>
+ </array>
</dict>
</plist>
diff --git a/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.35F259A3-BBD9-4A1B-B237-5E149EE1E723/dash_keyword_flask.png b/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.35F259A3-BBD9-4A1B-B237-5E149EE1E723/dash_keyword_flask.png
new file mode 100644
index 00000000..a1ba1cf7
Binary files /dev/null and b/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.35F259A3-BBD9-4A1B-B237-5E149EE1E723/dash_keyword_flask.png differ
diff --git a/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.35F259A3-BBD9-4A1B-B237-5E149EE1E723/dash_keyword_ios.png b/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.35F259A3-BBD9-4A1B-B237-5E149EE1E723/dash_keyword_ios.png
new file mode 100644
index 00000000..bdeaa618
Binary files /dev/null and b/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.35F259A3-BBD9-4A1B-B237-5E149EE1E723/dash_keyword_ios.png differ
diff --git a/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.35F259A3-BBD9-4A1B-B237-5E149EE1E723/dash_keyword_osx.png b/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.35F259A3-BBD9-4A1B-B237-5E149EE1E723/dash_keyword_osx.png
new file mode 100644
index 00000000..13fa5527
Binary files /dev/null and b/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.35F259A3-BBD9-4A1B-B237-5E149EE1E723/dash_keyword_osx.png differ
diff --git a/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.35F259A3-BBD9-4A1B-B237-5E149EE1E723/dash_keyword_py2.png b/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.35F259A3-BBD9-4A1B-B237-5E149EE1E723/dash_keyword_py2.png
new file mode 100644
index 00000000..571a963f
Binary files /dev/null and b/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.35F259A3-BBD9-4A1B-B237-5E149EE1E723/dash_keyword_py2.png differ
diff --git a/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.35F259A3-BBD9-4A1B-B237-5E149EE1E723/dash_keyword_py3.png b/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.35F259A3-BBD9-4A1B-B237-5E149EE1E723/dash_keyword_py3.png
new file mode 100644
index 00000000..571a963f
Binary files /dev/null and b/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.35F259A3-BBD9-4A1B-B237-5E149EE1E723/dash_keyword_py3.png differ
diff --git a/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.35F259A3-BBD9-4A1B-B237-5E149EE1E723/dash_keyword_sqlalchemy.png b/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.35F259A3-BBD9-4A1B-B237-5E149EE1E723/dash_keyword_sqlalchemy.png
new file mode 100644
index 00000000..4fa237bd
Binary files /dev/null and b/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.35F259A3-BBD9-4A1B-B237-5E149EE1E723/dash_keyword_sqlalchemy.png differ
diff --git a/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.35F259A3-BBD9-4A1B-B237-5E149EE1E723/info.plist b/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.35F259A3-BBD9-4A1B-B237-5E149EE1E723/info.plist
index 456094c3..60ae76bd 100644
--- a/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.35F259A3-BBD9-4A1B-B237-5E149EE1E723/info.plist
+++ b/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.35F259A3-BBD9-4A1B-B237-5E149EE1E723/info.plist
@@ -55,6 +55,60 @@
<string>Copy</string>
</dict>
</array>
+ <key>dash_keyword_flask</key>
+ <array>
+ <dict>
+ <key>destinationuid</key>
+ <string>dash_action_normal</string>
+ <key>modifiers</key>
+ <integer>0</integer>
+ <key>modifiersubtext</key>
+ <string></string>
+ </dict>
+ <dict>
+ <key>destinationuid</key>
+ <string>dash_action_cmd</string>
+ <key>modifiers</key>
+ <integer>1048576</integer>
+ <key>modifiersubtext</key>
+ <string></string>
+ </dict>
+ <dict>
+ <key>destinationuid</key>
+ <string>dash_action_alt</string>
+ <key>modifiers</key>
+ <integer>524288</integer>
+ <key>modifiersubtext</key>
+ <string></string>
+ </dict>
+ </array>
+ <key>dash_keyword_ios</key>
+ <array>
+ <dict>
+ <key>destinationuid</key>
+ <string>dash_action_normal</string>
+ <key>modifiers</key>
+ <integer>0</integer>
+ <key>modifiersubtext</key>
+ <string></string>
+ </dict>
+ <dict>
+ <key>destinationuid</key>
+ <string>dash_action_cmd</string>
+ <key>modifiers</key>
+ <integer>1048576</integer>
+ <key>modifiersubtext</key>
+ <string></string>
+ </dict>
+ <dict>
+ <key>destinationuid</key>
+ <string>dash_action_alt</string>
+ <key>modifiers</key>
+ <integer>524288</integer>
+ <key>modifiersubtext</key>
+ <string></string>
+ </dict>
+ </array>
<key>dash_keyword_md</key>
<array>
<dict>
@@ -82,6 +136,87 @@
<string></string>
</dict>
</array>
+ <key>dash_keyword_osx</key>
+ <array>
+ <dict>
+ <key>destinationuid</key>
+ <string>dash_action_normal</string>
+ <key>modifiers</key>
+ <integer>0</integer>
+ <key>modifiersubtext</key>
+ <string></string>
+ </dict>
+ <dict>
+ <key>destinationuid</key>
+ <string>dash_action_cmd</string>
+ <key>modifiers</key>
+ <integer>1048576</integer>
+ <key>modifiersubtext</key>
+ <string></string>
+ </dict>
+ <dict>
+ <key>destinationuid</key>
+ <string>dash_action_alt</string>
+ <key>modifiers</key>
+ <integer>524288</integer>
+ <key>modifiersubtext</key>
+ <string></string>
+ </dict>
+ </array>
+ <key>dash_keyword_py2</key>
+ <array>
+ <dict>
+ <key>destinationuid</key>
+ <string>dash_action_normal</string>
+ <key>modifiers</key>
+ <integer>0</integer>
+ <key>modifiersubtext</key>
+ <string></string>
+ </dict>
+ <dict>
+ <key>destinationuid</key>
+ <string>dash_action_cmd</string>
+ <key>modifiers</key>
+ <integer>1048576</integer>
+ <key>modifiersubtext</key>
+ <string></string>
+ </dict>
+ <dict>
+ <key>destinationuid</key>
+ <string>dash_action_alt</string>
+ <key>modifiers</key>
+ <integer>524288</integer>
+ <key>modifiersubtext</key>
+ <string></string>
+ </dict>
+ </array>
+ <key>dash_keyword_py3</key>
+ <array>
+ <dict>
+ <key>destinationuid</key>
+ <string>dash_action_normal</string>
+ <key>modifiers</key>
+ <integer>0</integer>
+ <key>modifiersubtext</key>
+ <string></string>
+ </dict>
+ <dict>
+ <key>destinationuid</key>
+ <string>dash_action_cmd</string>
+ <key>modifiers</key>
+ <integer>1048576</integer>
+ <key>modifiersubtext</key>
+ <string></string>
+ </dict>
+ <dict>
+ <key>destinationuid</key>
+ <string>dash_action_alt</string>
+ <key>modifiers</key>
+ <integer>524288</integer>
+ <key>modifiersubtext</key>
+ <string></string>
+ </dict>
+ </array>
<key>dash_keyword_rb</key>
<array>
<dict>
@@ -109,6 +244,33 @@
<string></string>
</dict>
</array>
+ <key>dash_keyword_sqlalchemy</key>
+ <array>
+ <dict>
+ <key>destinationuid</key>
+ <string>dash_action_normal</string>
+ <key>modifiers</key>
+ <integer>0</integer>
+ <key>modifiersubtext</key>
+ <string></string>
+ </dict>
+ <dict>
+ <key>destinationuid</key>
+ <string>dash_action_cmd</string>
+ <key>modifiers</key>
+ <integer>1048576</integer>
+ <key>modifiersubtext</key>
+ <string></string>
+ </dict>
+ <dict>
+ <key>destinationuid</key>
+ <string>dash_action_alt</string>
+ <key>modifiers</key>
+ <integer>524288</integer>
+ <key>modifiersubtext</key>
+ <string></string>
+ </dict>
+ </array>
</dict>
<key>createdby</key>
<string>Kapeli</string>
@@ -401,6 +563,188 @@ That said, you can edit anything else within this workflow (including adding new
<key>version</key>
<integer>0</integer>
</dict>
+ <dict>
+ <key>config</key>
+ <dict>
+ <key>argumenttype</key>
+ <integer>0</integer>
+ <key>escaping</key>
+ <integer>0</integer>
+ <key>runningsubtext</key>
+ <string>Please read what's in the "Script:" section below</string>
+ <key>script</key>
+ <string>Dash dynamically updates this workflow with docset and search profile keywords.
+
+Do not try to change the keywords from within Alfred, as Dash will overwrite your changes. If you want to change a keyword, change it from within Dash (in Preferences > Docsets).
+
+That said, you can edit anything else within this workflow (including adding new triggers/actions/hotkeys).</string>
+ <key>subtext</key>
+ <string>Please read what's in the "Script:" section below</string>
+ <key>title</key>
+ <string>PLEASE README</string>
+ <key>type</key>
+ <integer>0</integer>
+ <key>withspace</key>
+ <true/>
+ </dict>
+ <key>type</key>
+ <string>alfred.workflow.input.scriptfilter</string>
+ <key>uid</key>
+ <string>dash_note_readme</string>
+ <key>version</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>config</key>
+ <dict>
+ <key>argumenttype</key>
+ <integer>0</integer>
+ <key>escaping</key>
+ <integer>0</integer>
+ <key>runningsubtext</key>
+ <string>Please read what's in the "Script:" section below</string>
+ <key>script</key>
+ <string>Dash dynamically updates this workflow with docset and search profile keywords.
+
+Do not try to change the keywords from within Alfred, as Dash will overwrite your changes. If you want to change a keyword, change it from within Dash (in Preferences > Docsets).
+
+That said, you can edit anything else within this workflow (including adding new triggers/actions/hotkeys).</string>
+ <key>subtext</key>
+ <string>Please read what's in the "Script:" section below</string>
+ <key>title</key>
+ <string>PLEASE README</string>
+ <key>type</key>
+ <integer>0</integer>
+ <key>withspace</key>
+ <true/>
+ </dict>
+ <key>type</key>
+ <string>alfred.workflow.input.scriptfilter</string>
+ <key>uid</key>
+ <string>dash_note_readme</string>
+ <key>version</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>config</key>
+ <dict>
+ <key>argumenttype</key>
+ <integer>0</integer>
+ <key>escaping</key>
+ <integer>0</integer>
+ <key>runningsubtext</key>
+ <string>Please read what's in the "Script:" section below</string>
+ <key>script</key>
+ <string>Dash dynamically updates this workflow with docset and search profile keywords.
+
+Do not try to change the keywords from within Alfred, as Dash will overwrite your changes. If you want to change a keyword, change it from within Dash (in Preferences > Docsets).
+
+That said, you can edit anything else within this workflow (including adding new triggers/actions/hotkeys).</string>
+ <key>subtext</key>
+ <string>Please read what's in the "Script:" section below</string>
+ <key>title</key>
+ <string>PLEASE README</string>
+ <key>type</key>
+ <integer>0</integer>
+ <key>withspace</key>
+ <true/>
+ </dict>
+ <key>type</key>
+ <string>alfred.workflow.input.scriptfilter</string>
+ <key>uid</key>
+ <string>dash_note_readme</string>
+ <key>version</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>config</key>
+ <dict>
+ <key>argumenttype</key>
+ <integer>0</integer>
+ <key>escaping</key>
+ <integer>0</integer>
+ <key>runningsubtext</key>
+ <string>Please read what's in the "Script:" section below</string>
+ <key>script</key>
+ <string>Dash dynamically updates this workflow with docset and search profile keywords.
+
+Do not try to change the keywords from within Alfred, as Dash will overwrite your changes. If you want to change a keyword, change it from within Dash (in Preferences > Docsets).
+
+That said, you can edit anything else within this workflow (including adding new triggers/actions/hotkeys).</string>
+ <key>subtext</key>
+ <string>Please read what's in the "Script:" section below</string>
+ <key>title</key>
+ <string>PLEASE README</string>
+ <key>type</key>
+ <integer>0</integer>
+ <key>withspace</key>
+ <true/>
+ </dict>
+ <key>type</key>
+ <string>alfred.workflow.input.scriptfilter</string>
+ <key>uid</key>
+ <string>dash_note_readme</string>
+ <key>version</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>config</key>
+ <dict>
+ <key>argumenttype</key>
+ <integer>0</integer>
+ <key>escaping</key>
+ <integer>110</integer>
+ <key>keyword</key>
+ <string>flask</string>
+ <key>runningsubtext</key>
+ <string>Searching for "{query}"</string>
+ <key>script</key>
+ <string>./dashAlfredWorkflow "flask:{query}"</string>
+ <key>subtext</key>
+ <string>Search Flask for "{query}"</string>
+ <key>title</key>
+ <string>Search Flask</string>
+ <key>type</key>
+ <integer>0</integer>
+ <key>withspace</key>
+ <true/>
+ </dict>
+ <key>type</key>
+ <string>alfred.workflow.input.scriptfilter</string>
+ <key>uid</key>
+ <string>dash_keyword_flask</string>
+ <key>version</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>config</key>
+ <dict>
+ <key>argumenttype</key>
+ <integer>0</integer>
+ <key>escaping</key>
+ <integer>110</integer>
+ <key>keyword</key>
+ <string>ios</string>
+ <key>runningsubtext</key>
+ <string>Searching for "{query}"</string>
+ <key>script</key>
+ <string>./dashAlfredWorkflow "ios:{query}"</string>
+ <key>subtext</key>
+ <string>Search iOS 8.2 for "{query}"</string>
+ <key>title</key>
+ <string>Search iOS 8.2</string>
+ <key>type</key>
+ <integer>0</integer>
+ <key>withspace</key>
+ <true/>
+ </dict>
+ <key>type</key>
+ <string>alfred.workflow.input.scriptfilter</string>
+ <key>uid</key>
+ <string>dash_keyword_ios</string>
+ <key>version</key>
+ <integer>0</integer>
+ </dict>
<dict>
<key>config</key>
<dict>
@@ -430,6 +774,93 @@ That said, you can edit anything else within this workflow (including adding new
<key>version</key>
<integer>0</integer>
</dict>
+ <dict>
+ <key>config</key>
+ <dict>
+ <key>argumenttype</key>
+ <integer>0</integer>
+ <key>escaping</key>
+ <integer>110</integer>
+ <key>keyword</key>
+ <string>osx</string>
+ <key>runningsubtext</key>
+ <string>Searching for "{query}"</string>
+ <key>script</key>
+ <string>./dashAlfredWorkflow "osx:{query}"</string>
+ <key>subtext</key>
+ <string>Search OS X 10.10 and 1 other for "{query}"</string>
+ <key>title</key>
+ <string>Search OS X 10.10</string>
+ <key>type</key>
+ <integer>0</integer>
+ <key>withspace</key>
+ <true/>
+ </dict>
+ <key>type</key>
+ <string>alfred.workflow.input.scriptfilter</string>
+ <key>uid</key>
+ <string>dash_keyword_osx</string>
+ <key>version</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>config</key>
+ <dict>
+ <key>argumenttype</key>
+ <integer>0</integer>
+ <key>escaping</key>
+ <integer>110</integer>
+ <key>keyword</key>
+ <string>py2</string>
+ <key>runningsubtext</key>
+ <string>Searching for "{query}"</string>
+ <key>script</key>
+ <string>./dashAlfredWorkflow "py2:{query}"</string>
+ <key>subtext</key>
+ <string>Search Python 2 for "{query}"</string>
+ <key>title</key>
+ <string>Search Python 2</string>
+ <key>type</key>
+ <integer>0</integer>
+ <key>withspace</key>
+ <true/>
+ </dict>
+ <key>type</key>
+ <string>alfred.workflow.input.scriptfilter</string>
+ <key>uid</key>
+ <string>dash_keyword_py2</string>
+ <key>version</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>config</key>
+ <dict>
+ <key>argumenttype</key>
+ <integer>0</integer>
+ <key>escaping</key>
+ <integer>110</integer>
+ <key>keyword</key>
+ <string>py3</string>
+ <key>runningsubtext</key>
+ <string>Searching for "{query}"</string>
+ <key>script</key>
+ <string>./dashAlfredWorkflow "py3:{query}"</string>
+ <key>subtext</key>
+ <string>Search Python 3 for "{query}"</string>
+ <key>title</key>
+ <string>Search Python 3</string>
+ <key>type</key>
+ <integer>0</integer>
+ <key>withspace</key>
+ <true/>
+ </dict>
+ <key>type</key>
+ <string>alfred.workflow.input.scriptfilter</string>
+ <key>uid</key>
+ <string>dash_keyword_py3</string>
+ <key>version</key>
+ <integer>0</integer>
+ </dict>
<dict>
<key>config</key>
<dict>
@@ -459,6 +890,35 @@ That said, you can edit anything else within this workflow (including adding new
<key>version</key>
<integer>0</integer>
</dict>
+ <dict>
+ <key>config</key>
+ <dict>
+ <key>argumenttype</key>
+ <integer>0</integer>
+ <key>escaping</key>
+ <integer>110</integer>
+ <key>keyword</key>
+ <string>sqlalchemy</string>
+ <key>runningsubtext</key>
+ <string>Searching for "{query}"</string>
+ <key>script</key>
+ <string>./dashAlfredWorkflow "sqlalchemy:{query}"</string>
+ <key>subtext</key>
+ <string>Search SQLAlchemy for "{query}"</string>
+ <key>title</key>
+ <string>Search SQLAlchemy</string>
+ <key>type</key>
+ <integer>0</integer>
+ <key>withspace</key>
+ <true/>
+ </dict>
+ <key>type</key>
+ <string>alfred.workflow.input.scriptfilter</string>
+ <key>uid</key>
+ <string>dash_keyword_sqlalchemy</string>
+ <key>version</key>
+ <integer>0</integer>
+ </dict>
</array>
<key>readme</key>
<string>Usage:
@@ -498,16 +958,46 @@ The keyword is either a docset keyword (defined in Preferences > Docsets) or
<key>ypos</key>
<real>10</real>
</dict>
- <key>dash_keyword_md</key>
+ <key>dash_keyword_flask</key>
<dict>
<key>ypos</key>
<integer>930</integer>
</dict>
- <key>dash_keyword_rb</key>
+ <key>dash_keyword_ios</key>
<dict>
<key>ypos</key>
<integer>1050</integer>
</dict>
+ <key>dash_keyword_md</key>
+ <dict>
+ <key>ypos</key>
+ <integer>1170</integer>
+ </dict>
+ <key>dash_keyword_osx</key>
+ <dict>
+ <key>ypos</key>
+ <integer>1290</integer>
+ </dict>
+ <key>dash_keyword_py2</key>
+ <dict>
+ <key>ypos</key>
+ <integer>1410</integer>
+ </dict>
+ <key>dash_keyword_py3</key>
+ <dict>
+ <key>ypos</key>
+ <integer>1530</integer>
+ </dict>
+ <key>dash_keyword_rb</key>
+ <dict>
+ <key>ypos</key>
+ <integer>1650</integer>
+ </dict>
+ <key>dash_keyword_sqlalchemy</key>
+ <dict>
+ <key>ypos</key>
+ <integer>1770</integer>
+ </dict>
<key>dash_note_readme</key>
<dict>
<key>ypos</key>