diff --git a/README.md b/README.md index d798922..a15ed6c 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,16 @@ +### dotfiles These are the messy dotfiles for my Arch Linux system. They're useful for - restoring my system after a catastrophe - almost nothing else :) +#### dracula/vim +I am using my own fork of dracula/vim. Specifically, I changed the color of the virtual text so it doesn't conflict with the cursor line. When updates in upstream come through, we run the following: +- `git switch master` +- `git pull upstream` +- `git switch adamc-main` +- `git merge master` +- `git add . && git commit` +- `git push origin` + + Please feel free to contact me with any questions; I'll be glad to help. diff --git a/neovim/init.lua b/neovim/init.lua index d04eb5b..2deb8aa 100644 --- a/neovim/init.lua +++ b/neovim/init.lua @@ -6,8 +6,8 @@ vim.opt.clipboard = "unnamedplus,unnamed" -- Spaces indentation vim.opt.expandtab = true -- converts tabs to spaces -vim.opt.tabstop = 2 -- tab equals 2 spaces -vim.opt.shiftwidth = 2 -- indent size in characters +vim.opt.tabstop = 4 -- tab equals 2 spaces +vim.opt.shiftwidth = 4 -- indent size in characters -- Show whitespace (:list) vim.opt.listchars = "eol:¬,tab:>-,trail:~,extends:>,precedes:<,space:·" @@ -22,13 +22,13 @@ vim.opt.splitright = true vim.opt.cursorline = true -- Enable folding -vim.opt.foldmethod = "indent" -vim.opt.foldlevel = 99 +vim.opt.foldmethod = "syntax" +vim.opt.foldlevel = 0 --- Terminal colors +-- Enable 24-bit RGB color in the TUI vim.opt.termguicolors = true --- Cursor line context +-- Minimal number of lines kept above and below the cursor vim.opt.scrolloff = 5 -- netrw @@ -40,14 +40,16 @@ vim.g.netrw_liststyle = 3 -- tree style listing -- vim.keymap.set("t", "", "", { noremap = true }) -- Sane vim split naviagation (via Gaslight blog) -vim.keymap.set("n", "", "j", { noremap = true }) -vim.keymap.set("n", "", "k", { noremap = true }) -vim.keymap.set("n", "", "h", { noremap = true }) -vim.keymap.set("n", "", "l", { noremap = true }) -vim.keymap.set("t", "", "j", { noremap = true }) -vim.keymap.set("t", "", "k", { noremap = true }) -vim.keymap.set("t", "", "h", { noremap = true }) -vim.keymap.set("t", "", "l", { noremap = true }) +vim.keymap.set("n", "", "j", { noremap = true, desc = 'Go to window below' }) +vim.keymap.set("n", "", "k", { noremap = true, desc = 'Go to window above' }) +vim.keymap.set("n", "", "h", { noremap = true, desc = 'Go to window to the left' }) + +-- N.B. This conflicts with the NetRW directory refresh command. +vim.keymap.set("n", "", "l", { noremap = true, desc = 'Go to window to the right' }) +vim.keymap.set("t", "", "j", { noremap = true, desc = 'Go to window below' }) +vim.keymap.set("t", "", "k", { noremap = true, desc = 'Go to window above' }) +vim.keymap.set("t", "", "h", { noremap = true, desc = 'Go to window to the left' }) +vim.keymap.set("t", "", "l", { noremap = true, desc = 'Go to window to the right' }) vim.keymap.set( {"i", "n", "t", "v"}, @@ -85,7 +87,8 @@ vim.opt.rtp:prepend(lazypath) require("lazy").setup({ { - "dracula/vim", + url = "https://git.theadamcooper.com/adam/dracula-vim.git", + branch = "adamc-main", name = "dracula", lazy = false, priority = 1000, @@ -113,7 +116,7 @@ require("lazy").setup({ end, opts = { window = { - border = "shadow", + border = "single", }, }, }, @@ -159,8 +162,13 @@ it also provides the buffer breadcrumbs. require('lualine').setup { options = { theme = 'dracula' }, tabline = { - lualine_a = { 'buffers' }, - } + lualine_a = { + { + 'buffers', + mode = 4, + }, + }, + }, } --[[ Telescope @@ -283,7 +291,7 @@ lspconfig.rust_analyzer.setup { }, } --- Global mappings. +-- Global mappings : Diagnostics -- See `:help vim.diagnostic.*` for documentation on any of the below functions vim.keymap.set('n', 'e', vim.diagnostic.open_float, { desc = 'Diagnostic: open float' }) vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, { desc = 'Diagnostic: go to previous' }) @@ -380,13 +388,13 @@ require('gitsigns').setup({ if vim.wo.diff then return ']c' end vim.schedule(function() gs.next_hunk() end) return '' - end, {expr=true}) + end, {expr=true, desc='GitSigns: go to next hunk'}) map('n', '[c', function() if vim.wo.diff then return '[c' end vim.schedule(function() gs.prev_hunk() end) return '' - end, {expr=true}) + end, {expr=true, desc='GitSigns: go to previous hunk'}) -- Actions map('n', 'hs', gs.stage_hunk, { desc = 'GitSigns: stage hunk' }) @@ -406,10 +414,15 @@ require('gitsigns').setup({ end }) +--[[ +-- LSPSaga : provides a diverse basket of utilities +--]] require('lspsaga').setup() -- Tweak GitSigns blame color +-- This differentiates the cursorline from the git blame text vim.cmd("highlight GitSignsCurrentLineBlame gui=bold guifg=#339944") +vim.cmd("highlight NonText gui=bold guifg=#999999") -- Switch syntax highlighting on vim.cmd("syntax enable") diff --git a/newsboat/.newsboat/config b/newsboat/.newsboat/config index 19823d9..43fa7b4 100644 --- a/newsboat/.newsboat/config +++ b/newsboat/.newsboat/config @@ -44,7 +44,7 @@ highlight article ":.*\\(image\\)$" blue default highlight article ":.*\\(embedded flash\\)$" magenta default keep-articles-days 45 -macro c set browser "xterm -e mpv --vid=no -- %u &"; one; set browser qutebrowser +macro p set browser "mpv --player-operation-mode=pseudo-gui -- %u &"; one; set browser w3m max-items 4096 notify-program "/usr/bin/notify-send" urls-source "freshrss"