Skip to main content

A convenient DSL for generating SublimeText configs.

Project description

Build Status version downloads documentation

TODO

Usage

Examples

#!/usr/bin/env python3
from sublimedsl.keymap import *

Keymap(
    bind('backspace')
        .to('run_macro_file', file='res://Packages/Default/Delete Left Right.sublime-macro')
        .when('setting.auto_match_enabled').any().true()
        .also('preceding_text').regex_contains(r'_$')
        .also('following_text').regex_contains(r'^_'),

    bind('super+k', 'super+shift+up')
        .to('new_pane', move=False),

    common_context=[
        context('selector').equal('text.asciidoc')
    ],
    default_match_all=True

).dump()

The above code generates:

[
  {
    "keys": [ "backspace" ],
    "command": "run_macro_file",
    "args": { "file": "res://Packages/Default/Delete Left Right.sublime-macro" },
    "context": [
      { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true, "match_all": false },
      { "key": "preceding_text", "operator": "regex_contains", "operand": "_$", "match_all": true },
      { "key": "following_text", "operator": "regex_contains", "operand": "^_", "match_all": true },
      { "key": "selector", "operator": "equal", "operand": "text.asciidoc", "match_all": true }
    ]
  },
  {
    "keys": [ "super+k", "super+shift+up" ],
    "command": "new_pane",
    "args": { "move": false },
    "context": [
      { "key": "selector", "operator": "equal", "operand": "text.asciidoc", "match_all": true }
    ]
  }
]

Installation

System-wide

Install from PyPI system-wide:

sudo pip install sublimedsl

…or manually:

git clone git@github.com:jirutka/sublimedsl.git
cd sublimedsl
sudo ./setup.py install

Locally

If you don’t have a root access to the system, or just don’t want to install sublimedsl system-wide, then you can tell pip or setup.py to install it into your home directory (namely ~/.local):

pip install --user sublimedsl

…or manually:

git clone git@github.com:jirutka/sublimedsl.git
cd sublimedsl
./setup.py --user install

License

This project is licensed under MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sublimedsl-0.3.1.tar.gz (6.0 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page