diff options
author | w0rp <devw0rp@gmail.com> | 2019-03-13 16:44:29 +0000 |
---|---|---|
committer | w0rp <devw0rp@gmail.com> | 2019-03-13 16:44:29 +0000 |
commit | 80ef7ea2d0b22f0d8de7387a3d5bf6e9e5b72e9d (patch) | |
tree | 0714ebb7cd67a0b061a2f83e16ebb8593e8a92f2 /autoload | |
parent | 67ea571659f31f2ac2253789fabb6b1a30661508 (diff) | |
download | ale-80ef7ea2d0b22f0d8de7387a3d5bf6e9e5b72e9d.zip |
#2357 Handle Windows paths where the drive letter colon is encoded
Diffstat (limited to 'autoload')
-rw-r--r-- | autoload/ale/path.vim | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/autoload/ale/path.vim b/autoload/ale/path.vim index 25193ddb..60d42eb5 100644 --- a/autoload/ale/path.vim +++ b/autoload/ale/path.vim @@ -205,11 +205,13 @@ function! ale#path#FromURI(uri) abort let l:encoded_path = a:uri endif + let l:path = ale#uri#Decode(l:encoded_path) + " If the path is like /C:/foo/bar, it should be C:\foo\bar instead. - if l:encoded_path =~# '^/[a-zA-Z][:|]' - let l:encoded_path = substitute(l:encoded_path[1:], '/', '\\', 'g') - let l:encoded_path = l:encoded_path[0] . ':' . l:encoded_path[2:] + if has('win32') && l:path =~# '^/[a-zA-Z][:|]' + let l:path = substitute(l:path[1:], '/', '\\', 'g') + let l:path = l:path[0] . ':' . l:path[2:] endif - return ale#uri#Decode(l:encoded_path) + return l:path endfunction |