# Link internal to a file # # See: generate_toc.vim # # See issue #666 for anchor support (then internal links) # Preambule set file onces and for all {{{1 # Otherwise the bash script is freezing Given vimwiki (a): a Execute (Set filename wiki_test.md): file wiki_test.md Expect (a): a Given vimwiki (VimwikiTOC is broken against headers with link #182 {{{1): [A link B](#a-link-b) [tlink](#tlink) [7.4.1528](#741528) [link (333)](#link-333) # A [link](anything here) B # t[link](anything here) ## 7.4.1528 #### [link]() (333) Execute (VimwikiTOC: Set syntax markdown && Set sw=8): call SetSyntax('markdown') Do (Enter link): gg\ A__HERE1__\ ggj\ A__HERE2__\ ggjj\ A__HERE3__\ ggjjj\ A__HERE4__\ Expect vimwiki (Good anchor with link navigation): [A link B](#a-link-b) [tlink](#tlink) [7.4.1528](#741528) [link (333)](#link-333) # A [link](anything here) B__HERE1__ # t[link](anything here)__HERE2__ ## 7.4.1528__HERE3__ #### [link]() (333)__HERE4__ # Link to anchor in SetExt {{{1 # Like that # ----- # Issue: #209 Given vimwiki (Anchor SetExt): [jump](#frst-one) F!rst One ========= Execute (Set filename wiki_test.md): call SetSyntax('markdown') Do (Enter link): \ A__HERE__\ Expect (Cursor jumped SetExt): [jump](#frst-one) F!rst One__HERE__ ========= Given vimwiki (Bad Anchor SetExt): [jump](#frst-one) F!rst One Execute (Set filename wiki_test.md): call SetSyntax('markdown') Do (Enter link): \ A__HERE__\ Expect (Cursor stayed (not jumped) SetExt): [jump](#frst-one)__HERE__ F!rst One # Link to anchor with spaces {{{1 # PR #840 # Issues: #831 Given vimwiki (Internal links zith spaces): [Any ! apparent name @#$](#basic-heading-many-spaces) One line here ## Basic HeAding Many SpacES One line here Execute (Set filename wiki_test.md): call SetSyntax('markdown') Do (Enter link): \ A__HERE__\ Expect (Cursor at heading position): [Any ! apparent name @#$](#basic-heading-many-spaces) One line here ## Basic HeAding Many SpacES__HERE__ One line here Execute (Clear wiki jumps (alias: prev_links)): call vimwiki#vars#set_bufferlocal('prev_links', []) # Before {{{1 Given vimwiki (Internal links + one link to filenew): # Contents - [Test1](#Test1) - [Test2](#Test2) # Test1 - [Test1](#Test1) - [Test2](#Test2) - [filenew](filenew) # Test2 - [Test1](#Test1) - [Test2](#Test2) - [filenew](filenew) Execute (Set filename wiki_test.md): call SetSyntax('markdown') Do (Navigate with ): A more Contents\ \ \ A more Test1\ \ \ \ A more Test2\ Expect (Content added to titles): # Contents more Contents - [Test1](#Test1) - [Test2](#Test2) # Test1 more Test1 - [Test1](#Test1) - [Test2](#Test2) - [filenew](filenew) # Test2 more Test2 - [Test1](#Test1) - [Test2](#Test2) - [filenew](filenew) Do (Navigate with and and come back with ): \ \ # Cursor at Test1 \ \ \ # Cursor at Test2 \ \ \ # Cursor at Test2/filenew A not yet\ \ # Cursor at Test1/test2 A near Test1/test2 \ \ # Cursor at Contents/test1 A near Contents/test1 \ Expect (Vimwiki links): # Contents - [Test1](#Test1) near Contents/test1 - [Test2](#Test2) # Test1 - [Test1](#Test1) - [Test2](#Test2) near Test1/test2 - [filenew](filenew) # Test2 - [Test1](#Test1) - [Test2](#Test2) - [filenew](filenew) not yet Do (Navigate with comeback with from filenew): \ A first shot\ 0\ # Cursor at Contents/test1 \ \ \ A first shot\ 0\ # Cursor at Test1/test2 \ G # Cursor at Test2/filenew A first shot\ 0\ # Cursor at Test2/filenew \ # Cursor in filenew (a new file) A anything in filenew: empirically it does not count\ \ # Cursor at Test2/filenew \ # Cursor at Test1/test2 \ # Cursor at Contents/test1 A second shot Expect (Just Contents/test1 got the second shot): # Contents - [Test1](#Test1) first shot second shot - [Test2](#Test2) # Test1 - [Test1](#Test1) - [Test2](#Test2) first shot - [filenew](filenew) # Test2 - [Test1](#Test1) - [Test2](#Test2) - [filenew](filenew) first shot Execute (Delete filenew buffer): bd! /testplugin/filenew.md Do (Navigate with comeback with too far): \ # Cursor at Contents/test1 \ \ \ # Cursor at Test1/test2 \ \ # Cursor at Test2/test1 \ \ \ # Cursor at Test1/test2 \ A first test2\ \ # Cursor at Test2/test1 \ A first test1\ # Back \ # Cursor at Test2/test1 A second test2/test1\ \ # Cursor at Test1/test2 A second test1/test2\ \ # Cursor at Test2/test1 \ # Cursor at Test1/test2 \ # Cursor at Contents/test1 # Finished \ \ \ \ A 1\ \ A 2\ \ A 3\ \ A 4\ Expect (After too many , cursor stays at the first spot in first file: Contents/test1): # Contents - [Test1](#Test1) 1 2 3 4 - [Test2](#Test2) # Test1 first test1 - [Test1](#Test1) - [Test2](#Test2) second test1/test2 - [filenew](filenew) # Test2 first test2 - [Test1](#Test1) second test2/test1 - [Test2](#Test2) - [filenew](filenew) Given vimwiki (link to self): - [Bad link](Very bad.html) - [My own file](wiki_test) - [Test1](#Test1) - [Test2](#Test2) Do (Follow link to self and append chars): \ \ \ a this_is_18_chars \ Expect (Some chars appended at self link): - [Bad link](Very bad.html) - [ this_is_18_chars My own file](wiki_test) - [Test1](#Test1) - [Test2](#Test2) # vim: foldmethod=marker foldlevel=30 sw=2