# VimwikiTOC {{{1 # # TODO implement: If link in the heading (see README.md) # TODO (10min) test if g:vimwiki_to_header well readen # TODO (10min) test vimviki_toc_link_format # TODO (1h) test if really wiki dependant (for 2 diffrent wikis) # # Doc: from #664: # -- 1. It downcases the string => OK: from previous big collection # -- 2. remove anything that is not a letter, number, space or hyphen (see the source for how Unicode is handled) => from 'bad characters' # -- 3. changes any space to a hyphen => OK: from previous big # -- 4. If that is not unique, add "-1", "-2", "-3",... to make it unique => TODO not implemented # # # TODO if link in heading #Given vimwiki (Two same heading {{{1): # # Pre [link](anything no parenthesis) Post # #Execute (Set syntax markdown && Set sw=8): # call SetSyntax('markdown') # set sw=8 # VimwikiTOC # #Expect (Suffix -1 and -2): # # # # # Start {{{1 Given vimwiki (Two same heading (#968) {{{1): # One toto # ONE like ## oNe you Execute (Set syntax markdown && Set sw=8): call SetSyntax('markdown') set sw=8 VimwikiTOC Expect (Suffix -2 and -3): # Contents - [One](#one) - [ONE](#one-2) - [oNe](#one-3) # One toto # ONE like ## oNe you Given vimwiki (Heading with many bad caracters {{{1): # One !@#@#(!%#&$^(!@ ## Two !!~!!:"@!>@!>?< Execute (Set syntax markdown && VimwikiTOC): call SetSyntax('markdown') set sw=8 VimwikiTOC Expect (Bad characters are removed): # Contents - [One !@#@#(!%#&$^(!@](#one-) - [Two !!~!!:"@!>@!>?<](#two-) # One !@#@#(!%#&$^(!@ ## Two !!~!!:"@!>@!>?< # Large previous tests {{{1 Execute (Reset TOC header to default): call vimwiki#vars#set_wikilocal('toc_header', 'Contents') Given vimwiki (Headings): # Header 1 random text ## Header 1.1 random text ### Header 1.1.1 random text # Header 2 ### Header 2.1.1 Execute (Set syntax markdown && Set sw=8): call SetSyntax('markdown') set sw=8 Execute (VimwikiTOC): VimwikiTOC Expect (With a TOC sw=8): # Contents - [Header 1](#header-1) - [Header 1.1](#header-11) - [Header 1.1.1](#header-111) - [Header 2](#header-2) - [Header 2.1.1](#header-211) # Header 1 random text ## Header 1.1 random text ### Header 1.1.1 random text # Header 2 ### Header 2.1.1 Execute (Set sw=4 && VimwikiTOC): set sw=4 VimwikiTOC Expect (With a TOC sw=4): # Contents - [Header 1](#header-1) - [Header 1.1](#header-11) - [Header 1.1.1](#header-111) - [Header 2](#header-2) - [Header 2.1.1](#header-211) # Header 1 random text ## Header 1.1 random text ### Header 1.1.1 random text # Header 2 ### Header 2.1.1 Do (Destroy some stuff): jj dd jj dd Execute (VimwikiTOC): VimwikiTOC Expect (Brand new TOC): # Contents - [Header 1](#header-1) - [Header 1.1](#header-11) - [Header 1.1.1](#header-111) - [Header 2](#header-2) - [Header 2.1.1](#header-211) # Header 1 random text ## Header 1.1 random text ### Header 1.1.1 random text # Header 2 ### Header 2.1.1 Execute (Let toc_header = Sommaire && VimwikiTOC): call vimwiki#vars#set_wikilocal('toc_header', 'Sommaire') VimwikiTOC Expect (Append a Sommaire && Leave Contents alone): # Sommaire - [Header 1](#header-1) - [Header 1.1](#header-11) - [Header 1.1.1](#header-111) - [Header 2](#header-2) - [Header 2.1.1](#header-211) # Header 1 random text ## Header 1.1 random text ### Header 1.1.1 random text # Header 2 ### Header 2.1.1 Do (Destroy some stuff): jj dd jj dd Execute (VimwikiTOC): VimwikiTOC Expect (Brand new TOC with sommaire): # Sommaire - [Header 1](#header-1) - [Header 1.1](#header-11) - [Header 1.1.1](#header-111) - [Header 2](#header-2) - [Header 2.1.1](#header-211) # Header 1 random text ## Header 1.1 random text ### Header 1.1.1 random text # Header 2 ### Header 2.1.1 Execute (call vimwiki#vars#set_global('toc_header_level', 6): call vimwiki#vars#set_wikilocal('toc_header_level', 6) VimwikiTOC # Reset default call vimwiki#vars#set_wikilocal('toc_header_level', 1) Expect (Content prepended): ###### Sommaire - [Header 1](#header-1) - [Header 1.1](#header-11) - [Header 1.1.1](#header-111) - [Header 2](#header-2) - [Header 2.1.1](#header-211) # Header 1 random text ## Header 1.1 random text ### Header 1.1.1 random text # Header 2 ### Header 2.1.1 " vim: sw=2 foldmethod=marker foldlevel=30 foldignore=#