Search bookmarks in SourceTree and launch them via Alfred.
Credits: This is a swift clone of Alfred_SourceTree by yourtion. Due to the latest release of macOS 12.3, python2 has been removed, which broke the original workflow. So I reimplemented this workflow in Swift. It should be much more stable and faster.
- support fuzzy search
- can open repo in your code editor directly by press cmd + enter, using VS Code by default, you can custom it
- can reveal repo in find by press option + enter
- you must have SourceTree installed
- you should have unlocked Powerpack in Alfred
- make sure you have
swift
available in terminal.(If you haveXcode
installed, you can skip this step.):- type
swift --version
in terminal, if you don't see any version info output, following next step to install it. - type
xcode-select --install
in terminal to install swift cli tools
- type
download workflow then click the downloaded file to install
Promotion: using sourcetree-custom-actions to add useful actions for SourceTree
launch alfred then input st
and keyword
separated with a space to search bookmarks, press enter to launch the bookmark in SourceTree.
Additionally:
select a bookmark, press
cmd
+enter
to open the repo in your favorite code editor, see how to custom code editor select a bookmark, pressoption
+enter
to reveal the repo in Finder
If you are using an old Intel Chip Mac, you may experience the unbearable lagging, that's because of Swift JIT Compiler is pretty slow on Intel Chip.
You can follow the following steps to compile the workflow script to binary to speed up its response speed.
enter
st $compile
in Alfred then pressenter
key
If you are using Apple Silicon Macs(like M1, M1 Pro), you can also compile the workflow for better performance
-
Open Alfred Preferences panel
-
find and click the
SourceTree
in Workflows list -
click
Configure Workflow...
button bellow the workflow name -
change the value of
Code Editor Config
, , multiple values can be set depending on the file extensions in the folder.Example:
# configuration format: # [editor cli name]=[extension1, extension2,...] # extension case does not matter # example, using Xcode for XCode projects xed=.xcodeproj,.xcworkspace,package.swift # using vscode for default code=*
The order of the list is important, the first one that matches will be used.
Here are some common editors' cli names:
code
for VSCode (default)xed
for Xcodesubl
for Sublime Textwebstorm
for WebStormidea
for IntelliJ IDEA
Tips:
- If your preferred editor not available in CLI, make sure you've append it's binary file's directory to the
PATH
- You may need to authorize Alfred to access the folders containing the repos., see here
-
click
save
button to save variable settings -
click the bug 🐞 icon in the top right to show the debug log
-
try yourself, if it works, congratulations; if not, check the debug log, make sure the cli name is existing and correct, and
PATH
contains your cli
I'm new to swift, feel free to make a pull request if you are willing to improve the code quality or its functions.