Sublime Text Kit
Sublime Text Kit is a command line interface for managing Sublime Text metadata for multiple projects, sessions, snippets, etc. This allows you to avoiding manual maintenance of your workspace so you can stay focused on your own work.
- Features
- Requirements
- Setup
- Usage
- Command Line Interface (CLI)
- Customization
- Workflow
- Troubleshooting
- Development
- Tests
- License
- Security
- Code of Conduct
- Contributions
- Developer Certificate of Origin
- Versions
- Community
- Credits
Features
Requirements
Setup
To install with security, run:
# đź’ˇ Skip this line if you already have the public certificate installed.
gem cert --add <(curl --compressed --location https://alchemists.io/gems.pem)
gem install sublime_text_kit --trust-policy HighSecurity
To install without security, run:
gem install sublime_text_kit
Usage
Customization
This gem can be configured via a global configuration:
~/.config/sublime_text_kit/configuration.yml
. It can also be configured via
XDG environment variables.
An example configuration could be:
project_roots:
- "~/Engineering/Organizations"
- "~/Engineering/OSS"
metadata_dir: "~/Dropbox/Cache/Sublime"
snippets_format: :markdown
The project_roots
key defines the root level directories where your project folders are located.
When project metadata (i.e. .sublime-project
, .sublime-workspace
) is generated, the name of the
metadata file will be the same name as the project folder. All project metadata, regardless of root
location, is written to the same metadata directory as defined by the metadata_dir
key. If using
the example settings shown above and assuming the following directory structure exists…
~/Engineering/OSS/example ~/Engineering/OSS/sublime_text_kit
…​project metadata will be created in the metadata_dir
as follows:
~/Dropbox/Cache/Sublime/example.sublime-project ~/Dropbox/Cache/Sublime/example.sublime-workspace ~/Dropbox/Cache/Sublime/sublime_text_kit.sublime-project ~/Dropbox/Cache/Sublime/sublime_text_kit.sublime-workspace
The snippets_format
key allows you define what format to print your snippets as. You can always
override your default configuration by specifying the format from the command line:
sublime_text_kit -s ascii_doc
. For example, this is how
snippets documentation is
generated for the Sublime Text Setup
project.
Workflow
The following demonstrates a default Sublime Text setup:
-
Start by defining your configuration:
sublime_text_kit --config edit
. -
Shutdown Sublime Text (i.e.Â
COMMAND+q
). -
Run
sublime_text_kit --update
which will create project metadata and rebuild session metadata so Sublime Text has a complete project history from which to switch between via theCONTROL+COMMAND+p
shortcut. -
Launch Sublime Text and use the
CONTROL+COMMAND+p
keyboard shortcut to toggle between projects. Notice that you can (fuzzy type) project names to jump between them. -
Navigate through your project workload with ease. 🎉
Troubleshooting
-
When rebuilding your session, ensure Sublime Text is shut down or changes might not be applied properly.
-
When rebuilding project metadata, ensure the
metadata_dir
 — as defined via your configuration — points to an existing directory which can contain.sublime-project
and.sublime-workspace
files.
Development
To contribute, run:
git clone https://github.com/bkuhlmann/sublime_text_kit
cd sublime_text_kit
bin/setup
You can also use the IRB console for direct access to all objects:
bin/console
Tests
To test, run:
bin/rake
Credits
-
Built with Gemsmith.
-
Engineered by Brooke Kuhlmann.