File: peek.vim

package info (click to toggle)
vim-link-vim 2.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 524 kB
  • sloc: python: 66; makefile: 30
file content (34 lines) | stat: -rw-r--r-- 925 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
" For a reference link within the document body, show a preview of the
" corresponding link reference definition.
function! linkvim#x#peek#peek() abort
  let l:link = linkvim#link#get()
  if empty(l:link) | return | endif

  if l:link.type !=# 'reference'
    call linkvim#log#warn('Can only peek reference links')
    return
  endif

  let l:url = {
        \  'origin'   : l:link.origin,
        \  'scheme'   : l:link.scheme,
        \  'stripped' : l:link.url_raw,
        \  'url'      : l:link.url,
        \  }

  let b:resolve_silent = v:true
  let l:resolved = linkvim#url#resolvers#reference(l:url)
  if empty(l:resolved)
    call linkvim#log#warn('Could not locate reference')
    return
  endif

  if l:resolved.scheme ==# 'refbad'
    call linkvim#log#warn('Could not resolve link')
    return
  endif

  let l:fmt_url = linkvim#x#u#rm_wiki_prefix(l:resolved.url)

  call linkvim#log#info(l:fmt_url)
endfunction