diff options
| author | mitermayer <mitermayer.reis@gmail.com> | 2018-05-10 13:36:09 -0700 |
|---|---|---|
| committer | mitermayer <mitermayer.reis@gmail.com> | 2018-05-16 09:29:20 -0700 |
| commit | 98845cdbbe243f4a62adbd73cbe7febec1f41efa (patch) | |
| tree | 3ebd4356d5e9519f9a90656adb24ed32a6653987 | |
| parent | bce2e04822de1a6cf568a576f585f932a73e9ecc (diff) | |
| download | vim-prettier-98845cdbbe243f4a62adbd73cbe7febec1f41efa.tar.xz | |
Adding presets
- adding facebook presets as a configurable option to overwrite prettier
defaults
| -rw-r--r-- | autoload/prettier.vim | 2 | ||||
| -rw-r--r-- | autoload/prettier/presets/fb.vim | 13 | ||||
| -rw-r--r-- | autoload/prettier/resolver/config.vim | 14 | ||||
| -rw-r--r-- | autoload/prettier/resolver/preset.vim | 8 | ||||
| -rw-r--r-- | plugin/prettier.vim | 34 |
5 files changed, 68 insertions, 3 deletions
diff --git a/autoload/prettier.vim b/autoload/prettier.vim index c5e21e5..fae1ef8 100644 --- a/autoload/prettier.vim +++ b/autoload/prettier.vim @@ -72,7 +72,7 @@ function! prettier#Prettier(...) abort let l:config = getbufvar(bufnr('%'), 'prettier_ft_default_args', {}) if l:execCmd != -1 - let l:cmd = l:execCmd . prettier#resolver#config#buildCliArgs(l:config) + let l:cmd = l:execCmd . prettier#resolver#config#buildCliArgs(prettier#resolver#preset#build(l:config)) " close quickfix if it is opened call prettier#utils#quickfix#close() diff --git a/autoload/prettier/presets/fb.vim b/autoload/prettier/presets/fb.vim new file mode 100644 index 0000000..4715b88 --- /dev/null +++ b/autoload/prettier/presets/fb.vim @@ -0,0 +1,13 @@ +" Return facebook style config overwrite presets +function! prettier#presets#fb#config() abort + return { + \ 'bracketSpacing': 'false', + \ 'jsxBracketSameLine': 'true', + \ 'printWidth': 80, + \ 'parser': 'flow', + \ 'singleQuote': 'true', + \ 'tabWidth': 2, + \ 'trailingComma': 'all', + \ 'useTabs': 'false', + \ } +endfunction diff --git a/autoload/prettier/resolver/config.vim b/autoload/prettier/resolver/config.vim index ffdd8ff..91fc247 100644 --- a/autoload/prettier/resolver/config.vim +++ b/autoload/prettier/resolver/config.vim @@ -8,6 +8,18 @@ function! prettier#resolver#config#buildCliArgs(config) abort \ s:Flag_tab_width(a:config) . ' ' . \ s:Flag_print_width(a:config) . ' ' . \ s:Flag_parser(a:config) . ' ' . + \ ' --semi=' . + \ get(a:config, 'semi', g:prettier#config#semi) . + \ ' --single-quote=' . + \ get(a:config, 'singleQuote', g:prettier#config#single_quote) . + \ ' --bracket-spacing=' . + \ get(a:config, 'bracketSpacing', g:prettier#config#bracket_spacing) . + \ ' --jsx-bracket-same-line=' . + \ get(a:config, 'jsxBracketSameLine', g:prettier#config#jsx_bracket_same_line) . + \ ' --arrow-parens=' . + \ get(a:config, 'arrowParens', g:prettier#config#arrow_parens) . + \ ' --trailing-comma=' . + \ get(a:config, 'trailingComma', g:prettier#config#trailing_comma) . \ ' --config-precedence=' . \ get(a:config, 'configPrecedence', g:prettier#config#config_precedence) . \ ' --prose-wrap=' . @@ -17,6 +29,8 @@ function! prettier#resolver#config#buildCliArgs(config) abort \ ' --no-editorconfig '. \ ' --loglevel error '. \ ' --stdin ' + " TODO + " check to see if --no-editorconfig is still needed return l:cmd endfunction diff --git a/autoload/prettier/resolver/preset.vim b/autoload/prettier/resolver/preset.vim new file mode 100644 index 0000000..a0891d2 --- /dev/null +++ b/autoload/prettier/resolver/preset.vim @@ -0,0 +1,8 @@ +" Build config using predefined preset +function! prettier#resolver#preset#build(fileTypeConfigOverwrites) abort + if ( g:prettier#preset#config ==# 'fb' ) + return extend(prettier#presets#fb#config(), a:fileTypeConfigOverwrites) + endif + + return a:fileTypeConfigOverwrites +endfunction diff --git a/plugin/prettier.vim b/plugin/prettier.vim index 5de9caf..2bb5a39 100644 --- a/plugin/prettier.vim +++ b/plugin/prettier.vim @@ -29,6 +29,13 @@ let g:prettier#exec_cmd_async = get(g:, 'prettier#exec_cmd_async', 0) " when having formatting errors will open the quickfix by default let g:prettier#quickfix_enabled = get(g:, 'prettier#quickfix_enabled', 1) +" Don't leave the quicklist focused on error. +let g:prettier#quickfix_auto_focus = get(g:, 'prettier#quickfix_auto_focus', 1) + +" default|fb +" Use prettier defaults +let g:prettier#preset#config = get(g:,'prettier#preset#config', 'default') + " => Prettier CLI config " Max line length that prettier will wrap on: a number or 'auto' (use " textwidth). @@ -57,8 +64,31 @@ let g:prettier#config#config_precedence = get(g:, 'prettier#config#config_preced " default: 'preserve' let g:prettier#config#prose_wrap = get(g:, 'prettier#config#prose_wrap', 'preserve') -" Don't leave the quicklist focused on error. -let g:prettier#quickfix_auto_focus = get(g:, 'prettier#quickfix_auto_focus', 1) +" print semicolons +" default: 'true' +let g:prettier#config#semi = get(g:,'prettier#config#semi', 'true') + +" Use single quotes instead of double quotes. +" default: 'false' +let g:prettier#config#single_quote = get(g:,'prettier#config#single_quote', 'false') + +" print spaces between brackets +" default: 'true' +let g:prettier#config#bracket_spacing = get(g:,'prettier#config#bracket_spacing', 'true') + +" put > on the last line instead of new line +" default: 'false' +let g:prettier#config#jsx_bracket_same_line = get(g:,'prettier#config#jsx_bracket_same_line', 'false') + +" avoid wrapping a single arrow function param in parens +" avoid|always +" default: 'avoid' +let g:prettier#config#arrow_parens = get(g:,'prettier#config#arrow_parens', 'avoid') + +" Print trailing commas wherever possible when multi-line. +" none|es5|all +" default: 'none' +let g:prettier#config#trailing_comma = get(g:,'prettier#config#trailing_comma', 'none') " synchronous by default command! -nargs=? -range=% Prettier call prettier#Prettier(g:prettier#exec_cmd_async, <line1>, <line2>) |
