Restrict the distance of tag to header to two lines
Suffices, I think. Also, clean the code a bit and correct the help file. Ref #85
This commit is contained in:
parent
debd308eea
commit
b794a3bd3b
@ -62,7 +62,6 @@ endfunction " }}}
|
||||
function! s:scan_tags(lines, page_name) "{{{
|
||||
|
||||
let entries = []
|
||||
let page_name = a:page_name
|
||||
|
||||
" Code wireframe to scan for headers -- borrowed from
|
||||
" vimwiki#base#get_anchors(), with minor modifications.
|
||||
@ -73,7 +72,7 @@ function! s:scan_tags(lines, page_name) "{{{
|
||||
let anchor_level = ['', '', '', '', '', '', '']
|
||||
let current_complete_anchor = ''
|
||||
|
||||
let PROXIMITY_LINES_NR = 5
|
||||
let PROXIMITY_LINES_NR = 2
|
||||
let header_line_nr = - (2 * PROXIMITY_LINES_NR)
|
||||
|
||||
for line_nr in range(1, len(a:lines))
|
||||
@ -121,11 +120,13 @@ function! s:scan_tags(lines, page_name) "{{{
|
||||
let entry.lineno = line_nr
|
||||
if line_nr <= PROXIMITY_LINES_NR && header_line_nr < 0
|
||||
" Tag appeared at the top of the file
|
||||
let entry.link = page_name
|
||||
let entry.link = a:page_name
|
||||
elseif line_nr <= (header_line_nr + PROXIMITY_LINES_NR)
|
||||
let entry.link = page_name . '#' . current_complete_anchor
|
||||
" Tag appeared right below a header
|
||||
let entry.link = a:page_name . '#' . current_complete_anchor
|
||||
else
|
||||
let entry.link = page_name . '#' . tag
|
||||
" Tag stands on its own
|
||||
let entry.link = a:page_name . '#' . tag
|
||||
endif
|
||||
call add(entries, entry)
|
||||
endfor
|
||||
|
@ -1227,10 +1227,11 @@ A tag is a sequence of non-space characters between two colons: >
|
||||
It is allowed to concatenate multiple tags in one line: >
|
||||
:tag-one:tag-two:
|
||||
<
|
||||
If placed under a header, within 5 lines below it, the header is then "tagged"
|
||||
with this tag, and tag search commands will jump to this specific header.
|
||||
Otherwise the entire page is tagged, and search commands will jump
|
||||
accordingly.
|
||||
If placed in the first two lines of a file, the whole file is tagged. If
|
||||
placed under a header, within the 2 lines below it, the header is then tagged
|
||||
with this tag, and the tag search commands will jump to this specific header.
|
||||
Otherwise, the tag stands of its own and the search command jumps directly to
|
||||
it.
|
||||
|
||||
Typing tags can be simplified by using Vim's omni completion (see
|
||||
|compl-omni|) like so: >
|
||||
|
Loading…
Reference in New Issue
Block a user