aboutsummaryrefslogtreecommitdiff
path: root/autoload/prettier/resolver/config.vim
diff options
context:
space:
mode:
authorVictor S <victorplentz@gmail.com>2023-10-04 23:34:09 -0300
committerVictor S <victorplentz@gmail.com>2023-10-04 23:34:09 -0300
commit067173cf302a4305a0f468910f47f7b008a42b1f (patch)
tree3b92db519774eb6ea44703ed051a412343da1223 /autoload/prettier/resolver/config.vim
parentd512812ac78f8a1d98db469ffeefb99a368716a8 (diff)
downloadvim-prettier-067173cf302a4305a0f468910f47f7b008a42b1f.tar.xz
refactor: add flag-mapper functions
Added general mapper functions that map flag names to parts of a CLI command. They are part a plan to use an object with flag details to compose the CLI command.
Diffstat (limited to 'autoload/prettier/resolver/config.vim')
-rw-r--r--autoload/prettier/resolver/config.vim15
1 files changed, 15 insertions, 0 deletions
diff --git a/autoload/prettier/resolver/config.vim b/autoload/prettier/resolver/config.vim
index 3b841aa..2b66ede 100644
--- a/autoload/prettier/resolver/config.vim
+++ b/autoload/prettier/resolver/config.vim
@@ -129,3 +129,18 @@ endfunction
function! s:Flag_stdin() abort
return '--stdin '
endfunction
+
+" Returns a flag name concantenated with its value in the JSON config object or
+" in the default global Prettier config.
+function! s:Concat_value_to_flag(config_and_sel, flag, props) abort
+ let l:global_value = get(g:, 'prettier#config#' . a:props.global_name, "")
+
+ let l:value = get(a:config_and_sel.config, a:props.json_name, l:global_value)
+
+ return a:flag . '=' . l:value
+endfunction
+
+" Maps a flag name to a part of a command.
+function! s:Map_flag_to_cmd_part(config_and_sel, flag, props) abort
+ return a:props.mapper(a:config_and_sel, a:flag, a:props)
+endfunction