Compare commits

...

15 commits

Author SHA1 Message Date
6254c92bd3
chore: Update qutebrowser redirects, nvim spellfiles 2023-09-16 11:29:22 +02:00
dc78a5b67a
papis: Update config to use bbt formatter
Using my custom bbt-formatter for reference keys.
2023-09-16 11:28:36 +02:00
6e60101b9b
papis: Improve tui rendering and add priority maps
We render the priority of an entry in both table and multiline mode,
with priority >=1 being highest, >=3 being medium and everything
>5 being low priority.

We also have some maps for quickly setting the priority of an entry
from the tui:

`,ph` | `,pm` | `,pl` (for high, medium, low - so 1,3,5).

Lastly, I quickly added some to-dos that require the input of the
maintainer or some work in a fork, so I don't forget.
I also should not forget that I implemented some of them locally already
and am using them.
2023-09-16 11:23:23 +02:00
061e341253
nvim: Remove speed-reading plugin
The 'bionic-reading' mode, I have never used successfully.
It distracts rather than enabling me to move over text
more quickly.
2023-09-16 11:22:03 +02:00
f31b1b29ed
nvim: Enable marksman lsp for quarto files 2023-09-16 11:21:01 +02:00
c7393c9114
nvim: Move between git conflict hunks with ][H
Since we move between git chunks with ]h/[h, we may as well
move between git *conflict* chunks (should there be any)
with ]H and [H mirroring the diagnostics/error setup
situation.
2023-09-16 11:21:00 +02:00
60ae2e43c3
nvim: Switch signature help to cmp plugin
Simply switched signature help. Need to extensively test, but to
be perfectly honest the previous sig help plugin did not work all
the time either.
2023-09-16 11:20:59 +02:00
3562007bc8
beets: Remove acousticbrainz plugin
With the sunsetting of acousticbrainz I think it is time to
confront reality and remove the plugin. Was a lot of fun to
play around with and create playlists from that followed
music beats, mood or similar but ultimately it slowed down
importing a lot and I never earnestly used it for anything.
2023-09-16 11:17:20 +02:00
580f8e1452
kanshi: Add profiles for triple-/single-display
Added a profile for having all my screens display something when docked
(when usually the internal screen is turned off)
as well as to *only* display the internal screen even when connected
to the dock (should the need ever arise).
2023-09-16 11:14:49 +02:00
bb06274c49
bootstrap: Add bbt plugin to papis install
Added my custom bbt-formatter to the papis installation created on this
machine. It is injected through pipx.
2023-09-16 11:12:17 +02:00
62beaae3e9
papis: Rename main library to 'main'
Mimicking my move from master branches to main,
now my overall general library also resides in 'main'
instead of 'master'.
No real visible change, but unifies the wording for
everything.
2023-08-31 12:26:14 +02:00
dd133aa85b
sh: Change PATH local binary order
Prepend local binary directory to path instead of appending.
In effect makes user-local binaries overwrite system-wide
binaries.
2023-08-31 12:25:01 +02:00
01405b9438
papis: Change key bindings
Unified key bindings roughly to

localleader=, anything with `,` in front will affect the current
documents somehow (e.g. mark them read, add a tag, ..).
jumpto=' prepending with `'` will affect the current view
(e.g. limit to unread documents, limit to entries with notes, ..).

Sorting can be done with `S`, like in vifm.
Display style can be toggled to table with `T`.
2023-08-31 12:23:34 +02:00
248f171f48
papis: Improve tui table view rendering
Show read status, tags, attached documents and notes in a swift overview -
trying to somewhat mimic the JabRef table view since I like it quite a lot.
2023-08-31 12:20:08 +02:00
29d1a2453d
papis: Differentiate between emgs and academia
Moved my old study library to the more descriptive emgs library
to differentiate from newly added studies under the academia
library.
Both can still be accessed through the main library.
2023-08-31 08:56:12 +02:00
15 changed files with 173 additions and 49 deletions

View file

@ -203,7 +203,7 @@ offpunk-git Fork of the command-line Gemini client AV-98 with added offline capa
oh-my-zsh-git A community-driven framework for managing your zsh configuration. Includes 180+ optional plugins and over 120 themes to spice up your morning, and an auto-update tool so that makes it easy to keep up with the latest updates from the community A
os-prober Utility to detect other OSes on a set of drives R
pacman-contrib Contributed scripts and tools for pacman systems R
papis Papis is a powerful and highly extensible command-line based document and bibliography manager. P whoosh,papis-zotero,papis-scihub,git+https://git.martyoeh.me/Marty/papis-extract.git,git+https://github.com/supersambo/papis-tui
papis Papis is a powerful and highly extensible command-line based document and bibliography manager. P whoosh,papis-zotero,papis-scihub,git+https://git.martyoeh.me/Marty/papis-extract.git,git+https://github.com/supersambo/papis-tui,pybtex-apa-style,git+https://git.martyoeh.me/Marty/papis-bbt-formatter.git
parallel A shell tool for executing jobs in parallel R
parsec-bin Remotely connect to a gaming pc for a low latency remote computing experience A
paru-bin Feature packed AUR helper A

Can't render this file because it has a wrong number of fields in line 29.

View file

@ -12,6 +12,20 @@ profile docked {
exec notify-send "💻 Display changed" "Applying docked Goldstar profile"
}
profile dockedall {
output "LG Electronics W2442 0x000075FD" position 1920,0
output "LG Electronics W2442 0x000075E1" position 0,0
output eDP-1 enable position 960,1080
exec notify-send "💻 Display changed" "Applying docked 3-screen profile"
}
profile portable {
output "LG Electronics W2442 0x000075FD" disable
output "LG Electronics W2442 0x000075E1" disable
output eDP-1 enable position 0,0
exec notify-send "💻 Display changed" "Applying portable profile"
}
profile portable {
output eDP-1 enable position 0,0
exec notify-send "💻 Display changed" "Applying portable profile"

View file

@ -60,7 +60,6 @@ match:
rec_gap_thresh: 0.25
plugins:
- acousticbrainz
- bandcamp
- chroma
- deezer

View file

@ -12,6 +12,7 @@
"cmp-digraphs": { "branch": "master", "commit": "5efc1f0078d7c5f3ea1c8e3aad04da3fd6e081a9" },
"cmp-latex-symbols": { "branch": "main", "commit": "165fb66afdbd016eaa1570e41672c4c557b57124" },
"cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" },
"cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "3d8912ebeb56e5ae08ef0906e3a54de1c66b92f1" },
"cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" },
"cmp-pandoc-references": { "branch": "master", "commit": "2c808dff631a783ddd2c554c4c6033907589baf6" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
@ -23,7 +24,6 @@
"completion-vcard": { "branch": "master", "commit": "2220fd517a985ececed1adcf0e5be8f2815564c7" },
"dial.nvim": { "branch": "master", "commit": "54b503f906bc9e5ab85288414840a1b86d40769f" },
"dressing.nvim": { "branch": "master", "commit": "c0b67f3e2950adc07b555d3e73e38275b4a585ce" },
"easyread.nvim": { "branch": "main", "commit": "0b07e315a4cd7d700c4a794bdddbec79fdc2628b" },
"fidget.nvim": { "branch": "main", "commit": "0ba1e16d07627532b6cae915cc992ecac249fb97" },
"friendly-snippets": { "branch": "main", "commit": "377d45475b49e37460a902d6d569d2093d4037d0" },
"fwatch.nvim": { "branch": "main", "commit": "a691f7349dc66285cd75a1a698dd28bca45f2bf8" },
@ -34,7 +34,6 @@
"lazy.nvim": { "branch": "main", "commit": "3ad55ae678876516156cca2f361c51f7952a924b" },
"lightspeed.nvim": { "branch": "main", "commit": "299eefa6a9e2d881f1194587c573dad619fdb96f" },
"lsp-setup.nvim": { "branch": "main", "commit": "64542fb0da06414cdfaa0c5236b743679bb7ba7f" },
"lsp_signature.nvim": { "branch": "master", "commit": "4665921ff8e30601c7c1328625b3abc1427a6143" },
"lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" },
"magma-nvim-goose": { "branch": "main", "commit": "9a626aab63361d027541d023707f82e28d7f872c" },
"markdown-preview.nvim": { "branch": "master", "commit": "9becceee5740b7db6914da87358a183ad11b2049" },

View file

@ -43,6 +43,7 @@ cmp.setup({
},
sources = {
{ name = "nvim_lsp" },
{ name = "nvim_lsp_signature_help" },
{ name = "otter" },
{ name = "luasnip", keyword_length = 2 },
{ name = "pandoc_references" },

View file

@ -29,7 +29,9 @@ local servers = {
},
},
},
marksman = {},
marksman = {
filetypes = { "markdown", "quarto" },
},
pyright = {},
ruff_lsp = {},
serve_d = {},

View file

@ -11,8 +11,8 @@ return {
vim.keymap.set("n", "<localleader>hO", "<Plug>(git-conflict-theirs)", { desc = "Conflict use theirs" })
vim.keymap.set("n", "<localleader>hm", "<Plug>(git-conflict-both)", { desc = "Conflict use both" })
vim.keymap.set("n", "<localleader>hM", "<Plug>(git-conflict-none)", { desc = "Conflict use none" })
vim.keymap.set("n", "[x", "<Plug>(git-conflict-prev-conflict)", { desc = "Prev git conflict" })
vim.keymap.set("n", "]x", "<Plug>(git-conflict-next-conflict)", { desc = "Next git conflict" })
vim.keymap.set("n", "[H", "<Plug>(git-conflict-prev-conflict)", { desc = "Prev git conflict" })
vim.keymap.set("n", "]H", "<Plug>(git-conflict-next-conflict)", { desc = "Next git conflict" })
end,
lazy = false, -- TODO needs to be force refreshed in lazy loaded mode unfortunately
},

View file

@ -13,8 +13,6 @@ return {
backends = { "treesitter", "lsp", "markdown", "man" },
},
},
-- show a signature whenever editing a function or similar
{ "ray-x/lsp_signature.nvim", config = true, event = "VeryLazy" },
{
"junnplus/lsp-setup.nvim",
dependencies = {
@ -66,6 +64,7 @@ return {
"hrsh7th/cmp-calc",
"hrsh7th/cmp-cmdline",
"hrsh7th/cmp-nvim-lua",
"hrsh7th/cmp-nvim-lsp-signature-help",
"dmitmel/cmp-digraphs",
"jc-doyle/cmp-pandoc-references",
"kdheepak/cmp-latex-symbols",

View file

@ -6,13 +6,6 @@ return {
{ "folke/zen-mode.nvim", config = true, event = "VeryLazy" },
-- provide even distraction free-er writing (lowlight paragraphs)
{ "folke/twilight.nvim", event = "VeryLazy" },
-- enable 'speed-reading' mode (bionic reading)
{
"JellyApple102/easyread.nvim",
config = true,
ft = writing_ft,
cmd = "EasyreadToggle",
},
{
"andrewferrier/wrapping.nvim",
config = function()
@ -26,8 +19,8 @@ return {
{
"lukas-reineke/headlines.nvim",
dependencies = "nvim-treesitter/nvim-treesitter",
config = true,
ft = writing_ft,
config = true,
ft = writing_ft,
},
-- generate an auto-updating html preview for md files
{

View file

@ -0,0 +1 @@
Mitgliedern

View file

@ -185,3 +185,4 @@ GitLab
Gitea
caramelization
Maillard
individualities

View file

@ -180,8 +180,6 @@ redirects = {
"wiki-en": {
"source": ["en.wikipedia.org"],
"target": [
"wiki.adminforge.de",
"wiki.froth.zone",
"wiki.slipfox.xyz",
"wikiless.funami.tech",
"wikiless.org",

View file

@ -35,7 +35,7 @@ export XDG_VIDEOS_DIR="$HOME/videos"
test "$XDG_PROJECTS_DIR" || export XDG_PROJECTS_DIR="$HOME/projects"
test "$XDG_BIN_HOME" || export XDG_BIN_HOME="$HOME/.local/bin"
# anything on BIN_HOME should be executable form anywhere
export PATH="$PATH:$XDG_BIN_HOME"
export PATH="$XDG_BIN_HOME:$PATH"
## Applications that can be set through environment variables
export ANDROID_HOME="$XDG_DATA_HOME/android"

View file

@ -1,12 +1,17 @@
[settings]
#opentool = zathura
#picktool = fzf
default-library = master
default-library = main
formater = bbt
local-config-file = .papis.config
# opentool = zathura
picktool = papis-tui
mark-opener = zathura -P {mark[value]}
file-browser = vifm
ref-format = {doc[author_list][0][family]}{doc[year]}
# edit info.yaml as new papers are added
add-edit = True
# ref-format = {doc[author_list][0][family]}{doc[year]}
ref-format = bbt
add-folder-name = {doc[author_list][0][family]}-{doc[title]}
add-file-name = {doc[author_list][0][family]}{doc[year]}
header-format-file = ~/.config/papis/headerformat
@ -20,14 +25,15 @@ default-query-string = *
notes-name = notes.md
notes-template = {doc[author_list][0][family]}{doc[year]}--{doc[title]}
mark-opener = zathura -P {mark[value]}
[tui]
editmore = vi
[master]
[main]
dir = ~/documents/library
[emgs]
dir = ~/documents/library/emgs
[academia]
dir = ~/documents/library/academia
@ -39,3 +45,8 @@ dir = ~/documents/library/cs
[ee]
dir = ~/documents/library/ee
[plugins.bbt-formatter]
full-year = True
title-words = 2
title-chars = 20

View file

@ -1,14 +1,25 @@
# current issues/requests
# - [ ] call arbitrary shell command
# - [ ] non-blocking opening of files
# - [ ] distinguish in config between aliases for multiline/table
# - [ ] update view after more operations
# - if I call an 'update' command (e.g. set new tag or read status), it will not update in list until 'edit' command invoked and rebuilding the list
# - two selection additions:
# - [ ] select all in view
# - [ ] limit view to currently selected
#
base:
vimflavour: nvim
documentlist:
defaultstyle: multiline
marked-icon: ""
marked-icon: "󰁔"
multilinestyle:
rows:
- "<cyan>{doc.alias('type')} {doc['ref']} {doc.forfile('')}</cyan>"
# TODO: show if already note attached; have info window display note content?
- "{' ' if 'priority' not in doc or doc['priority'] > 3 else '<red>󱝇 </red>' if doc['priority'] <= 1 else '<yellow>󱝇 </yellow>'}<cyan>{doc.alias('type')} {doc['ref']}</cyan> {doc.alias('readstatus')} {' 󰘓 ' if doc['notes'] else ''}"
- "<white><bold>{doc.html_escape['title']}</bold></white>"
- "<blue>{doc.html_escape['author']}</blue>"
- "{doc.foreach('tags', '<lightgray>(</lightgray><lightgray><dim>{}</dim></lightgray><gray>)</gray>', split = ', ', sep = ' ')}"
- "{doc.foreach('tags', '<lightgray>(</lightgray><gray><dim>{}</dim></gray><lightgray>)</lightgray>', split = ', ', sep = ' ')}"
tablestyle:
separator: " "
headerstyle: "underline|bold"
@ -16,30 +27,59 @@ documentlist:
cursorrowstyle: "black_white|bold"
columns:
- {
header: " #",
content: "{doc.alias('type')} {str(len(doc.get_files()) if len(doc.get_files()) > 0 else '')}",
width: 3,
header: "󱝇",
content: "{'' if 'priority' not in doc or doc['priority'] > 3 else '󰝥' if doc['priority'] <= 1 else '󰝦'}",
width: 1,
}
- { header: "Reference", content: "@{doc['ref']}", width: 15 }
- {
header: "󰑇",
content: "{'󰗠' if doc['readstatus'] == 'read' else '󰗡' if doc['readstatus'] == 'skimmed' else ' '}",
width: 1,
}
- {
header: "",
content: "{'󰎚' if doc['notes'] else '󰎛' if doc['note'] else ' '}",
width: 1,
}
- {
header: "󰉺",
content: "{doc.alias('type')}",
width: 1,
}
- { header: "Authors", content: "{doc['author']}", width: 25 }
- { header: "Year", content: "{str(doc['year'])}", width: 4 }
- { header: "Authors", content: "{doc['author']}", width: 20 }
- { header: "Title", content: "{doc['title']}", width: 200 }
- { header: "Title", content: "{doc['title']}", width: 125 }
- { header: "Reference", content: "{doc['ref']}", width: 15 }
- {
header: "󰘓",
content: "{str(len(doc.get_files()) if len(doc.get_files()) > 0 else '')}",
width: 1,
}
- { header: "Tags", content: "{doc['tags'] if isinstance(doc['tags'], str) else doc.foreach('tags', '{}', sep=', ')}", width: 35 }
aliases:
type:
{
article: "",
book: "",
inbook: "",
incollection: "󰪧",
inbook: '',
software: "",
software: "󰅩",
presentation: "󰐨",
thesis: "",
_default_: "",
techreport: "󰁰",
_default_: "",
}
readstatus:
{
read: "<green>󰗠</green>",
skimmed: "<yellow>󰗡</yellow>"
}
keymappings:
q: quit
"?": help
S: toggle_style
T: toggle_style
S: cmd "sort "
/: search_mode
<key_down>: scroll_down
<key_up>: scroll_up
@ -51,29 +91,96 @@ keymappings:
k: scroll_up
o: open -r "pdf$"
O: open -d
r: view_reset
R: reload
e: edit
n: papis edit -n papis_id:{doc['papis_id']}
b: browse
B: browse -k doi
R: view_reset
<c-r>: reload
e:
- edit
- edit info
n:
- papis edit -n papis_id:{doc['papis_id']}
- edit notes
"'n":
- search "notes:.+"
- limit to entries with notes
"'u":
- search "readstatus:read OR readstatus:skimmed"
- limit to read entries
"'r":
- search "NOT readstatus:read AND NOT readstatus:skimmed"
- limit to unread entries
" ": mark_selected
mm: mark_selected
M: mark_down
J: mark_down
mu: unmark_all
mv: mark_view
t: cmd "tag "
",t": cmd "tag "
",r":
- papis update -s readstatus read papis_id:{doc['papis_id']}
- set readstatus read
",k":
- papis update -s readstatus skimmed papis_id:{doc['papis_id']}
- set readstatus skimmed
",u":
- papis update -s readstatus "" papis_id:{doc['papis_id']}
- set readstatus unread
",ph":
- papis update -s priority 1 papis_id:{doc['papis_id']}
- set priority high
",pm":
- papis update -s priority 2 read papis_id:{doc['papis_id']}
- set priority medium
",pl":
- papis update -s priority 3 read papis_id:{doc['papis_id']}
- set priority low
i:
- info_toggle
- "Toggle info window"
I:
- info_cycle
- "Cycle info windows"
<ctrl-p>: info_scroll_up
<ctrl-n>: info_scroll_down
# all require 'clip' script to be available on PATH
yy:
- copy_to_clipboard "[@{doc['ref']}]"
- yank pandoc-styled reference
ss:
- vim_send "[@{doc['ref']}]"
- send vim pandoc-styled reference
yl:
- copy_to_clipboard "\\cite\{{doc['ref']}\}"
- yank latex-styled reference
sl:
- vim_send "\\cite\{{doc['ref']}\}"
- send vim latex-styled reference
yr:
- copy_to_clipboard "{format_reference(doc,style='apa')}"
- yank apa-styled reference
sr:
- vim_send "{format_reference(doc,style='apa')}"
- send vim apa-styled reference
yt:
- copy_to_clipboard "{doc['title']}"
- yank title
yu:
- copy_to_clipboard "{doc['url']}"
- yank url
yd:
- copy_to_clipboard "{doc['doi']}"
- yank doi
# TODO look into https://github.com/supersambo/papis-tui vim-send mappings
infowindow:
default_on: False
views:
doc:
content: "author: {doc['author'].strip()}\n title: {doc['title'].strip()}\n tags:{doc['tags'] if isinstance(doc['tags'], str) else doc.foreach('tags', '{}', sep=', ')}"
height: 8
apa:
content: "{format_reference(doc)}"
content: "{format_reference(doc,style='apa')}"
abstract:
content: "{doc['abstract']}"
linewrap: True
@ -81,7 +188,7 @@ infowindow:
commandline:
search:
keyword_aliases: {a: 'author:', t: 'title:', y: 'year:', k: 'tags:'}
keyword_aliases: { a: "author:", t: "title:", y: "year:", k: "tags:" }
statusbar:
left:
@ -92,4 +199,3 @@ statusbar:
search: "<black_magenta><bold> {info['mode_upper']} </black_magenta></bold><magenta_bg></magenta_bg>"
right:
default: "<green>{info['sortkeys']} </green><cyan_bg></cyan_bg><black_cyan> {info['idx']} < {info['marked']} < {info['view']} < {info['items']} </black_cyan>"