From 067173cf302a4305a0f468910f47f7b008a42b1f Mon Sep 17 00:00:00 2001 From: Victor S Date: Wed, 4 Oct 2023 23:34:09 -0300 Subject: 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. --- autoload/prettier/resolver/config.vim | 15 +++++++++++++++ 1 file changed, 15 insertions(+) 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 -- cgit v1.3