Compare commits

..

14 commits

Author SHA1 Message Date
6fdf1cc2e4
writing: Update jrnl version 2023-06-15 09:47:56 +02:00
41968e1361
nvim: Integrate null_ls for formatting and linting
Formatting and linting should from now be done with null_ls instead
of formatter.nvim (and nothing for linting so far).

This will still take a little to fully transition, for now we use
null_ls for eslint linting and prettier formatting for a variety
of javascript/typescript and astro files.

null_ls uses Mason installations under the hood and any tool it
uses also gets installed by Mason.
2023-06-15 09:47:32 +02:00
3a709bb450
nvim: Replace live grep key chord with fw
Moved the old, a little more cumbersome, mapping <leader>fF to be
<leader>fw instead to start live grepping with telescope.
2023-06-15 09:43:10 +02:00
29cb20efcb
bootstrap: Add pipx managed package installation
Packages managed through pipx (and pipx itself) are now also
installed in the initial process. They are marked as coming
from 'P' source in the package TSV. There is a special field
for these packages which declares any injections made by pipx
which will also automatically get injected into the pipx
environment on installation.
2023-06-08 13:05:01 +02:00
bfe7e7790c
bootstrap: Change yay to paru for pkg installation 2023-06-08 13:03:27 +02:00
79910b8bf1
bootstrap: Fix package installer file path 2023-06-08 13:02:45 +02:00
a43e2cc4bd
river: Switch call to terminal to be more general
Switched the calls for the term variable mappings (opening
term, floating term, calculator, and so on) to make use of
the pretty much standard 'terminal -e' invocation to start
the terminal and execute something within it.

This newly works for wezterm since any release after
2022-12-26, which are now also on the Arch repositories
and will make the river init a tiny bit more portable
whenever wanting to switch to a different terminal.
2023-06-07 10:32:26 +02:00
60b89b6d30
githook: Fix showing pkgs in commit message
Quick fix to show difference in committed and installed
packages in the commit editor window again.
Due to Arch moving the base-devel package from a group
to a meta-package we can not just remove all packages
that are in the group anymore - it will simply error
out instead. This removes the check and thus provides
a quick and dirty fix for the time being.
2023-06-07 10:29:25 +02:00
bce5675795
bootstrap: Remove unclutter package
Removed long overdue unclutter package which is used on
X11 but we switched to wayland around two years ago
now. For this setup, the river window manager takes
care of hiding and showing the mouse pointer.
2023-06-07 10:27:17 +02:00
bd555608b1
waybar: Update event icons 2023-06-07 10:08:35 +02:00
681c48d4f7
nvim: Format plugins file 2023-06-07 10:06:32 +02:00
e35dec9f9f
nvim: Update spellfile 2023-06-07 10:06:20 +02:00
de15382415
nvim: Remove spellsitter
Spellsitter funcitonality is long deprecated and included
in the mainline neovim project. So we might as well
remove it from our plugins.
2023-06-07 10:06:10 +02:00
92ab289537
nvim: Update plugins 2023-06-07 10:05:16 +02:00
14 changed files with 442 additions and 383 deletions

View file

@ -5,7 +5,7 @@ COMMIT_SOURCE="$2"
BOOTSTRAPDIR="bootstrap" BOOTSTRAPDIR="bootstrap"
pkg_committed="$(cat "$(git rev-parse --show-toplevel)"/$BOOTSTRAPDIR/packages*.tsv | grep -v -e '^Name Description Source Target' | cut -f1 | sort)" pkg_committed="$(cat "$(git rev-parse --show-toplevel)"/$BOOTSTRAPDIR/packages*.tsv | grep -v -e '^Name Description Source Target' | cut -f1 | sort)"
pkg_onsystem=$(pacman -Qqett | grep -v "$(pacman -Qqg base-devel)" | sort) pkg_onsystem=$(pacman -Qqett | sort)
# get files only in repo, and only on machine # get files only in repo, and only on machine
only_committed=$(comm -23 <(echo "$pkg_committed") <(echo "$pkg_onsystem")) only_committed=$(comm -23 <(echo "$pkg_committed") <(echo "$pkg_onsystem"))

View file

@ -7,9 +7,10 @@
# DESCRIPTION: Display usage information for this script. # DESCRIPTION: Display usage information for this script.
# PARAMETERS: see usage function # PARAMETERS: see usage function
#============================================================================== #==============================================================================
PKG_TSV_FILE=${PKG_TSV_FILE:-bootstrap/packages.tsv} PKG_TSV_FILE=${PKG_TSV_FILE:-bootstrap/packages_stable.tsv}
packages_repo="${BOOTSTRAP_PACKAGES:-$(grep -e ' R ' "$PKG_TSV_FILE" | cut -f1 -d' ')}" packages_repo="${BOOTSTRAP_PACKAGES:-$(grep -e ' R ' "$PKG_TSV_FILE" | cut -f1 -d' ')}"
packages_aur="${BOOTSTRAP_PACKAGES_AUR:-$(grep -e ' A ' "$PKG_TSV_FILE" | cut -f1 -d' ')}" packages_aur="${BOOTSTRAP_PACKAGES_AUR:-$(grep -e ' A ' "$PKG_TSV_FILE" | cut -f1 -d' ')}"
packages_pipx="${BOOTSTRAP_PACKAGES_PIPX:-$(grep -e ' P ' "$PKG_TSV_FILE" | cut -f1,5 -d' ')}"
main() { main() {
local cmd="" local cmd=""
@ -36,16 +37,16 @@ main() {
exit $ret exit $ret
} }
install_yay() { install_paru() {
# check for existing yay installation # check for existing paru installation
if type yay >/dev/null 2>&1; then if type paru >/dev/null 2>&1; then
echo "Existing yay installation found ..........................................." echo "Existing paru installation found ..........................................."
return return
fi fi
# use tmp dir to make yay # use tmp dir to make paru
target=$(mktemp -d) target=$(mktemp -d)
git clone https://aur.archlinux.org/yay.git "$target" git clone https://aur.archlinux.org/paru.git "$target"
cd "$target" || exit cd "$target" || exit
makepkg -si makepkg -si
} }
@ -53,31 +54,61 @@ install_yay() {
update_repos() { update_repos() {
unattended="$1" unattended="$1"
if "$unattended"; then if "$unattended"; then
yay -Sqyy --noconfirm paru -Sqyy --noconfirm
else else
yay -Syy paru -Syy
fi fi
} }
install_packages() { install_packages() {
unattended="$1" unattended="$1"
if "$unattended"; then if "$unattended"; then
echo "$packages_repo" "$packages_aur" | yay -Squ --noconfirm --needed - echo "$packages_repo" "$packages_aur" | paru -Squ --noconfirm --needed -
else else
echo "$packages_repo" | yay -Squ --needed - echo "$packages_repo" | paru -Squ --needed -
echo "$packages_aur" | yay -S --needed - echo "$packages_aur" | paru -S --needed -
fi fi
} }
install_pipx() {
if type pipx >/dev/null 2>&1; then
echo "Existing pipx installation found .........................................."
return
fi
if "$unattended"; then
paru -S --noconfirm python-pipx
else
paru -S python-pipx
fi
}
install_pipx_pkgs() {
while IFS= read -r line; do
if [ -z "$line" ]; then return; fi
prog=$(echo "$line" | cut -f1 -d' ')
pipx install "$prog"
injections=$(echo "$line" | cut -f2 -d' ')
for inject_args in ${injections//,/ }; do
pipx inject "$prog" "$inject_args"
done
done <<<"$packages_pipx"
}
install() { install() {
unattended=$1 unattended=$1
echo "Beginning package bootstrap ..............................................." echo "Beginning package bootstrap ..............................................."
echo "Installing yay ............................................................" echo "Installing paru ............................................................"
install_yay install_paru
echo "Installing apps ..........................................................." echo "Installing apps ..........................................................."
update_repos "$unattended" update_repos "$unattended"
install_packages "$unattended" install_packages "$unattended"
echo "Done ......................................................................" echo "Done ......................................................................"
echo "Installing pipx ..........................................................."
install_pipx
echo "Installing pipx packages .................................................."
install_pipx_pkgs
echo "Done ......................................................................"
} }
main "$@" main "$@"

View file

@ -25,7 +25,9 @@ bash-completion Programmable completion for the bash shell R
bash-language-server Bash language server implementation based on Tree Sitter and its grammar for Bash R bash-language-server Bash language server implementation based on Tree Sitter and its grammar for Bash R
bat Cat clone with syntax highlighting and git integration R bat Cat clone with syntax highlighting and git integration R
bc An arbitrary precision calculator language R bc An arbitrary precision calculator language R
beancount A personal double entry accounting and budgeting software P beancount-categorizer,beancount-dkb,fava,python-magic,smart-importer
bearssl Implementation of the SSL/TLS protocol (RFC 5246) written in C R bearssl Implementation of the SSL/TLS protocol (RFC 5246) written in C R
beets Organize your music collection from the command line P beetcamp
bemoji-git Emoji picker that remembers your favorites. A bemoji-git Emoji picker that remembers your favorites. A
bibclean BibTeX and Scribe bibliography prettyprinter and syntax checker A bibclean BibTeX and Scribe bibliography prettyprinter and syntax checker A
biber A Unicode-capable BibTeX replacement for biblatex users R biber A Unicode-capable BibTeX replacement for biblatex users R
@ -61,6 +63,7 @@ dust A more intuitive version of du in rust R
efm-langserver General purpose Language Server A efm-langserver General purpose Language Server A
enca Charset analyser and converter R enca Charset analyser and converter R
entr Run arbitrary commands when files change R entr Run arbitrary commands when files change R
euporie View and work with ipnb Python notebooks from the cli P
exa ls replacement R exa ls replacement R
exercism-bin Command line client for exercism.io A exercism-bin Command line client for exercism.io A
exfat-utils Utilities for exFAT file system R exfat-utils Utilities for exFAT file system R
@ -107,6 +110,7 @@ imv Image viewer for Wayland and X11 R
intel-ucode Microcode update files for Intel CPUs R intel-ucode Microcode update files for Intel CPUs R
iputils Network monitoring tools, including ping R iputils Network monitoring tools, including ping R
ipython An enhanced Interactive Python shell. R ipython An enhanced Interactive Python shell. R
isbntools A variety of tools to work with isbn addresses P
iucode-tool Tool to manipulate Intel® IA-32/X86-64 microcode bundles R iucode-tool Tool to manipulate Intel® IA-32/X86-64 microcode bundles R
iwd Internet Wireless Daemon R iwd Internet Wireless Daemon R
jiq-bin Interactive JSON query tool using jq expressions A jiq-bin Interactive JSON query tool using jq expressions A
@ -148,6 +152,7 @@ maim Utility to take a screenshot using imlib2 R
mako Lightweight notification daemon for Wayland R mako Lightweight notification daemon for Wayland R
man-db A utility for reading man pages R man-db A utility for reading man pages R
man-pages Linux man pages R man-pages Linux man pages R
markdown-anki-decks Construct and modify anki decks directly with markdown P
markdownlint-cli MarkdownLint Command Line Interface A markdownlint-cli MarkdownLint Command Line Interface A
masterpdfeditor-free A complete solution for creation and editing PDF files - Free version without watermark A masterpdfeditor-free A complete solution for creation and editing PDF files - Free version without watermark A
mbsync-git free (GPL) mailbox synchronization program A mbsync-git free (GPL) mailbox synchronization program A
@ -198,6 +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 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 os-prober Utility to detect other OSes on a set of drives R
pacman-contrib Contributed scripts and tools for pacman systems R pacman-contrib Contributed scripts and tools for pacman systems R
papis-tui A tui interface for papis bibliography manager P whoosh
parallel A shell tool for executing jobs in parallel R 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 parsec-bin Remotely connect to a gaming pc for a low latency remote computing experience A
paru-bin Feature packed AUR helper A paru-bin Feature packed AUR helper A
@ -307,7 +313,6 @@ tut A TUI for Mastodon with vim inspired keys A
typescript-language-server Language Server Protocol (LSP) implementation for TypeScript using tsserver R typescript-language-server Language Server Protocol (LSP) implementation for TypeScript using tsserver R
udiskie Removable disk automounter using udisks R udiskie Removable disk automounter using udisks R
ufw Uncomplicated and easy to use CLI tool for managing a netfilter firewall R ufw Uncomplicated and easy to use CLI tool for managing a netfilter firewall R
unclutter A small program for hiding the mouse cursor R
unrar The RAR uncompression program R unrar The RAR uncompression program R
unrtf Command-line program which converts RTF documents to other formats R unrtf Command-line program which converts RTF documents to other formats R
urlview-xdg-git A curses URL parser for text files. Git version, adds support for QUITONLAUNCH option and XDG Base Directory specification compliance. A urlview-xdg-git A curses URL parser for text files. Git version, adds support for QUITONLAUNCH option and XDG Base Directory specification compliance. A
@ -343,9 +348,9 @@ xdg-user-dirs Manage user directories like ~/Desktop and ~/Music R
xsv A CLI for indexing, slicing, analyzing, splitting and joining CSV files R xsv A CLI for indexing, slicing, analyzing, splitting and joining CSV files R
yaml-language-server YAML Language Server R yaml-language-server YAML Language Server R
yarn Fast, reliable, and secure dependency management R yarn Fast, reliable, and secure dependency management R
yubikey-manager Python library and command line tool for configuring a YubiKey R
yt-dlp A youtube-dl fork with additional features and fixes R yt-dlp A youtube-dl fork with additional features and fixes R
ytfzf A POSIX script to find and watch youtube videos from the terminal R ytfzf A POSIX script to find and watch youtube videos from the terminal R
yubikey-manager Python library and command line tool for configuring a YubiKey R
zathura-cb Adds comic book support to zathura R zathura-cb Adds comic book support to zathura R
zathura-djvu DjVu support for Zathura R zathura-djvu DjVu support for Zathura R
zathura-pdf-mupdf PDF support for Zathura (MuPDF backend) (Supports PDF, ePub, and OpenXPS) R zathura-pdf-mupdf PDF support for Zathura (MuPDF backend) (Supports PDF, ePub, and OpenXPS) R

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

View file

@ -3,7 +3,7 @@ BOOTSTRAP_DIR=${BOOTSTRAP_DIR:-$(pwd)/bootstrap}
INPUTFILES=$(find "${BOOTSTRAP_DIR}" -type f -name 'packages*.tsv') INPUTFILES=$(find "${BOOTSTRAP_DIR}" -type f -name 'packages*.tsv')
OUTPUTFILE=${BOOTSTRAP_DIR}/packages_testing.tsv OUTPUTFILE=${BOOTSTRAP_DIR}/packages_testing.tsv
pkg_all=$(pacman -Qqett | grep -v "$(pacman -Qqg base-devel)") pkg_all=$(pacman -Qqett)
pkg_repo=$(pacman -Qqn) pkg_repo=$(pacman -Qqn)
pkg_aur=$(pacman -Qqm) pkg_aur=$(pacman -Qqm)

View file

@ -39,7 +39,7 @@ riverctl map normal $mod+Shift C close
# Open terminal # Open terminal
riverctl map normal $mod Return spawn "$term" riverctl map normal $mod Return spawn "$term"
# Open floating terminal # Open floating terminal
riverctl map normal $mod+Control Return spawn "$term start --class float" riverctl map normal $mod+Control Return spawn "$term -e --class float"
# Open run menu # Open run menu
riverctl map normal $mod Space spawn "bemenu-run" riverctl map normal $mod Space spawn "bemenu-run"
@ -61,7 +61,7 @@ riverctl map normal $mod+Shift O spawn "qutedmenu"
riverctl map normal $mod+Shift Space spawn "clipman pick --tool=bemenu" riverctl map normal $mod+Shift Space spawn "clipman pick --tool=bemenu"
# Open floating calculator # Open floating calculator
riverctl map normal $mod+Shift R spawn "$term start --class float -e qalc" riverctl map normal $mod+Shift R spawn "$term -e --class float qalc"
# Open emoji picker # Open emoji picker
riverctl map normal $mod+Shift E spawn "bemoji -nt" riverctl map normal $mod+Shift E spawn "bemoji -nt"
@ -77,7 +77,7 @@ riverctl map normal $mod+Shift S spawn 'flavourchoose'
riverctl map normal $mod+Shift P spawn "pass-pick" riverctl map normal $mod+Shift P spawn "pass-pick"
# File upload # File upload
riverctl map normal $mod+Shift U spawn "$term start --class float -e sharefile | xargs notify-send" riverctl map normal $mod+Shift U spawn "$term -e --class float sharefile | xargs notify-send"
# # Screenshot # # Screenshot
riverctl map normal None Print spawn "screenshot" riverctl map normal None Print spawn "screenshot"

View file

@ -51,9 +51,6 @@
"custom/events": { "custom/events": {
"format": "{}", "format": "{}",
"interval": 300, "interval": 300,
"format-icons": {
"default": ""
},
"exec": "~/.config/waybar/modules/khal.py 2>/dev/null", "exec": "~/.config/waybar/modules/khal.py 2>/dev/null",
"exec-if": "command -v khal >/dev/null 2>&1", "exec-if": "command -v khal >/dev/null 2>&1",
"return-type": "json", "return-type": "json",

View file

@ -21,52 +21,51 @@
"cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" },
"completion-vcard": { "branch": "master", "commit": "2220fd517a985ececed1adcf0e5be8f2815564c7" }, "completion-vcard": { "branch": "master", "commit": "2220fd517a985ececed1adcf0e5be8f2815564c7" },
"dial.nvim": { "branch": "master", "commit": "54b503f906bc9e5ab85288414840a1b86d40769f" }, "dial.nvim": { "branch": "master", "commit": "54b503f906bc9e5ab85288414840a1b86d40769f" },
"dressing.nvim": { "branch": "master", "commit": "66e4990240f92e31b0d5e4df6deb6bb0160ae832" }, "dressing.nvim": { "branch": "master", "commit": "f16d7586fcdd8b2e3850d0abb7e46f944125cc25" },
"easyread.nvim": { "branch": "main", "commit": "0b07e315a4cd7d700c4a794bdddbec79fdc2628b" }, "easyread.nvim": { "branch": "main", "commit": "0b07e315a4cd7d700c4a794bdddbec79fdc2628b" },
"fidget.nvim": { "branch": "main", "commit": "0ba1e16d07627532b6cae915cc992ecac249fb97" }, "fidget.nvim": { "branch": "main", "commit": "0ba1e16d07627532b6cae915cc992ecac249fb97" },
"formatter.nvim": { "branch": "master", "commit": "fa4f2729cc2909db599169f22d8e55632d4c8d59" }, "friendly-snippets": { "branch": "main", "commit": "b471f5419155ce832eff71ad8920ea8cfbd54840" },
"friendly-snippets": { "branch": "main", "commit": "1d0dac346de7c6895ac72528df3276386c6b149b" },
"fwatch.nvim": { "branch": "main", "commit": "a691f7349dc66285cd75a1a698dd28bca45f2bf8" }, "fwatch.nvim": { "branch": "main", "commit": "a691f7349dc66285cd75a1a698dd28bca45f2bf8" },
"gitsigns.nvim": { "branch": "main", "commit": "bb808fc7376ed7bac0fbe8f47b83d4bf01738167" }, "gitsigns.nvim": { "branch": "main", "commit": "bb808fc7376ed7bac0fbe8f47b83d4bf01738167" },
"jupyter-kernel.nvim": { "branch": "main", "commit": "5b409598033884a3d819e2a3bcd1fe340bc8d783" }, "jupyter-kernel.nvim": { "branch": "main", "commit": "5b409598033884a3d819e2a3bcd1fe340bc8d783" },
"lazy.nvim": { "branch": "main", "commit": "aba872ec78ffe7f7367764ab0fff6f0170421fde" }, "lazy.nvim": { "branch": "main", "commit": "f145e6f42a56306c5536e9efbfe41f7efbec285d" },
"lightspeed.nvim": { "branch": "main", "commit": "299eefa6a9e2d881f1194587c573dad619fdb96f" }, "lightspeed.nvim": { "branch": "main", "commit": "299eefa6a9e2d881f1194587c573dad619fdb96f" },
"lsp-format.nvim": { "branch": "master", "commit": "ca0df5c8544e51517209ea7b86ecc522c98d4f0a" }, "lsp-zero.nvim": { "branch": "v2.x", "commit": "8fda9a849d6ab4196ecf129905764ddefdfb64b5" },
"lsp-zero.nvim": { "branch": "v2.x", "commit": "56a50ebe9b0f46ecfabca3f1613084c74fd45414" },
"lsp_signature.nvim": { "branch": "master", "commit": "4665921ff8e30601c7c1328625b3abc1427a6143" }, "lsp_signature.nvim": { "branch": "master", "commit": "4665921ff8e30601c7c1328625b3abc1427a6143" },
"lualine.nvim": { "branch": "master", "commit": "05d78e9fd0cdfb4545974a5aa14b1be95a86e9c9" }, "lualine.nvim": { "branch": "master", "commit": "05d78e9fd0cdfb4545974a5aa14b1be95a86e9c9" },
"magma-nvim-goose": { "branch": "main", "commit": "5d916c39c1852e09fcd39eab174b8e5bbdb25f8f" }, "magma-nvim-goose": { "branch": "main", "commit": "5d916c39c1852e09fcd39eab174b8e5bbdb25f8f" },
"markdown-preview.nvim": { "branch": "master", "commit": "9becceee5740b7db6914da87358a183ad11b2049" }, "markdown-preview.nvim": { "branch": "master", "commit": "9becceee5740b7db6914da87358a183ad11b2049" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "90a8bbf106b85b76951a34c542058ffa807de2b1" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "5230617372e656d4a2e1e236e03bf7e7b4b97273" },
"mason.nvim": { "branch": "main", "commit": "253961cfe9b0a63b2524088be294acd7522366e5" }, "mason-null-ls.nvim": { "branch": "main", "commit": "cfbd83909cbc56e2f07cb3f8a03157e069c5c91c" },
"mason.nvim": { "branch": "main", "commit": "7d7efc738e08fc5bee822857db45cb6103f0b0c1" },
"mini.nvim": { "branch": "main", "commit": "889be69623395ad183ae6f3c21c8efe006350226" }, "mini.nvim": { "branch": "main", "commit": "889be69623395ad183ae6f3c21c8efe006350226" },
"nabla.nvim": { "branch": "master", "commit": "8c143ad2b3ab3b8ffbd51e238ccfcbd246452a7e" }, "nabla.nvim": { "branch": "master", "commit": "8c143ad2b3ab3b8ffbd51e238ccfcbd246452a7e" },
"neural": { "branch": "main", "commit": "155618730b87a67655bdde373ee27bfce8b07ac9" }, "neural": { "branch": "main", "commit": "155618730b87a67655bdde373ee27bfce8b07ac9" },
"nui.nvim": { "branch": "main", "commit": "698e75814cd7c56b0dd8af4936bcef2d13807f3c" }, "nui.nvim": { "branch": "main", "commit": "7a524120a7a70761b5a65b602fd235a65cb005aa" },
"null-ls.nvim": { "branch": "main", "commit": "a138b14099e9623832027ea12b4631ddd2a49256" },
"nvim-base16": { "branch": "master", "commit": "4f3aa29f49b38edb6db1c52cea57e64ce3de2373" }, "nvim-base16": { "branch": "master", "commit": "4f3aa29f49b38edb6db1c52cea57e64ce3de2373" },
"nvim-cmp": { "branch": "main", "commit": "d153771162bd9795d9f7142df5c674b61066a585" }, "nvim-cmp": { "branch": "main", "commit": "fc0f694af1a742ada77e5b1c91ff405c746f4a26" },
"nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" },
"nvim-lspconfig": { "branch": "master", "commit": "df58d91c9351a9dc5be6cf8d54f49ab0d9a64e73" }, "nvim-lspconfig": { "branch": "master", "commit": "458fa2ee2115c693ca48a04afa65f6de6b40a2db" },
"nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, "nvim-notify": { "branch": "master", "commit": "ea9c8ce7a37f2238f934e087c255758659948e0f" },
"nvim-surround": { "branch": "main", "commit": "e6047128e57c1aff1566fb9f627521d2887fc77a" }, "nvim-surround": { "branch": "main", "commit": "211eaad7c6d01ef4ac02cba9052b3082ec232101" },
"nvim-toggleterm.lua": { "branch": "main", "commit": "026dff5e2b504941cf172691561a67ea362596aa" }, "nvim-toggleterm.lua": { "branch": "main", "commit": "95204ece0f2a54c89c4395295432f9aeedca7b5f" },
"nvim-tree.lua": { "branch": "master", "commit": "89816ace70642e9d3db0dab3dc68918f8979ec31" }, "nvim-tree.lua": { "branch": "master", "commit": "f5d970d4506f385b29534252d8c15a782fa53034" },
"nvim-treesitter": { "branch": "master", "commit": "cc360a9beb1b30d172438f640e2c3450358c4086" }, "nvim-treesitter": { "branch": "master", "commit": "cc360a9beb1b30d172438f640e2c3450358c4086" },
"nvim-treesitter-context": { "branch": "master", "commit": "f24a86c32238867f24fbff49913db0068f8488d2" }, "nvim-treesitter-context": { "branch": "master", "commit": "e2ea37627c0681421ccf4a3cf19d68bb958e1817" },
"nvim-treesitter-textsubjects": { "branch": "master", "commit": "b913508f503527ff540f7fe2dcf1bf1d1f259887" }, "nvim-treesitter-textsubjects": { "branch": "master", "commit": "b913508f503527ff540f7fe2dcf1bf1d1f259887" },
"nvim-ts-context-commentstring": { "branch": "main", "commit": "0bf8fbc2ca8f8cdb6efbd0a9e32740d7a991e4c3" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "0bf8fbc2ca8f8cdb6efbd0a9e32740d7a991e4c3" },
"nvim-ts-rainbow2": { "branch": "master", "commit": "cee4601ff8aac73dee4afa1074814343bb5a0b80" }, "nvim-ts-rainbow2": { "branch": "master", "commit": "c00d61ab7517530c49457ba49186776e6611a3e1" },
"nvim-web-devicons": { "branch": "master", "commit": "986875b7364095d6535e28bd4aac3a9357e91bbe" }, "nvim-web-devicons": { "branch": "master", "commit": "2a125024a137677930efcfdf720f205504c97268" },
"otter.nvim": { "branch": "main", "commit": "4630e71b3e94552b7b33ddbfca061d92d0b466c2" }, "otter.nvim": { "branch": "main", "commit": "242d180e7f23cc2af6b5d5193bc50909408caef7" },
"playground": { "branch": "master", "commit": "2b81a018a49f8e476341dfcb228b7b808baba68b" }, "playground": { "branch": "master", "commit": "2b81a018a49f8e476341dfcb228b7b808baba68b" },
"plenary.nvim": { "branch": "master", "commit": "253d34830709d690f013daf2853a9d21ad7accab" }, "plenary.nvim": { "branch": "master", "commit": "253d34830709d690f013daf2853a9d21ad7accab" },
"popup.nvim": { "branch": "master", "commit": "b7404d35d5d3548a82149238289fa71f7f6de4ac" }, "popup.nvim": { "branch": "master", "commit": "b7404d35d5d3548a82149238289fa71f7f6de4ac" },
"quarto-nvim": { "branch": "main", "commit": "43898e09b5f49dee35ff01ff0f873e7d600376be" }, "quarto-nvim": { "branch": "main", "commit": "b299266c6287d74b60480fae348d629ec1dc02bb" },
"significant.nvim": { "branch": "main", "commit": "5450e9d5917dc6aa9afb0fcbe32355799b8303fb" }, "significant.nvim": { "branch": "main", "commit": "5450e9d5917dc6aa9afb0fcbe32355799b8303fb" },
"smartcolumn.nvim": { "branch": "main", "commit": "0c572e3eae48874f25b74394a486f38cadb5c958" }, "smartcolumn.nvim": { "branch": "main", "commit": "0c572e3eae48874f25b74394a486f38cadb5c958" },
"spellsitter.nvim": { "branch": "master", "commit": "4af8640d9d706447e78c13150ef7475ea2c16b30" },
"symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9bc8237565ded606e6c366a71c64c0af25cd7a50" },
"telescope.nvim": { "branch": "master", "commit": "c1a2af0af69e80e14e6b226d3957a064cd080805" }, "telescope.nvim": { "branch": "master", "commit": "c1a2af0af69e80e14e6b226d3957a064cd080805" },
"twilight.nvim": { "branch": "main", "commit": "8bb7fa7b918baab1ca81b977102ddb54afa63512" }, "twilight.nvim": { "branch": "main", "commit": "8bb7fa7b918baab1ca81b977102ddb54afa63512" },
"vifm.vim": { "branch": "master", "commit": "a8130c37d144b51d84bee19f0532abcd3583383f" }, "vifm.vim": { "branch": "master", "commit": "a8130c37d144b51d84bee19f0532abcd3583383f" },
@ -77,9 +76,9 @@
"vim-oscyank": { "branch": "main", "commit": "ffe827a27dae98aa826e2295336c650c9a434da0" }, "vim-oscyank": { "branch": "main", "commit": "ffe827a27dae98aa826e2295336c650c9a434da0" },
"vim-pandoc-syntax": { "branch": "master", "commit": "4268535e1d33117a680a91160d845cd3833dfe28" }, "vim-pandoc-syntax": { "branch": "master", "commit": "4268535e1d33117a680a91160d845cd3833dfe28" },
"vim-spellsync": { "branch": "master", "commit": "3d6dd50de9c4d953cc16638112a6ae196df41463" }, "vim-spellsync": { "branch": "master", "commit": "3d6dd50de9c4d953cc16638112a6ae196df41463" },
"which-key.nvim": { "branch": "main", "commit": "912ef1a9b018bbe45df1529345e42ae0ac896d63" }, "which-key.nvim": { "branch": "main", "commit": "e271c28118998c93a14d189af3395812a1aa646c" },
"wrapping.nvim": { "branch": "master", "commit": "c04a7163dc692d80a2907d06a3af8df1fedffec2" }, "wrapping.nvim": { "branch": "master", "commit": "5e87f1424c86c50d3bc205830aa56ed1cad45467" },
"zen-mode.nvim": { "branch": "main", "commit": "6e6c963d70a8e47854fa656987666bfb863f9c4e" }, "zen-mode.nvim": { "branch": "main", "commit": "6e6c963d70a8e47854fa656987666bfb863f9c4e" },
"zettelkasten.nvim": { "branch": "main", "commit": "0e77624689b470410f5355b613d45219c9350264" }, "zettelkasten.nvim": { "branch": "main", "commit": "0e77624689b470410f5355b613d45219c9350264" },
"zk-nvim": { "branch": "main", "commit": "275578853dc76d282ee5b31f86cd3a4f02d91f2f" } "zk-nvim": { "branch": "main", "commit": "5ddb53688035d115f941f0c8255f6e6618e608ac" }
} }

View file

@ -155,7 +155,7 @@ map('n', '<leader>fh',
":lua require 'telescope.builtin'.find_files({hidden=true})<cr>", ":lua require 'telescope.builtin'.find_files({hidden=true})<cr>",
{ desc = 'find hidden files' }) { desc = 'find hidden files' })
-- general full-text search in cwd with rg -- general full-text search in cwd with rg
map('n', '<leader>fF', ":lua require 'telescope.builtin'.live_grep()<cr>", map('n', '<leader>fw', ":lua require 'telescope.builtin'.live_grep()<cr>",
{ desc = 'grep search' }) { desc = 'grep search' })
-- git status -- git status

View file

@ -1,64 +0,0 @@
-- for each filetype autoformat on save
-- TODO can automatically gather from formatter table keys?
local prettierfmt = {
function()
local set_quotes = "--single-quote"
if vim.bo.filetype == "json" then set_quotes = "--double-quote" end
return {
exe = "prettier",
args = {
"--stdin-filepath", vim.api.nvim_buf_get_name(0), set_quotes
},
stdin = true
}
end
}
local shfmt = {
function() return { exe = "shfmt", args = { "-i 4" }, stdin = true } end
}
local formatters = {
bash = shfmt,
cpp = {
function()
return {
exe = "clang-format",
args = {},
stdin = true,
cwd = vim.fn.expand('%:p:h') -- Run clang-format in cwd of the file.
}
end
},
go = { function() return { exe = "goimports", stdin = true } end },
html = prettierfmt,
javascript = prettierfmt,
json = prettierfmt,
lua = {
function()
return { exe = "lua-format", args = { "--indent-width", 4 }, stdin = true }
end
},
python = { function() return { exe = "black", args = { "-" }, stdin = true } end },
rust = {
function()
return { exe = "rustfmt", args = { "--emit=stdout" }, stdin = true }
end
},
sh = shfmt,
typescript = prettierfmt,
zsh = shfmt
}
require('formatter').setup({ logging = false, filetype = formatters })
-- Format on save:
-- DISABLED FOR NOW, due to messing with git contributions if they
-- do not use a formatter. Instead, formatting with key mapping used.
-- gather filetypes to autocorrect for each activated formatter above
-- for k, _ in pairs(formatters) do
-- vim.api.nvim_create_autocmd({"Filetype " .. k}, {
-- command = "autocmd BufWritePost <buffer> FormatWrite",
-- desc = "Automatically format on write",
-- group = vim.api.nvim_create_augroup('formatonsave', {clear = true})
-- })
-- end

View file

@ -1,99 +1,191 @@
local lsp = require("lsp-zero") local lsp = require("lsp-zero")
vim.diagnostic.config { virtual_text = true } vim.diagnostic.config({ virtual_text = true })
vim.fn.sign_define("DiagnosticSignError", { text = "", texthl = "DiagnosticSignError" }) vim.fn.sign_define("DiagnosticSignError", { text = "", texthl = "DiagnosticSignError" })
vim.fn.sign_define("DiagnosticSignWarn", { text = "", texthl = "DiagnosticSignWarn" }) vim.fn.sign_define("DiagnosticSignWarn", { text = "", texthl = "DiagnosticSignWarn" })
vim.fn.sign_define("DiagnosticSignInfo", { text = "", texthl = "DiagnosticSignInfo" }) vim.fn.sign_define("DiagnosticSignInfo", { text = "", texthl = "DiagnosticSignInfo" })
vim.fn.sign_define("DiagnosticSignHint", { text = "", texthl = "DiagnosticSignHint" }) vim.fn.sign_define("DiagnosticSignHint", { text = "", texthl = "DiagnosticSignHint" })
lsp.ensure_installed({ lsp.ensure_installed({
'arduino_language_server', "astro",
'bashls', "arduino_language_server",
'beancount', "bashls",
'clangd', "beancount",
'dockerls', "clangd",
'docker_compose_language_service', "dockerls",
'lua_ls', "docker_compose_language_service",
'pyright', "lua_ls",
'ruff_lsp', "pyright",
'taplo', "ruff_lsp",
'yamlls', "taplo",
"yamlls",
"tsserver",
"cssls",
"tailwindcss",
}) })
lsp.preset({ name = "recommended", set_lsp_keymaps = false }) lsp.preset({ name = "recommended", set_lsp_keymaps = false })
lsp.on_attach(function(client, bufnr) lsp.on_attach(function(client, bufnr)
require("lsp-format").on_attach(client, bufnr)
local map = vim.keymap.set local map = vim.keymap.set
map('n', '[d', '<cmd>lua vim.diagnostic.goto_prev()<cr>', map("n", "[d", "<cmd>lua vim.diagnostic.goto_prev()<cr>", { buffer = bufnr, desc = "Previous diagnostic" })
{ buffer = bufnr, desc = 'Previous diagnostic' }) map("n", "]d", "<cmd>lua vim.diagnostic.goto_next()<cr>", { buffer = bufnr, desc = "Next diagnostic" })
map('n', ']d', '<cmd>lua vim.diagnostic.goto_next()<cr>', map(
{ buffer = bufnr, desc = 'Next diagnostic' }) "n",
map('n', '[e', "[e",
'<cmd>lua vim.diagnostic.goto_prev({severity = vim.diagnostic.severity.ERROR})<cr>', "<cmd>lua vim.diagnostic.goto_prev({severity = vim.diagnostic.severity.ERROR})<cr>",
{ buffer = bufnr, desc = 'Previous error' }) { buffer = bufnr, desc = "Previous error" }
map('n', ']e', )
'<cmd>lua vim.diagnostic.goto_next({severity = vim.diagnostic.severity.ERROR})<cr>', map(
{ buffer = bufnr, desc = 'Next error' }) "n",
"]e",
"<cmd>lua vim.diagnostic.goto_next({severity = vim.diagnostic.severity.ERROR})<cr>",
{ buffer = bufnr, desc = "Next error" }
)
local prefix = require('which-key').register local prefix = require("which-key").register
prefix({ ['<localleader>l'] = { name = "+lsp" } }) prefix({ ["<localleader>l"] = { name = "+lsp" } })
map('n', '<localleader>li', '<cmd>LspInfo<cr>', map("n", "<localleader>li", "<cmd>LspInfo<cr>", { buffer = bufnr, desc = "Lsp Info" })
{ buffer = bufnr, desc = 'Lsp Info' }) map(
map('n', '<localleader>ld', '<cmd>lua vim.diagnostic.open_float()<cr>', "n",
{ buffer = bufnr, desc = 'Line diagnostics' }) "<localleader>ld",
map('n', '<localleader>la', '<cmd>lua vim.lsp.buf.code_action()<cr>', "<cmd>lua vim.diagnostic.open_float()<cr>",
{ buffer = bufnr, desc = 'Codeactions' }) { buffer = bufnr, desc = "Line diagnostics" }
map('n', '<localleader>ln', '<cmd>lua vim.lsp.buf.rename()<cr>', )
{ buffer = bufnr, desc = 'Rename element' }) map("n", "<localleader>la", "<cmd>lua vim.lsp.buf.code_action()<cr>", { buffer = bufnr, desc = "Codeactions" })
if vim.fn.exists(':Telescope') then map("n", "<localleader>ln", "<cmd>lua vim.lsp.buf.rename()<cr>", { buffer = bufnr, desc = "Rename element" })
map('n', '<localleader>lr', '<cmd>Telescope lsp_references()<cr>', if vim.fn.exists(":Telescope") then
{ buffer = bufnr, desc = 'References' }) map("n", "<localleader>lr", "<cmd>Telescope lsp_references()<cr>", { buffer = bufnr, desc = "References" })
map('n', '<localleader>lf', '<cmd>Telescope lsp_definitions<cr>', map("n", "<localleader>lf", "<cmd>Telescope lsp_definitions<cr>", { buffer = bufnr, desc = "Definition" })
{ buffer = bufnr, desc = 'Definition' }) map(
map('n', '<localleader>lt', '<cmd>Telescope lsp_type_definitions<cr>', "n",
{ buffer = bufnr, desc = 'Type definition' }) "<localleader>lt",
map('n', '<localleader>lm', '<cmd>Telescope lsp_implementations<cr>', "<cmd>Telescope lsp_type_definitions<cr>",
{ buffer = bufnr, desc = 'Implementation' }) { buffer = bufnr, desc = "Type definition" }
)
map(
"n",
"<localleader>lm",
"<cmd>Telescope lsp_implementations<cr>",
{ buffer = bufnr, desc = "Implementation" }
)
else else
map('n', '<localleader>lr', '<cmd>lua vim.lsp.buf.references()<cr>', map("n", "<localleader>lr", "<cmd>lua vim.lsp.buf.references()<cr>", { buffer = bufnr, desc = "References" })
{ buffer = bufnr, desc = 'References' }) map("n", "<localleader>lf", "<cmd>lua vim.lsp.buf.definition()<cr>", { buffer = bufnr, desc = "Definition" })
map('n', '<localleader>lf', '<cmd>lua vim.lsp.buf.definition()<cr>', map(
{ buffer = bufnr, desc = 'Definition' }) "n",
map('n', '<localleader>lt', '<cmd>lua vim.lsp.buf.type_definition()<cr>', "<localleader>lt",
{ buffer = bufnr, desc = 'Type definition' }) "<cmd>lua vim.lsp.buf.type_definition()<cr>",
map('n', '<localleader>lm', '<cmd>lua vim.lsp.buf.implementation()<cr>', { buffer = bufnr, desc = "Type definition" }
{ buffer = bufnr, desc = 'Implementation' }) )
map(
"n",
"<localleader>lm",
"<cmd>lua vim.lsp.buf.implementation()<cr>",
{ buffer = bufnr, desc = "Implementation" }
)
end end
if client.server_capabilities.document_formatting then if client.server_capabilities.document_formatting then
map('n', '<localleader>lf', "<cmd>lua vim.lsp.buf.formatting()<CR>", map(
{ buffer = bufnr, desc = 'Format document' }) "n",
"<localleader>lf",
"<cmd>lua vim.lsp.buf.formatting()<CR>",
{ buffer = bufnr, desc = "Format document" }
)
end end
map('n', 'K', '<cmd>lua vim.lsp.buf.hover()<cr>', map("n", "K", "<cmd>lua vim.lsp.buf.hover()<cr>", { buffer = bufnr, desc = "Hover definition" })
{ buffer = bufnr, desc = 'Hover definition' }) map("n", "<localleader>lc", "<cmd>lua vim.lsp.buf.declaration()<cr>", { buffer = bufnr, desc = "Declaration" })
map('n', '<localleader>lc', '<cmd>lua vim.lsp.buf.declaration()<cr>', map(
{ buffer = bufnr, desc = 'Declaration' }) "n",
map('n', '<localleader>ls', '<cmd>lua vim.lsp.buf.signature_help()<cr>', "<localleader>ls",
{ buffer = bufnr, desc = 'Signature help' }) "<cmd>lua vim.lsp.buf.signature_help()<cr>",
{ buffer = bufnr, desc = "Signature help" }
)
end) end)
lsp.nvim_workspace() lsp.nvim_workspace()
-- ensure python virtualenv is determined automatically on lsp start -- ensure python virtualenv is determined automatically on lsp start
lsp.configure("pyright", { require("lspconfig").pyright.setup({
on_attach = function(client, _) on_attach = function(client, _)
local python_path, msg = require('util.pyenv').get_path(client.config local python_path, msg = require("util.pyenv").get_path(client.config.root_dir)
.root_dir) vim.notify(string.format("%s\n%s", msg, python_path))
vim.notify(string.format('%s\n%s', msg, python_path))
client.config.settings.python.pythonPath = python_path client.config.settings.python.pythonPath = python_path
end end,
}) })
-- set up arduino with the help of arduino.nvim plugin -- set up arduino with the help of arduino.nvim plugin
require('lspconfig').arduino_language_server.setup({ require("lspconfig").arduino_language_server.setup({
on_new_config = require('arduino').on_new_config on_new_config = require("arduino").on_new_config,
})
require("lspconfig").lua_ls.setup(lsp.nvim_lua_ls())
-- map filetypes (rhs) to individual servers (lhs)
-- most will presumably use null_ls however
local format_servers = {
["null-ls"] = {
"astro",
"javascript",
"javascriptreact",
"typescript",
"typescriptreact",
"vue",
"css",
"scss",
"less",
"html",
"json",
"jsonc",
"yaml",
"markdown",
"markdown.mdx",
"graphql",
"handlebars",
"python",
"sh",
"zsh",
"bash",
"lua",
"luau",
},
}
lsp.format_on_save({
format_opts = {
async = true,
},
servers = format_servers,
})
lsp.format_mapping("gq", {
format_opts = {
async = false,
},
servers = format_servers,
}) })
require('lspconfig').lua_ls.setup(lsp.nvim_lua_ls())
lsp.setup() lsp.setup()
local null_ls = require("null-ls")
null_ls.setup({})
require("mason-null-ls").setup({
ensure_installed = { "black", "prettier", "shfmt", "eslint-lsp", "stylua", "jq" },
automatic_installation = false,
handlers = {
shfmt = function(_, _)
null_ls.register(null_ls.builtins.formatting.shfmt.with({
extra_filetypes = { "bash", "zsh" },
}))
end,
prettier = function(_, _)
null_ls.register(null_ls.builtins.formatting.prettier.with({
extra_filetypes = { "astro" },
}))
end,
eslint = function(_, _)
null_ls.register(null_ls.builtins.diagnostics.eslint.with({
extra_filetypes = { "astro" },
}))
null_ls.register(null_ls.builtins.code_actions.eslint.with({
extra_filetypes = { "astro" },
}))
end,
},
})
local luasnip = require("luasnip") local luasnip = require("luasnip")
local has_words_before = function() local has_words_before = function()
@ -126,53 +218,56 @@ local kind_icons = {
Struct = "", Struct = "",
Event = "", Event = "",
Operator = "", Operator = "",
TypeParameter = "" TypeParameter = "",
} }
local cmp = require 'cmp' local cmp = require("cmp")
cmp.setup({ cmp.setup({
window = { window = { documentation = cmp.config.window.bordered() },
documentation = cmp.config.window.bordered()
},
snippet = { snippet = {
expand = function(args) expand = function(args)
require('luasnip').lsp_expand(args.body) require("luasnip").lsp_expand(args.body)
end end,
}, },
sources = { sources = {
{ name = 'nvim_lsp' }, { name = "nvim_lsp" },
{ name = 'otter' }, { name = "otter" },
{ name = 'luasnip', keyword_length = 2 }, { name = "luasnip", keyword_length = 2 },
{ name = 'pandoc_references' }, { name = "pandoc_references" },
{ name = 'nvim_lua' }, { name = "nvim_lua" },
{ {
name = 'beancount', name = "beancount",
option = { option = {
account = vim.env["HOME"] .. '/documents/records/budget/main.beancount' -- TODO implement dynamically account = vim.env["HOME"] .. "/documents/records/budget/main.beancount", -- TODO implement dynamically
}
}, },
{ name = 'calc' }, },
{ name = 'path' }, { name = "calc" },
{ name = 'buffer', keyword_length = 3 }, { name = "path" },
{ name = 'digraphs' }, { name = "buffer", keyword_length = 3 },
{ name = 'latex_symbols' }, { name = "digraphs" },
{ name = 'spell', keyword_length = 3 }, { name = "latex_symbols" },
{ name = 'tmux' }, { name = "spell", keyword_length = 3 },
--{ name = 'rg', keyword_length = 5 }, { name = "tmux" }, -- { name = 'rg', keyword_length = 5 },
{ name = 'vCard' }, { name = "vCard" },
}, },
mapping = cmp.mapping.preset.insert({ mapping = cmp.mapping.preset.insert({
['<C-b>'] = cmp.mapping.scroll_docs(-4), ["<C-b>"] = cmp.mapping.scroll_docs(-4),
['<C-f>'] = cmp.mapping.scroll_docs(4), ["<C-f>"] = cmp.mapping.scroll_docs(4),
["<CR>"] = cmp.mapping({ ["<CR>"] = cmp.mapping({
i = function(fallback) i = function(fallback)
if cmp.visible() and cmp.get_active_entry() then if cmp.visible() and cmp.get_active_entry() then
cmp.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = false }) cmp.confirm({
behavior = cmp.ConfirmBehavior.Replace,
select = false,
})
else else
fallback() fallback()
end end
end, end,
s = cmp.mapping.confirm({ select = true }), s = cmp.mapping.confirm({ select = true }),
c = cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = false }), -- disable selection in cmd mode c = cmp.mapping.confirm({
behavior = cmp.ConfirmBehavior.Replace,
select = false,
}), -- disable selection in cmd mode
}), }),
["<Tab>"] = cmp.mapping(function(fallback) ["<Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then if cmp.visible() then
@ -202,7 +297,7 @@ cmp.setup({
format = function(entry, vim_item) format = function(entry, vim_item)
-- Kind icons, removing kind text leaving only icon -- Kind icons, removing kind text leaving only icon
-- vim_item.kind = string.format('%s %s', kind_icons[vim_item.kind], vim_item.kind) -- vim_item.kind = string.format('%s %s', kind_icons[vim_item.kind], vim_item.kind)
vim_item.kind = string.format('%s', kind_icons[vim_item.kind]) vim_item.kind = string.format("%s", kind_icons[vim_item.kind])
-- Source -- Source
vim_item.menu = ({ vim_item.menu = ({
buffer = "[Buf]", buffer = "[Buf]",
@ -217,18 +312,18 @@ cmp.setup({
vCard = "[vCrd]", vCard = "[vCrd]",
})[entry.source.name] })[entry.source.name]
return vim_item return vim_item
end end,
}, },
}) })
-- `/` cmdline setup. -- `/` cmdline setup.
cmp.setup.cmdline('/', { cmp.setup.cmdline("/", {
mapping = cmp.mapping.preset.cmdline(), mapping = cmp.mapping.preset.cmdline(),
sources = { { name = 'buffer' } } sources = { { name = "buffer" } },
}) })
-- `:` cmdline setup. -- `:` cmdline setup.
cmp.setup.cmdline(':', { cmp.setup.cmdline(":", {
mapping = cmp.mapping.preset.cmdline(), mapping = cmp.mapping.preset.cmdline(),
sources = cmp.config.sources({ { name = 'path' } }, { sources = cmp.config.sources({ { name = "path" } }, {
{ name = 'cmdline', option = { ignore_cmds = { 'Man', '!' } } } { name = "cmdline", option = { ignore_cmds = { "Man", "!" } } },
}) }),
}) })

View file

@ -8,9 +8,7 @@ return {
{ 'ggandor/lightspeed.nvim', event = "VeryLazy" }, -- jump between letters with improved fFtT quicksearch, mimics sneak { 'ggandor/lightspeed.nvim', event = "VeryLazy" }, -- jump between letters with improved fFtT quicksearch, mimics sneak
{ {
'lewis6991/gitsigns.nvim', -- show vcs changes on left-hand gutter 'lewis6991/gitsigns.nvim', -- show vcs changes on left-hand gutter
config = function() config = function() require('plug._gitsigns') end,
require('plug._gitsigns')
end,
event = "BufRead" event = "BufRead"
}, { "m4xshen/smartcolumn.nvim", config = true }, -- auto-hiding colorcolumn }, { "m4xshen/smartcolumn.nvim", config = true }, -- auto-hiding colorcolumn
-- files -- files
@ -29,16 +27,10 @@ return {
'NvChad/nvim-colorizer.lua', -- color hex, named colors in the correct preview scheme 'NvChad/nvim-colorizer.lua', -- color hex, named colors in the correct preview scheme
config = function() config = function()
require('colorizer').setup({ require('colorizer').setup({
user_default_options = { user_default_options = { mode = 'virtualtext' }
mode = 'virtualtext'
}
}) })
end, end,
event = "VeryLazy" event = "VeryLazy"
}, {
'mhartington/formatter.nvim', -- auto formatting on save
config = function() require('plug._format') end,
event = "VeryLazy"
}, -- editing }, -- editing
{ 'kylechui/nvim-surround', version = '*', config = true, event = "VeryLazy" }, -- surround things with other things using ys/cs/ds { 'kylechui/nvim-surround', version = '*', config = true, event = "VeryLazy" }, -- surround things with other things using ys/cs/ds
{ {
@ -194,8 +186,7 @@ return {
{ 'romgrk/nvim-treesitter-context', config = true }, { 'romgrk/nvim-treesitter-context', config = true },
'JoosepAlviste/nvim-ts-context-commentstring' 'JoosepAlviste/nvim-ts-context-commentstring'
} }
}, }, { 'nvim-treesitter/playground', cmd = "TSPlaygroundToggle" }, -- interactively view and query the treesitter tree
{ 'nvim-treesitter/playground', cmd = "TSPlaygroundToggle" }, -- interactively view and query the treesitter tree
{ {
'RRethy/nvim-treesitter-textsubjects', -- allows using . and ; to target treesitter branches 'RRethy/nvim-treesitter-textsubjects', -- allows using . and ; to target treesitter branches
config = function() config = function()
@ -211,11 +202,7 @@ return {
end, end,
event = "BufReadPre" event = "BufReadPre"
}, { }, {
'lewis6991/spellsitter.nvim', -- uses treesitter to highlight spelling errors -- lsp
config = function() require('spellsitter').setup() end,
event = "BufReadPre"
}, -- lsp
{
"VonHeikemen/lsp-zero.nvim", "VonHeikemen/lsp-zero.nvim",
dependencies = { dependencies = {
{ "neovim/nvim-lspconfig", branch = "master" }, { "neovim/nvim-lspconfig", branch = "master" },
@ -234,8 +221,15 @@ return {
"saadparwaiz1/cmp_luasnip" "saadparwaiz1/cmp_luasnip"
} }
}, "L3MON4D3/LuaSnip", "rafamadriz/friendly-snippets", }, "L3MON4D3/LuaSnip", "rafamadriz/friendly-snippets",
{ "lukas-reineke/lsp-format.nvim", config = true }, -- { "lukas-reineke/lsp-format.nvim", config = true },
{ "j-hui/fidget.nvim", config = true } -- loading animations for some LSP { "j-hui/fidget.nvim", config = true }, -- loading animations for some LSP
{
"jay-babu/mason-null-ls.nvim",
event = { "BufReadPre", "BufNewFile" },
dependencies = {
"williamboman/mason.nvim", "jose-elias-alvarez/null-ls.nvim"
},
}
}, },
config = function() require('plug._lsp') end, config = function() require('plug._lsp') end,
branch = "v2.x" branch = "v2.x"

View file

@ -181,3 +181,5 @@ positivity
dataset dataset
endogeneity endogeneity
outliers outliers
GitLab
Gitea

View file

@ -16,4 +16,4 @@ linewrap: 79
tagsymbols: '#@' tagsymbols: '#@'
template: false template: false
timeformat: '%F %r' timeformat: '%F %r'
version: v3.3 version: v4.0