170 Commits

Author SHA1 Message Date
Tinmarino 1fbe1bc6a8 Feature: Syntax: Provide vimwiki language escape sequences -> \token #1044 2021-06-09 12:42:51 -04:00
Tinmarino 62baafe259 Test: link creation with dot #924 2021-06-09 09:45:25 -04:00
Tinmarino 0181009dba Feature: vimwiki#base#linkify() with markdown syntax setting #994 2021-06-09 09:26:52 -04:00
Tinmarino 573e3d1952 Test comment last 2021-06-08 17:44:38 -04:00
Tinmarino 760cab232d Test for links_space_char #1132 2021-06-08 17:14:43 -04:00
Steven Stallion 8fef79bcbd VimwikiGoto: Support wiki pages with spaces (#1128) 2021-05-20 14:50:10 -05:00
Tinmarino 1f77b7e6f6 Table: Fix exception if i<Tab> at end of line if next line is bad (Issue #1126) 2021-05-17 10:36:12 -04:00
Stefan Schuhbäck f6c419fb87 Add wikilocal option showing description in generated links 2021-05-06 20:36:42 -04:00
Brennen Bearnes f396e8a494 Fix resolution of leading-slash links, add link tests (#1108)
Hopefully this solves #1084, "Page links with leading slash lead to a
file in working directory, not a page at the root of the wiki", introduced
in 850aace.

It also adds a set of tests for different kinds of wiki links:

  - api_base_resolve_link.vader
  - link_syntax_markdown.vader
  - link_syntax_vimwiki.vader

Includes some fixes for locally-failing tests, removes a test from
test/map.vader and comments out test/config_vars.vader entirely for the
moment.

Code by : Brennen Bearnes <code@p1k3.com>
2021-04-06 22:09:37 -04:00
Brennen Bearnes 618893be00 Vimwiki2HTML: remove string concat from variable substitution (#1110)
Problem: I noticed that running :Vimwiki2HTML for a file with a `"` in
the `%title` line would error out.  For example, a title like:

    %title this will die: "

Causes:

    Error detected while processing function vimwiki#html#Wiki2HTML[1]..<SNR>177_convert_file[15]..<SNR>177_convert_file_to_lines
_template:
    line    8:
    E116: Invalid arguments for function substitute(v:val, "%title%", "this will die: "", "g")

Solution: It seems like the string concatenation here was unnecessary.
At least on my vim 8.1, the evaluated code seems to have access to the
correct variables.

I'm sure there are bigger problems with the HTML generation here, but this
allows my ~2000 pages with titles to render without throwing errors.

Also adds a brief test and removes some unnecessary DeleteFile() calls
from html_convert_default.vader.

Co-authored-by: Brennen Bearnes <code@p1k3.com>
2021-04-05 22:07:38 -05:00
Tinmarino 0a9488f3f1 Feature VimwikiColorize maps in visual and normal mode #990
Colorize working for visual selection
Add map (,wc), test and doc
2021-01-10 19:03:37 -03:00
Tinmarino e91711eb79 Test: Fix error in previous typeface hi 2021-01-10 13:16:34 -03:00
Tinmarino e7124290a2 Fix: Typeface font highlight VimwikiBoldItalicUnderline was not bold
Fix 2: s:setup_cleared_syntax() was reconfiguring badly
Test: for hi VimwikiBold -> cterm=bold
2021-01-10 12:27:35 -03:00
Tinmarino 788a961052 Test: Add option to configure date string format #1073 2021-01-07 22:15:35 -03:00
Tinmarino 5996fdf26a Test: #1048 <Plug>VimwikiTableNextCell 2021-01-06 14:36:06 -03:00
Amit Beka 96713548cc configure expression for Todo words (#1053)
Enable the user to conveniently set the regular expression used for the
`VimwikiTodo` syntax group, instead of the defaults which might be
more suitable to code.

This setting is now also local per wiki.

Signed-off-by: Amit Beka <--->

Co-authored-by: Amit Beka <--->
2020-11-20 09:02:55 -03:00
Tomas Janousek 2a31984369 Feature: Optionally disable todo propagation to parents/children (Issue #954)
taskwiki integrates vimwiki with taskwarrior, and in doing so changes
the semantics of checkboxes a bit:

    * [ ] Install Taskwiki   |   pending task
    * [X] Install Taskwiki   |   completed task
    * [D] Install Taskwiki   |   deleted task
    * [S] Install Taskwiki   |   started task
    * [W] Install Taskwiki   |   waiting task

It's still desirable for vimwiki to automatically insert `* [ ]` on
`i_<CR>`, `o` and `O` and to syntax highlight all these five as
checkboxes, so I have this in my .vimrc:

    let g:vimwiki_listsym_rejected = 'D'
    let g:vimwiki_listsyms = ' WSX'

but it results in undesirable behaviour with task hierarchies: when I
add a new subtask (using `i_<CR>`, `o` or `O`)
or mark a subtask done, the parent's checkbox is updated to reflect its
overall completion, to one of ` `, `W`, `S` or `X`, depending on
subtasks completion. This makes little sense in taskwiki. One usually
doesn't want to touch the "parent" task in taskwarrior until the
"subtasks" are done. Setting

    let g:vimwiki_listsym_rejected = 'W'
    let g:vimwiki_listsyms = ' SX'

results in slightly less illogical behaviour, but it still assumes that
(1) all subtasks are visible (not necessarily true in taskwiki) and
(2) that it's a parent/subtask relationship, not a dependency
relationship (not true in taskwarrior, questionable in taskwiki).

This commit adds an option to disable this behaviour.
2020-10-24 19:43:01 -03:00
mtourneb 990b25ce37 Fix: Folding by 'syntax' does nothing with Markdown syntax (Issue #1009) 2020-09-05 16:19:21 -04:00
Ryan Winograd 1ea97303fd Fix: HTML Conversion: List with wrapped lines (#1008)
Track how many leading spaces a list item has in order to determine whether we should start a blockquote.

Note the extra close tag in the added test: this is a pre-existing issue
already present on `dev`.
2020-09-05 11:45:50 -04:00
mtourneb a7f34cd8cf Feature: Add command VimwikiColorize (Issue #990)
Only colorize the current line to start
2020-09-03 23:43:56 -04:00
Tinmarino dc63a5dacc Fix: Html convertion: Blockquote: multiline and in number list (Issue #55)
- Issue 5 indented multiline

Transoform blockquotes by precode
```
<blockquote>
Block quote line 1
Block quote line 2
</blockquote>
```
->

```
<pre><code>line 1
line 2
</code></pre>
```

- Issue 2: BlockQuote restarts list numbering

Allow indent precode in list
2020-08-24 01:14:18 -04:00
Tinmarino 8e5274b1a2 Test: Batchify all && Lint run_test.sh
All tests in the same batch, in other words, no independant test
2020-08-23 03:42:02 -04:00
Tinmarino 817641e551 Fix: Indentation broken within lists (Issue #991)
Side effect, formatoption+=c in order to also keep the joining behavior
with lists
2020-08-23 01:59:12 -04:00
Tinmarino a51052cbe6 Feature: VimwikiVar to list, get and set variables
Refaction:
- Add g:vimwiki_syntax_list to set syntaxlocal variables
- Delete: syntax/vimwiki_markdown.vim and friends
- Change: vimwiki_syntax_variables -> vimwiki_syntaxlocal_vars for consistency
- Include: some doc in design notes
2020-08-17 23:51:48 -04:00
Tinmarino 0b85dd1a7b Feature: Syntax typeface delimiters can end at punctuation 2020-08-13 01:59:21 -04:00
Tinmarino 22d9d012ba Fix: Broken TOC links format when using default syntax (Issue #981)
- Not normalising for default
- SetExt header missed a `^` in the regex so mateched the trailing ===
of === head3 ===
2020-08-12 23:59:45 -04:00
Tinmarino 212cd8e09b Doc: rename DesignNotes.md -> design_notes.md 2020-08-12 11:17:00 -04:00
Tinmarino 4431caf7ff Fix: Vars.vim error in parsing: key not present (Issue #980) 2020-08-12 10:35:40 -04:00
Tinmarino 11337f5b34 Test: remove vader_setup and vader_teardon 2020-08-12 09:12:17 -04:00
Tinmarino 39407014c8 Syntax: Stricter typeface and fix preCode (alias inline) nested in bold
Fix: Syntax bug precode nested in bold apperead bold

Problem:
1. `that_ HERE _was` italic
2. `__that ``HERE`` was__  bold => PreCode should not receive typeface
region changes

Solution:
1. Stricter regex (and add \* to VimwikiError)
2. Add VikiError and WikiPre to nestables syntaxes
2020-08-12 01:37:27 -04:00
Tinmarino a1f1b9c290 Syntax: Stricter italic match: match '_that_' not 'a_ that _a'
See: https://github.github.com/gfm/#emphasis-and-strong-emphasis

`A single * character can open emphasis iff (if and only if) it is part of a left-flanking delimiter run.`

Tim Pope default is too permissive (leads to too much emphasis openener): `\S\@<=_\|_\S\@=` -> `_\S\@=`
2020-08-09 16:29:39 -04:00
Tinmarino 7144df6b96 Test: Refactor: Normalize names and behavior 2020-08-09 16:13:53 -04:00
Tinmarino 188ead55db Config: Permit tag configuration for syntax, search and match (Issue #922 #928)
Affects: (via user configurated regexp)

- VimwikiGenerateTagLinks
- follow_link
- completion
- Syntax Highlighting
2020-08-08 04:06:20 -04:00
Tinmarino 659ca62b29 Fix: Accessing other filetypes within vimwiki (Issue #979)
Note: Viwiki no longer rules them all
2020-08-07 13:26:14 -04:00
Tinmarino dd239c58fb Comment: tipo (for faster grep) 2020-08-07 12:27:05 -04:00
Tinmarino 348b014957 Fix: Typeface should not be nested in single equation (#977)
Solution: make thos a tex nested region and let tex decide the syntax
2020-08-07 12:27:04 -04:00
Tinmarino 0693e41132 Fix: VimwikiTOC removes next non-empty line (Issue #910) 2020-08-06 17:04:58 -04:00
Tinmarino 8a50d022b1 Fix: follow_link (suffix) and VimwikiGenerateTagLinks (__FileExtension__) (Issue #914)
Problem:
- follow_link failed with header with number at the end
- VimwikiGenerateTagLinks did not replace the __FileExtension__

Solution:
- follow_link try first 1 time with suffix number n and then n times without
- VimwikiGenerateTagLinks replace the __FileExtension__
2020-08-06 11:21:48 -04:00
Tinmarino 69ead3bf3c Fix: VimwikiTOC is broken against headers with link (Issue #182)
Problem: VimwikiTOC and follow_link do not support header (anchor) with
link in their body

Solution:
- VimwikiTOC (easy): Create function base.vim s:clean_header_text that
converts [DESC](URL) -> DESC
- follow_link (hard):
-- [[URL]]: was already working due to punctuation removal.
-- [DESC](URL): Search for a potential `]([^)]*)` after every character
2020-08-05 22:26:05 -04:00
Tinmarino e4186adc3d Fix: iMap <Cr> Interfere in completion (alias popup-menu, pum) (Issue: #813)
Problem: When pum opened, the mapping of <CR> is triggered but user
want the default behaviour: to choose a completion item

Solution: Conditional mapping:
inoremap <expr><silent><buffer> <CR> pumvisible() ? '<CR>' : ':<Esc>:VimwikiReturn 1 5<Cr>'
                         The previous mapping  -----------------^
2020-08-05 12:13:13 -04:00
Tinmarino 8cc99c00c2 Fix VimwikiRenameLink ruins window layout (Issue #592) 2020-08-05 10:22:32 -04:00
Tinmarino 825870ec1b Fix: Highlight borken with done item rided by code (Issue #971) 2020-08-04 17:44:37 -04:00
Tinmarino fc056cfeca Feature: Markdown: Support SetExt Heading (Issue #209)
Like these
==========

See: https://spec.commonmark.org/0.29/#setext-headings

Note: work for follow_link and VimwikiTOC
2020-08-04 01:17:34 -04:00
Tinmarino 94a78859d7 Refactor: Syntax as region (code, eq, sub, sup, strike) => Fix (Issue #709)
More syntax pattern are defined as regions => Faster, enable nesting
2020-08-03 18:45:46 -04:00
Tinmarino 428c60a45e Feature: Markdown link: VimwikiTOC supports multiple heading with same name (Issue: #968, 666, #664)
Anchor can be suffixed with -1 -2 according to the heading number (in
file) user want to reach.
Implemented with a dictionary for caching anchor names (without sufix)
2020-08-02 23:28:18 -04:00
Tinmarino a27940a394 Feature: Markdown anchor normalize and unormalize (Issue #664)
Add normalize anchor and unnormalize to get markdown anchor github
compliant. For respectively follow_link and VimwikiTOC

TODO: Treat the potential -12 suffix in anchor-links: ex:
[got to second link](same-link-2)
2020-08-02 22:05:37 -04:00
Tinmarino 1b16720b7b Refactor: Syntax highlighting typeface: match -> region: (Issues #847, #640)
- Less code, Easyer to maintain, to add a markup language
- Faster to load, and to highlight
- Support multiline tags: #847
- Support nested tags
- Support intraword tags: this<b>bold</b>type #640
2020-08-02 03:57:22 -04:00
Tinmarino 5408d74b35 Syntax: Html support nested, concealable tag and faster
Use of syntax region => clearer, faster
2020-08-01 22:40:06 -04:00
Chip Senkbeil 6dff2c60a5 Add multiline comment support via %%+ and +%% 2020-08-01 18:18:11 -04:00
Tinmarino 787e95b910 Refactor: Vars: Make vimwiki_toc_header wiki local
Also: vimwiki_toc_header_level, vimwiki_toc_link_format
2020-07-30 18:48:15 -04:00