diff options
| author | Victor S <victorplentz@gmail.com> | 2023-10-08 11:12:11 -0300 |
|---|---|---|
| committer | Victor S <victorplentz@gmail.com> | 2023-10-09 15:07:31 -0300 |
| commit | b2ad859a252ded6de298e08ded2e89d23caa12f7 (patch) | |
| tree | 93bb03001ebc5e9032cf1cd7bf12e3a231097819 | |
| parent | 3dfc0efda164980d30495153024410c347d07da8 (diff) | |
| download | vim-prettier-b2ad859a252ded6de298e08ded2e89d23caa12f7.tar.xz | |
refactor: add function to select compatible flags
Added a function that selects the flags that are compatible with
the version of the Prettier CLI being used. This is part of a plan to
compose the flags of the CLI command from an object with flag details.
| -rw-r--r-- | autoload/prettier/resolver/config.vim | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/autoload/prettier/resolver/config.vim b/autoload/prettier/resolver/config.vim index 4350fa4..c0c9190 100644 --- a/autoload/prettier/resolver/config.vim +++ b/autoload/prettier/resolver/config.vim @@ -305,3 +305,22 @@ function! s:Filter_uncompatible_flag(version, _, flag) abort endif return 1 endfunction + +" Returns an object with the flags from the argument object that are compatible +" with the version of the Prettier CLI being used. +function! s:Get_current_version_flags(flags) abort + let l:prettier_version = s:Get_prettier_cli_version() + + let l:is_cached = exists('b:prettier_cached_flags') + \ && exists('b:prettier_last_used_cli_version') + \ && b:prettier_last_used_cli_version ==# l:prettier_version + if l:is_cached + return b:prettier_cached_flags->copy() + endif + + let l:compatible_flags = a:flags->copy()->filter( + \ function('s:Filter_uncompatible_flag', [l:prettier_version])) + let b:prettier_cached_flags = l:compatible_flags + let b:prettier_last_used_cli_version = l:prettier_version + return l:compatible_flags->copy() +endfunction |
