From 3dfc0efda164980d30495153024410c347d07da8 Mon Sep 17 00:00:00 2001 From: Victor S Date: Sun, 8 Oct 2023 10:13:06 -0300 Subject: 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. --- autoload/prettier/resolver/config.vim | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) 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 -- cgit v1.3