plugins.papis.settings

Options provided to the require('papis').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  cite_formats = {
    markdown = "@%s";
    norg = "{= %s}";
    org = [
      "[cite:@%s]"
      "%[cite:@%s]"
    ];
    plain = "%s";
    rmd = "@%s";
    tex = [
      "\\cite{%s}"
      "\\cite[tp]?%*?{%s}"
    ];
  };
  enable_keymaps = true;
  enable_modules = {
    base = true;
    colors = true;
    completion = true;
    cursor-actions = true;
    debug = false;
    formatter = true;
    search = true;
  };
  papis_python = {
    dir = "~/Documents/papers";
    info_name = "info.yaml";
    notes_name = {
      __raw = "[[notes.norg]]";
    };
  };
}

Declared by:

plugins.papis.settings.enable_fs_watcher

Whether to enable the file system event watcher.

When disabled, the database is only updated on startup.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.papis.settings.enable_icons

Whether to enable pretty icons (requires something like Nerd Fonts).

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.papis.settings.enable_keymaps

Enable default keymaps.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.papis.settings.enable_modules

List of enabled modules.

Type: null or (attribute set of (boolean or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  at-cursor = true;
  base = true;
  colors = true;
  completion = true;
  debug = false;
  formatter = true;
  search = true;
}

Declared by:

plugins.papis.settings.cite_formats

Defines citation formats for various filetypes. They define how citation strings are parsed and formatted when inserted.

Type: null or (attribute set of (string or list of string or (attribute set of anything) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  markdown = {
    ref_prefix = "@";
    separator_str = "; ";
  };
  norg = {
    end_str = "}";
    separator_str = "; ";
    start_str = "{= ";
  };
  org = {
    end_str = "]";
    ref_prefix = "@";
    separator_str = ";";
    start_str = "[cite:";
  };
  plain = {
    separator_str = ", ";
  };
  rmd = {
    ref_prefix = "@";
    separator_str = "; ";
  };
  tex = {
    end_str = "}";
    separator_str = ", ";
    start_str = "[[cite{]]";
  };
  typst = {
    ref_prefix = "@";
    separator_str = " ";
  };
}

Declared by:

plugins.papis.settings.cite_formats_fallback

What citation format to use when none is defined for the current filetype.

Type: null or string or raw lua code

Default: null

Plugin default: "plain"

Declared by:

plugins.papis.settings.create_new_note_fn

Function to execute when adding a new note. ref is the citation key of the relevant entry and notes_name is the name of the notes file.

Type: null or raw lua code

Default: null

Plugin default: lib.nixvim.mkRaw "function(papis_id, notes_name)\n vim.fn.system(\n string.format(\n \"papis update --set notes %s papis_id:%s\",\n vim.fn.shellescape(notes_name),\n vim.fn.shellescape(papis_id)\n )\n )\nend\n"

Declared by:

plugins.papis.settings.data_tbl_schema

The sqlite schema of the main data table.

Only the "text" and "luatable" types are allowed.

Type: null or (attribute set of (string or (attribute set of anything) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  abstract = "text";
  author = "text";
  author_list = "luatable";
  editor = "text";
  files = "luatable";
  id = {
    __unkeyed-type = "integer";
    pk = true;
  };
  journal = "text";
  notes = "luatable";
  number = "text";
  papis_id = {
    __unkeyed-type = "text";
    required = true;
    unique = true;
  };
  ref = {
    __unkeyed-type = "text";
    required = true;
    unique = true;
  };
  shorttitle = "text";
  tags = "luatable";
  time_added = "text";
  title = "text";
  type = "text";
  volume = "text";
  year = "text";
}

Declared by:

plugins.papis.settings.db_path

Path to the papis.nvim database.

Type: null or string or raw lua code

Default: null

Plugin default: lib.nixvim.mkRaw "vim.fn.stdpath('data') .. '/papis_db/papis-nvim.sqlite3'"

Declared by:

plugins.papis.settings.init_filetypes

Filetypes that start papis.nvim.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "markdown"
  "norg"
  "yaml"
  "typst"
]

Declared by:

plugins.papis.settings.papis_conf_keys

Papis options to import into papis.nvim.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "info-name"
  "notes-name"
  "dir"
  "opentool"
]

Declared by:

plugins.papis.settings.yq_bin

Name of the yq executable.

Type: null or string or raw lua code

Default: null

Plugin default: "yq"

Declared by: