Question: I had been previously using [Allan Hortle's JSX package](https://github.com/allanhortle/JSX) until I ran into an issue with how it handled syntax highlighting. I then noticed that there is an official package, [sublime-react](https://github.com/reactjs/sublime-react).

With Allan Hortle's package, he included a snippet in the `Preferences > Key Bindings – User` for enabling Emmet functionality that looks like this:

```
{
    "keys": ["tab"],
    "command": "expand_abbreviation_by_tab", 
    "context": [
        {
            "operand": "source.js.jsx", 
            "operator": "equal", 
            "match_all": true, 
            "key": "selector"
        }
    ]
}

```

This snippet doesn't appear to work with the official sublime-react package. It seems to be something to modify with the key bindings but an initial perusal of the Sublime documentation yielded no light on the subject. Help?

Answer: 
From the [JSX-SublimeText Package](https://github.com/allanhortle/JSX) readme:

> 
> Emmet's default is to not support JS files. So you will need to add a keyboard shortcut to tab complete in JSX files.
> 
> 
> open up `Preferences > Key Bindings - user` and add this entry:
> 
> 
> 

```json
{
    "keys": ["tab"],
    "command": "expand_abbreviation_by_tab", 
    "context": [
        {
            "operand": "source.js.jsx", 
            "operator": "equal", 
            "match_all": true, 
            "key": "selector"
        },
        {   
            "key": "selection_empty", 
            "operator": "equal", 
            "operand": true,
            "match_all": true 
        }
    ]
}

```
simply use `ctrl+e` (`cmd+e` on mac ) instead of tab to get emmet to work inside your jsx.
for example if I expand (using `ctrl+e`)

```
render(){
        return(
            .modal>.btn.btn-success{Click Me}   
        )
    }

```

then I get 

```
render(){
        return(
            <div className="modal">
                    <div className="btn btn-success">Click Me</div>
                </div>  
        )
    }

```