Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/oncomouse/coc-bibtex
Coc autocompletion and list source for .bib files
https://github.com/oncomouse/coc-bibtex
autocomplete autocompletion bibtex coc neovim pandoc vim
Last synced: 3 months ago
JSON representation
Coc autocompletion and list source for .bib files
- Host: GitHub
- URL: https://github.com/oncomouse/coc-bibtex
- Owner: oncomouse
- Created: 2019-08-20T16:54:52.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-07T08:55:06.000Z (about 2 years ago)
- Last Synced: 2024-04-29T14:21:04.296Z (9 months ago)
- Topics: autocomplete, autocompletion, bibtex, coc, neovim, pandoc, vim
- Language: TypeScript
- Homepage:
- Size: 1.07 MB
- Stars: 11
- Watchers: 3
- Forks: 1
- Open Issues: 16
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
# coc-bibtex
This [Coc](https://github.com/neoclide/coc.nvim) extension adds a BibTeX source to CocList. You can access it by running `:CocList bibtex` in (Neo)Vim. You can also use it as an autocompletion source for BibTeX entries.
## Installation
Run `:CocInstall coc-bibtex` to install.
## Configuration
Changing your `coc-settings.json` file will change the behavior of `coc-bibtex` concerning:
* Setting BibTeX File Location
* Changing Supported Filetypes
* Using with LaTeX
* Silencing Cache Messages### Setting BibTeX File Location
Set `list.source.bibtex.files` to an array containing your `.bib` files. For instance, in `coc-settings.json`:
~~~json
{
// …
"list": {
"source": {
"bibtex": {
"files": [
"~/my-library.bib"
]
}
}
}
// …
}
~~~Or in vimrc:
~~~vim
call coc#config('list.source.bibtex', {
\ 'files': [
\ '~/my-library.bib'
\ ]
\})
~~~### Changing Supported Filetypes
By default, the following filetypes are supported for completion:
* tex
* plaintex
* latex
* pandoc
* markdownTo change this behavior, determine the `filetype` (in Vim) you wish to add. This can be done by running `:set filetype?` with the kind of file you wish to support. Then, edit `coc.source.bibtex.filetypes` to include the `filetype` you wish to support (you will also have to include the default types, too).
If, for instance, you wanted to add support for `.textile` files, you would need to include the following in your `coc-settings.json` file:
~~~json
coc.source.bibtex.filetypes: [
"tex",
"plaintex",
"latex",
"pandoc",
"markdown",
"textile"
]
~~~And textile support will be added.
### Using with LaTeX
LaTeX is support for both completion and list management
#### Completion
To trigger completion with a citation command in LaTeX, instead of the pandoc-style `@`, add the following to `coc-settings.json`:
~~~json
{
//...
"coc.source.bibtex.triggerPatterns": ["\\\\cite\\{"],
"coc.source.bibtex.triggerCharacters": []
}
~~~This will also work for the `\cite{}` command. Changing `coc.source.bibtex.triggerPatterns` to `cite\\{` will work for any of the commands that end in `cite`, not just `\cite`.
#### List
The default configuration for the list source is to insert pandoc-style citations (`[@cite-key]`). If you would like to use this extension with LaTeX, add the following configuration:
In `coc-settings.json`:
~~~json
{
//..."list.source.bibtex": {
"citation": {
"before": "\\cite{",
"after": "}"
}
}
}
//...
}
~~~### Silencing Caching Messages
To turn off the message that `coc-bibtex` is caching your `.bib` files, set `bibtex.silent` to `true` in your `coc-settings.json` file.
## Useful Commands
`coc-bibtex` provides the following commands (which can be called as `:CocCommand ` in Vim):
* `bibtex.reloadLibrary` – This will reload the library, updating the cache with any new changes.
## Todo
* [ ] Add the ability to pass a `.bib` file as an argument to the list call
* [ ] Color