Commit Graph

518 Commits

Author SHA1 Message Date
Tinmarino
1852c6c542 Fix: clean_url removing Chinese character
Issue: <Enter> create link bug with Chinese characters #849
Thank: @BSDxxxx
2020-05-13 11:35:22 -04:00
Tinmarino
39812e5c96 Fix: renaming tipo: s:get_diary_file -> vimwiki#diary#get_diary_files() 2020-05-13 11:35:22 -04:00
flex
76af17a872 fix base#find_files so that it works for filenames with whitespaces 2020-05-11 22:14:35 -04:00
Patrick Stockwell
ab301801b0 Improve path normalisation with separate substitutions
This change reverts the original regex and simply adds a second regex
which is called on the result. '/\./' is one literal forward slash, one
literal fullstop (escaped with a leading backslash), and one literal
forward slash. In plain text, `/./` will be replaced with `/`.
2020-05-11 21:08:54 -04:00
Patrick Stockwell
b96e82d6cc Generate links when diary & wiki dir are the same
When generating links, we first check that the file is not a diary file
as we don't want to include those in the list. That work is delegated to
the `is_diary_file` function. Prior to this change, the function always
returned true if the file was in the diary directory.
This approach gives false positives for a wiki which has a flat structure
and the wiki files and diary files share a directory. eg:

let wiki.diary_rel_path = './'

This change reuses existing diary functions from the diary.vim module to
get an exact list of diary files to check against.
2020-05-11 21:08:54 -04:00
Tinmarino
1020ac51bf Prettify: Special case in diary not so special
Same as generic case within this PR
2020-04-22 11:22:53 -04:00
Stefan Lehmann
c73107dc10 Fix for Issue #807
creating a new link to an existing page in the diary path now uses the full page name instead of just the first word.
2020-04-22 11:22:53 -04:00
kaphula
35af13c1ef Moved safe_line_html call after the %plainhtml check so it does not convert essential html characters such as < and > to ampersand form. 2020-04-20 22:11:40 -04:00
kaphula
867d81a50c Added new feature to insert plaintext to the final html conversion file. 2020-04-18 13:04:55 -04:00
Mauro Morales
a4738f31d6 Add viewport meta tag to make it responsive 2020-04-17 19:02:59 -04:00
Tinmarino
614287a42b Comment: tipo 2020-04-17 19:01:03 -04:00
Clément Bœsch
7ae02bb4e6 Remove unnecessary echom idx cruft
This was introduced in 3396e87db for debugging and probably forgotten.
2020-04-06 16:50:26 +02: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
Tinmarino
d9412218e3 Fix relative paths for VimwikiRenameLink. Merge PR #787.
Fixes #90 

__Problem__: VimwikiRenameLink does not rename dir1/toto url in dir2/tata
because the dirs (dir2 and .) were well crossed but badly inspected.
__Solution__: `blob(.ext*)` -> `glob(**/*.ext)` + find the relative URL

* Fasten: VimwikiRenameLink goes faster with cache
More: To compute old_url regex, use a cache dict because it is the same
for files in the same directories

* Util DeleteHiddenBuffer -> do not delete Vader buffer

* Test: Prettify: Util: teardown delete defined function

* Remove unnecessary trailing spaces
Note: list_VimwikiReturn.vader has some necessary trailing spaces
2020-01-04 21:21:52 -07:00
Rane Brown
87c13f570a Ignore verbatim blocks when scanning tags.
Merge pull request #672.
2020-01-03 15:24:47 -07:00
Rane Brown
270f542292 Improve detection of code blocks 2020-01-03 15:14:45 -07:00
Rane Brown
5cdeb9a682 Improve markdown syntax for fenced code blocks. Closes #764 2020-01-01 10:58:56 -07:00
Rane Brown
cf072ebdf2 Update how tags are written to file.
Ensures older vims are still supported.
2019-12-30 10:24:52 -07:00
Rane Brown
b4e0f738a3 Allow markdown syntax to have tags at top of file.
Previously tags that did not fall under a header caused errors because
the generation code expected an anchor.

Update tags test case.

Closes #790
2019-12-30 10:09:04 -07:00
Rane Brown
b9eec79cc6 Update tags file format. Closes #779. 2019-12-30 10:07:20 -07:00
Rane Brown
19f913429f Don't overwrite user setting of list_margin.
Closes #789
2019-12-23 13:35:31 -07:00
Rane Brown
7ad0ad36dc Set default list_margin=0 for markdown 2019-12-21 09:09:16 -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
tinmarino
8db9d4b387 VimwikiGoto: Enable VimwikiGoBackLink after 2019-12-15 19:23:50 -03:00
tinmarino
80013f457d Feature: VimwikiGoto completion works with only part of filename
Problem: Could not complete when the user argument was not the begining
of the filepath
Solution: use custom smartcase filter and customlist instead of custom
2019-12-15 02:27:11 -03:00
tinmarino
64eea36b1e Feature: VimwikiGoto completion get also link of files nested in directories
Before: VimwikiGoto <Tab> -> completed only files in current dir
After: complete also files in nested dirs
Changes: glob(*) -> glob(**/*)
2019-12-15 02:27:11 -03:00
Rane Brown
2a51d83397
Merge pull request #780 from rattletat/dev
Only echo message with custom_wiki2html call if the output isn't empty.
2019-12-14 21:56:09 -07:00
Rane Brown
c58d5da049 Set default ext2syntax values for markdown and mediawiki.
Closes #769.

Also fixes an error when adding missing '.' to mapped extensions. The
previous behavior tried to access a value after it was removed from the
dictionary.
2019-12-14 20:31:59 -07:00
Rane Brown
eb26a66be5 Add check to generate_tags() to ensure a header is present.
Prior to this fix a file with tags present before any header would
result in vim errors. Now a single Vimwiki message is printed to alert
the user of the issue.
2019-12-14 10:41:22 -07:00
Rane Brown
460fcb692e Make generation functions compatible with older vims.
PR #634, PR #635, and PR #636 introduced new features that broke
compatibility with older version of Vim. This modifies those changes to
ensure compatibility. Closes #781.

Removes usage of funcref(), closure. Fixes filter() call.
Made globpath calls not use the list argument.
Unlet a variable that is reused (sticky type checking)

v7.4.1989 modified filter() to accept a Funcref
v7.4.2120 Added function "closure" argument
v7.4.2137 add funcref()
2019-12-14 10:31:30 -07:00
Michael Brauweiler
c48637fd99
Add better echoing of custom wiki2html script
This commit adds a check to the call of the wiki2html script,
so that it is only echoed if it actually produces output.
2019-12-08 12:05:25 +08:00
tinmarino
c4a40e7fc7 Fix: VimwikiGoBackLink does not go back to links on the same page #691 2019-10-24 23:24:17 +02:00
tinmarino
53ba047a18 Clean code: : mutualise bash: is_wiki_link: command not found in a script function 2019-10-24 23:24:17 +02:00
Rane Brown
85b220bae1 Merge branch 'issue-420' of https://github.com/ratfactor/vimwiki into ratfactor-issue-420 2019-10-20 20:27:25 -06: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
1f85a3c855
Merge pull request #735 from simias/fix-407
Fix off-by-one error in get_next_line and get_prev_line
2019-10-15 12:15:14 -06:00
Dave Gauer
ad95e3463f Add error handling to VimwikiSearch per issue #420
- Create function wrapper around lvimgrep for input checking, pattern
   quoting, and error handling.
 - Add Vader tests for VimwikiSearch.
 - Change syntax loading from try/catch to explicit file check (to
   prevent Vader test bug).
 - Update doc/vimwiki.txt for changes.
 - Change test script to run Vader tests separately
2019-10-12 18:31:43 -04:00
Rane Brown
a17a9826bd Fix 'VimwikiReturn 3 5' behavior within code blocks.
Previously a new list marker would get added when working within a code
block that was part of a list. This change excludes code blocks from
list marker creation.
2019-08-23 14:42:07 -06:00
Rane Brown
5ce7c14a3d Properly handle lists with hard wraps. Fixes #443.
This change modifies the behavior of VimwikiReturn to not insert a new
list marker if not within a list. Mostly useful when mapping <CR> to
VimwikiReturn 3 5 or similar. The behavior of 'o' was also modified to
properly insert a marker in a list with hard line wraps.
2019-08-22 05:52:54 -06:00
Lionel Flandrin
dcd68a6781 Fix off-by-one error in get_next_line and get_prev_line
The functions stopped at the end/start block marker (respectively)
instead of returning the following line. This caused issues when the
function was subsequently called in markdown mode since the start and
end block markers are the same.

This fixes #407
2019-07-31 17:56:08 +01:00
Rane Brown
0678df38e9 Support getbufvar for vim < v7.3.831 2019-07-20 22:13:48 -06:00
Rane Brown
fbec80b7d9 Remove control characters. Fixes #598 2019-07-17 07:15:06 -06:00
Rane Brown
86cad979e5 Better handling of extensions when normalizing links.
For markdown syntax the extension was added to the url multiple times if
the option g:vimwiki_markdown_link_ext was set which is now fixed.
Normalizing links no longer adds the extension to the description field.
2019-07-17 07:10:47 -06:00
Rane Brown
466bdcd4e8 Don't reuse variable in s:clean_url (sticky type checking)
Versions of Vim prior to 7.4.1546 had sticky type checking which
prevented a variables type from changing. Fixes #715.
2019-07-12 13:52:23 -06:00
Rane Brown
c58268df3f Make normalized links in diary pages use relative path.
A previous PR added this feature to the default syntax. This add the
same functionality to markdown syntax. Fixes #729
2019-07-10 21:06:33 -06:00
James Moriarty
8914b14e24 Remove awa check triggering silent file edits. 2019-06-04 21:30:52 -04: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
68233c51eb Handle markdown image links '![]()'. 2019-05-23 21:23:53 -06:00
Greg Anders
ddf7e5e0ff Allow forcing VimwikiAll2HTML with ! 2019-05-20 08:22:15 -06:00
Rane Brown
efe5f648de Convert path to use '\' for windows in backlinks function.
Fixes #413
2019-05-16 20:47:17 -06:00
Steve Dondley
cf8a16c5c7 Fix list folding bug (PR #705)
Closes #680
2019-05-11 14:01:45 -06:00
Rane Brown
c05037a490 Allow escaped characters in markdown links.
Fixes #619
2019-05-08 21:30:06 -06:00
Rane Brown
cde4703354 Modify regex pattern for markdown links.
Fixes #240. Also fixes a related issue where markdown links where not
correctly highlighted in todo lists. Adds concealment for markdown links
in todo lists.
2019-05-08 20:55:56 -06:00
Rane Brown
0d8fbebcb8 Print the correct help message for global or wikilocal options.
Fixes #685
2019-05-04 06:31:13 -06:00
Rane Brown
fd8832cfa1 Fixes #237 VimwikiRenameLink now works for markdown syntax. 2019-05-03 21:19:05 -06:00
Rane Brown
61d93fde7f Exclude '>' from url regex, including tables. Issue #481 2019-04-30 06:11:51 -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
bb15cd1aff Exclude '>' from url regex.
Fixes #481
2019-04-29 22:09:38 -06:00
Steven Stallion
ad4d43abfe Add :VimwikiGoto key maping 2019-04-27 11:10:32 -05: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
Jonny Bylsma
e84dcbfa25 Prevent sticky type checking (E706) errors with older Vims (#681)
Vim used to throw the E706 error if you tried to change a variable's
type. This error can be triggered by vimwiki if, during the user
settings loop in `read_global_settings_from_user()`, the variable type
for `users_value` changes.

The vim error was removed in v7.4.1546 as part of
f6f32c38bf.
2019-04-26 11:06:09 -06:00
Alexander Gude
6787e0fb7e Change diary_rel_path minimum length to 0 (#689)
Changing this option to allow empty strings places the diary files in the same directory as the main wiki files. This is more backwards compatible with previous releases.
2019-04-26 06:23:45 -06:00
Rane Brown
510c149512 Add wikilocal option to assign a name to each wiki.
Names can be used for interwiki links in the format wn.name:link.
Additionally, :VimwikiUISelect and the menu created in GVim utilize the
wiki name. Fixes #612, closes #477.
2019-04-21 13:05:01 -06:00
Rane Brown
37f020d21a Omnicompletion fix for Windows (#660)
* Temporary fix for omnicomplete of vimwiki links - #456.

This fixes the omnicomplete of wiki links under Windows which were
not working since paths on Windows use '\' instead of '/'. This is
a temporary fix until path refactoring is done.

* Update changelog with description of fix for #456
2019-04-20 17:28:32 +02:00
Monkin
3d076f01c8
New Logo and Screenshots
Update CSS Styles

Add Splash Image

Compress PNG

Remove header

Change headings sizes

Add background colors to code blocks and use HEX

Update fonts and put back old screenshots

Change font-size in code blocks
2019-04-19 21:01:02 +02:00
Rane Brown
9d10610c4a Add option g:vimwiki_auto_header to automatically generate H1.
A level 1 header will automatically be generated for new files. The
title used in the header is based on the filename. Closes #245.
2019-04-13 07:00:06 -06:00
Patrick Davey
5f01182468 Add html_filename_parameterization option.
This adds the vimwiki_local `html_filename_parameterization` option (0|1)
which performs the same sanitization of filenames as does the
vimwiki_markdown gem.

For example, if your file is called "My File.md" it will be written out
as "my-file.html".

If the html_filename_parameterization options is enabled, we also _do
not delete_ non-matching html files when the VimwikiAllToHtml command is
run.

Closes #129
2019-04-13 10:07:51 +12: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
Rane Brown
ae67790ad5
Merge pull request #663 from padowi/vimwiki_315
Add option to not conceal one-character markers
2019-04-11 21:32:49 -06:00
Henry Qin
048f2eb34a Remove redundant layer of branching in get_cell_aligns_fast 2019-04-10 11:06:05 -07:00
Henry Qin
63985a52e8 Rename get_cell_fast_aligns --> get_cell_aligns_fast 2019-04-10 11:02:13 -07:00
Henry Qin
08dcae9630 Merge branch 'dev' of https://github.com/lyokha/vimwiki into lyokha-dev 2019-04-10 10:48:42 -07:00
Patrik Willard
a5bda652d0
Add option to not conceal one-character markers
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
2019-04-09 08:17:56 +02:00
Rane Brown
82ba1e99bf Move variable declaration outside of for loop 2019-04-08 22:18:07 -06:00
Rane Brown
3bf389bf99 Don't replace spaces in link description for markdown syntax.
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.
2019-04-08 20:54:21 -06:00
Rane
e7f5ce6046 Fix VimwikiBackLinks on Windows. See Issue #413.
This is a temporary fix until refactoring of path handling is complete.
2019-04-06 10:43:09 -06:00
lyokha
0303021abd Fast aligns check
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.
2019-04-04 21:30:14 +03:00
Лёха
ae3db7a079 Do not format current table line directly in get_rows()
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.
2019-04-04 00:13:00 -07:00
Henry Qin
3c0ae2ff97 Revert "table alignment: break out of loop when separator found"
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.
2019-04-03 11:44:36 -07:00
Rane Brown
4928132e5f Use shiftwidth to calculate diary index header indentation 2019-04-03 11:58:27 -06:00
Rane Brown
80a94cd8c7 Correctly indent diary section links when list_margin is 0 2019-04-03 10:48:23 -06:00
Alexey Radkov
e0fffb470a Separator line in a table requires special treatment (#651)
Fix #650 – horizontal table delimiter treated wrong
2019-04-01 23:13:24 +02:00
Rane Brown
4f5d4c9400 Change the tagfile name.
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.
2019-04-01 09:46:41 -06:00
Rane Brown
41aa647aba Add option to set a character which replaces spaces when creating links.
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.
2019-03-31 21:19:50 -06:00
Rane Brown
3396e87dbe Fix problems with commands not taking a count and mapping behavior.
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.
2019-03-31 20:00:37 -07:00
Steven Stallion
3b9aa6b162 Support file exclusion in link generation 2019-03-30 21:10:14 -05:00
Rane Brown
047947cbbe
Merge pull request #635 from sstallion/sstallion/autogenerate-tags
Support automatic generation of links and tags
2019-03-30 19:56:57 -06:00
Steven Stallion
0e664a6230 Merge branch 'dev' of git://github.com/vimwiki/vimwiki into sstallion/autogenerate-tags 2019-03-30 20:34:57 -05:00
Henry Qin
3f7f85cfc6 Add command and map to jump to the next unfinished task.
Introduce the command `VimwikiNextTask` and the mapping `gnt` to jump to
the next unfinished task.
2019-03-30 12:45:19 -07:00
Michal Cizmazia
b849a411e3
Add toc_link_format option
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)
2019-03-29 21:28:11 +01:00
Steven Stallion
fc158ba744 Support automatic generation of links and tags 2019-03-28 20:11:47 -05:00
Greg Anders
e56c26c7ba Add an option to conceal preformatted text blocks
This merges PR #641.
2019-03-28 14:50:25 -07:00
Rane Brown
f5cf991115
Merge pull request #634 from sstallion/sstallion/headers
Adjust generated header behavior for TOC, links, tags, and diary (oh my!)
2019-03-26 11:57:24 -06:00
Steven Stallion
6c2f9f999d Adjust generated header behavior for TOC, etc. 2019-03-26 12:03:09 -05:00
tinmarino
dfccfb1951 Add option : g:vimwiki_table_reduce_last_col. Used to not expand table last cells in order to avoid large, useless wraps 2019-03-23 11:23:58 -03:00
Eric Langlois
8f5d38365b Added optional extra caption levels to diary index.
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.
2019-03-20 14:09:57 -07:00
Steven Stallion
eb00d30d9b Initial commit 2019-03-19 10:33:08 -05:00
Rane Brown
c8d09d7c9e
Merge pull request #629 from gpanders/dev
Allow customization of header level of TOC
2019-03-18 17:20:30 -06:00
Лёха
e0f4ab8c5e Revert implementation of function s:get_cell_aligns()
This commit reverses a change to s:get_cell_aligns introduced by
bdcfca1e5c.
2019-03-18 14:43:43 -07:00