From d7ec12645a0460a7d200279c52915e6e080e9869 Mon Sep 17 00:00:00 2001 From: Brennen Bearnes <74990+brennen@users.noreply.github.com> Date: Mon, 18 Jul 2022 18:08:18 -0600 Subject: [PATCH] append extension to links containing "." (fixes #950) (#1236) If a link contains `.`, then this: fnamemodify(link_text, ':e') will return the last .-separated part of the name as extension, and nothing else will get appended. Instead, we check if the extension is empty _or_ doesn't match the extension for the target wiki, in which case we append the correct one. This seems like it works, and might not break anything else, given the branch of the function that it's in. Co-authored-by: Brennen Bearnes --- autoload/vimwiki/base.vim | 5 +++-- doc/vimwiki.txt | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/autoload/vimwiki/base.vim b/autoload/vimwiki/base.vim index 52fbe82..8b47656 100644 --- a/autoload/vimwiki/base.vim +++ b/autoload/vimwiki/base.vim @@ -213,7 +213,6 @@ function! vimwiki#base#resolve_link(link_text, ...) abort let root_dir = fnamemodify(source_file, ':p:h') . '/' endif - " Extract the other items depending on the scheme if link_infos.scheme =~# '\mwiki\d\+' @@ -263,8 +262,10 @@ function! vimwiki#base#resolve_link(link_text, ...) abort \ vimwiki#vars#get_wikilocal('ext', link_infos.index) endif else + " append extension iff one not already present or it's not the targeted + " wiki extension - https://github.com/vimwiki/vimwiki/issues/950 let ext = fnamemodify(link_text, ':e') - if ext ==? '' " append ext iff one not already present + if ext ==? '' || ext !=? vimwiki#vars#get_wikilocal('ext', link_infos.index) let link_infos.filename .= vimwiki#vars#get_wikilocal('ext', link_infos.index) endif endif diff --git a/doc/vimwiki.txt b/doc/vimwiki.txt index 7369593..a07d4dc 100644 --- a/doc/vimwiki.txt +++ b/doc/vimwiki.txt @@ -4055,6 +4055,7 @@ Changed:~ Removed:~ Fixed:~ + * Issue #950: Correctly follow links containing . * PR #1245 / issue #1244: Fix VimwikiBacklinks handling of bracketed links * Issue #1193: Fix wildcard expansion in |find_autoload_file| * PR #1108: Fix resolution of leading-slash page links, add link tests