This options allow third party plugins to register and enable additonal
functionality by setting the filetype to vimwiki.other_ft.other_ft2 etc.
This option should be used with care since vimwiki functionality can be
overwritten by other plugins. See Issue #461 for an example use case.
Adds new configuration variable, "conceal_onechar_markers", defaulting
to on (preserving default behaviour)
Adds if-statement around relevant parts of code (as suggested in the
issue), which uses the new configuration variable.
Fix#315 - Don't conceal one-character markers
The option 'links_space_char' replaces spaces with the specified
character when creating a link from a visual selection. This modifies
the behavior to not replace spaces in the link description but to still
replace spaces in the filename.
The optimized table formatting algorithm was still O(n) because
calculating aligns required traversal to the separator line on the top
of a table. This heuristic algorithm calculates aligns in O(1) in the
best case by looking at cells in two rows above.
Say, if two above rows are
| uau | uauyaya | ya |
| ua | uaua | uaaua |
| <cursor> | | |
then the aligns can be figured out without need to find the separator
line. If aligns cannot be figured out after this fast check then the
algorithm falls back to O(n) with searching for the separator line.
This formatting is needed in the optimized table formatting algorithm
for shrinking the current table line to try the best to avoid
re-formatting the whole table. However, this breaks cursor motion and
may also affect other table related behaviors. The fix is to move this
formatting to get_aligned_rows(). Now table rows are not affected by any
means, because the current row is only replaced temporarily for the
formatting purpose only and gets reverted as soon as the check is
finished.
Fixes#656.
This reverts commit 23d273d547, which
fixes#655.
Description of fixed problem:
1. When looping through rows, if a separator was found, all subsequent
rows would not get an assigned alignment.
2. This breaks `s:get_aligned_rows` because it calls `s:fmt_sep` and
`s:fmt_row`, both of which expect `aligns` to have a value for every
row number.
This changes the tags file used by vimwiki to '.vimwiki_tags' to prevent
conflicts with other tools that may generate a tags file using the same
name such as gutentags.
The wikilocal option links_space_char will be used to replace any spaces
when creating a new wiki link and page. This only affects link creation
with a visual selection.
Commands such as :VimwikiIndex and :VimwikiDiaryIndex did not previously
take a count and the doucmentation was inconsistent/incorrect for the
behavior of these commands. Fixes#543.
Add an option for setting the format of the links in the Table of Contents:
- Extended (the current and default)
- Brief (new format for the Vimwiki markup)
Added the option 'diary_caption_level', which controls the presence of
captions in the diary index linking to headers within the diary pages.
Possible values:
-1: No headers are read from the diary page.
0: The first header from the diary page is used as the caption.
There are no sub-captions.
1: Captions are created for headers of level 1 in the diary page.
2: Captions are created for headers up to level 2 in the diary page.
etc.
When the value is >= 1, the primary caption of each diary page is set to
the first header read from that page if it is the unique lowest-level
header.
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.
Made each heading link to itself, by placing an <a> tag inside each
<h[1-6]> tag.
Also adds class="header" to each header, allowing for the CSS rule
.header a { ... }
to remove all styling from the inner links, allowing the outputed
document to look like before.
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.
Apparently, switching buffers in connection with disabled events caused
the highlighting to disappear. Solution: use the :wa command to save all
buffers. A disadvantage is that now also non-Vimwiki buffers are saved,
but I think that is bearable.
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
This was committed by accident. Since 53745e8 had to be done by machine
this it not a real revert, but a redo of 53745e8. Due to the matter of
53745e8 it's slightly different.
* Allow HTML-style comment syntax
Allow <!-- HTML comments --> in vimwiki's highlight for markdown.
* Avoid matching "TODO" on word boundaries
Do not match e.g. "xTODO:" as if it were "TODO:".
This also lifts the requirement of ":" after these keywords
(it is more flexible to just require a word boundary regardless of what).
The list of diary entries now is not indented according to the vim
`shiftwidth` setting, but gets the indentation from list_margin (as is
the case for `vimwiki#base#generate_links`).
1 tabedit
2 split
3 vsplit
Similar to opening a tab,::
vimwiki#base#goto_index(v:count1, 1)
we can now open a split with::
vimwiki#base#goto_index(v:count1, 2)
and a vertical split with::
vimwiki#base#goto_index(v:count1, 3)
1 tabedit
2 split
3 vsplit
Similar to opening a tab,::
vimwiki#base#goto_index(v:count1, 1)
we can now open a split with::
vimwiki#base#goto_index(v:count1, 2)
and a vertical split with::
vimwiki#base#goto_index(v:count1, 3)
1 tabedit
2 split
3 vsplit
Similar to opening a tab,::
vimwiki#base#goto_index(1, 1)
we can now open a split with::
vimwiki#base#goto_index(1, 2)
and a vertical split with::
vimwiki#base#goto_index(1, 3)
1 tabedit
2 split
3 vsplit
Similar to opening a tab,::
vimwiki#base#goto_index(v:count1, 1)
we can now open a split with::
vimwiki#base#goto_index(v:count1, 2)
and a vertical split with::
vimwiki#base#goto_index(v:count1, 3)
This escapes the `.` preceding an extension (e.g. `.wiki`) so that it doesn't accidentally match any character.
For example: `[vimwiki](vimwiki)` was opening the `vi.wiki` page, because of this rule.