You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With #19 (thanks to @davvil!), we now depend on yq rather than the lyaml lua rock to convert papis' .yaml files. This should eliminate difficulties that have always plagued the installation of such rocks (especially, but not only, when it comes to lazy.nvim). Please check out the installation section in the README for further information.
With #21, we now use the papis_id to identify entries (rather than depending on the ref). This brings advantages as papis_id is supposed to be stable, whereas the user might change ref (which has at times led to some funny behaviour). After updating, please close all neovim instances, start a new one (there might be an error message when you run :PapisStart) and run :PapisReInitData.
I had some error messages appear due to duplicate refs, which weren't caught before. If that happens, please edit the relevant info.yaml files (check papis.nvim debug messages to find out which ones) and rerun :PapisReInitData.
If failures persist, please delete the papis.nvim database. Use :checkhealth papis to find out its location.
With #28, I introduced a change in default keymaps. Given that only keymaps are affected and that these aren't enabled by default, this probably won't break anyone's setup -- but it might mess with your muscle memory for a bit. The change comes because the <c-n> and <c-p> insert commands are used by Neovim and Telescope for selecting next/previous items and the way things were set up messed with this (see #22).
The new functionality is:
papis.nvim keymaps are only active for the files that match what's set in the init_filenames option
Telescope insert mode <c-n> (open note) and <c-o> (open file) have become <c-o>n and f`
Cursor action (normal mode) <leader>pn and <leader>po have become <leader>pon and <leader>pof
EDIT: 4. Insert mode <c-p>p to open Telescope search has become <c-o>p.
These keybinds are unfortunately a bit longer, but I thought it more important that the papis.nvim default keybinds do not clash with neovim/telescope defaults. Of course, the keybinds can still be disabled and set to your heart's content 😄
With #33, we've added an initial way of inserting formatted references (thank you @panosz!). This has required a small adjustment to the db schema and you might get a notification because of this:
.../myNeovimPackages/start/sqlite.lua/lua/sqlite/assert.lua:79: sqlite.lua: schema defined ~= db schema. Please drop `data` table first or set ensure to false.
Run :PapisReInitData to re-initialise the db with the required additional fields.
With #48, I've tried to improve the papis.nvim startup procedure. This also lays the groundwork for various future improvements (and more breaking changes). For now the following has changed:
init_filenames is now init_filetypes. papis.nvim now only autostarts depending on certain filetypes. This makes the codebase easier to manage. If you've customised this, make sure to update it to a list of valid Neovim filetypes.
papis_python needs no longer be set. papis.nvim now gets the options automatically from Papis when first starting and saves them (even across Neovim restarts) in the db. When you update your Papis configuration, import it again into papis.nvim with :PapisReInitConfig
:PapisStart has been removed. Please use the init_filetypes to define when to start the plugin.
All in all, this should make papis.nvim easier to set up without the speed penalties of querying papis config at startup. It will also make adding stuff like #25 easier.
Note also that I've started cutting releases. So if the breaking changes annoy you, feel free to use e.g. v0.1.0. 😉
With #58, I have removed plenary.nvim and introduced the new dependency pathlib.nvim. nvim-treesitter is also not needed anymore (In fact, it hasn't been for a while, I just had failed to notice 😅). Note that this is where the rocks.nvim package manager shines and where this isn't a breaking change (as it should be!).
To give an outlook on future changes: I want to make use of the neovim ecosystem's increasing ability to handle luarocks and integrate some of them. First will be a re-introduction of lyaml, so that we do no longer need yq (though I will leave that as a fallback). Next, I'll also look at citeproc-lua, so that we can insert proper formatted references. Finally, I'm gonna see if I can use nvim-nio to get async working in some of the slower parts of papis.nvim. No promises on when this is going to happen though 😉.
With #70, papis.nvim sorts entries by time-added initially (before entering a query). This required changing the db schema and that in turn requires running :PapisReInitData to re-initialise the db with the updated schema. One of the next tasks is to find a way to catch such changes automatically :).
Pretty icons
These require nerd font or a similar font. If you don't have that, set enable_icons to false. Please reload the database to update pre-calculated data for the Telescope picker.
Command with subcommands
The :Papis command now has subcommands and various subcommands have been renamed. So instead of for example :PapisReInitData you should now use Papis reload data. The ReInit subcommand is now reload, I've added Papis search (which opens Telescope), and all the commands that interact with the ref under cursor are in the at-cursor subcommand (the cursor-actions module has been renamed to at-cursor too).
The enable_commands option has been removed.
Custom keymaps you may have set should now call the new Papis commands.
Not really a breaking change, but more of an elimination of an entire class of breaking changes ;). With #81, papis.nvim can now detect when the database schema has changed and informs the user to run :Papis reload data (rather than me having to post about it here). 🎉
The plugin now handles acting on multi selections in the Telescope picker (see #88, and thanks @maxmahlke!). This means you can now select multiple entries with tab, and then do whatever action you already know from before (add refs, open notes, etc.). This required some significant changes, in particular the following:
The syntax of the cite_formats option changed. Refer to the README for more.
The name and function of the (now) format_notes (before: format_notes_fn) and format_references (before: format_references_fn) changed. They now both simply return lines. Refer to the README for more.
If you didn't touch these options, you don't need to do anything.
Activity
jghauser commentedon May 5, 2023
With #19 (thanks to @davvil!), we now depend on
yq
rather than thelyaml
lua rock to convert papis'.yaml
files. This should eliminate difficulties that have always plagued the installation of such rocks (especially, but not only, when it comes to lazy.nvim). Please check out the installation section in the README for further information.jghauser commentedon May 6, 2023
With #21, we now use the
papis_id
to identify entries (rather than depending on theref
). This brings advantages aspapis_id
is supposed to be stable, whereas the user might changeref
(which has at times led to some funny behaviour). After updating, please close all neovim instances, start a new one (there might be an error message when you run:PapisStart
) and run:PapisReInitData
.I had some error messages appear due to duplicate
ref
s, which weren't caught before. If that happens, please edit the relevantinfo.yaml
files (check papis.nvim debug messages to find out which ones) and rerun:PapisReInitData
.If failures persist, please delete the
papis.nvim
database. Use:checkhealth papis
to find out its location.jghauser commentedon Nov 26, 2023
With #28, I introduced a change in default keymaps. Given that only keymaps are affected and that these aren't enabled by default, this probably won't break anyone's setup -- but it might mess with your muscle memory for a bit. The change comes because the
<c-n>
and<c-p>
insert commands are used by Neovim and Telescope for selecting next/previous items and the way things were set up messed with this (see #22).The new functionality is:
papis.nvim
keymaps are only active for the files that match what's set in theinit_filenames
option<c-n>
(open note) and<c-o>
(open file) have become<c-o>n
and f`<leader>pn
and<leader>po
have become<leader>pon
and<leader>pof
EDIT: 4. Insert mode
<c-p>p
to open Telescope search has become<c-o>p
.These keybinds are unfortunately a bit longer, but I thought it more important that the
papis.nvim
default keybinds do not clash with neovim/telescope defaults. Of course, the keybinds can still be disabled and set to your heart's content 😄jghauser commentedon May 30, 2024
With #33, we've added an initial way of inserting formatted references (thank you @panosz!). This has required a small adjustment to the db schema and you might get a notification because of this:
Run
:PapisReInitData
to re-initialise the db with the required additional fields.jghauser commentedon Jun 2, 2024
With #48, I've tried to improve the papis.nvim startup procedure. This also lays the groundwork for various future improvements (and more breaking changes). For now the following has changed:
init_filenames
is nowinit_filetypes
. papis.nvim now only autostarts depending on certain filetypes. This makes the codebase easier to manage. If you've customised this, make sure to update it to a list of valid Neovim filetypes.papis_python
needs no longer be set. papis.nvim now gets the options automatically from Papis when first starting and saves them (even across Neovim restarts) in the db. When you update your Papis configuration, import it again into papis.nvim with:PapisReInitConfig
:PapisStart
has been removed. Please use theinit_filetypes
to define when to start the plugin.All in all, this should make papis.nvim easier to set up without the speed penalties of querying
papis config
at startup. It will also make adding stuff like #25 easier.Note also that I've started cutting releases. So if the breaking changes annoy you, feel free to use e.g.
v0.1.0
. 😉jghauser commentedon Jun 4, 2024
With #58, I have removed
plenary.nvim
and introduced the new dependencypathlib.nvim
.nvim-treesitter
is also not needed anymore (In fact, it hasn't been for a while, I just had failed to notice 😅). Note that this is where therocks.nvim
package manager shines and where this isn't a breaking change (as it should be!).To give an outlook on future changes: I want to make use of the neovim ecosystem's increasing ability to handle luarocks and integrate some of them. First will be a re-introduction of
lyaml
, so that we do no longer needyq
(though I will leave that as a fallback). Next, I'll also look atciteproc-lua
, so that we can insert proper formatted references. Finally, I'm gonna see if I can usenvim-nio
to get async working in some of the slower parts ofpapis.nvim
. No promises on when this is going to happen though 😉.jghauser commentedon Jun 13, 2024
With #70, papis.nvim sorts entries by time-added initially (before entering a query). This required changing the db schema and that in turn requires running
:PapisReInitData
to re-initialise the db with the updated schema. One of the next tasks is to find a way to catch such changes automatically :).jghauser commentedon Jun 18, 2024
Various breaking changes have come with v0.5.0
Pretty icons
These require nerd font or a similar font. If you don't have that, set
enable_icons
tofalse
. Please reload the database to update pre-calculated data for the Telescope picker.Command with subcommands
The
:Papis
command now has subcommands and various subcommands have been renamed. So instead of for example:PapisReInitData
you should now usePapis reload data
. TheReInit
subcommand is nowreload
, I've addedPapis search
(which opens Telescope), and all the commands that interact with the ref under cursor are in theat-cursor
subcommand (thecursor-actions
module has been renamed toat-cursor
too).The
enable_commands
option has been removed.Custom keymaps you may have set should now call the new Papis commands.
jghauser commentedon Jun 25, 2024
Not really a breaking change, but more of an elimination of an entire class of breaking changes ;). With #81, papis.nvim can now detect when the database schema has changed and informs the user to run
:Papis reload data
(rather than me having to post about it here). 🎉jghauser commentedon Sep 1, 2024
The plugin now handles acting on multi selections in the Telescope picker (see #88, and thanks @maxmahlke!). This means you can now select multiple entries with tab, and then do whatever action you already know from before (add refs, open notes, etc.). This required some significant changes, in particular the following:
cite_formats
option changed. Refer to the README for more.format_notes
(before:format_notes_fn
) andformat_references
(before:format_references_fn
) changed. They now both simply return lines. Refer to the README for more.If you didn't touch these options, you don't need to do anything.