Merge branch 'dev' of github.com:vimwiki/vimwiki into dev

This commit is contained in:
Michael F. Schönitzer 2018-10-25 23:27:15 +02:00
commit a244246641
5 changed files with 100 additions and 25 deletions

46
CONTRIBUTING.md Normal file
View File

@ -0,0 +1,46 @@
# Filing a bug
Before filing a bug or starting to write a patch, check the latest development version from
https://github.com/vimwiki/vimwiki/tree/dev to see if your problem is already fixed.
Issues can be filed at https://github.com/vimwiki/vimwiki/issues/ .
# Creating a pull request
If you want to provide a pull request on GitHub, please start from the `dev` branch, not from the
`master` branch. (Caution, GitHub shows `master` as the default branch from which to start a PR.)
# More info for (aspiring) core developers
## Git branching model
- there are two branches with eternal lifetime:
- `dev`: This is where the main development happens. Tasks which are done in one or only a few
commits go here directly. Always try to keep this branch in a working state, that is, if the
task you work on requires multiple commits, make sure intermediate commits don't make Vimwiki
unusable (or at least push these commits at one go).
- `master`: This branches is for released states only. Whenever a reasonable set of changes has
piled up in the `dev` branch, a [release is done](#Preparing a release). After a release,
`dev` has been merged into `master` and `master` got exactly one additional commit in which
the version number in `plugin/vimwiki.vim` is updated. Apart from these commits and the merge
commit from `dev`, nothing happens on `master`. Never should `master` merge into `dev`. When
the users ask, we should recommend this branch for them to use.
- Larger changes which require multiple commits are done in feature branches. They are based on
`dev` and merge into `dev` when the work is done.
## Preparing a release
1. `git checkout dev`
2. Update the changelog in the doc, nicely grouped, with a new version number and release date.
3. Update the list of contributors.
4. Update the version number at the top of the doc file.
5. If necessary, update the Readme and the home page.
6. `git checkout master && git merge dev`
7. Update the version number at the top of plugin/vimwiki.vim.
8. Set a tag with the version number in Git: `git tag vX.Y`
9. `git push --tags`
10. In GitHub, go to _Releases_ -> _Draft a new release_ -> choose the tag, convert the changelog from the
doc to markdown and post it there. Make plans to build an automatic converter and immediately
forget this plan.
11. Tell the world.
%% vim:tw=99

View File

@ -174,6 +174,7 @@ function! vimwiki#base#resolve_link(link_text, ...)
if link_infos.scheme =~# '\mwiki\d\+'
let link_infos.index = eval(matchstr(link_infos.scheme, '\D\+\zs\d\+\ze'))
if link_infos.index < 0 || link_infos.index >= vimwiki#vars#number_of_wikis()
let link_infos.index = -1
let link_infos.filename = ''
return link_infos
endif
@ -219,22 +220,32 @@ endfunction
function! vimwiki#base#system_open_link(url)
" handlers
function! s:win32_handler(url)
"http://vim.wikia.com/wiki/Opening_current_Vim_file_in_your_Windows_browser
"disable 'shellslash', otherwise the url will be enclosed in single quotes,
"which is problematic
"see https://github.com/vimwiki/vimwiki/issues/54#issuecomment-48011289
if exists('+shellslash')
let old_ssl = &shellslash
set noshellslash
let url = shellescape(a:url, 1)
let &shellslash = old_ssl
"Disable shellslash for cmd and command.com, but enable for all other shells
"See Issue #560
if (&shell =~? "cmd") || (&shell =~? "command.com")
if exists('+shellslash')
let old_ssl = &shellslash
set noshellslash
let url = shellescape(a:url, 1)
let &shellslash = old_ssl
else
let url = shellescape(a:url, 1)
endif
execute 'silent ! start "Title" /B ' . url
else
let url = shellescape(a:url, 1)
endif
if &l:shell ==? "powershell"
execute 'silent ! start ' . a:url
else
execute 'silent ! start "Title" /B ' . a:url
if exists('+shellslash')
let old_ssl = &shellslash
set shellslash
let url = shellescape(a:url, 1)
let &shellslash = old_ssl
else
let url = shellescape(a:url, 1)
endif
execute 'silent ! start ' . url
endif
endfunction
function! s:macunix_handler(url)
@ -268,7 +279,11 @@ function! vimwiki#base#open_link(cmd, link, ...)
endif
if link_infos.filename == ''
echomsg 'Vimwiki Error: Unable to resolve link!'
if link_infos.index == -1
echomsg 'Vimwiki Error: No registered wiki ''' . link_infos.scheme . '''.'
else
echomsg 'Vimwiki Error: Unable to resolve link!'
endif
return
endif
@ -731,6 +746,9 @@ function! vimwiki#base#edit_file(command, filename, anchor, ...)
echomsg 'Vimwiki: The current file is modified. Hint: Take a look at'
\ ''':h g:vimwiki_autowriteall'' to see how to save automatically.'
return
catch /E325:/
echom 'Vimwiki: Vim couldn''t open the file, probably because a swapfile already exists. See :h E325.'
return
endtry
endif
@ -1862,7 +1880,8 @@ endfunction
function! s:clean_url(url)
" remove protocol and tld
let url = substitute(a:url, '^\a\+://', '', '')
let url = substitute(a:url, '^\a\+\d*:', '', '')
let url = substitute(url, '^//', '', '')
let url = substitute(url, '^\([^/]\+\).\a\{2,4}/', '\1/', '')
let url = split(url, '/\|=\|-\|&\|?\|\.')
let url = filter(url, 'v:val !=# ""')

View File

@ -231,6 +231,11 @@ function! vimwiki#diary#goto_diary_index(wnum)
endif
call vimwiki#base#edit_file('e', s:diary_index(idx), '')
if vimwiki#vars#get_wikilocal('auto_diary_index')
call vimwiki#diary#generate_diary_section()
write! " save changes
endif
endfunction

View File

@ -181,6 +181,7 @@ endfunction
function! s:populate_wikilocal_options()
let default_values = {
\ 'auto_diary_index': 0,
\ 'auto_export': 0,
\ 'auto_tags': 0,
\ 'auto_toc': 0,

View File

@ -2295,6 +2295,17 @@ current wiki page is saved: >
let g:vimwiki_list = [{'path': '~/my_site/', 'auto_tags': 1}]
*vimwiki-option-auto_diary_index*
------------------------------------------------------------------------------
Key Default value Values~
auto_diary_index 0 0, 1
Description~
Set this option to 1 to automatically update the diary index when opened.
See |:VimwikiDiaryGenerateLinks|: >
let g:vimwiki_list = [{'path': '~/my_site/', 'auto_diary_index': 1}]
------------------------------------------------------------------------------
12.4 Global Options *vimwiki-global-options*
@ -2899,14 +2910,7 @@ Your help in making Vimwiki better is really appreciated!
Any help, whether it is a spelling correction or a code snippet to patch --
everything is welcomed.
Before filing a bug or starting to write a patch, check the latest development
version from https://github.com/vimwiki/vimwiki/tree/dev to see if your
problem is already fixed.
Issues can be filed at https://github.com/vimwiki/vimwiki/issues/.
If you want to provide a pull request on GitHub, please start from the dev
branch, not from the master branch.
See CONTRIBUTING.md for info about how to file bugs etc.
==============================================================================
15. Development *vimwiki-development*