<commit_before># Sublime JoinStatement plugin

Joins and unjoins whole statements.


### Demo

![Demo](https://github.com/shagabutdinov/sublime-enhanced-demos/raw/master/join_statement.gif "Demo")


### Installation

This plugin is part of [sublime-enhanced](http://github.com/shagabutdinov/sublime-enhanced)
plugin set. You can install sublime-enhanced and this plugin will be installed
automatically.

If you would like to install this package separately check "Installing packages
separately" section of [sublime-enhanced](http://github.com/shagabutdinov/sublime-enhanced)
package.


### Usage

1. Unjoin statement

```
# before
hash_table = {'key1': 'val1', 'key2': 'val2'}

# after
hash_table = {
  'key1': 'val1',
  'key2': 'val2'
}

# before
condition = (a > b and b > c and c > d)

# after
condition = (
  a > b and
  b > c and
  c > d
)
```

2. Join statement

```
# before
hash_table = {
  'key1': 'val1',
  'key2': 'val2'
}

# after
hash_table = {'key1': 'val1', 'key2': 'val2'}

# before
condition = (
  a > b and
  b > c and
  c > d
)

# after
condition = (a > b and b > c and c > d)
```

You can execute command by hitting keyboard shortcut or by placing cursor and
the after opening bracket and hitting "enter" or "alt+/" (right delete). In some
cases command will not work (not a source code); if it happened you can put
space after bracket and hit enter or "right delete" to do stuff manually.

Not that it'll works only with first-level brackets. Any other nesting will be
ignored. E.g.:

```
# before
hash_table = {
  'key1': 'val1',
  'key2': {
    'subkey1': 'subval1'
  }
}

# after
hash_table = {'key1': 'val1', 'key2': {
    'subkey1': 'subval1'
  }}
```

### Commands

| Description                      | Keyboard shortcut       | Command palette                      |
|----------------------------------|-------------------------|--------------------------------------|
| Join statement                   | ctrl+alt+t              | JoinStatement: Join                  |
| Join statement (as arguments)    | [detects automatically] | JoinStatement: Join (as arguments)   |
| Unjoin statement                 | ctrl+alt+shift+t        | JoinStatement: Unjoin                |
| Unjoin statement (as arguments)  | [detects automatically] | JoinStatement: Unjoin (as arguments) |
| Join statement (after bracket)   | enter                   |                                      |
| Unjoin statement (after bracket) | alt+/                   |                                      |


### Dependencies

* [Expression](https://github.com/shagabutdinov/sublime-expression)
* [Statement](https://github.com/shagabutdinov/sublime-statement)<commit_msg>new dependency added<commit_after># Sublime JoinStatement plugin

Joins and unjoins whole statements.


### Demo

![Demo](https://github.com/shagabutdinov/sublime-enhanced-demos/raw/master/join_statement.gif "Demo")


### Installation

This plugin is part of [sublime-enhanced](http://github.com/shagabutdinov/sublime-enhanced)
plugin set. You can install sublime-enhanced and this plugin will be installed
automatically.

If you would like to install this package separately check "Installing packages
separately" section of [sublime-enhanced](http://github.com/shagabutdinov/sublime-enhanced)
package.


### Usage

1. Unjoin statement

```
# before
hash_table = {'key1': 'val1', 'key2': 'val2'}

# after
hash_table = {
  'key1': 'val1',
  'key2': 'val2'
}

# before
condition = (a > b and b > c and c > d)

# after
condition = (
  a > b and
  b > c and
  c > d
)
```

2. Join statement

```
# before
hash_table = {
  'key1': 'val1',
  'key2': 'val2'
}

# after
hash_table = {'key1': 'val1', 'key2': 'val2'}

# before
condition = (
  a > b and
  b > c and
  c > d
)

# after
condition = (a > b and b > c and c > d)
```

You can execute command by hitting keyboard shortcut or by placing cursor and
the after opening bracket and hitting "enter" or "alt+/" (right delete). In some
cases command will not work (not a source code); if it happened you can put
space after bracket and hit enter or "right delete" to do stuff manually.

Not that it'll works only with first-level brackets. Any other nesting will be
ignored. E.g.:

```
# before
hash_table = {
  'key1': 'val1',
  'key2': {
    'subkey1': 'subval1'
  }
}

# after
hash_table = {'key1': 'val1', 'key2': {
    'subkey1': 'subval1'
  }}
```

### Commands

| Description                      | Keyboard shortcut       | Command palette                      |
|----------------------------------|-------------------------|--------------------------------------|
| Join statement                   | ctrl+alt+t              | JoinStatement: Join                  |
| Join statement (as arguments)    | [detects automatically] | JoinStatement: Join (as arguments)   |
| Unjoin statement                 | ctrl+alt+shift+t        | JoinStatement: Unjoin                |
| Unjoin statement (as arguments)  | [detects automatically] | JoinStatement: Unjoin (as arguments) |
| Join statement (after bracket)   | enter                   |                                      |
| Unjoin statement (after bracket) | alt+/                   |                                      |


### Dependencies

* [Expression](https://github.com/shagabutdinov/sublime-expression)
* [Statement](https://github.com/shagabutdinov/sublime-statement)
* [ContextInArguments](https://github.com/shagabutdinov/sublime-context-in-arguments)
{'fraction_non_alphanumeric': 0.15653132463714864, 'fraction_numerical': 0.01028844387286423, 'mean_word_length': 2.3501538461538463, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 27, 'https://': 7, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 8, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6973433', 'n_tokens_mistral': 1740, 'n_tokens_neox': 1637, 'n_words': 506}