aboutsummaryrefslogtreecommitdiff
path: root/autoload
diff options
context:
space:
mode:
Diffstat (limited to 'autoload')
-rw-r--r--autoload/prettier.vim2
-rw-r--r--autoload/prettier/presets/fb.vim13
-rw-r--r--autoload/prettier/resolver/config.vim14
-rw-r--r--autoload/prettier/resolver/preset.vim8
4 files changed, 36 insertions, 1 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