Commit Graph

52 Commits

Author SHA1 Message Date
Tinmarino 72d02207b0 Syntax: Fasten highlighting, from 200ms to 20ms for first screen update
Problem:

The loading of a .md file was slow due to multiple nested lookback.
It is advised in vim help to prefer \zs, see :h /\@<
Anyway, it is useless to nest them.

089.080  000.085  000.085: sourcing /home/mtourneb/.vim/after/syntax/vimwiki.vim
089.264  005.184: opening buffers
089.322  000.058: BufEnter autocommands
089.323  000.001: editing files in windows
089.414  000.091: VimEnter autocommands
089.415  000.001: before starting main loop
303.698  214.283: first screen update
303.700  000.002: --- VIM STARTED ---

Solution:

Remove the function s:expand_delimiter in vars.vim.
It was doing a duplicate job with vimwiki#u#hi_expand_regex
And ... well avoid lookback as much as possible

091.784  000.087  000.087: sourcing /home/mtourneb/.vim/after/syntax/vimwiki.vim
091.991  006.034: opening buffers
092.050  000.059: BufEnter autocommands
092.052  000.002: editing files in windows
092.172  000.120: VimEnter autocommands
092.173  000.001: before starting main loop
112.574  020.401: first screen update
112.578  000.004: --- VIM STARTED ---
2023-03-18 01:50:53 -03:00
Tinmarino 8640988c5c Markdown typeface: match closer to GFM specification, also add tests 2023-03-17 16:08:27 -03:00
Tinmarino f5399ffdfa Improve typeface specification closer to GFM and test 2023-03-17 13:44:05 -03:00
Tinmarino 8374bcfccf Feature: Support for <mark> in Markdown (issue #1261) 2023-03-17 03:46:56 -03:00
Tinmarino 6d4208157d CI: Add Typos check and fix some typo 2023-03-12 01:15:28 -03:00
Tinmarino 59402cdf8b Highlight markdown typeface more compliant with Github Flavoured Markdown 2023-03-10 13:54:40 -03:00
Tinmarino 1fbe1bc6a8 Feature: Syntax: Provide vimwiki language escape sequences -> \token #1044 2021-06-09 12:42:51 -04:00
Tinmarino 29fa4b028b Doc: Indent Docstring inside function 2021-01-06 14:36:06 -03:00
David Sierra DiazGranados 527ca1b7a1 Allow overwriting insert mode maps (#1030)
According to `:h hasmapto()` if we don't pass the mode as an argument
then only normal, visual and operator-pending modes are checked.

Lets pass the mode explicitly to allow overwriting insert mode mappings.
2020-10-19 23:30:28 -03: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 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 4b041a606a Refactor: Mutualize messaging (echo) 2020-08-09 16:06:35 -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 825870ec1b Fix: Highlight borken with done item rided by code (Issue #971) 2020-08-04 17:44:37 -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 fb178f8e3c Fix: Typeface: var_with_undersore triggered syntax italic 2020-08-03 01:00:14 -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 c9ba53e204 Refractor: Path Add utility unixify #478
Basically unixify all before workingm then transofom in function os os

Util: Add function sort_len that a list of string according to the lenght of its content
Fix: VimwikiRenameLink doesn't update links in diary #90
Test: VimwikiRenameLink with nested directories
Prettify comments in autoload/path + remove antipattern
Define osxify function helper to solve windows Vs Unix : see #478
Path: remove useless temporary fix convertion before calling relpath (redundant) : see #478
Test: Fix typo
Path corrected (Thanks to test)
2020-07-25 03:51:02 -04:00
Tinmarino ac38bb2f09 Refactor: normalize_link_v, creating u#get_selection (Fix #382)
* Less hacky selection handling: nomal command hack -> vimscript code
* Some prettifying, antipattern removal
2020-07-24 17:59:54 -04:00
Tinmarino 077467877d Util: count_exe 2020-05-17 14:06:41 -04:00
Tinmarino ee38764480 Add: ShowVersion: os and vim version for easyer issue debug 2020-05-13 22:43:41 -04:00
Tinmarino 0850ce13ad Fix: retrocompatibility and Vint 2020-05-13 11:35:22 -04:00
Rane Brown 78a41b79c6 Merge branch 'multi_ft' into dev
This allows setting multiple filetypes at the same time e.g. 'vimwiki.md'
Closes #817, resolves #830, resolves #461.
2020-04-03 13:31:36 -06:00
Rane Brown 270f542292 Improve detection of code blocks 2020-01-03 15:14:45 -07:00
Rane Brown 1a4e1ed1ae Stylistic changes to pass vint tests.
Two non-stylistic errors were also fixed:
  1. Removed duplicate function with invalid argument usage
  2. Added missing quotes to a function call argument
2019-12-20 20:41:03 -07:00
Rane Brown 141d1aa081 Treat math blocks in the same manner as code blocks 2019-10-19 10:45:45 -06:00
Rane Brown a42cd58636 Don't insert marker character with o or O within a code block.
Previously if a code block was part of a list and o or O was used a new
list marker would be inserted. Also moved the is_codeblock check
function to utils file for use elsewhere.
2019-10-16 22:27:26 -06:00
Rane Brown 6ec85cd0e8 Allow buffer local mappings to overwrite existing mappings.
If the fileype is vimwiki then the vimwiki mappings take precedence.
Global mappings will not be overwritten. Closes #699
2019-05-24 20:41:12 -06:00
Rane Brown 50a3c78c87 Ensure key mappings defined in ftplugin are buffer specific.
The changes made with #686 did not ensure the ftplugin mappings were
specific to the buffer containing a Vimwiki file. This resulted in
undesired keymappings with no defined behavior since the <Plug>
definition was buffer specific.
2019-04-29 23:03:00 -06:00
Rane Brown 4106cb7bc7 New option g:vimwiki_key_mappings to enable/disable key mappings.
All key mappings have the option of being disabled but the <Plug>
definitions are still available for user customization. Key sequences
are no longer overwritten if a mapping already exists. Fixes #671,
fixes #425.
2019-04-26 21:17:35 -06:00
Rane Brown 1e74443b5a Allow additional filetypes to be registered to vimwiki files.
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.
2019-04-12 07:42:49 -06:00
EinfachToll c1dbf90c29 Remove foldmarkers; general reformatting 2018-04-20 07:03:53 +02:00
EinfachToll b016eab91a Set 'tw' to 99 in all source files. We're not in the middle ages anymore. 2018-02-21 07:11:51 +01:00
EinfachToll b61ff8b5ee Start refactoring the rest -- part 6
Ref #256
2017-01-11 22:12:33 +01:00
EinfachToll 250fd3c47b Use new access functions for wiki-local variables -- part 5
Ref #256
2016-12-23 20:05:53 +01:00
Michael c2d1869227 Escape tilde (~) in path names otherwise regex comparison gets upset 2016-02-29 16:12:56 -05:00
EinfachToll 9be96884ba Remove g:VimwikiLog and the timing stuff
For profiling, there is Vim's :profile command
2015-12-07 12:29:25 +01:00
EinfachToll 2afff4c411 Detect the OS correctly
Fix #158
2015-09-14 15:11:14 +02:00
EinfachToll 8d7d568214 Clean up all file headers
- remove author names. There's git blame for this job
- change home from code.google to github
- add short descriptions
2015-02-23 12:10:42 +01:00
mMontu edb72680a1 Use backward compatible version of shiftwidth() 2015-01-08 14:14:16 -02:00
EinfachToll 931b40ade1 New command :VimwikiCheckLinks
while we are at it, refactor the code to search through files
2014-12-04 21:26:19 +01:00
EinfachToll eb02e0be9a Move some file system related functions to path.vim 2014-12-04 21:12:04 +01:00
EinfachToll 24d690f32d Use relative paths in omnicomplete
Fix #70
Ref #72
2014-09-16 10:18:40 +02:00
EinfachToll 3be4ba8fd2 Of course, I forgot the a: again
References #24
2013-11-06 13:46:12 +01:00
EinfachToll b37db4e109 Basic support for remote drectories via netrw
References #24
2013-11-06 13:34:45 +01:00
Maxim Kim 58e072fa92 Do not load whole syntax file for a buffer twice.
Load twice only regexes for a concrete syntax.
2013-07-18 09:55:24 +04:00