Adds a new global option named create_link, which allows the user to
control :VimwikiFollowLink behavior when attempting to follow a
non-existent link. The original behavior of creating a new link is
preserved. However, by setting this option to 0, new links will not be
created when pressing return over regular text. Closes#528.
Instead of forcing the TOC to always be at header level 1, allow the
user to specify via the option g:vimwiki_toc_header_level what level
they want.
This defaults to 1, so if the user does nothing then the old behavior
will remain the same.
This reverts commit 599a0e9083.
Sorry, we can't simply change the syntax of something as basic as a
link, even if the old syntax is wrong. We need to keep Vimwiki
reasonably backwards compatible.
Two reasons whey the links in markdown wikis are not updated:
1. The markdown link pattern is wrong, should be []() rather than [][];
2. The logic of getting wiki local var cannot get correct wiki index as:
a. the renamed file's buffer is removed and %:p would return empty
b. the function that gets the wiki local var depends on buffer's %:p
value to find the wiki it belongs to and it would always return -1
and result in the default option values instead the user's option
The fix is
1. fix the markdown link pattern regex;
2. keep the renamed file's buffer open during the period of updating the link
Before, the cursor would jump to the TOC a lot when pressing <C-o> etc.,
because it is changed every time the buffer is saved.
Use :keepjumps to make it less intrusive. Sadly, the cursor still jumps
to the TOC when you press u and C-r, but it seems there is no way around
it.
Will fix normalization of links like [[local:./foo.txt]]
Also, allow schemes to end with a number, so that e.g. [[wiki1:foo]]
will normalize as expected.
The only real condition we care about is whether the selection is
contained within a single line. It is practical to do something like
V<CR> to link a whole line, and AFAIK there is no reason for why that
doesn't work.
- make it work for markdown and media syntax as well
- don't find headers in preformatted text or headers of the form = foo ==
- introduce iH and aH text objects for headers plus subheaders
- add a count to include parent headers
Inspired by #462