diff --git a/vimwiki_0_9_1.vba b/vimwiki_0_9_2.vba
similarity index 80%
rename from vimwiki_0_9_1.vba
rename to vimwiki_0_9_2.vba
index ff12033..bd89ba0 100644
--- a/vimwiki_0_9_1.vba
+++ b/vimwiki_0_9_2.vba
@@ -1,3130 +1,3377 @@
-" Vimball Archiver by Charles E. Campbell, Jr., Ph.D.
-UseVimball
-finish
-doc\vimwiki.txt [[[1
-970
-*vimwiki.txt* A Personal Wiki for Vim
-
- __ __ ______ __ __ ______ __ __ ______ ~
- /\ \/\ \/\__ _\ /'\_/`\/\ \ __/\ \/\__ _\ /\ \/\ \ /\__ _\ ~
- \ \ \ \ \/_/\ \/ /\ \ \ \/\ \ \ \/_/\ \/ \ \ \/'/'\/_/\ \/ ~
- \ \ \ \ \ \ \ \ \ \ \__\ \ \ \ \ \ \ \ \ \ \ \ \ , < \ \ \ ~
- \ \ \_/ \ \_\ \__\ \ \_/\ \ \ \_/ \_\ \ \_\ \__\ \ \\`\ \_\ \__ ~
- \ `\___/ /\_____\\ \_\\ \_\ `\___x___/ /\_____\\ \_\ \_\ /\_____\~
- `\/__/ \/_____/ \/_/ \/_/'\/__//__/ \/_____/ \/_/\/_/ \/_____/~
-
- Version: 0.9.1 ~
-
-==============================================================================
-CONTENTS *vimwiki-contents*
-
- 1. Quick start .............................|vimwiki|
- 2. Prerequisites ...........................|vimwiki-prerequisites|
- 3. Mappings ................................|vimwiki-mappings|
- 3.1. Global mappings .....................|vimwiki-global-mappings|
- 3.2. Local mappings ......................|vimwiki-local-mappings|
- 4. Commands ................................|vimwiki-commands|
- 4.1. Global commands .....................|vimwiki-global-commands|
- 4.2. Local commands ......................|vimwiki-local-commands|
- 5. Wiki syntax .............................|vimwiki-syntax|
- 5.1. Typefaces ...........................|vimwiki-syntax-typefaces|
- 5.2. Links ...............................|vimwiki-syntax-links|
- 5.3. Headers .............................|vimwiki-syntax-headers|
- 5.4. Paragraphs...........................|vimwiki-syntax-paragraphs|
- 5.5. Lists ...............................|vimwiki-syntax-lists|
- 5.6. Tables ..............................|vimwiki-syntax-tables|
- 5.7. Preformatted text ...................|vimwiki-syntax-preformatted|
- 5.8. Comments ............................|vimwiki-syntax-comment|
- 6. Folding/Outline .........................|vimwiki-folding|
- 7. Getting Things Done (GTD)................|vimwiki-gtd|
- 8. Options .................................|vimwiki-options|
- 9. Help ....................................|vimwiki-help|
- 10. Known issues ...........................|vimwiki-issues|
- 11. Author .................................|vimwiki-author|
- 12. Changelog ..............................|vimwiki-changelog|
- 13. License ................................|vimwiki-license|
-
-
-==============================================================================
-1. Quick start *vimwiki*
-
-Vimwiki being a personal wiki for Vim allows you to organize text information
-using hyper links. To do a quick start press ww (this is usually \ww)
-to go to your index wiki file. By default it is located in: >
- ~/vimwiki/index.wiki
-You do not have to create it manually -- vimwiki can make it for you.
-
-Feed it with the following example (copy&paste without and between ---) :
----
-= My knowledge base =
- * MyUrgentTasks -- things to be done _yesterday_!!!
- * ProjectGutenberg -- good books are power.
- * MusicILike, MusicIHate.
----
-
-Notice that ProjectGutenberg, MyUrgentTasks, MusicILike and MusicIHate
-highlighted as errors. These WikiWords (WikiWord or WikiPage --
-capitalized word connected with other capitalized words) do not exist yet.
-
-Place cursor on ProjectGutenberg and press Enter. Now you are in
-ProjectGutenberg. Edit and save it, then press Backspace to return
-to previous WikiPage. You should see the difference in highlighting now.
-
-Now begin to add your own information ...
-
-==============================================================================
-2. Prerequisites *vimwiki-prerequisites*
-
-Make sure you have these settings in your vimrc file: >
- set nocompatible
- filetype plugin on
- syntax on
-
-Without them Vimwiki will not work properly.
-
-
-==============================================================================
-3. Mappings *vimwiki-mappings*
-
-There are global and local mappings in vimwiki.
-
-------------------------------------------------------------------------------
-3.1. Global mappings *vimwiki-global-mappings*
-
-ww or VimwikiGoHome
- Open index file of the [count]'s wiki.
- ww opens first wiki from |g:vimwiki_list|.
- 1ww as above opens first wiki from |g:vimwiki_list|.
- 2ww opens second wiki from |g:vimwiki_list|.
- 3ww opens third wiki from |g:vimwiki_list|.
- etc.
- To remap: >
- :map w VimwikiGoHome
-<
-See also|:VimwikiGoHome|
-
-wt or VimwikiTabGoHome
- Open index file of the [count]'s wiki in a new tab.
- ww tabopens first wiki from |g:vimwiki_list|.
- 1ww as above tabopens first wiki from |g:vimwiki_list|.
- 2ww tabopens second wiki from |g:vimwiki_list|.
- 3ww tabopens third wiki from |g:vimwiki_list|.
- etc.
- To remap: >
- :map t VimwikiTabGoHome
-<
-See also|:VimwikiTabGoHome|
-
-ws or VimwikiUISelect
- List and select available wikies.
- To remap: >
- :map wq VimwikiUISelect
-<
-See also|:VimwikiUISelect|
-
-
-------------------------------------------------------------------------------
-3.1. Local mappings *vimwiki-local-mappings*
-
-Normal mode (Keyboard):~
- Follow/Create WikiWord.
- Maps to|:VimwikiFollowWord|.
- To remap: >
- :map wf VimwikiFollowWord
-<
- Split and follow/create WikiWord
- Maps to|:VimwikiSplitWord|.
- To remap: >
- :map we VimwikiSplitWord
-<
- Vertical split and follow/create WikiWord
- Maps to|:VimwikiVSplitWord|.
- To remap: >
- :map wq VimwikiVSplitWord
-<
- Go back to previous WikiWord
- Maps to|:VimwikiGoBackWord|.
- To remap: >
- :map wb VimwikiGoBackWord
-<
- Find next WikiWord
- Maps to|:VimwikiNextWord|.
- To remap: >
- :map wn VimwikiNextWord
-<
- Find previous WikiWord
- Maps to|:VimwikiPrevWord|.
- To remap: >
- :map wp VimwikiPrevWord
-<
-wd Delete WikiWord you are in.
- Maps to|:VimwikiDeleteWord|.
- To remap: >
- :map dd VimwikiDeleteWord
-<
-wr Rename WikiWord you are in.
- Maps to|:VimwikiRenameWord|.
- To remap: >
- :map rr VimwikiRenameWord
-<
- Toggle list item on/off (checked/unchecked)
- Maps to|:VimwikiGTDToggleItem|.
- To remap: >
- :map tt VimwikiToggleListItem
-<
- See |vimwiki-gtd|.
-
-Normal mode (Mouse): ~
-Works only if |g:vimwiki_use_mouse| is set to 1.
-<2-LeftMouse> Follow/Create WikiWord
- Split and follow/create WikiWord
- Vertical split and follow/create WikiWord
- Go back to previous WikiWord
-
-Note: <2-LeftMouse> is just left double click.
-
-
-==============================================================================
-4. Commands *vimwiki-commands*
-
-------------------------------------------------------------------------------
-4.1. Global Commands *vimwiki-global-commands*
-
-*:VimwikiGoHome*
- Open index file of the current wiki.
-
-*:VimwikiTabGoHome*
- Open index file of the current wiki in a new tab.
-
-*:VimwikiUISelect*
- Open index file of the selected wiki.
-
-------------------------------------------------------------------------------
-4.2. Local commands *vimwiki-local-commands*
-
-*:VimwikiFollowWord*
- Follow/create WikiWord.
-
-*:VimwikiGoBackWord*
- Go back to previous WikiWord you come from.
-
-*:VimwikiSplitWord*
- Split and follow/create WikiWord.
-
-*:VimwikiVSplitWord*
- Vertical split and follow/create WikiWord.
-
-*:VimwikiNextWord*
- Find next WikiWord.
-
-*:VimwikiPrevWord*
- Find previous WikiWord.
-
-*:VimwikiDeleteWord*
- Delete WikiWord you are in.
-
-*:VimwikiRenameWord*
- Rename WikiWord you are in.
-
-*:Vimwiki2HTML*
- Convert current WikiPage to HTML.
-
-*:VimwikiAll2HTML*
- Convert all WikiPages to HTML.
-
-Note that in order 2HTML commands to work you should set up & create html
-directory. By default it is g:vimwiki_home/html/ so just go to g:vimwiki_home
-and create html directory there.
-
-*:VimwikiGTDToggleItem*
- Toggle list item on/off (checked/unchecked)
- See |vimwiki-gtd|.
-
-
-
-==============================================================================
-5. Wiki syntax *vimwiki-syntax*
-
-There are a lot of different wikies out there. Most of them have their own
-syntax and vimwiki is not an exception here. Default vimwiki's syntax is a
-subset of google's wiki syntax markup.
-
-As for MediaWiki's syntax -- it is not that convenient for non English
-(Russian in my case :)) keyboard layouts to emphasize text as it uses a lot
-of '''''' to do it. You have to switch layouts every time you want some bold
-non English text. This is the answer to "Why not MediaWiki?"
-
-Nevertheless, there is MediaWiki syntax file included in the distribution (it
-doesn't have all the fancy stuff original MediaWiki syntax has though).
-See |vimwiki-option-syntax|.
-
-
-------------------------------------------------------------------------------
-5.1. Typefaces *vimwiki-syntax-typefaces*
-
-There are a few typefaces that gives you a bit of control on how your
-text should be decorated: >
- *bold text*
- _italic text_
- ~~strikeout text~~
- `code (no syntax) text`
- super^script^
- sub,,script,,
-
-------------------------------------------------------------------------------
-5.2. Links *vimwiki-syntax-links*
-
-Internal links~
-WikiWords: >
- CapitalizedWordsConnected
-
-You can limit linking of WikiWords by adding an exclamation mark in front of
-it: >
- !CapitalizedWordsConnected
-
-Link with spaces in it: >
- [[This is a link]]
-or: >
- [[This is a link source|Description of the link]]
-
-
-External links~
-Plain link: >
- http://code.google.com/p/vimwiki
-
-Link with description: >
- [http://habamax.ru/blog habamax home page]
-
-Image link is the link with one of jpg, png or gif endings.
-Plain image link: >
- http://someaddr.com/picture.jpg
-
-Image thumbnail link: >
- [http://someaddr.com/bigpicture.jpg http://someaddr.com/thumbnail.jpg]
-
-
-
-Link to local image: >
- [[images/pabloymoira.jpg|Pablo y Moira]]
-
-Path to image (ie. images/pabloymoira.jpg) is relative to
-|vimwiki-option-path_html|.
-
-
-------------------------------------------------------------------------------
-5.3. Headers *vimwiki-syntax-headers*
-
-= Header level 1 =~
-== Header level 2 ==~
-=== Header level 3 ===
-==== Header level 4 ====
-===== Header level 5 =====
-====== Header level 6 ======
-
-Note: before vimwiki 0.8.2, header's markup syntax used exclamation marks:
-! Header level 1
-!! Header level 2
-etc...
-
-If you upgrade from pre 0.8.2 you might find the next commands useful.
-BACKUP FIRST!
-To easily change headers from !Header to =Header= in your wiki files use the
-next commands (\ww first to open your wiki index file): >
- :args .wiki
- :argdo %s/^\(!\+\)\([^!].*$\)/\=substitute(submatch(1),'!','=','g').submatch(2).substitute(submatch(1),'!','=','g')
-<
-
-------------------------------------------------------------------------------
-5.4. Paragraphs *vimwiki-syntax-paragraphs*
-
-Paragraph is group of lines started from column 1 (no indentation). Paragraphs
-divided by a blank line:
-
-This is first paragraph
-with two lines.
-
-This is a second paragraph with
-two lines.
-
-------------------------------------------------------------------------------
-5.5. Lists *vimwiki-syntax-lists*
-
-Indent list items with at least one space.
-Unordered lists: >
- * Bulleted list item 1
- * Bulleted list item 2
- * Bulleted list sub item 1
- * Bulleted list sub item 2
- * more ...
- * and more ...
- * ...
- * Bulleted list sub item 3
- * etc.
-
-Ordered lists: >
- # Numbered list item 1
- # Numbered list item 2
- # Numbered list sub item 1
- # Numbered list sub item 2
- # more ...
- # and more ...
- # ...
- # Numbered list sub item 3
- # etc.
-
-It is possible to mix bulleted and numbered lists: >
- * Bulleted list item 1
- * Bulleted list item 2
- # Numbered list sub item 1
- # Numbered list sub item 2
-
-
-Definition lists: >
-Term 1:: Definition 1
-Term 2::
-::Definition 2
-::Definition 3
-
-
-------------------------------------------------------------------------------
-5.6. Tables *vimwiki-syntax-tables*
-
-Tables are created by entering the content of each cell separated by ||
-delimiters. You can insert other inline wiki syntax in table cells, including
-typeface formatting and links.
-For example:
-
-||*Year*s||*Temperature (low)*||*Temperature (high)*||
-||1900 ||-10 ||25 ||
-||1910 ||-15 ||30 ||
-||1920 ||-10 ||32 ||
-||1930 ||_N/A_ ||_N/A_ ||
-||1940 ||-2 ||40 ||
-
-
-For HTML, contents of table cell could be aligned to the right, left and
-center:
-
-|| Center || Center || Center ||
-||Left || Center || Right||
-|| Right||Left || Center ||
-|| Center || Right||Left ||
-
-No spaces on the left side -- left alignment.
-No spaces on the right side -- right alignment.
-Spaces on the left and on the right -- center alignment.
-
-
-------------------------------------------------------------------------------
-5.7. Preformatted text *vimwiki-syntax-preformatted*
-
-If the line started from whitespace and is not a list it is "preformatted" text.
-For example: >
-
- Tyger! Tyger! burning bright
- In the forests of the night,
- What immortal hand or eye
- Could frame thy fearful symmetry?
- In what distant deeps or skies
- Burnt the fire of thine eyes?
- On what wings dare he aspire?
- What the hand dare sieze the fire?
- ...
- ...
-
-Or use {{{ and }}} to define pre:
-{{{ >
- Tyger! Tyger! burning bright
- In the forests of the night,
- What immortal hand or eye
- Could frame thy fearful symmetry?
- In what distant deeps or skies
- Burnt the fire of thine eyes?
- On what wings dare he aspire?
- What the hand dare sieze the fire?
-}}}
-
-
-You can add optional information to {{{ tag: >
-{{{class="brush: python" >
- def hello(world):
- for x in range(10):
- print("Hello {0} number {1}".format(world, x))
-}}}
-
-Result of HTML export: >
-
- def hello(world):
- for x in range(10):
- print("Hello {0} number {1}".format(world, x))
-
-
-This might be useful for coloring some programming code with external js tools
-like google syntax highlighter.
-
-
-------------------------------------------------------------------------------
-5.8. Comments *vimwiki-syntax-comments*
-
-Text between is a comment.
-Ex: >
-
-<
-
-==============================================================================
-6. Folding/Outline *vimwiki-folding*
-
-Vimwiki can fold or outline headers and list items.
-Enable folding with the following command: >
- :set foldenable
->
-Example:
-= My current task =
- * [ ] Do stuff 1
- * [ ] Do substuff 1.1
- * [ ] Do substuff 1.2
- * [ ] Do substuff 1.2.1
- * [ ] Do substuff 1.2.2
- * [ ] Do substuff 1.3
- * [ ] Do stuff 2
- * [ ] Do stuff 3
-
-Hit |zM| :
-= My current task = [8] --------------------------------------~
-
-Hit |zr| :
-= My current task =~
- * [ ] Do stuff 1 [5] --------------------------------------~
- * [ ] Do stuff 2~
- * [ ] Do stuff 3~
-
-Hit |zr| one more time:
-= My current task =~
- * [ ] Do stuff 1~
- * [ ] Do substuff 1.1~
- * [ ] Do substuff 1.2 [2] -------------------------------~
- * [ ] Do substuff 1.3~
- * [ ] Do stuff 2~
- * [ ] Do stuff 3~
-
-NOTE: Whether you use default syntax, folding on list items should work
-properly only if all of them are indented using current |shiftwidth|.
-For MediaWiki * or # should be in the first column.
-
-
-==============================================================================
-7. Getting Things Done (GTD) *vimwiki-gtd*
-
-That is not really a GTD :). But vimwiki can handle "projects" that are just
-lists of items you can check/uncheck.
-
-Consider the following example:
-= Toggleable list of items =
- * [x] Toggle list item on/off.
- * [x] Simple toggling between [ ] and [x].
- * [x] All list's subitems should be toggled on/off appropriately.
- * [x] Toggle child subitems only if current line is list item
- * [x] Parent list item should be toggled depending on it's child items.
- * [x] Make numbered list items toggleable too
- * [x] Add highlighting to list item boxes
- * [x] Add [ ] to the next created with o, O and list item.
-
-Pressing on the first list item will toggle it and all of it's child
-items.
-
-==============================================================================
-8. Options *vimwiki-options*
-
-------------------------------------------------------------------------------
- *g:vimwiki_list*
-Default: default wiki *vimwiki-multiple-wikies*
-Values: list of options for each wiki.
-
-Each item in g:vimwiki_list is a |Dictionary| that holds all customization
-available for a wiki represented by that item. It is in form of >
- {'option1': 'value1', 'option2: 'value2', ...}
-
-Consider the following example: >
- let g:vimwiki_list = [{'path': '~/my_site/', 'path_html': '~/public_html/'}]
-
-It gives us one wiki located at ~/my_site/ that could be htmlized to
-~/public_html/
-
-The next example: >
- let g:vimwiki_list = [{'path': '~/my_site/', 'path_html': '~/public_html/'},
- \ {'path': '~/my_docs/', 'ext': '.mdox'}]
-gives us 2 wikies, first wiki as in previous example, second one is located in
-~/my_docs/ and its files have .mdox extension.
-
-Empty |Dictionary| in the g:vimwiki_list is the wiki with default options: >
- let g:vimwiki_list = [{},
- \ {'path': '~/my_docs/', 'ext': '.mdox'}]
-
-<
- *vimwiki-option-path*
-Key Default value~
-path ~/vimwiki/
-Description~
-Wiki files location: >
- let g:vimwiki_list = [{'path': '~/my_site/'}]
-
-<
- *vimwiki-option-path_html*
-Key Default value~
-path_html ~/vimwiki_html/
-Description~
-HTML files converted from wiki files location: >
- let g:vimwiki_list = [{'path': '~/my_site/',
- \ 'path_html': '~/my_site_html/'}]
-
-If you omit this option path_html would be path - '/' + '_html/': >
- let g:vimwiki_list = [{'path': '~/okidoki/'}]
-
-ie, path_html = '~/okidoki_html/'
-
-
- *vimwiki-option-index*
-Key Default value~
-index index
-Description~
-Name of wiki index file: >
- let g:vimwiki_list = [{'path': '~/my_site/', 'index': 'main'}]
-
-NOTE: Do not add extension.
-
-
- *vimwiki-option-ext*
-Key Default value~
-ext .wiki
-Description~
-Extension of wiki files: >
- let g:vimwiki_list = [{'path': '~/my_site/',
- \ 'index': 'main', 'ext': '.document'}]
-
-
-<
- *vimwiki-option-syntax*
-Key Default value Values~
-syntax default default, media
-Description~
-Wiki syntax.
-You can use different markup languages (currently default vimwiki and
-MediaWiki) but only vimwiki's default markup could be converted to HTML at the
-moment.
-To use MediaWiki's wiki markup: >
- let g:vimwiki_list = [{'path': '~/my_site/', 'syntax': 'media'}]
-
-
-<
- *vimwiki-option-html_header*
-Key Default value~
-html_header
-Description~
-Set up file name for html header template: >
- let g:vimwiki_list = [{'path': '~/my_site/',
- \ 'html_header': '~/public_html/header.tpl'}]
-
-This header.tpl could look like: >
-
-
-
- %title%
-
-
-
-
-
-where %title% is replaced by a wiki page name.
-
-
- *vimwiki-option-html_footer*
-Key Default value~
-html_footer
-Description~
-Set up file name for html footer template: >
- let g:vimwiki_list = [{'path': '~/my_site/',
- \ 'html_footer': '~/public_html/footer.tpl'}]
-
-This footer.tpl could look like: >
-
-
-
-<
- *vimwiki-option-gohome*
-Key Default value Values~
-gohome split split, vsplit, tabe
-Description~
-This option controls the way |:VimwikiGoHome| command works.
-For instance you have 'No write since last change' buffer. After ww
-(or :VimwikiGoHome) vimwiki index file will be splitted with it. Or vertically
-splitted. Or opened in a new tab.
-Ex: >
- let g:vimwiki_list = [{'path': '~/my_site/', 'gohome': 'vsplit'}]
-
-<
- *vimwiki-option-maxhi*
-Key Default value Values~
-maxhi 1 0, 1
-Description~
-Non-existent WikiWord highlighting could be quite slow and if you don't want
-it set maxhi to 0: >
- let g:vimwiki_list = [{'path': '~/my_site/', 'maxhi': '0'}]
-
-This disables filesystem checks for WikiWords.
-
-
-------------------------------------------------------------------------------
-Default: "A-ZА-Я" *g:vimwiki_upper*
-Values: Upper letters (ranges)
-
-This affects WikiWord detection.
-By default WikiWord detection uses English and Russian letters.
-You can set up your own: >
- let g:vimwiki_upper="A-Z"
-
-------------------------------------------------------------------------------
-Default: "a-zа-я" *g:vimwiki_lower*
-Values: Lower letters ranges
-
-See |g:vimwiki_upper|: >
- let g:vimwiki_lower="a-z"
-
-------------------------------------------------------------------------------
-Default: 1 *g:vimwiki_auto_checkbox*
-Values: 0, 1
-
-Press (|:VimwikiGTDToggleItem|) on a list item without checkbox to
-create it: >
- * List item
-result: >
- * [ ] List item
-
-------------------------------------------------------------------------------
-Default: "_" *g:vimwiki_stripsym*
-Values: symbol
-
-Change strip symbol -- in Windows you cannot use /*?<>:" in file names so
-vimwiki replaces them with symbol given below: (_ is default): >
- let g:vimwiki_stripsym = '_'
-
-------------------------------------------------------------------------------
-Default: 0 *g:vimwiki_use_mouse*
-Values: 0, 1
-
-Use local mouse mappings from|vimwiki-local-mappings|: >
- let g:vimwiki_use_mouse = 1
-
-Do not use it: >
- let g:vimwiki_use_mouse = 0
-
-==============================================================================
-9. Help *vimwiki-help*
-
-As you could see I am not native English speaker (not a writer as well).
-Please send me correct phrases instead of that incorrect stuff I have used
-here.
-
-Any help is really appreciated!
-
-==============================================================================
-10. Known issues *vimwiki-issues*
-
-Issue:
-Opening your wikifiles makes them changed although there were no changes at
-all. It happens only if you have .wiki extension which is used by FlexWiki
-ftplugin in the first place to make its own set up. Which is successfully
-overriden by vimwiki. But.
-FlexWiki ftplugin has 'setlocal bomb' that makes your wikifiles sort of
-changed.
-Fix:
- 1. Open $VIMRUNTIME/filetype.vim, find FlexWiki and comment it out: >
- " au BufNewFile,BufRead *.wiki setf flexwiki
-<
- 2. Or use other than .wiki extension with vimwiki. See |vimwiki-option-ext|.
-
-==============================================================================
-11. Author *vimwiki-author*
-
-I live in Moscow and you may believe me -- there are no polar bears (no brown
-too) here in the streets.
-
-I do not do programming for a living. So don't blame me for an ugly
-ineffective code.
-
-Many thanks to all of you for voting vimwiki up on www.vim.org. I do vimwiki
-in my spare time I could use to dance argentine tango with beautiful women.
-Your votes are kind of a good replacement. ;)
-
-Sincerely yours,
-Maxim Kim .
-
-Vimwiki's website: http://code.google.com/p/vimwiki/
-Vim plugins website: http://www.vim.org/scripts/script.php?script_id=2226
-
-==============================================================================
-12. Changelog *vimwiki-changelog*
-
-0.9.1
- * [new] HTML Table cell text alignment, see |vimwiki-syntax-tables|
- * [new] Wikipage history simplified. Each vimwiki buffer now holds
- b:vimwiki_prev_word which is list of [PrevWord, getpos()].
- * [new] If highlight for groups wikiHeader1..wikiHeader6 exist (defined in
- a colorscheme) -- use it. Otherwise use Title highlight for all Headers.
- * [fix] Warn only once if 'html_header' or 'html_footer' does not exist.
- * [fix] Wrong folding for the text after the last nested list item.
- * [fix] Bold and Italic aren't highlighted in tables without spaces
- between || and * or _. ||*bold*||_asdf_ || (Thanks Brett Stahlman)
-
-0.9.0
- * [new] You can add classes to 'pre' tag -- |vimwiki-syntax-preformatted|.
- This might be useful for coloring some programming code with external js
- tools like google syntax highlighter.
- * [new] !WikiPage is not highlighted. It is just a plain word WikiPage in
- HTML, without exclamation mark
- * [new] Definition lists, see |vimwiki-syntax-lists|.
- * [new] New implementation of |:VimwikiRenameWord|. CAUTION: It was tested
- on 2 computers only, backup your wiki before use it. Email me if it
- doesn't work for you.
- * [fix] Less than 3 symbols are not highlighted in Bold and Italic.
- * [fix] Added vimwiki autocmd group to avoid clashes with user defined
- autocmds.
- * [fix] Pressing ESC while |:VimwikiUISelect| opens current wiki index file.
- Should cancel wiki selection.
-
-0.8.3
- * [new] on a list item creates checkbox.
- * [fix] With * in the first column, shouldn't insert more * (default
- syntax).
- * [fix] With MediaWiki's ** [ ], should insert it on the next line.
- * [fix] HTML export should use 'fileencoding' instead of 'encoding'.
- * [fix] Code cleanup.
-
-0.8.2
- * [del] Removed google syntax file.
- * [new] Default vimwiki syntax is a subset of google's one. Header's has
- been changed from !Header to =Header=. It is easier to maintain only 2
- syntaxes. See |vimwiki-syntax-headers|.
- * [new] Multiline paragraphs -- less longlines.
- * [new] Comments. See |vimwiki-syntax-comments|.
- * [del] Removed setlocal textwidth = 0 from ftplugin.
- * [fix] New regexps for bold, italic, bolditalic.
- * [fix] The last item in List sometimes fold-in incorrectly.
- * [fix] Minor tweaks on default css.
-
-0.8.1
- * [new] Vimwiki's foldmethod changed from syntax to expr. Foldtext is
- changed to be nicer with folded list items.
- * [new] Fold/outline list items.
- * [new] It is possible now to edit wiki files in arbitrary directories which
- is not in g:vimwiki_list's paths. New WikiWords are created in the path of
- the current WikiWord.
- * [new] User can remap Vimwiki's built in mappings.
- * [new] Added |g:vimwiki_use_mouse|. It is off by default.
- * [fix] Removed mapping.
-
-0.8.0
- * [new] Multiple wikies support. A lot of options have been changed, see
- |vimwiki-options|
- * [new] Auto create directories.
- * [new] Checked list item highlighted as comment.
- * [fix] Multiple 'set ft=vimwiki' for each buffer disabled. Vimwiki should
- load its buffers a bit faster now.
-
-0.7.1
- * [new] VimwikiToggleListItem added to be able to remap to
- anything user prefers more.
- * [fix] Toggleable list items do not work with MediaWiki markup.
- * [fix] Changing g:vimwiki_home_html to path with ~ while vimwiki is
- loaded gives errors for HTML export.
- * [del] Command :VimwikiExploreHome.
-
-0.7.0
- * [new] GTD stuff -- toggleable list items. See |vimwiki-gtd|.
- * [fix] Headers do not fold inner headers. (Thanks Brett Stahlman)
- * [fix] Remove last blank lines from preformatted text at the end of file.
- * [del] Removed g:vimwiki_smartCR option.
-
-0.6.2
- * [new] [[link|description]] is available now.
- * [fix] Barebone links (ie: http://bla-bla-bla.org/h.pl?id=98) get extra
- escaping of ? and friends so they become invalid in HTML.
- * [fix] In linux going to [[wiki with whitespaces]] and then pressing BS
- to go back to prev wikipage produce error. (Thanks Brendon Bensel for
- the fix)
- * [fix] Remove setlocal encoding and fileformat from vimwiki ftplugin.
- * [fix] Some tweaks on default style.css
-
-0.6.1
- * [fix] [blablabla bla] shouldn't be converted to a link.
- * [fix] Remove extra annoing empty strings from PRE tag made from
- whitespaces in HTML export.
- * [fix] Moved functions related to HTML converting to new autoload module
- to increase a bit vimwiki startup time.
-
-0.6
- * [new] Header and footer templates. See|g:vimwiki_html_header| and
- |g:vimwiki_html_footer|.
- * [fix] |:Vimwiki2HTML| does not recognize ~ as part of a valid path.
-
-0.5.3
- * [fix] Fixed |:VimwikiRenameWord|. Error when g:vimwiki_home had
- whitespaces in path.
- * [fix] |:VimwikiSplitWord| and |:VimwikiVSplitWord| didn't work.
-
-0.5.2
- * [new] Added |:VimwikiGoHome|, |:VimwikiTabGoHome| and
- |:VimwikiExploreHome| commands.
- * [new] Added wt mapping to open vimwiki index file in a new tab.
- * [new] Added g:vimwiki_gohome option that controls how|:VimwikiGoHome|
- works when current buffer is changed. (Thanks Timur Zaripov)
- * [fix] Fixed |:VimwikiRenameWord|. Very bad behaviour when autochdir
- isn't set up.
- * [fix] Fixed commands :Wiki2HTML and :WikiAll2HTML to be available only
- for vimwiki buffers.
- * [fix] Renamed :Wiki2HTML and :WikiAll2HTML to |:Vimwiki2HTML| and
- |:VimwikiAll2HTML| commands.
- * [fix] Help file corrections.
-
-0.5.1
- * [new] This help is created.
- * [new] Now you can fold headers.
- * [new] VimwikiGoHome and VimwikiExploreHome were added.
- * [fix] Bug with {{{HelloWikiWord}}} export to HTML is fixed.
- * [del] Sync option removed from: Syntax highlighting for preformatted
- text {{{ }}}.
-
-0.5
- * [new] vimwiki default markup to HTML conversion improved.
- * [new] Added basic GoogleWiki and MediaWiki markup languages.
- * [new] Chinese [[complex wiki words]].
-
-0.4
- * [new] vimwiki=>HTML converter in plain Vim language.
- * [new] Plugin autoload.
-
-0.3.4
- * [fix] Backup files (.wiki~) caused a bunch of errors while opening wiki
- files.
-
-0.3.3
- * FIXED: [[wiki word with dots at the end...]] didn't work.
- * [new] Added error handling for delete wiki word function.
- * [new] Added keybindings o and O for list items when g:vimwiki_smartCR=1.
- * [new] Added keybinding wh to visit wiki home directory.
-
-0.3.2
- * [fix] Renaming -- error if complex wiki word contains %.
- * [fix] Syntax highlighting for preformatted text {{{ }}}. Sync option
- added.
- * [fix] smartCR bug fix.
-
-0.3.1
- * [fix] Renaming -- [[hello world?]] to [[hello? world]] links are not
- updated.
- * [fix] Buffers menu is a bit awkward after renaming.
- * [new] Use mouse to follow links. Left double-click to follow WikiWord,
- Rightclick then Leftclick to go back.
-
-0.3
- * [new] Highlight non-existent WikiWords.
- * [new] Delete current WikiWord (wd).
- * [new] g:vimwiki_smartCR=2 => use Vim comments (see :h comments :h
- formatoptions) feature to deal with list items. (thx -- Dmitry
- Alexandrov)
- * [new] Highlight TODO:, DONE:, FIXED:, FIXME:.
- * [new] Rename current WikiWord -- be careful on Windows you cannot rename
- wikiword to WikiWord. After renaming update all links to that renamed
- WikiWord.
- * [fix] Bug -- do not duplicate WikiWords in wiki history.
- * [fix] After renaming [[wiki word]] twice buffers are not deleted.
- * [fix] Renaming from [[wiki word]] to WikiWord result is [[WikiWord]]
- * [fix] More than one complex words on one line is bugging each other when
- try go to one of them. [[bla bla bla]] [[dodo dodo dodo]] becomes
- bla bla bla]] [[dodo dodo dodo.
-
-
-0.2.2
- * [new] Added keybinding -- split WikiWord
- * [new] Added keybinding -- vertical split WikiWord
-
-0.2.1
- * [new] Install on Linux now works.
-
-0.2
- * [new] Added part of Google's Wiki syntax.
- * [new] Added auto insert # with ENTER.
- * [new] On/Off auto insert bullet with ENTER.
- * [new] Strip [[complex wiki name]] from symbols that cannot be used in
- file names.
- * [new] Links to non-wiki files. Non wiki files are files with extensions
- ie [[hello world.txt]] or [[my homesite.html]]
-
-0.1
- * First public version.
-
-==============================================================================
-13. License *vimwiki-license*
-
-GNU General Public License v2
-http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
-
-To be frank I didn't read it myself. It is not that easy reading. But I hope
-it's free enough to suit your needs.
-
-
- vim:tw=78:ts=8:ft=help
-syntax\vimwiki.vim [[[1
-128
-" Vimwiki syntax file
-" Author: Maxim Kim
-" Home: http://code.google.com/p/vimwiki/
-" vim:tw=79:
-
-" Quit if syntax file is already loaded
-if version < 600
- syntax clear
-elseif exists("b:current_syntax")
- finish
-endif
-
-"" use max highlighting - could be quite slow if there are too many wikifiles
-if VimwikiGet('maxhi')
- " Every WikiWord is nonexistent
- execute 'syntax match wikiNoExistsWord /\%(^\|[^!]\)\zs'.g:vimwiki_word1.'/'
- execute 'syntax match wikiNoExistsWord /'.g:vimwiki_word2.'/'
- " till we find them in vimwiki's path
- call vimwiki#WikiHighlightWords()
-else
- " A WikiWord (unqualifiedWikiName)
- execute 'syntax match wikiWord /\%(^\|[^!]\)\zs\<'.g:vimwiki_word1.'\>/'
- " A [[bracketed wiki word]]
- execute 'syntax match wikiWord /'.g:vimwiki_word2.'/'
-endif
-
-let g:vimwiki_rxWeblink = '\%("[^"(]\+\((\([^)]\+\))\)\?":\)\?\%(https\?\|ftp\|gopher\|telnet\|file\|notes\|ms-help\):\%(\%(\%(//\)\|\%(\\\\\)\)\+[A-Za-z0-9:#@%/;$~_?+=.&\\\-]*\)'
-execute 'syntax match wikiLink `'.g:vimwiki_rxWeblink.'`'
-
-" Emoticons: must come after the Textilisms, as later rules take precedence
-" over earlier ones. This match is an approximation for the ~70 distinct
-syntax match wikiEmoticons /\%((.)\|:[()|$@]\|:-[DOPS()\]|$@]\|;)\|:'(\)/
-
-let g:vimwiki_rxTodo = '\%(TODO:\|DONE:\|FIXME:\|FIXED:\)'
-execute 'syntax match wikiTodo /'. g:vimwiki_rxTodo .'/'
-
-" Load concrete Wiki syntax
-execute 'runtime! syntax/vimwiki_'.VimwikiGet('syntax').'.vim'
-
-" Tables
-execute 'syntax match wikiTable /'.g:vimwiki_rxTable.'/'
-
-execute 'syntax match wikiBold /'.g:vimwiki_rxBold.'/'
-
-execute 'syntax match wikiItalic /'.g:vimwiki_rxItalic.'/'
-
-execute 'syntax match wikiBoldItalic /'.g:vimwiki_rxBoldItalic.'/'
-
-execute 'syntax match wikiItalicBold /'.g:vimwiki_rxItalicBold.'/'
-
-execute 'syntax match wikiDelText /'.g:vimwiki_rxDelText.'/'
-
-execute 'syntax match wikiSuperScript /'.g:vimwiki_rxSuperScript.'/'
-
-execute 'syntax match wikiSubScript /'.g:vimwiki_rxSubScript.'/'
-
-execute 'syntax match wikiCode /'.g:vimwiki_rxCode.'/'
-
-" Aggregate all the regular text highlighting into wikiText
-" syntax cluster wikiText contains=wikiItalic,wikiBold,wikiCode,wikiDelText,wikiSuperScript,wikiSubScript,wikiWord,wikiEmoticons
-
-" horizontal rule
-execute 'syntax match wikiHR /'.g:vimwiki_rxHR.'/'
-
-" List items
-execute 'syntax match wikiList /'.g:vimwiki_rxListBullet.'/'
-execute 'syntax match wikiList /'.g:vimwiki_rxListNumber.'/'
-execute 'syntax match wikiList /'.g:vimwiki_rxListDefine.'/'
-
-" Treat all other lines that start with spaces as PRE-formatted text.
-execute 'syntax match wikiPre /'.g:vimwiki_rxPre1.'/ contains=wikiComment'
-
-execute 'syntax region wikiPre start=/'.g:vimwiki_rxPreStart.'/ end=/'.g:vimwiki_rxPreEnd.'/ contains=wikiComment'
-
-" List item checkbox
-syntax match wikiCheckBox /\[.\?\]/
-execute 'syntax match wikiCheckBoxDone /'.g:vimwiki_rxListBullet.'\s*\[x\].*$/'
-execute 'syntax match wikiCheckBoxDone /'.g:vimwiki_rxListNumber.'\s*\[x\].*$/'
-
-syntax region wikiComment start=''
-
-if !vimwiki#hl_exists("wikiHeader1")
- execute 'syntax match wikiHeader /'.g:vimwiki_rxHeader.'/'
-else
- " Header levels, 1-6
- execute 'syntax match wikiHeader1 /'.g:vimwiki_rxH1.'/'
- execute 'syntax match wikiHeader2 /'.g:vimwiki_rxH2.'/'
- execute 'syntax match wikiHeader3 /'.g:vimwiki_rxH3.'/'
- execute 'syntax match wikiHeader4 /'.g:vimwiki_rxH4.'/'
- execute 'syntax match wikiHeader5 /'.g:vimwiki_rxH5.'/'
- execute 'syntax match wikiHeader6 /'.g:vimwiki_rxH6.'/'
-endif
-
-if !vimwiki#hl_exists("wikiHeader1")
- hi def link wikiHeader Title
-else
- hi def link wikiHeader1 Title
- hi def link wikiHeader2 Title
- hi def link wikiHeader3 Title
- hi def link wikiHeader4 Title
- hi def link wikiHeader5 Title
- hi def link wikiHeader6 Title
-endif
-
-hi def wikiBold term=bold cterm=bold gui=bold
-hi def wikiItalic term=italic cterm=italic gui=italic
-hi def wikiBoldItalic term=bold cterm=bold gui=bold,italic
-hi def link wikiItalicBold wikiBoldItalic
-
-hi def link wikiCode PreProc
-hi def link wikiWord Underlined
-hi def link wikiNoExistsWord Error
-
-hi def link wikiPre PreProc
-hi def link wikiLink Underlined
-hi def link wikiList Operator
-hi def link wikiCheckBox wikiList
-hi def link wikiCheckBoxDone Comment
-hi def link wikiTable PreProc
-hi def link wikiEmoticons Constant
-hi def link wikiDelText Constant
-hi def link wikiInsText Constant
-hi def link wikiSuperScript Constant
-hi def link wikiSubScript Constant
-hi def link wikiTodo Todo
-hi def link wikiComment Comment
-
-let b:current_syntax="vimwiki"
-syntax\vimwiki_default.vim [[[1
-80
-" Vimwiki syntax file
-" Default syntax
-" Author: Maxim Kim
-" Home: http://code.google.com/p/vimwiki/
-" vim:tw=78:
-
-" text: *strong*
-" let g:vimwiki_rxBold = '\*[^*]\+\*'
-let g:vimwiki_rxBold = '\%(^\|\s\|[[:punct:]]\)\@<='.
- \'\*'.
- \'\([^*`[:space:]][^*`]*[^*`[:space:]]\|[^*`]\)'.
- \'\*'.
- \'\%([[:punct:]]\|\s\|$\)\@='
-
-" text: _emphasis_
-" let g:vimwiki_rxItalic = '_[^_]\+_'
-let g:vimwiki_rxItalic = '\%(^\|\s\|[[:punct:]]\)\@<='.
- \'_'.
- \'\([^_`[:space:]][^_`]*[^_`[:space:]]\|[^_`]\)'.
- \'_'.
- \'\%([[:punct:]]\|\s\|$\)\@='
-
-" text: *_bold italic_* or _*italic bold*_
-let g:vimwiki_rxBoldItalic = '\%(^\|\s\|[[:punct:]]\)\@<='.
- \'\*_'.
- \'\([^*_`[:space:]][^*_`]*[^*_`[:space:]]\|[^*_`]\)'.
- \'_\*'.
- \'\%([[:punct:]]\|\s\|$\)\@='
-
-let g:vimwiki_rxItalicBold = '\%(^\|\s\|[[:punct:]]\)\@<='.
- \'_\*'.
- \'\([^*_`[:space:]][^*_`]*[^*_`[:space:]]\|[^*_`]\)'.
- \'\*_'.
- \'\%([[:punct:]]\|\s\|$\)\@='
-
-" text: `code`
-let g:vimwiki_rxCode = '`[^`]\+`'
-
-" text: ~~deleted text~~
-let g:vimwiki_rxDelText = '\~\~[^~`]\+\~\~'
-
-" text: ^superscript^
-let g:vimwiki_rxSuperScript = '\^[^^`]\+\^'
-
-" text: ,,subscript,,
-let g:vimwiki_rxSubScript = ',,[^,`]\+,,'
-
-" Header levels, 1-6
-let g:vimwiki_rxH1 = '^\s*=\{1}[^=]\+.*[^=]\+=\{1}\s*$'
-let g:vimwiki_rxH2 = '^\s*=\{2}[^=]\+.*[^=]\+=\{2}\s*$'
-let g:vimwiki_rxH3 = '^\s*=\{3}[^=]\+.*[^=]\+=\{3}\s*$'
-let g:vimwiki_rxH4 = '^\s*=\{4}[^=]\+.*[^=]\+=\{4}\s*$'
-let g:vimwiki_rxH5 = '^\s*=\{5}[^=]\+.*[^=]\+=\{5}\s*$'
-let g:vimwiki_rxH6 = '^\s*=\{6}[^=]\+.*[^=]\+=\{6}\s*$'
-let g:vimwiki_rxHeader = '\%('.g:vimwiki_rxH1.'\)\|'.
- \ '\%('.g:vimwiki_rxH2.'\)\|'.
- \ '\%('.g:vimwiki_rxH3.'\)\|'.
- \ '\%('.g:vimwiki_rxH4.'\)\|'.
- \ '\%('.g:vimwiki_rxH5.'\)\|'.
- \ '\%('.g:vimwiki_rxH6.'\)'
-
-" , horizontal rule
-let g:vimwiki_rxHR = '^----.*$'
-
-" Tables. Each line starts and ends with '||'; each cell is separated by '||'
-let g:vimwiki_rxTable = '||'
-
-" List items start with whitespace(s) then '*' or '#'
-let g:vimwiki_rxListBullet = '^\s\+\*'
-let g:vimwiki_rxListNumber = '^\s\+#'
-
-let g:vimwiki_rxListDefine = '::\(\s\|$\)'
-
-
-" Treat all other lines that start with spaces as PRE-formatted text.
-let g:vimwiki_rxPre1 = '^\s\+[^[:blank:]*#].*$'
-
-" Preformatted text
-let g:vimwiki_rxPreStart = '{{{'
-let g:vimwiki_rxPreEnd = '}}}'
-syntax\vimwiki_media.vim [[[1
-61
-" Vimwiki syntax file
-" MediaWiki syntax
-" Author: Maxim Kim
-" Home: http://code.google.com/p/vimwiki/
-" vim:tw=78:
-
-" text: '''strong'''
-let g:vimwiki_rxBold = "'''[^']\\+'''"
-
-" text: ''emphasis''
-let g:vimwiki_rxItalic = "''[^']\\+''"
-
-" text: '''''strong italic'''''
-let g:vimwiki_rxBoldItalic = "'''''[^']\\+'''''"
-let g:vimwiki_rxItalicBold = g:vimwiki_rxBoldItalic
-
-" text: `code`
-let g:vimwiki_rxCode = '`[^`]\+`'
-
-" text: ~~deleted text~~
-let g:vimwiki_rxDelText = '\~\~[^~]\+\~\~'
-
-" text: ^superscript^
-let g:vimwiki_rxSuperScript = '\^[^^]\+\^'
-
-" text: ,,subscript,,
-let g:vimwiki_rxSubScript = ',,[^,]\+,,'
-
-" Header levels, 1-6
-let g:vimwiki_rxH1 = '^\s*=\{1}[^=]\+.*[^=]\+=\{1}\s*$'
-let g:vimwiki_rxH2 = '^\s*=\{2}[^=]\+.*[^=]\+=\{2}\s*$'
-let g:vimwiki_rxH3 = '^\s*=\{3}[^=]\+.*[^=]\+=\{3}\s*$'
-let g:vimwiki_rxH4 = '^\s*=\{4}[^=]\+.*[^=]\+=\{4}\s*$'
-let g:vimwiki_rxH5 = '^\s*=\{5}[^=]\+.*[^=]\+=\{5}\s*$'
-let g:vimwiki_rxH6 = '^\s*=\{6}[^=]\+.*[^=]\+=\{6}\s*$'
-let g:vimwiki_rxHeader = '\%('.g:vimwiki_rxH1.'\)\|'.
- \ '\%('.g:vimwiki_rxH2.'\)\|'.
- \ '\%('.g:vimwiki_rxH3.'\)\|'.
- \ '\%('.g:vimwiki_rxH4.'\)\|'.
- \ '\%('.g:vimwiki_rxH5.'\)\|'.
- \ '\%('.g:vimwiki_rxH6.'\)'
-
-" , horizontal rule
-let g:vimwiki_rxHR = '^----.*$'
-
-" Tables. Each line starts and ends with '||'; each cell is separated by '||'
-let g:vimwiki_rxTable = '||'
-
-" Bulleted list items start with whitespace(s), then '*'
-" highlight only bullets and digits.
-let g:vimwiki_rxListBullet = '^\s*\*\+\([^*]*$\)\@='
-let g:vimwiki_rxListNumber = '^\s*#\+'
-
-let g:vimwiki_rxListDefine = '^\%(;\|:\)\s'
-
-" Treat all other lines that start with spaces as PRE-formatted text.
-let g:vimwiki_rxPre1 = '^\s\+[^[:blank:]*#].*$'
-
-" Preformatted text
-let g:vimwiki_rxPreStart = '
'
-let g:vimwiki_rxPreEnd = '<\/pre>'
-autoload\vimwiki_gtd.vim [[[1
-187
-" Vimwiki autoload plugin file
-" GTD (Getting Things Done) related stuff here.
-" Author: Maxim Kim
-" Home: http://code.google.com/p/vimwiki/
-
-if exists("g:loaded_vimwiki_gtd_auto") || &cp
- finish
-endif
-let g:loaded_vimwiki_gtd_auto = 1
-
-" Script variables {{{
-" used in various checks
-let s:rx_list_item = '\('.
- \ g:vimwiki_rxListBullet.'\|'.g:vimwiki_rxListNumber.
- \ '\)'
-let s:rx_cb_list_item = s:rx_list_item.'\s*\zs\[.\?\]'
-let s:rx_li_box = '\[.\?\]'
-let s:rx_li_unchecked = '\[\s\?\]'
-" used in substitutions
-let s:rx_li_check = '\[x\]'
-let s:rx_li_uncheck = '\[ \]'
-" }}}
-
-" Script functions {{{
-" Set state of the list item on line number "lnum" to [ ] or [x]
-function! s:set_state(lnum, on_off)"{{{
- let line = getline(a:lnum)
- if a:on_off
- let state = s:rx_li_check
- else
- let state = s:rx_li_uncheck
- endif
- let line = substitute(line, s:rx_li_box, state, '')
- call setline(a:lnum, line)
-endfunction"}}}
-
-" Get state of the list item on line number "lnum"
-function! s:get_state(lnum)"{{{
- let state = 1
- let line = getline(a:lnum)
- let opt = matchstr(line, s:rx_cb_list_item)
- if opt =~ s:rx_li_unchecked
- let state = 0
- endif
- return state
-endfunction"}}}
-
-" Returns 1 if line is list item, 0 otherwise
-function! s:is_cb_list_item(lnum)"{{{
- return getline(a:lnum) =~ s:rx_cb_list_item
-endfunction"}}}
-
-" Returns 1 if line is list item, 0 otherwise
-function! s:is_list_item(lnum)"{{{
- return getline(a:lnum) =~ s:rx_list_item
-endfunction"}}}
-
-" Returns char column of checkbox. Used in parent/child checks.
-function! s:get_li_pos(lnum) "{{{
- return stridx(getline(a:lnum), '[')
-endfunction "}}}
-
-" Returns list of line numbers of parent and all its child items.
-function! s:get_child_items(lnum)"{{{
- let result = []
- let lnum = a:lnum
- let parent_pos = s:get_li_pos(lnum)
-
- " add parent
- call add(result, lnum)
- let lnum += 1
-
- while s:is_cb_list_item(lnum) &&
- \ s:get_li_pos(lnum) > parent_pos &&
- \ lnum <= line('$')
-
- call add(result, lnum)
- let lnum += 1
- endwhile
-
- return result
-endfunction"}}}
-
-" Returns list of line numbers of all items of the same level.
-function! s:get_sibling_items(lnum)"{{{
- let result = []
- let lnum = a:lnum
- let ind = s:get_li_pos(lnum)
-
- while s:is_cb_list_item(lnum) &&
- \ s:get_li_pos(lnum) >= ind &&
- \ lnum <= line('$')
-
- if s:get_li_pos(lnum) == ind
- call add(result, lnum)
- endif
- let lnum += 1
- endwhile
-
- let lnum = a:lnum - 1
- while s:is_cb_list_item(lnum) &&
- \ s:get_li_pos(lnum) >= ind &&
- \ lnum >= 0
-
- if s:get_li_pos(lnum) == ind
- call add(result, lnum)
- endif
- let lnum -= 1
- endwhile
-
- return result
-endfunction"}}}
-
-" Returns line number of the parent of lnum item
-function! s:get_parent_item(lnum)"{{{
- let lnum = a:lnum
- let ind = s:get_li_pos(lnum)
-
- while s:is_cb_list_item(lnum) &&
- \ s:get_li_pos(lnum) >= ind &&
- \ lnum >= 0
- let lnum -= 1
- endwhile
-
- if s:is_cb_list_item(lnum)
- return lnum
- else
- return a:lnum
- endif
-endfunction"}}}
-
-" Creates checkbox in a list item.
-function s:create_cb_list_item(lnum) "{{{
- let line = getline(a:lnum)
- let m = matchstr(line, s:rx_list_item)
- if m != ''
- let line = m.' [ ]'.strpart(line, len(m))
- call setline(a:lnum, line)
- endif
-endfunction "}}}
-
-" Script functions }}}
-
-" Toggle list item between [ ] and [x]
-function! vimwiki_gtd#GTDToggleItem()"{{{
- let current_lnum = line('.')
-
- if !s:is_cb_list_item(current_lnum)
- if g:vimwiki_auto_checkbox
- call s:create_cb_list_item(current_lnum)
- endif
- return
- endif
-
- let current_state = s:get_state(current_lnum)
- if current_state == 0
- for lnum in s:get_child_items(current_lnum)
- call s:set_state(lnum, 1)
- let new_state = 1
- endfor
- else
- for lnum in s:get_child_items(current_lnum)
- call s:set_state(lnum, 0)
- let new_state = 0
- endfor
- endif
-
- let c_lnum = current_lnum
- while s:is_cb_list_item(c_lnum)
- let all_items_checked = 1
- for lnum in s:get_sibling_items(c_lnum)
- if s:get_state(lnum) != 1
- let all_items_checked = 0
- break
- endif
- endfor
-
- let parent_lnum = s:get_parent_item(c_lnum)
- if parent_lnum == c_lnum
- break
- endif
- call s:set_state(parent_lnum, all_items_checked)
-
-
- let c_lnum = parent_lnum
- endwhile
-endfunction"}}}
-autoload\vimwiki_html.vim [[[1
-859
-" Vimwiki autoload plugin file
-" Export to HTML
-" Author: Maxim Kim
-" Home: http://code.google.com/p/vimwiki/
-
-" Load only once {{{
-if exists("g:loaded_vimwiki_html_auto") || &cp
- finish
-endif
-let g:loaded_vimwiki_html_auto = 1
-"}}}
-" Warn if html header or html footer do not exist only once. {{{
-let s:warn_html_header = 0
-let s:warn_html_footer = 0
-"}}}
-" TODO: move the next 2 functions into vimwiki#msg and
-" vimwiki#get_file_name_only.
-function! s:msg(message) "{{{
- echohl WarningMsg
- echomsg 'vimwiki: '.a:message
- echohl None
-endfunction "}}}
-
-function! s:get_file_name_only(filename) "{{{
- let word = substitute(a:filename, '\'.VimwikiGet('ext'), "", "g")
- let word = substitute(word, '.*[/\\]', "", "g")
- return word
-endfunction "}}}
-
-function! s:syntax_supported() " {{{
- return VimwikiGet('syntax') == "default"
-endfunction " }}}
-
-function! s:create_default_CSS(path) " {{{
- let path = expand(a:path)
- if glob(path.'style.css') == ""
- let lines = []
-
- call add(lines, 'body {margin: 1em 2em 1em 2em; font-size: 100%; line-height: 130%;}')
- call add(lines, 'h1, h2, h3, h4, h5, h6 {margin-top: 1.5em; margin-bottom: 0.5em;}')
- call add(lines, 'h1 {font-size: 2.0em; color: #3366aa;}')
- call add(lines, 'h2 {font-size: 1.6em; color: #335588;}')
- call add(lines, 'h3 {font-size: 1.2em; color: #224466;}')
- call add(lines, 'h4 {font-size: 1.2em; color: #113344;}')
- call add(lines, 'h5 {font-size: 1.1em; color: #112233;}')
- call add(lines, 'h6 {font-size: 1.1em; color: #111111;}')
- call add(lines, 'p, pre, table, ul, ol, dl {margin-top: 1em; margin-bottom: 1em;}')
- call add(lines, 'ul ul, ul ol, ol ol, ol ul {margin-top: 0.5em; margin-bottom: 0.5em;}')
- call add(lines, 'li {margin: 0.3em auto;}')
- call add(lines, 'ul {margin-left: 2em; padding-left: 0.5em;}')
- call add(lines, 'dt {font-weight: bold;}')
- call add(lines, 'img {border: none;}')
- call add(lines, 'pre {border-left: 1px solid #ccc; margin-left: 2em; padding-left: 0.5em;}')
- call add(lines, 'td {border: 1px solid #ccc; padding: 0.3em;}')
- call add(lines, 'hr {border: none; border-top: 1px solid #ccc; width: 100%;}')
- call add(lines, '.todo {font-weight: bold; background-color: #f0ece8; color: #a03020;}')
- call add(lines, '.strike {text-decoration: line-through; color: #777777;}')
- call add(lines, '.justleft {text-align: left;}')
- call add(lines, '.justright {text-align: right;}')
- call add(lines, '.justcenter {text-align: center;}')
-
- call writefile(lines, path.'style.css')
- echomsg "Default style.css is created."
- endif
-endfunction "}}}
-
-function! s:remove_blank_lines(lines) " {{{
- while a:lines[-1] =~ '^\s*$'
- call remove(a:lines, -1)
- endwhile
-endfunction "}}}
-
-function! s:is_web_link(lnk) "{{{
- if a:lnk =~ '^\(http://\|www.\|ftp://\)'
- return 1
- endif
- return 0
-endfunction "}}}
-
-function! s:is_img_link(lnk) "{{{
- if a:lnk =~ '\.\(png\|jpg\|gif\|jpeg\)$'
- return 1
- endif
- return 0
-endfunction "}}}
-
-function! s:is_non_wiki_link(lnk) "{{{
- if a:lnk =~ '.\+\..\+$'
- return 1
- endif
- return 0
-endfunction "}}}
-
-function! s:get_html_header(title, charset) "{{{
- let lines=[]
-
- if VimwikiGet('html_header') != "" && !s:warn_html_header
- try
- let lines = readfile(expand(VimwikiGet('html_header')))
- call map(lines, 'substitute(v:val, "%title%", "'. a:title .'", "g")')
- return lines
- catch /E484/
- let s:warn_html_header = 1
- call s:msg("Header template ". VimwikiGet('html_header'). " does not exist!")
- endtry
- endif
-
- " if no VimwikiGet('html_header') set up or error while reading template
- " file -- use default header.
- call add(lines, '')
- call add(lines, '')
- call add(lines, '')
- call add(lines, ''.a:title.'')
- call add(lines, '')
- call add(lines, '')
- call add(lines, '')
-
- return lines
-endfunction "}}}
-
-function! s:get_html_footer() "{{{
- let lines=[]
-
- if VimwikiGet('html_footer') != "" && !s:warn_html_footer
- try
- let lines = readfile(expand(VimwikiGet('html_footer')))
- return lines
- catch /E484/
- let s:warn_html_footer = 1
- call s:msg("Footer template ". VimwikiGet('html_footer'). " does not exist!")
- endtry
- endif
-
- " if no VimwikiGet('html_footer') set up or error while reading template
- " file -- use default footer.
- call add(lines, "")
- call add(lines, '')
- call add(lines, '')
-
- return lines
-endfunction "}}}
-
-function! s:close_tag_code(code, ldest) "{{{
- if a:code
- call insert(a:ldest, "
")
- let table = 0
- endif
- return [processed, lines, table]
-endfunction "}}}
-
-function! s:process_tags(line) "{{{
- let line = a:line
- let line = s:make_tag(line, '\[\[.\{-}\]\]', '', '', 2, 's:make_internal_link')
- let line = s:make_tag(line, '\[.\{-}\]', '', '', 1, 's:make_external_link')
- let line = s:make_tag(line, g:vimwiki_rxWeblink, '', '', 0, 's:make_barebone_link')
- let line = s:make_tag(line, '!\?'.g:vimwiki_rxWikiWord, '', '', 0, 's:make_wikiword_link')
- let line = s:make_tag(line, g:vimwiki_rxItalic, '', '')
- let line = s:make_tag(line, g:vimwiki_rxBold, '', '')
- " let line = s:make_tag(line, g:vimwiki_rxItalic, '', '')
- let line = s:make_tag(line, g:vimwiki_rxTodo, '', '', 0)
- let line = s:make_tag(line, g:vimwiki_rxDelText, '', '', 2)
- let line = s:make_tag(line, g:vimwiki_rxSuperScript, '', '', 1)
- let line = s:make_tag(line, g:vimwiki_rxSubScript, '', '', 2)
- let line = s:make_tag(line, g:vimwiki_rxCode, '', '')
- " TODO: change make_tag function: delete cSym parameter -- count of symbols
- " to strip from 2 sides of tag. Add 2 new instead -- OpenWikiTag length
- " and CloseWikiTag length as for preformatted text there could be {{{,}}} and
,
.
- let line = s:make_tag(line, g:vimwiki_rxPreStart.'.\+'.g:vimwiki_rxPreEnd, '', '', 3)
- return line
-endfunction " }}}
-
-function! s:safe_html(line) "{{{
- "" change dangerous html symbols: < > &
-
- let line = substitute(a:line, '&', '\&', 'g')
- let line = substitute(line, '<', '\<', 'g')
- let line = substitute(line, '>', '\>', 'g')
- return line
-endfunction "}}}
-
-function! s:make_tag_helper(line, regexp_match, tagOpen, tagClose, cSymRemove, func) " {{{
- "" Substitute text found by regexp_match with tagOpen.regexp_subst.tagClose
-
- let pos = 0
- let lines = split(a:line, a:regexp_match, 1)
- let res_line = ""
- for line in lines
- let res_line = res_line.line
- let matched = matchstr(a:line, a:regexp_match, pos)
- if matched != ""
- let toReplace = strpart(matched, a:cSymRemove, len(matched)-2*a:cSymRemove)
- if a:func!=""
- let toReplace = {a:func}(toReplace)
- else
- let toReplace = a:tagOpen.toReplace.a:tagClose
- endif
- let res_line = res_line.toReplace
- endif
- let pos = matchend(a:line, a:regexp_match, pos)
- endfor
- return res_line
-
-endfunction " }}}
-
-function! s:make_tag(line, regexp_match, tagOpen, tagClose, ...) " {{{
- "" Make tags only if not in ` ... `
- "" ... should be function that process regexp_match deeper.
-
- "check if additional function exists
- let func = ""
- let cSym = 1
- if a:0 == 2
- let cSym = a:1
- let func = a:2
- elseif a:0 == 1
- let cSym = a:1
- endif
-
- let patt_splitter = '\(`[^`]\+`\)\|\({{{.\+}}}\)\|\(\)\|\(\)'
- if '`[^`]\+`' == a:regexp_match || '{{{.\+}}}' == a:regexp_match
- let res_line = s:make_tag_helper(a:line, a:regexp_match, a:tagOpen, a:tagClose, cSym, func)
- else
- let pos = 0
- " split line with patt_splitter to have parts of line before and after
- " href links, preformatted text
- " ie:
- " hello world `is just a` simple type of prg.
- " result:
- " ['hello world ', ' simple ', 'type of', ' prg']
- let lines = split(a:line, patt_splitter, 1)
- let res_line = ""
- for line in lines
- let res_line = res_line.s:make_tag_helper(line, a:regexp_match, a:tagOpen, a:tagClose, cSym, func)
- let res_line = res_line.matchstr(a:line, patt_splitter, pos)
- let pos = matchend(a:line, patt_splitter, pos)
- endfor
- endif
- return res_line
-endfunction " }}}
-
-function! s:make_external_link(entag) "{{{
- "" Make link desc
- "" from [link link desc]
-
- let line = ''
- if s:is_web_link(a:entag)
- let lnkElements = split(a:entag)
- let head = lnkElements[0]
- let rest = join(lnkElements[1:])
- if rest==""
- let rest=head
- endif
- if s:is_img_link(rest)
- if rest!=head
- let line = ''
- else
- let line = ''
- endif
- else
- let line = ''.rest.''
- endif
- elseif s:is_img_link(a:entag)
- let line = ''
- else
- " [alskfj sfsf] shouldn't be a link. So return it as it was --
- " enclosed in [...]
- let line = '['.a:entag.']'
- endif
- return line
-endfunction "}}}
-
-function! s:make_internal_link(entag) "{{{
- "" Make This is a link
- "" from [[This is a link]]
- "" Make This is a link
- "" from [[link|This is a link]]
-
- let line = ''
- let link_parts = split(a:entag, "|")
- if len(link_parts) > 1
- if s:is_img_link(link_parts[0])
- let line = ''
- elseif s:is_non_wiki_link(link_parts[0])
- let line = ''.join(link_parts[1:], "|").''
- else
- let line = ''.join(link_parts[1:], "|").''
- endif
- else
- if s:is_img_link(a:entag)
- let line = ''
- elseif s:is_non_wiki_link(a:entag)
- let line = ''.a:entag.''
- else
- let line = ''.a:entag.''
- endif
- endif
- return line
-endfunction "}}}
-
-function! s:make_wikiword_link(entag) "{{{
- " Make WikiWord from WikiWord
- " if first symbol is ! then remove it and make no link.
- if a:entag[0] == '!'
- return a:entag[1:]
- else
- let line = ''.a:entag.''
- return line
- endif
-endfunction "}}}
-
-function! s:make_barebone_link(entag) "{{{
- "" Make http://habamax.ru
- "" from http://habamax.ru
-
- if s:is_img_link(a:entag)
- let line = ''
- else
- let line = ''.a:entag.''
- endif
- return line
-endfunction "}}}
-
-function! s:get_html_from_wiki_line(line, para, pre, code,
- \ table, lists, deflist) " {{{
- let para = a:para
- let pre = a:pre
- let code = a:code
- let table = a:table
- let lists = a:lists
- let deflist = a:deflist
-
- let res_lines = []
-
- let line = s:safe_html(a:line)
-
- let processed = 0
- "" Code
- if !processed
- let [processed, lines, code] = s:process_tag_pre_cl(line, code)
- if processed && len(lists)
- call s:close_tag_list(lists, lines)
- endif
- if processed && table
- let table = s:close_tag_table(table, lines)
- endif
- if processed && deflist
- let deflist = s:close_tag_def_list(deflist, lines)
- endif
- if processed && pre
- let pre = s:close_tag_pre(pre, lines)
- endif
- if processed && para
- let para = s:close_tag_para(para, lines)
- endif
- call extend(res_lines, lines)
- endif
-
- "" Pre
- if !processed
- let [processed, lines, pre] = s:process_tag_pre(line, pre)
- if processed && len(lists)
- call s:close_tag_list(lists, lines)
- endif
- if processed && deflist
- let deflist = s:close_tag_def_list(deflist, lines)
- endif
- if processed && table
- let table = s:close_tag_table(table, lines)
- endif
- if processed && code
- let code = s:close_tag_code(code, lines)
- endif
- if processed && para
- let para = s:close_tag_para(para, lines)
- endif
-
- call extend(res_lines, lines)
- endif
-
- "" list
- if !processed
- let [processed, lines] = s:process_tag_list(line, lists)
- if processed && pre
- let pre = s:close_tag_pre(pre, lines)
- endif
- if processed && code
- let code = s:close_tag_code(code, lines)
- endif
- if processed && table
- let table = s:close_tag_table(table, lines)
- endif
- if processed && deflist
- let deflist = s:close_tag_def_list(deflist, lines)
- endif
- if processed && para
- let para = s:close_tag_para(para, lines)
- endif
-
- call map(lines, 's:process_tags(v:val)')
-
- call extend(res_lines, lines)
- endif
-
- "" definition lists
- if !processed
- let [processed, lines, deflist] = s:process_tag_def_list(line, deflist)
-
- call map(lines, 's:process_tags(v:val)')
-
- call extend(res_lines, lines)
- endif
-
- "" table
- if !processed
- let [processed, lines, table] = s:process_tag_table(line, table)
-
- call map(lines, 's:process_tags(v:val)')
-
- call extend(res_lines, lines)
- endif
-
- if !processed
- let [processed, line] = s:process_tag_h(line)
- if processed
- call s:close_tag_list(lists, res_lines)
- let table = s:close_tag_table(table, res_lines)
- let code = s:close_tag_code(code, res_lines)
- call add(res_lines, line)
- endif
- endif
-
- if !processed
- let [processed, line] = s:process_tag_hr(line)
- if processed
- call s:close_tag_list(lists, res_lines)
- let table = s:close_tag_table(table, res_lines)
- let code = s:close_tag_code(code, res_lines)
- call add(res_lines, line)
- endif
- endif
-
- "" P
- if !processed
- let [processed, lines, para] = s:process_tag_para(line, para)
- if processed && len(lists)
- call s:close_tag_list(lists, lines)
- endif
- if processed && pre
- let pre = s:close_tag_pre(pre, res_lines)
- endif
- if processed && code
- let code = s:close_tag_code(code, res_lines)
- endif
- if processed && table
- let table = s:close_tag_table(table, res_lines)
- endif
-
- call map(lines, 's:process_tags(v:val)')
-
- call extend(res_lines, lines)
- endif
-
- "" add the rest
- if !processed
- call add(res_lines, line)
- endif
-
- return [res_lines, para, pre, code, table, lists, deflist]
-
-endfunction " }}}
-
-function! s:remove_comments(lines) "{{{
- let res = []
- let multiline_comment = 0
-
- let idx = 0
- while idx < len(a:lines)
- let line = a:lines[idx]
- let idx += 1
-
- if multiline_comment
- let col = matchend(line, '-->',)
- if col != -1
- let multiline_comment = 0
- let line = strpart(line, col)
- else
- continue
- endif
- endif
-
- if !multiline_comment && line =~ ''
- let line = substitute(line, '', '', 'g')
- if line =~ '^\s*$'
- continue
- endif
- endif
-
- if !multiline_comment
- let col = match(line, '
-" MISC }}}
-
-" GOTO FILE: gf {{{
-execute 'setlocal suffixesadd='.VimwikiGet('ext')
-setlocal isfname-=[,]
-" gf}}}
-
-" COMMENTS: autocreate list items {{{
-" for list items, and list items with checkboxes
-if VimwikiGet('syntax') == 'default'
- setlocal comments=b:\ *\ [\ ],b:\ *[\ ],b:\ *\ [],b:\ *[],b:\ *\ [x],b:\ *[x]
- setlocal comments+=b:\ #\ [\ ],b:\ #[\ ],b:\ #\ [],b:\ #[],b:\ #\ [x],b:\ #[x]
- setlocal comments+=b:\ *,b:\ #
-else
- setlocal comments=n:*\ [\ ],n:*[\ ],n:*\ [],n:*[],n:*\ [x],n:*[x]
- setlocal comments+=n:#\ [\ ],n:#[\ ],n:#\ [],n:#[],n:#\ [x],n:#[x]
- setlocal comments+=n:*,n:#
-endif
-setlocal formatoptions=ctnqro
-" COMMENTS }}}
-
-" FOLDING for headers and list items using expr fold method. {{{
-setlocal fdm=expr
-setlocal foldexpr=VimwikiFoldLevel(v:lnum)
-function! VimwikiFoldLevel(lnum) "{{{
- let line = getline(a:lnum)
- let nline = getline(a:lnum + 1)
-
- " Header folding...
- if line =~ g:vimwiki_rxHeader
- let n = s:count_first_sym(line)
- return '>' . n
- endif
-
- " List item folding...
- let nnum = a:lnum + 1
-
- let rx_list_item = '\('.
- \ g:vimwiki_rxListBullet.'\|'.g:vimwiki_rxListNumber.
- \ '\)'
- if line =~ rx_list_item && nline =~ rx_list_item
- return s:get_li_level(a:lnum, nnum)
- " list is over, remove foldlevel
- elseif line =~ rx_list_item && nline !~ rx_list_item
- return s:get_li_level_last(a:lnum)
- endif
-
- return '='
-endfunction "}}}
-
-function! s:get_li_level(lnum, nnum) "{{{
- if VimwikiGet('syntax') == 'media'
- let level = s:count_first_sym(getline(a:nnum)) -
- \ s:count_first_sym(getline(a:lnum))
- if level > 0
- return "a".level
- elseif level < 0
- return "s".abs(level)
- else
- return "="
- endif
- else
- let level = ((indent(a:nnum) - indent(a:lnum)) / &sw)
- if level > 0
- return "a".level
- elseif level < 0
- return "s".abs(level)
- else
- return "="
- endif
- endif
-endfunction "}}}
-
-function! s:get_li_level_last(lnum) "{{{
- if VimwikiGet('syntax') == 'media'
- return "s".(s:count_first_sym(getline(a:lnum)) - 1)
- else
- return "s".(indent(a:lnum) / &sw - 1)
- endif
-endfunction "}}}
-
-function! s:count_first_sym(line) "{{{
- let idx = 0
- while a:line[idx] == a:line[0] && idx < len(a:line)
- let idx += 1
- endwhile
- return idx
-endfunction "}}}
-
-setlocal foldtext=VimwikiFoldText()
-function! VimwikiFoldText() "{{{
- let line = getline(v:foldstart)
- return line.' ['.(v:foldend - v:foldstart).'] '
-endfunction "}}}
-
-" FOLDING }}}
-
-" COMMANDS {{{
-command! -buffer Vimwiki2HTML call vimwiki_html#Wiki2HTML(expand(VimwikiGet('path_html')), expand('%'))
-command! -buffer VimwikiAll2HTML call vimwiki_html#WikiAll2HTML(expand(VimwikiGet('path_html')))
-
-command! -buffer VimwikiNextWord call vimwiki#WikiNextWord()
-command! -buffer VimwikiPrevWord call vimwiki#WikiPrevWord()
-command! -buffer VimwikiDeleteWord call vimwiki#WikiDeleteWord()
-command! -buffer VimwikiRenameWord call vimwiki#WikiRenameWord()
-command! -buffer VimwikiFollowWord call vimwiki#WikiFollowWord('nosplit')
-command! -buffer VimwikiGoBackWord call vimwiki#WikiGoBackWord()
-command! -buffer VimwikiSplitWord call vimwiki#WikiFollowWord('split')
-command! -buffer VimwikiVSplitWord call vimwiki#WikiFollowWord('vsplit')
-
-command! -buffer VimwikiGTDToggleItem call vimwiki_gtd#GTDToggleItem()
-" COMMANDS }}}
-
-" KEYBINDINGS {{{
-if g:vimwiki_use_mouse
- nmap
- nmap
- noremap <2-LeftMouse> :VimwikiFollowWord
- noremap :VimwikiSplitWord
- noremap :VimwikiVSplitWord
- noremap :VimwikiGoBackWord
-endif
-
-if !hasmapto('VimwikiFollowWord')
- nmap VimwikiFollowWord
-endif
-noremap