| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- " vim: set fdm=marker et ts=4 sw=4 sts=4:
- " Init(): sets up defaults, populates b:pandoc_biblio_bibs {{{1
- function! pandoc#bibliographies#Init() abort
- " set up defaults {{{2
- " Places to look for bibliographies {{{3
- " b: bibs named after the current file in the working dir
- " c: any bib in the working dir
- " l: pandoc local dir
- " t: texmf
- " g: append values in g:pandoc#biblio#bibs
- " y: add bibliography specified in yaml header
- "
- if !exists('g:pandoc#biblio#sources')
- let g:pandoc#biblio#sources = 'bcgy'
- endif
- "}}}
- " File extensions to check for {{{3
- if !exists('g:pandoc#biblio#bib_extensions')
- let g:pandoc#biblio#bib_extensions = ['bib', 'bibtex', 'ris', 'mods', 'enl', 'wos', 'medline', 'copac']
- endif
- " }}}
- " Use bibtool for queries? {{{3
- if !exists('g:pandoc#biblio#use_bibtool')
- let g:pandoc#biblio#use_bibtool = 0
- endif
- "}}}
- " Pass extra args to bibtool? {{{3
- if !exists('g:pandoc#biblio#bibtool_extra_args')
- let g:pandoc#biblio#bibtool_extra_args = '-r biblatex'
- endif
- "}}}
- " Files to add to b:pandoc_biblio_bibs if "g" is in g:pandoc#biblio#sources {{{3
- if !exists('g:pandoc#biblio#bibs')
- let g:pandoc#biblio#bibs = []
- endif
- " populate b:pandoc_biblio_bibs {{{2
- let b:pandoc_biblio_bibs = []
- " add bibliographies in yaml header
- if match(g:pandoc#biblio#sources, 'y') > -1
- if exists('b:pandoc_yaml_data')
- if has_key(b:pandoc_yaml_data, 'bibliography') && filereadable(b:pandoc_yaml_data['bibliography'])
- call add(b:pandoc_biblio_bibs, b:pandoc_yaml_data['bibliography'])
- endif
- endif
- endif
- " set up python
- if has('python3')
- py3 import vim_pandoc.bib.vim_completer
- endif
- endfunction
- " Find_Bibliographies(): gives a list of bibliographies in g:pandoc#biblio#sources {{{1
- function! pandoc#bibliographies#Find_Bibliographies() abort
- if has('python3')
- return py3eval('vim_pandoc.bib.vim_completer.find_bibfiles()')
- endif
- return []
- endfunction
- " GetSuggestions(partkey): returns bibliographic suggestions. {{{1
- " called by our omnifunc, if completion is enabled
- function! pandoc#bibliographies#GetSuggestions(partkey) abort
- if has('python3')
- let l:sugs = py3eval('vim_pandoc.bib.vim_completer.VimCompleter().get_suggestions(vim.eval("a:partkey"))')
- if len(l:sugs) > 0
- return l:sugs
- else
- return []
- endif
- endif
- endfunction
|