Commit Graph

534 Commits

Author SHA1 Message Date
Tinmarino
43951e5851 Clean & Fix: cycle_bullets bug not defined key in dic: #911 2020-06-16 13:46:56 -04:00
Michael F. Schönitzer
a9f21c6d4a
Functions to remove all todo items that are done (#906)
Add function VimwikiRemoveDone that will delete lines with todo list items marked as done. Works on ranges as well as without range on the current list.

Co-authored-by: Tinmarino <tinmarino@gmail.com>
2020-06-08 14:31:35 +02:00
Robert Günzler
61093f4f2a
Feature: Add option to automatically cycle bullet chars (#907)
When the syntax local config `cycle_bullets` is set (currently only
markdown has it by default) the indent functions will cycle through the
characters defined in `bullet_types` based on the level of indentation.

Signed-off-by: Robert Günzler <r@gnzler.io>
2020-06-07 19:03:10 -04:00
Tinmarino
5e564bb10d Comment: code and robustify 2020-06-04 17:29:26 -04:00
Michael F. Schönitzer
ac4d0a1d46
Allow to configure bullet points & status indicators per wiki (#889)
* Allow the bullet point characters of lists to be configures by the wiki option `bullet_types`. This allows to use other/additional characters for the bullets of lists – including unicode-chars like '→' or '•'. The default values depends on the chooses syntax.
* Allow to configure `vimwiki-listsyms` and `vimwiki-listsym_rejected` on per wiki basis.
* Fix a test for mediawiki syntax
2020-06-04 18:33:12 +02:00
Michael F. Schönitzer
afc868929d
Bugfix: file extension for markdown is syntax wide (#895)
populate_extra_markdown_vars() contained uses of the file-extension via vimwiki#vars#get_wikilocal. Since the first is syntax-wide and the second is wikilocal and no wiki is specified or open at the moment of the call, the file extension of the first markdown wiki will be used for all markdown wikis. Further problems will occur when adding new wikilocal options, that depend on the syntax.

This commit is working towards separating wiki and syntax, which is needed for several feature requests.
2020-06-02 01:33:06 +02:00
Michael F. Schönitzer
c9e6afe856 Prepare for release 2.5
- Format Changelog
- Update version number in docs
- Update list of Contributers
- Update version number in tests
- Update link in README
2020-05-26 23:09:58 +02:00
Tinmarino
36fa81c059 Fix: get_wikilinks arguments: add pattern 2020-05-26 14:06:17 -04:00
Michael F. Schönitzer
1eb74dcf2f
Rename three commands, deprecate their old names (#887)
The following commands have been renamed to better describe their
function and avoid confusion.
:VimwikiDeleteLink → :VimwikiDeletePage
:VimwikiRenameLink → :VimwikiRenamePage
:VimwikiGenerateTags → :VimwikiGenerateTagLinks (was already renamed in 3b5537f)

Calling the old commands still works but displays a warning message.
2020-05-24 23:49:28 +02:00
Tinmarino
f54b94a38f Lint tipo 2020-05-20 14:43:56 -04:00
Tinmarino
972594829e Lazy: Link with only '-' do not work 2020-05-18 21:23:38 -04:00
Tinmarino
077467877d Util: count_exe 2020-05-17 14:06:41 -04:00
Tinmarino
f4c983b6b5 Feature: VimwikiGenerateLink take pattern optional argument
Issue #803
2020-05-17 13:14:08 -04:00
Tinmarino
3b5537f15a Fix: Link containing only '-'
Issue #835 #876
2020-05-17 12:31:32 -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
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