summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor S <victorplentz@gmail.com>2023-10-08 10:13:06 -0300
committerVictor S <victorplentz@gmail.com>2023-10-09 09:58:23 -0300
commit3dfc0efda164980d30495153024410c347d07da8 (patch)
treec13e10965227c9f0584b0303245f5f9e38bd8b62
parent9dc059220e66aab08e7d68970c562fabbae28831 (diff)
downloadvim-prettier-3dfc0efda164980d30495153024410c347d07da8.tar.xz
refactor: add function to filter flags by version
Added a function to filter flags that are uncompatible with a supplied version. 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.vim19
1 files changed, 19 insertions, 0 deletions
diff --git a/autoload/prettier/resolver/config.vim b/autoload/prettier/resolver/config.vim
index 84dc933..4350fa4 100644
--- a/autoload/prettier/resolver/config.vim
+++ b/autoload/prettier/resolver/config.vim
@@ -286,3 +286,22 @@ function! s:Get_prettier_cli_version() abort
let l:prettier_cli_version = s:Trim_internal_unprintable(trim(l:output))
return l:prettier_cli_version
endfunction
+
+" Returns 1 if the version of the flag argument is compatible with the
+" version argument, otherwise returns 0.
+function! s:Filter_uncompatible_flag(version, _, flag) abort
+ let l:is_deprecated = exists('a:flag.deprecated')
+ \ && prettier#utils#version#Is_greater_or_equal_version(
+ \ a:version, a:flag.deprecated)
+ if l:is_deprecated
+ return 0
+ endif
+
+ let l:is_added = !exists('a:flag.since')
+ \ || prettier#utils#version#Is_greater_or_equal_version(
+ \ a:version, a:flag.since)
+ if !l:is_added
+ return 0
+ endif
+ return 1
+endfunction