Update readme

This commit is contained in:
Alex Yatskov 2022-02-05 18:13:20 -08:00
parent c5de0769d8
commit 0c03483702

230
README.md
View File

@ -15,21 +15,15 @@ easily reversible and correctly preserve the indentation of the surrounding code
![](img/demo.gif) ![](img/demo.gif)
## Installation ## Installation and Usage
1. Clone or otherwise download ArgWrap extension. Users of [pathogen.vim](https://github.com/tpope/vim-pathogen) can 1. Clone or otherwise download ArgWrap extension. Users of [pathogen.vim](https://github.com/tpope/vim-pathogen) can
clone the repository directly to their bundle directory: clone the repository directly to their bundle directory: \
`git clone https://github.com/FooSoft/vim-argwrap ~/.vim/bundle/vim-argwrap`
``` 2. Create a keyboard binding for the `ArgWrap` command. For example, to declare a normal mode mapping, add: \
$ git clone https://github.com/FooSoft/vim-argwrap ~/.vim/bundle/vim-argwrap `nnoremap <silent> <leader>a :ArgWrap<CR>`
``` 3. Position the cursor inside of the parenthesis, brackets or curly braces you wish to wrap/unwrap.
4. Execute the keyboard binding you defined above to toggle the wrapping and unwrapping of arguments.
2. Create a keyboard binding for the `ArgWrap` command inside your `~/.vimrc` file. \
For example, to declare a normal mode mapping, add the following command:
```
nnoremap <silent> <leader>a :ArgWrap<CR>
```
## Configuration ## Configuration
@ -39,195 +33,189 @@ global variables (prefixed with `g:`), making them ideal for configuring the beh
file basis using `ftplugin` or `autocmd`. For example, the `argwrap_tail_comma` variable has two variants declared as file basis using `ftplugin` or `autocmd`. For example, the `argwrap_tail_comma` variable has two variants declared as
`b:argwrap_tail_comma` and `g:argwrap_tail_comma`, for buffer and global scopes respectively. `b:argwrap_tail_comma` and `g:argwrap_tail_comma`, for buffer and global scopes respectively.
* `argwrap_line_prefix` ### argwrap_line_prefix
Specifies a line prefix to be added and removed when working with languages that require newlines to be escaped. Specifies a line prefix to be added and removed when working with languages that require newlines to be escaped.
*Line prefix disabled (default)* Line prefix disabled (default):
``` ```
Foo( Foo(
wibble, wibble,
wobble, wobble,
wubble wubble
) )
``` ```
*Line prefix enabled for Vimscript (`let g:argwrap_line_prefix = '\'`)* Line prefix enabled for Vimscript (`let g:argwrap_line_prefix = '\'`):
``` ```
Foo( Foo(
\wibble, \wibble,
\wobble, \wobble,
\wubble \wubble
\) \)
``` ```
* `argwrap_padded_braces` ### argwrap_padded_braces
Specifies which brace types should be padded on the inside with spaces. Specifies which brace types should be padded on the inside with spaces.
*Brace padding disabled (default)* Brace padding disabled (default):
``` ```
[1, 2, 3] [1, 2, 3]
{1, 2, 3} {1, 2, 3}
``` ```
*Brace padding enabled for square brackets only (`let g:argwrap_padded_braces = '['`)* Brace padding enabled for square brackets only (`let g:argwrap_padded_braces = '['`):
``` ```
[ 1, 2, 3 ] [ 1, 2, 3 ]
{1, 2, 3} {1, 2, 3}
``` ```
*Padding can be specified for multiple brace types (`let g:argwrap_padded_braces = '[{'`)* Padding can be specified for multiple brace types (`let g:argwrap_padded_braces = '[{'`).
* `argwrap_tail_comma` ### argwrap_tail_comma
Specifies if any closing brace should be preceded with a comma when wrapping lines. Specifies if any closing brace should be preceded with a comma when wrapping lines.
*Tail comma disabled (default)* Tail comma disabled (default)::
``` ```
Foo( Foo(
wibble, wibble,
wobble, wobble,
wubble wubble
) )
``` ```
*Tail comma enabled (`let g:argwrap_tail_comma = 1`)* Tail comma enabled (`let g:argwrap_tail_comma = 1`):
``` ```
Foo( Foo(
wibble, wibble,
wobble, wobble,
wubble, wubble,
) )
``` ```
* `argwrap_tail_comma_braces` ### argwrap_tail_comma_braces
Specifies which closing brace should be preceded with a comma when wrapping lines. Specifies which closing brace should be preceded with a comma when wrapping lines.
*Tail comma disabled (default)* Tail comma disabled (default):
``` ```
Foo( Foo(
wibble, wibble,
wobble, wobble,
wubble wubble
) )
``` ```
*Tail comma enabled for square brackets only (`let g:argwrap_tail_comma_braces = '['`)* Tail comma enabled for square brackets only (`let g:argwrap_tail_comma_braces = '['`):
``` ```
[ [
1, 1,
2, 2,
3, 3,
] ]
``` ```
* `argwrap_tail_indent_braces` ### argwrap_tail_indent_braces
Specifies if the closing brace should be indented to argument depth. Specifies if the closing brace should be indented to argument depth.
*Tail indent disabled* Tail indent disabled:
``` ```
Foo( Foo(
wibble,
wobble,
wubble
)
```
Tail indent enabled for parenthesis (`let g:argwrap_tail_indent_braces = '('`):
```
Foo(
wibble, wibble,
wobble, wobble,
wubble wubble
) )
``` ```
*Tail indent enabled for parenthesis (`let g:argwrap_tail_indent_braces = '('`)* ### argwrap_wrap_closing_brace
``` Specifies if the closing brace should be wrapped to a new line.
Foo(
Brace wrapping enabled (default):
```
Foo(
wibble, wibble,
wobble, wobble,
wubble wubble
) )
``` ```
* `argwrap_wrap_closing_brace` Brace wrapping disabled (`let g:argwrap_wrap_closing_brace = 0`):
Specifies if the closing brace should be wrapped to a new line. ```
Foo(
*Brace wrapping enabled (default)*
```
Foo(
wibble,
wobble,
wubble
)
```
*Brace wrapping disabled (`let g:argwrap_wrap_closing_brace = 0`)*
```
Foo(
wibble, wibble,
wobble, wobble,
wubble) wubble)
``` ```
* `argwrap_comma_first` ### argwrap_comma_first
Specifies if the argument comma delimiter should be placed before arguments. Specifies if the argument comma delimiter should be placed before arguments.
*Comma first disabled (default)* Comma first disabled (default):
``` ```
Foo( Foo(
wibble, wibble,
wobble, wobble,
wubble wubble
) )
``` ```
*Comma first enabled (`let g:argwrap_comma_first = 1`)* Comma first enabled (`let g:argwrap_comma_first = 1`):
``` ```
Foo( Foo(
wibble wibble
, wobble , wobble
, wubble , wubble
) )
``` ```
* `argwrap_comma_first_indent` ### argwrap_comma_first_indent
Specifies if the first argument should be indented when used in conjunction with `argwrap_comma_first`. Specifies if the first argument should be indented when used in conjunction with `argwrap_comma_first`.
*Comma first indent disabled (default)* Comma first indent disabled (default):
``` ```
Foo( Foo(
wibble wibble
, wobble , wobble
, wubble , wubble
) )
``` ```
*Comma first indent enabled (`let g:argwrap_comma_first_indent = 1`)* Comma first indent enabled (`let g:argwrap_comma_first_indent = 1`):
``` ```
Foo( Foo(
wibble wibble
, wobble , wobble
, wubble , wubble
) )
``` ```
## Usage
1. Position the cursor *inside* of the scope of the parenthesis, brackets or curly braces you wish to wrap/unwrap (not
on top, before or after them).
2. Execute the keyboard binding you defined above to *toggle* the wrapping and unwrapping of arguments.