RUrlus
RUrlus

Reputation: 3

User keybindings - return 'letter/symbol' combination not command

I want to create a custom keybinding in sublime text 3 that doesn't return a command but returns the key combination used in R to define a variable like below.

variable <- variable_definition //for example
z1 <- seq(1,100)

In R 3.2.2 GUI mac OS X the keybinding:

"alt+-" returns " <- "

I have read the documentation for user keybindings but couldn't find something that I could use. I have tried "print" and "echo" as below but they don't work.

[
    { "keys": ["alt+-"], "print": " <- "}
]

or

[
    { "keys": ["alt+-"], "echo": " <- "}
]

Some help would be much appreciated

Upvotes: 0

Views: 38

Answers (1)

r-stein
r-stein

Reputation: 4847

In Sublime Text you run commands with arguments. If you want to insert something the command is insert and the argument is called characters. If you want to limit it to the language R you can add a context. Hence the keybinding:

[
    {
        "keys": ["alt+-"], "command": "insert", "args": {"characters": " <- "},
        "context":
        [
            { "key": "selector", "operator": "equal", "operand": "source.r" }
        ]
    }
]

Aside: it could also be interesting for you to use snippets as keybindings.

[
    {
        "keys": ["alt+-"], "command": "insert_snippet", "args": {"contents": "${1:variable} <- ${0:definition}"}
    }
]

Upvotes: 1

Related Questions