Sublime Text Kit
A command line interface for managing Sublime Text metadata.
Table of Contents
- Features
- Screencasts
- Requirements
- Setup
- Usage
- Tests
- Versioning
- Code of Conduct
- Contributions
- License
- History
- Credits
Features
- Provides project metadata (i.e. *.sublime-project and *.sublime-workspace files) management for
project switching via the
CONTROL+COMMAND+Pshortcut. - Rebuilds project history (Project -> Recent Projects) from existing project files (assumes project
metadata is in a directory) so one can easily toggle between up-to-date project information via
the
CONTROL+COMMAND+Pshortcut.
Screencasts
Requirements
Setup
For a secure install, type the following from the command line (recommended):
gem cert --add <(curl --location --silent https://www.alchemists.io/gem-public.pem)
gem install sublime_text_kit --trust-policy MediumSecurity
NOTE: A HighSecurity trust policy would be best but MediumSecurity enables signed gem verification while allowing the installation of unsigned dependencies since they are beyond the scope of this gem.
For an insecure install, type the following (not recommended):
gem install sublime_text_kit
Usage
Command Line Interface (CLI)
From the command line, type: sublime_text_kit
sublime_text_kit -c, [--config] # Manage gem configuration.
sublime_text_kit -h, [--help=COMMAND] # Show this message or get help for a command.
sublime_text_kit -m, [--] # Manage project/workspace metadata.
sublime_text_kit -s, [--session] # Manage session metadata.
sublime_text_kit -u, [--update] # Update Sublime Text with current settings.
sublime_text_kit -v, [--version] # Show gem version.
For configuration options, type: sublime_text_kit --help --config
-e, [--edit], [--no-edit] # Edit gem configuration.
-i, [--info], [--no-info] # Print gem configuration.
For metadata options, type: sublime_text_kit --help --metadata
-c, [--create], [--no-create] # Create metadata.
-D, [--destroy], [--no-destroy] # Destroy metadata.
-R, [--rebuild], [--no-rebuild] # Rebuild metadata.
For session options, type: sublime_text_kit --help --session
-R, [--rebuild], [--no-rebuild] # Rebuild session metadata.
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 as provided by the Runcom gem.
An example configuration could be:
:project_roots:
- "~/Dropbox/Development/Misc"
- "~/Dropbox/Development/OSS"
- "~/Dropbox/Development/Work"
:metadata_dir: "~/Dropbox/Cache/Sublime"
Feel free to take this configuration, modify, and save as your own custom configuration.yml.
The project roots define the root level directories where 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 that of the project folder. All project metadata, regardless of root location, is written to the same metadata directory. If using the example settings shown above and assuming the following directory structure exists...
~/Dropbox/Development/Misc/example
~/Dropbox/Development/OSS/sublime_text_kit
...the project metadata will be created in the workspace directory 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
Workflow
The following demonstrates a default Sublime Text setup:
- Run:
sublime_text_kit --config --edit(define Sublime Text Kit settings for project roots and metadata directory). - Shutdown Sublime Text (i.e.
CONTROL+Q). - Run:
sublime_text_kit --metadata --create(creates project metadata and rebuilds the session metadata so Sublime Text has a complete project history from which to jump through via theCONTROL+COMMMAND+Pshortcut). - Launch Sublime Text and use the
CONTROL+COMMAND+Pkeyboard shortcut to toggle between projects. Notice that you can (fuzzy type) project names to jump between them. - Breeze through your project workload with ease. :)
Troubleshooting
- When rebuilding workspaces, ensure Sublime Text is shutdown or changes won't be applied.
- When rebuilding workspaces, ensure workspace_dir (as defined via settings.yml) points to a
directory containing
*.sublime-projectand*.sublime-workspacefiles.
Tests
To test, run:
bundle exec rake
Versioning
Read Semantic Versioning for details. Briefly, it means:
- Major (X.y.z) - Incremented for any backwards incompatible public API changes.
- Minor (x.Y.z) - Incremented for new, backwards compatible, public API enhancements/fixes.
- Patch (x.y.Z) - Incremented for small, backwards compatible, bug fixes.
Code of Conduct
Please note that this project is released with a CODE OF CONDUCT. By participating in this project you agree to abide by its terms.
Contributions
Read CONTRIBUTING for details.
License
Copyright (c) 2014 Alchemists. Read LICENSE for details.
History
Read CHANGES for details. Built with Gemsmith.
Credits
Developed by Brooke Kuhlmann at Alchemists.
