diff options
author | Tomasz N <przepompownia@users.noreply.github.com> | 2019-03-12 18:49:48 +0100 |
---|---|---|
committer | w0rp <w0rp@users.noreply.github.com> | 2019-03-12 17:49:48 +0000 |
commit | 5f03bae41ca1fc63a9e607bed99c277249e9774e (patch) | |
tree | 158be9ccbf28a2f95e236887e765a556899b2cfa | |
parent | 365ffae6c4668f7aa89cc181e514bb6b2245c9a0 (diff) | |
download | ale-5f03bae41ca1fc63a9e607bed99c277249e9774e.zip |
Fix parsing the third part of version string (#2355)
* Fix parsing the third part of version string
* Add test
* Test: fix checking cached version
-rw-r--r-- | autoload/ale/semver.vim | 4 | ||||
-rw-r--r-- | test/test_semver_utils.vader | 3 |
2 files changed, 4 insertions, 3 deletions
diff --git a/autoload/ale/semver.vim b/autoload/ale/semver.vim index 8f549c9f..5f1b46fc 100644 --- a/autoload/ale/semver.vim +++ b/autoload/ale/semver.vim @@ -14,10 +14,10 @@ function! ale#semver#GetVersion(executable, version_lines) abort let l:version = get(s:version_cache, a:executable, []) for l:line in a:version_lines - let l:match = matchlist(l:line, '\v(\d+)\.(\d+)\.?(\d?)') + let l:match = matchlist(l:line, '\v(\d+)\.(\d+)(\.(\d+))?') if !empty(l:match) - let l:version = [l:match[1] + 0, l:match[2] + 0, l:match[3] + 0] + let l:version = [l:match[1] + 0, l:match[2] + 0, l:match[4] + 0] let s:version_cache[a:executable] = l:version break diff --git a/test/test_semver_utils.vader b/test/test_semver_utils.vader index cd0381dd..62483505 100644 --- a/test/test_semver_utils.vader +++ b/test/test_semver_utils.vader @@ -15,7 +15,8 @@ Execute(GetVersion should return an empty list when no vesrion can be found): Execute(GetVersion should cache the version): AssertEqual [], ale#semver#GetVersion('dummy', []) AssertEqual [3, 4, 7], ale#semver#GetVersion('dummy', ['Version 3.4.7']) - AssertEqual [3, 4, 7], ale#semver#GetVersion('dummy', []) + AssertEqual [3, 4, 17], ale#semver#GetVersion('dummy', ['Version 3.4.17']) + AssertEqual [3, 4, 17], ale#semver#GetVersion('dummy', []) Execute(GetVersion should tolerate missing patch numbers): " This goes against the semver spec, but we handle it anyway. |