mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-21 00:25:42 +02:00
367 lines
8.7 KiB
Nix
367 lines
8.7 KiB
Nix
{
|
|
empty = {
|
|
plugins.papis.enable = true;
|
|
};
|
|
|
|
defaults = {
|
|
plugins.papis = {
|
|
enable = true;
|
|
|
|
settings = {
|
|
enable_modules = {
|
|
search = true;
|
|
completion = true;
|
|
at-cursor = true;
|
|
formatter = true;
|
|
colors = true;
|
|
base = true;
|
|
debug = false;
|
|
};
|
|
cite_formats = {
|
|
tex = {
|
|
start_str = "[[\cite{]]";
|
|
end_str = "}";
|
|
separator_str = ", ";
|
|
};
|
|
markdown = {
|
|
ref_prefix = "@";
|
|
separator_str = "; ";
|
|
};
|
|
rmd = {
|
|
ref_prefix = "@";
|
|
separator_str = "; ";
|
|
};
|
|
plain = {
|
|
separator_str = ", ";
|
|
};
|
|
org = {
|
|
start_str = "[cite:";
|
|
end_str = "]";
|
|
ref_prefix = "@";
|
|
separator_str = ";";
|
|
};
|
|
norg = {
|
|
start_str = "{= ";
|
|
end_str = "}";
|
|
separator_str = "; ";
|
|
};
|
|
typst = {
|
|
ref_prefix = "@";
|
|
separator_str = " ";
|
|
};
|
|
};
|
|
cite_formats_fallback = "plain";
|
|
enable_keymaps = false;
|
|
enable_fs_watcher = true;
|
|
data_tbl_schema = {
|
|
id = {
|
|
__unkeyed-type = "integer";
|
|
pk = true;
|
|
};
|
|
papis_id = {
|
|
__unkeyed-type = "text";
|
|
required = true;
|
|
unique = true;
|
|
};
|
|
ref = {
|
|
__unkeyed-type = "text";
|
|
required = true;
|
|
unique = true;
|
|
};
|
|
author = "text";
|
|
editor = "text";
|
|
year = "text";
|
|
title = "text";
|
|
shorttitle = "text";
|
|
type = "text";
|
|
abstract = "text";
|
|
time_added = "text";
|
|
notes = "luatable";
|
|
journal = "text";
|
|
volume = "text";
|
|
number = "text";
|
|
author_list = "luatable";
|
|
tags = "luatable";
|
|
files = "luatable";
|
|
};
|
|
db_path.__raw = "vim.fn.stdpath('data') .. '/papis_db/papis-nvim.sqlite3'";
|
|
yq_bin = "yq";
|
|
create_new_note_fn.__raw = ''
|
|
function(papis_id, notes_name)
|
|
vim.fn.system(
|
|
string.format(
|
|
"papis update --set notes %s papis_id:%s",
|
|
vim.fn.shellescape(notes_name),
|
|
vim.fn.shellescape(papis_id)
|
|
)
|
|
)
|
|
end
|
|
'';
|
|
init_filetypes = [
|
|
"markdown"
|
|
"norg"
|
|
"yaml"
|
|
"typst"
|
|
];
|
|
papis_conf_keys = [
|
|
"info-name"
|
|
"notes-name"
|
|
"dir"
|
|
"opentool"
|
|
];
|
|
enable_icons = true;
|
|
search = {
|
|
wrap = true;
|
|
initial_sort_by_time_added = true;
|
|
search_keys = [
|
|
"author"
|
|
"editor"
|
|
"year"
|
|
"title"
|
|
"tags"
|
|
];
|
|
preview_format = [
|
|
[
|
|
"author"
|
|
"%s"
|
|
"PapisPreviewAuthor"
|
|
]
|
|
[
|
|
"year"
|
|
"%s"
|
|
"PapisPreviewYear"
|
|
]
|
|
[
|
|
"title"
|
|
"%s"
|
|
"PapisPreviewTitle"
|
|
]
|
|
[ "empty_line" ]
|
|
[
|
|
"journal"
|
|
"%s"
|
|
"PapisPreviewValue"
|
|
"show_key"
|
|
[
|
|
" "
|
|
"%s: "
|
|
]
|
|
"PapisPreviewKey"
|
|
]
|
|
[
|
|
"type"
|
|
"%s"
|
|
"PapisPreviewValue"
|
|
"show_key"
|
|
[
|
|
" "
|
|
"%s: "
|
|
]
|
|
"PapisPreviewKey"
|
|
]
|
|
[
|
|
"ref"
|
|
"%s"
|
|
"PapisPreviewValue"
|
|
"show_key"
|
|
[
|
|
" "
|
|
"%s: "
|
|
]
|
|
"PapisPreviewKey"
|
|
]
|
|
[
|
|
"tags"
|
|
"%s"
|
|
"PapisPreviewValue"
|
|
"show_key"
|
|
[
|
|
" "
|
|
"%s: "
|
|
]
|
|
"PapisPreviewKey"
|
|
]
|
|
[
|
|
"abstract"
|
|
"%s"
|
|
"PapisPreviewValue"
|
|
"show_key"
|
|
[
|
|
" "
|
|
"%s: "
|
|
]
|
|
"PapisPreviewKey"
|
|
]
|
|
];
|
|
results_format = [
|
|
[
|
|
"files"
|
|
[
|
|
" "
|
|
"F "
|
|
]
|
|
"PapisResultsFiles"
|
|
"force_space"
|
|
]
|
|
[
|
|
"notes"
|
|
[
|
|
" "
|
|
"N "
|
|
]
|
|
"PapisResultsNotes"
|
|
"force_space"
|
|
]
|
|
[
|
|
"author"
|
|
"%s "
|
|
"PapisResultsAuthor"
|
|
]
|
|
[
|
|
"year"
|
|
"(%s) "
|
|
"PapisResultsYear"
|
|
]
|
|
[
|
|
"title"
|
|
"%s"
|
|
"PapisResultsTitle"
|
|
]
|
|
];
|
|
};
|
|
at-cursor = {
|
|
popup_format = [
|
|
[
|
|
"author"
|
|
"%s"
|
|
"PapisPopupAuthor"
|
|
]
|
|
[
|
|
"vspace"
|
|
"vspace"
|
|
]
|
|
[
|
|
"files"
|
|
[
|
|
" "
|
|
"F "
|
|
]
|
|
"PapisResultsFiles"
|
|
]
|
|
[
|
|
"notes"
|
|
[
|
|
" "
|
|
"N "
|
|
]
|
|
"PapisResultsNotes"
|
|
]
|
|
[
|
|
"year"
|
|
"%s"
|
|
"PapisPopupYear"
|
|
]
|
|
[
|
|
"title"
|
|
"%s"
|
|
"PapisPopupTitle"
|
|
]
|
|
];
|
|
};
|
|
formatter = {
|
|
format_notes.__raw = ''
|
|
function(entry)
|
|
-- Some string formatting templates (see above `results_format` option for
|
|
-- more details)
|
|
local title_format = {
|
|
{ "author", "%s ", "" },
|
|
{ "year", "(%s) ", "" },
|
|
{ "title", "%s", "" },
|
|
}
|
|
-- Format the strings with information in the entry
|
|
local title = require("papis.utils"):format_display_strings(entry, title_format, true)
|
|
-- Grab only the strings (and disregard highlight groups)
|
|
for k, v in ipairs(title) do
|
|
title[k] = v[1]
|
|
end
|
|
-- Define all the lines to be inserted
|
|
local lines = {
|
|
"---",
|
|
'title: "Notes -- ' .. table.concat(title) .. '"',
|
|
"---",
|
|
"",
|
|
}
|
|
return lines
|
|
end
|
|
'';
|
|
format_references.__raw = ''
|
|
function(entry)
|
|
local reference_format = {
|
|
{ "author", "%s ", "" },
|
|
{ "year", "(%s). ", "" },
|
|
{ "title", "%s. ", "" },
|
|
{ "journal", "%s. ", "" },
|
|
{ "volume", "%s", "" },
|
|
{ "number", "(%s)", "" },
|
|
}
|
|
local reference_data = require("papis.utils"):format_display_strings(entry, reference_format)
|
|
for k, v in ipairs(reference_data) do
|
|
reference_data[k] = v[1]
|
|
end
|
|
local lines = { table.concat(reference_data) }
|
|
return lines
|
|
end
|
|
'';
|
|
};
|
|
papis-storage = {
|
|
key_name_conversions = {
|
|
time_added = "time-added";
|
|
};
|
|
tag_format = null;
|
|
required_keys = [
|
|
"papis_id"
|
|
"ref"
|
|
];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
example = {
|
|
plugins.papis = {
|
|
enable = true;
|
|
|
|
settings = {
|
|
enable_keymaps = true;
|
|
papis_python = {
|
|
dir = "~/Documents/papers";
|
|
info_name = "info.yaml";
|
|
notes_name.__raw = "[[notes.norg]]";
|
|
};
|
|
enable_modules = {
|
|
search = true;
|
|
completion = true;
|
|
cursor-actions = true;
|
|
formatter = true;
|
|
colors = true;
|
|
base = true;
|
|
debug = false;
|
|
};
|
|
cite_formats = {
|
|
tex = [
|
|
"\\cite{%s}"
|
|
"\\cite[tp]?%*?{%s}"
|
|
];
|
|
markdown = "@%s";
|
|
rmd = "@%s";
|
|
plain = "%s";
|
|
org = [
|
|
"[cite:@%s]"
|
|
"%[cite:@%s]"
|
|
];
|
|
norg = "{= %s}";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|