Skip to main content

A simple LSP server for your bibliographies

Project description

Logo

Bibli Language Server

A Language Server that brings bibliographies into your note-taking workflows.

image-version image-license image-python-versions

Supported LSP capabilities

LSP Feature Behavior
textDocument/definition Go to the first definition found in the .bib files.
textDocument/references Find appearance of prefix + ID through ripgrep.
textDocument/hover Show metadata from .bib files based on configurations.
textDocument/completion Triggered by the cite_prefix configuration or [, {, <. Show completion of citation ID for bibtex entries and their documentation.

Configuration

Create a configuration file .bibli.toml at the root of your note directory. Here is a sample configurations:

bibfiles = ["references.bib"] # Relative/Absolute path to your bibliographies

[hover]
show_fields = ["abstract", "year", "booktitle"]
format = "list" # Available formats: "markdown" (markdown table) and "list" (markdown list)

[completion]
cite_prefix = "@"

Installation

Install the latest release of bibli-ls through pip:

pip install bibli-ls

Neovim

Automatic configuration through lspconfig is not supported yet. To enable bibli-ls, put the following code in your Neovim config.

local lspconfig = require("lspconfig")
local configs = require("lspconfig.configs")

if not configs.bibli_ls then
 configs.bibli_ls = {
  default_config = {
   cmd = { "bibli_ls" },
   filetypes = { "markdown" },
   root_dir = lspconfig.util.root_pattern(".bibli.toml"),
  },
 }
end

lspconfig.bibli_ls.setup({})

Planned Features (TODO)

  • Universal: Works with any note format
  • Per-document bibliographies
  • More LSP capabilities

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bibli_ls-0.1.3.1.tar.gz (8.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bibli_ls-0.1.3.1-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

Details for the file bibli_ls-0.1.3.1.tar.gz.

File metadata

  • Download URL: bibli_ls-0.1.3.1.tar.gz
  • Upload date:
  • Size: 8.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.9.19

File hashes

Hashes for bibli_ls-0.1.3.1.tar.gz
Algorithm Hash digest
SHA256 2d515fa8a795093e0361cba2fb6d6c295a43557c18b6074eb72024b1668e4353
MD5 a89d8c962560eaa41ea35722dab42892
BLAKE2b-256 c141d4c1e393d897e4acc8f915a6e9b3dabff00c9dd147dd1f0189632a8f8d26

See more details on using hashes here.

File details

Details for the file bibli_ls-0.1.3.1-py3-none-any.whl.

File metadata

  • Download URL: bibli_ls-0.1.3.1-py3-none-any.whl
  • Upload date:
  • Size: 8.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.9.19

File hashes

Hashes for bibli_ls-0.1.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 de7be1227099436b547e68b19fe008357901f063d458621944493aa6e45a7239
MD5 60f100ce3700aa3e31ba55dfb250e723
BLAKE2b-256 66a78bb634c24750f6e18f64e1035750d2be33cd8e3350c1336b6e6102961465

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page