/Yet-Another-Launcher

Yet Another Launcher - a Sublime Text 3 launcher plugin

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Yet Another Launcher (YAL) - a Sublime Text 3 launcher plugin

GitHub license Downloads Author

A Sublime Text plugin that is an easy launcher for local files, directories or urls.

You will find all release notes in RELEASES.md. For a quick overview follows the latest two release notes below.

v1.0.5

  • adding support for launching YAL with the arguments:
    • "by_launcher" - opens quickpanel and allows to select a launcher
    • "by_category" - opens quickpanel and allows to select an item category (url, file+sys, file+subl)
  • added "by_category" to menu and command palette ("by_launcher" was already there)
  • added support for expanding elements in path names (~, ~user, %USERPROFILE%, %APPDATA%, %LOCALAPPDATA%, %PUBLIC%, %WINDIR%, %SYSTEMROOT%, %TEMP%, %TMP%, %USERNAME% - ~/~user works on Windows as well)
  • switched to a development branch on Github for developing new features

v1.0.4 - added infos about releases

  • added release notes to repo and README.md

Installation

You only need to install this package:

Usage

Via Command Palette or Tools menu

You can access Yet Another Launcher via the Command Palette (Command+Shift+P on OS X, Control+Shift+P on Linux/Windows) by selecting "Yet Another Launcher".

You can also find the Yet Another Launcher submenu in the menu Tools.

Via keybindings

You can also easily bind the launcher command to a key of your choice, e.g. {"keys": ["f1"], "command": "yet_another_launcher"}. If you want to launch the default launcher only you can bind it with the following code: {"keys": ["shift+f1"], "command": "yet_another_launcher","args": {"launcher": "default"}},.

Notice: YAL doesn't set any keybindings per default. You have to set them yourself if you want to use it.

Via directly calling the command

The plugin defines one Sublime.WindowCommand with the name yet_another_launcher. You can run it on various places in Sublime Text, e.g. in the console via window.run_command("yet_another_launcher") or window.run_command("yet_another_launcher", {"launcher": "default"}).

You can see the various command arguments used in Main.sublime-menu.

Implemented Features

  • initial release (v1.0.0)
  • make the package available on PackageControl (v1.0.0)
  • adding support for launching launchers by launcher names or category (v1.0.1)
  • ability to show all launchers in the quick panel and let the user select one (v1.0.5)
  • ability to show all item categories in the quick panel and let the user select one (v1.0.5)
  • ability for expanding elements in path names (~, ~user, %USERPROFILE%, %APPDATA%, %LOCALAPPDATA%, %PUBLIC%, %WINDIR%, %SYSTEMROOT%, %TEMP%, %TMP%, %USERNAME% - ~/~user works on Windows as well)

Upcoming Features

Over time I will try to add the following features:

  • adding support for install / update messages for installs via PackageControl
  • testing it on Linux and making it work there (it should already work, but it isn't tested yet)
  • testing it on Mac and making it work there (it should already work, but it isn't tested yet)
  • implementing launcher category file+subl to open files in the current Sublime Text session
  • adding support for operating system dependend user settings

Configuration

You configure your launcher and launchable items via the plugin settings file. Via the application menu, go to "Preferences" -> "Package Settings" -> "Yet Another Launcher" -> "Settings - User".

Example configuration

The configuration is written in JSON as usual for Sublime Text settings.

You need a top level JSON-object called launchers. Under it you have to create different launcher objects. In the example you see a launcher called default.

YAL supports expanding of ~ / ~user on all operating systems, and the expansion of the following Windows environment variables on Windows: %USERPROFILE%, %APPDATA%, %LOCALAPPDATA%, %PUBLIC%, %WINDIR%, %SYSTEMROOT%, %TEMP%, %TMP%, %USERNAME%

{
    //
    // the "launchers" object is needed and contains all launchers
    //
    "launchers": { 
        //
        // under "launchers" you can create at least one named launcher,
        // at least you have to define one launcher with the name "default"
        // 
        // "default" is used if you launch YAL's default launcher
        //
        "default": {
            // 
            // in launchers you can create three different objects:
            // 
            // "url"       - for urls that will be opened in your default browser
            // "file+sys"  - for files or directories that will be opened with the
            //               default application of your operating system
            // "file+subl" - for files or directories that will be opened in your
            //               current Sublime Text session
            "url": {
                "Sublime Text 3 - Api Reference": "http://www.sublimetext.com/docs/3/api_reference.html",
                "Sublime Text Forum": "https://forum.sublimetext.com",
            },
    }
}

License

The plugin is licensed under the GNU GENERAL PUBLIC LICENSE, Version 3, 29 June 2007. In detail you can read the licensing terms in the file LICENSE.