Skip to content

Commit

Permalink
Merge pull request #17 from vutran/add-json-parser
Browse files Browse the repository at this point in the history
Add JSON/GraphQL parser (prettier 1.5)
  • Loading branch information
mitermayer committed Jun 30, 2017
2 parents bf82f3b + 8f53ba1 commit 88458c2
Show file tree
Hide file tree
Showing 6 changed files with 35 additions and 15 deletions.
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

A vim plugin wrapper for prettier, pre-configured with custom default prettier settings.

By default it will auto format **javascript**, **typescript**, **less**, **scss** and **css** files that have "@format" annotation in the header of the file.
By default it will auto format **javascript**, **typescript**, **less**, **scss**, **css**, **json**, and **graphql** files that have "@format" annotation in the header of the file.

![vim-prettier](/media/vim-prettier.gif?raw=true "vim-prettier")

Expand All @@ -14,7 +14,7 @@ Install with [vim-plug](https://github.com/junegunn/vim-plug), assumes node and
" post install (yarn install | npm install) then load plugin only for editing supported files
Plug 'mitermayer/vim-prettier', {
\ 'do': 'yarn install',
\ 'for': ['javascript', 'typescript', 'css', 'less', 'scss'] }
\ 'for': ['javascript', 'typescript', 'css', 'less', 'scss', 'json', 'graphql'] }
```

If using other vim plugin managers or doing manual setup make sure to have `prettier` installed globally or go to your vim-prettier directory and either do `npm install` or `yarn install`
Expand Down Expand Up @@ -75,14 +75,14 @@ Running before saving sync:

```vim
let g:prettier#autoformat = 0
autocmd BufWritePre *.js,*.css,*.scss,*.less Prettier
autocmd BufWritePre *.js,*.json,*.css,*.scss,*.less,*.graphql Prettier
```

Running before saving async (vim 8+):

```vim
let g:prettier#autoformat = 0
autocmd BufWritePre *.js,*.css,*.scss,*.less PrettierAsync
autocmd BufWritePre *.js,*.json,*.css,*.scss,*.less,*.graphql PrettierAsync
```

Running before saving, changing text or leaving insert mode:
Expand All @@ -92,7 +92,7 @@ Running before saving, changing text or leaving insert mode:
let g:prettier#quickfix_enabled = 0
let g:prettier#autoformat = 0
autocmd BufWritePre,TextChanged,InsertLeave *.js,*.css,*.scss,*.less PrettierAsync
autocmd BufWritePre,TextChanged,InsertLeave *.js,*.json,*.css,*.scss,*.less,*.graphql PrettierAsync
```

### Overwrite default prettier configuration
Expand Down Expand Up @@ -124,7 +124,7 @@ g:prettier#config#jsx_bracket_same_line = 'true'
" none|es5|all
g:prettier#config#trailing_comma = 'all'
" flow|babylon|typescript|postcss
" flow|babylon|typescript|postcss|json|graphql
g:prettier#config#parser = 'flow'
```
Expand Down
14 changes: 7 additions & 7 deletions doc/prettier.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ INTRODUCTION *vim-prettier-introduction*
A vim plugin wrapper for prettier, pre-configured with
custom default prettier settings.

By default it will auto format javascript, typescript, less, scss and
css files that have '@format' annotation in the header of the file.
By default it will auto format javascript, typescript, less, scss, css,
json, and graphql files that have '@format' annotation in the header of the file.

When installed via vim-plug, a default prettier executable is installed inside
vim-prettier.
Expand All @@ -34,7 +34,7 @@ node and yarn|npm installed globally.
>
Plug 'mitermayer/vim-prettier', {
\ 'do': 'yarn install',
\ 'for': ['javascript', 'typescript', 'css', 'less', 'scss'] }
\ 'for': ['javascript', 'typescript', 'css', 'less', 'scss', 'json', 'graphql'] }
<
If using other vim plugin managers or doing manual setup make sure to have
`prettier` installed globally or go to your vim-prettier directory and
Expand Down Expand Up @@ -77,20 +77,20 @@ First disable the default autoformat, then update to your own custom behaviour
Running before saving sync:
>
let g:prettier#autoformat = 0
autocmd BufWritePre *.js,*.css,*.scss,*.less Prettier
autocmd BufWritePre *.js,*.json,*.css,*.scss,*.less,*.graphql Prettier
<
Running before saving async (vim 8+):
>
let g:prettier#autoformat = 0
autocmd BufWritePre *.js,*.css,*.scss,*.less PrettierAsync
autocmd BufWritePre *.js,*.json,*.css,*.scss,*.less,*.graphql PrettierAsync
<
Running before saving, changing text or leaving insert mode:
>
let g:prettier#autoformat = 0
" when running at every change you may want to disable quickfix
let g:prettier#quickfix_enabled = 0
autocmd BufWritePre,TextChanged,InsertLeave *.js,*.css,*.scss,*.less PrettierAsync
autocmd BufWritePre,TextChanged,InsertLeave *.js,*.json,*.css,*.scss,*.less,*.graphql PrettierAsync
<
Overwrite default prettier configuration

Expand Down Expand Up @@ -122,7 +122,7 @@ defaults that is used internally at Facebook and on Facebook open source project
" none|es5|all
g:prettier#config#trailing_comma = 'all'
" flow|babylon|typescript|postcss
" flow|babylon|typescript|postcss|json|graphql
g:prettier#config#parser = 'flow'
<
==============================================================================
Expand Down
10 changes: 10 additions & 0 deletions ftplugin/graphql.vim
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
let b:prettier_ft_default_args = {
\ 'parser': 'graphql'
\ }

augroup Prettier
autocmd!
if g:prettier#autoformat
autocmd BufWritePre <buffer> call prettier#Autoformat()
endif
augroup end
10 changes: 10 additions & 0 deletions ftplugin/json.vim
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
let b:prettier_ft_default_args = {
\ 'parser': 'json'
\ }

augroup Prettier
autocmd!
if g:prettier#autoformat
autocmd BufWritePre <buffer> call prettier#Autoformat()
endif
augroup end
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@
"url": "git://github.com/mitermayer/vim-prettier.git"
},
"dependencies": {
"prettier": "^1.4.4"
"prettier": "^1.5.2"
}
}
2 changes: 1 addition & 1 deletion plugin/prettier.vim
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ let g:prettier#config#jsx_bracket_same_line = get(g:,'prettier#config#jsx_bracke
" none|es5|all
let g:prettier#config#trailing_comma = get(g:,'prettier#config#trailing_comma', 'all')

" flow|babylon|typescript|postcss
" flow|babylon|typescript|postcss|json|graphql
let g:prettier#config#parser = get(g:,'prettier#config#parser', 'flow')

" synchronous by default
Expand Down

0 comments on commit 88458c2

Please sign in to comment.