aboutsummaryrefslogtreecommitdiff
path: root/vim/autoload/has.vim
diff options
context:
space:
mode:
authorTom Ryder <tom@sanctum.geek.nz>2019-07-07 15:53:33 +1200
committerTom Ryder <tom@sanctum.geek.nz>2019-07-07 15:53:33 +1200
commit248e39e39bc913d9169c0a0d3bf2a2659d655866 (patch)
tree87cae663f166ca7033a37596fb62003e1e6dfdaf /vim/autoload/has.vim
parentMerge branch 'release/v6.51.0' (diff)
parentBump VERSION (diff)
downloaddotfiles-248e39e39bc913d9169c0a0d3bf2a2659d655866.tar.gz
dotfiles-248e39e39bc913d9169c0a0d3bf2a2659d655866.zip
Merge branch 'release/v6.52.0'v6.52.0
* release/v6.52.0: Correct typo Backport convenient patch-* test to old Vim
Diffstat (limited to 'vim/autoload/has.vim')
-rw-r--r--vim/autoload/has.vim16
1 files changed, 16 insertions, 0 deletions
diff --git a/vim/autoload/has.vim b/vim/autoload/has.vim
new file mode 100644
index 00000000..0100e913
--- /dev/null
+++ b/vim/autoload/has.vim
@@ -0,0 +1,16 @@
+function! has#(feature) abort
+ if has('patch-7.4.237')
+ return has(a:feature)
+ endif
+ let feature = a:feature
+ let pattern = 'patch-\(\d\+\)\.\(\d\+\)\.\(\d\+\)'
+ let matchlist = matchlist(feature, pattern)
+ if empty(matchlist)
+ return has(a:feature)
+ endif
+ let [major, minor, patch] = matchlist[1:3]
+ let l:version = major * 100 + minor
+ return v:version != l:version
+ \ ? v:version > l:version
+ \ : has('patch-'.patch)
+endfunction