Compare commits

..

No commits in common. "26f4cc6062475ee54cbd7b2e79755f8129ac90db" and "94cd954df9a677b7cdf9a47a8e2b85efd2a97e14" have entirely different histories.

6 changed files with 127 additions and 111 deletions

View file

@ -76,6 +76,9 @@ map.n.nore[']q'] = ':cnext<cr>'
-- Location list -- Location list
map.n.nore['[l'] = ':lprevious<cr>' map.n.nore['[l'] = ':lprevious<cr>'
map.n.nore[']l'] = ':lnext<cr>' map.n.nore[']l'] = ':lnext<cr>'
-- Hunks (from gitsigns)
map.n.nore.expr['[h'] = [[&diff ? ']c' : '<cmd>Gitsigns prev_hunk<CR>']]
map.n.nore.expr[']h'] = [[&diff ? '[c' : '<cmd>Gitsigns next_hunk<CR>']]
-- set our leader key to space since with hjkl, space is largely useless -- set our leader key to space since with hjkl, space is largely useless
vim.g.mapleader = " " vim.g.mapleader = " "
@ -128,9 +131,11 @@ map.n.nore['<leader>s'] =
map.n.nore['<leader>S'] = map.n.nore['<leader>S'] =
[[:lua require 'telescope.builtin'.oldfiles(require 'telescope.themes'.get_ivy())<cr>]] [[:lua require 'telescope.builtin'.oldfiles(require 'telescope.themes'.get_ivy())<cr>]]
-- fuzzy find files in cwd -- fuzzy find files in cwd
map.n.nore['<leader>f'] = [[:lua require 'telescope.builtin'.find_files()<cr>]] map.n.nore['<leader>f'] =
[[:lua require 'telescope.builtin'.find_files({follow=true, hidden=true})<cr>]]
-- general full-text search in cwd with rg -- general full-text search in cwd with rg
map.n.nore['<leader>F'] = [[:lua require 'telescope.builtin'.live_grep()<cr>]] map.n.nore['<leader>F'] =
[[:lua require 'telescope'.extensions.fzf_writer.grep()<cr>]]
-- git status -- git status
map.n.nore['<leader>gs'] = [[:lua require 'telescope.builtin'.git_status()<cr>]] map.n.nore['<leader>gs'] = [[:lua require 'telescope.builtin'.git_status()<cr>]]
@ -182,6 +187,9 @@ map.n.nore.silent['<F10>'] = ':TZMinimalist<cr>'
-- map @@ to automatically insert citation reference at cursor -- map @@ to automatically insert citation reference at cursor
map.i.nore.silent['@@'] = '<c-g>u<c-o>:CiteRef<cr>' map.i.nore.silent['@@'] = '<c-g>u<c-o>:CiteRef<cr>'
-- map <leader>cc to insert a complete citation at cursor -- map <leader>cc to insert a complete citation at cursor
map.n.nore.silent['<leader>cc'] = ':CiteRef<cr>'
-- map <leader>cm to insert markdown prettified citation
map.n.nore.silent['<localleader>cm'] = ':CiteMarkdown<cr>'
-- SPELL CHECKING -- SPELL CHECKING
-- Spell check set to <leader>O, 'o' for 'orthography': -- Spell check set to <leader>O, 'o' for 'orthography':

View file

@ -2,14 +2,22 @@ local augroup = require('helpers.augroup')
-- for each filetype autoformat on save -- for each filetype autoformat on save
-- TODO can automatically gather from formatter table keys? -- TODO can automatically gather from formatter table keys?
local filetypes =
'bash,cpp,go,html,javascript,lua,python,rust,sh,typescript,zsh'
augroup({
{
'FileType', filetypes, 'autocmd', 'BufWritePost', '<buffer>',
'FormatWrite'
}
}, 'formatonsave')
local prettierfmt = { local prettierfmt = {
function() function()
local set_quotes = "--single-quote"
if vim.bo.filetype == "json" then set_quotes = "--double-quote" end
return { return {
exe = "prettier", exe = "prettier",
args = { args = {
"--stdin-filepath", vim.api.nvim_buf_get_name(0), set_quotes "--stdin-filepath", vim.api.nvim_buf_get_name(0),
'--single-quote'
}, },
stdin = true stdin = true
} }
@ -19,44 +27,44 @@ local shfmt = {
function() return {exe = "shfmt", args = {"-i 4"}, stdin = true} end function() return {exe = "shfmt", args = {"-i 4"}, stdin = true} end
} }
local formatters = { require('formatter').setup({
bash = shfmt, logging = false,
cpp = { filetype = {
function() bash = shfmt,
return { cpp = {
exe = "clang-format", function()
args = {}, return {
stdin = true, exe = "clang-format",
cwd = vim.fn.expand('%:p:h') -- Run clang-format in cwd of the file. args = {},
} stdin = true,
end cwd = vim.fn.expand('%:p:h') -- Run clang-format in cwd of the file.
}, }
go = {function() return {exe = "goimports", stdin = true} end}, end
html = prettierfmt, },
javascript = prettierfmt, go = {function() return {exe = "goimports", stdin = true} end},
json = prettierfmt, html = prettierfmt,
lua = { javascript = prettierfmt,
function() lua = {
return function()
{exe = "lua-format", args = {"--indent-width", 4}, stdin = true} return {
end exe = "lua-format",
}, args = {"--indent-width", 4},
python = {function() return {exe = "black", args = {"-"}, stdin = true} end}, stdin = true
rust = { }
function() end
return {exe = "rustfmt", args = {"--emit=stdout"}, stdin = true} },
end python = {
}, function()
sh = shfmt, return {exe = "black", args = {"-"}, stdin = true}
typescript = prettierfmt, end
zsh = shfmt },
} rust = {
function()
require('formatter').setup({logging = false, filetype = formatters}) return {exe = "rustfmt", args = {"--emit=stdout"}, stdin = true}
end
-- gather filetypes to autocorrect for each activated formatter above },
local filetype = "" sh = shfmt,
for k, _ in pairs(formatters) do filetype = filetype .. "," .. k end typescript = prettierfmt,
augroup({ zsh = shfmt
{'FileType', filetype, 'autocmd', 'BufWritePost', '<buffer>', 'FormatWrite'} }
}, 'formatonsave') })

View file

@ -1,36 +1,32 @@
-- Setup up telescope fuzzy finding settings
--
-- Makes use of optionally installed external programs to work fully:
-- rg (ripgrep) for in-text searches
-- fd for quicker directory structure searches
-- lsp for a variety of lsp queries
require("telescope").setup { require("telescope").setup {
defaults = { defaults = {
file_sorter = require("telescope.sorters").get_fzy_sorter,
vimgrep_arguments = { vimgrep_arguments = {
'rg', '--ignore-vcs', '--hidden', '--color=never', '--no-heading', 'rg',
'--with-filename', '--line-number', '--column', '--smart-case' '--ignore-vcs',
} '--hidden',
'--color=never',
'--no-heading',
'--with-filename',
'--line-number',
'--column',
'--smart-case'
},
}, },
pickers = { extensions = {
buffers = {theme = "ivy"}, fzy_native = {
oldfiles = {theme = "ivy"}, override_generic_sorter = false,
find_files = { override_file_sorter = true
theme = "dropdown", },
-- nice minimal picker design fzf_writer = {
borderchars = { minimum_grep_characters = 2,
{'', '', '', '', '', '', '', ''}, minimum_files_characters = 2,
prompt = {"", "", " ", "", '', '', "", ""},
results = { -- Disabled by default.
"", "", "", "", "", "", "", "" -- Will probably slow down some aspects of the sorter, but can make color highlights.
}, use_highlighter = true,
preview = {
'', '', '', '', '', '', '', ''
}
},
width = 0.8,
previewer = false,
prompt_title = false
} }
} }
} }
require("telescope").load_extension("fzf") require("telescope").load_extension("fzy_native")
require("telescope").load_extension("fzf_writer")

View file

@ -159,12 +159,11 @@ require("packer").startup(function()
-- fuzzy matching -- fuzzy matching
use { use {
"nvim-telescope/telescope.nvim", "nvim-telescope/telescope.nvim",
requires = { requires = {{"nvim-lua/popup.nvim"}, {"nvim-lua/plenary.nvim"}},
{"nvim-lua/popup.nvim"}, {"nvim-lua/plenary.nvim"},
{"nvim-telescope/telescope-fzf-native.nvim", run = 'make'}
},
config = function() require('plug._telescope') end config = function() require('plug._telescope') end
} }
use "nvim-telescope/telescope-fzy-native.nvim"
use "nvim-telescope/telescope-fzf-writer.nvim"
-- snippeting -- snippeting
use {"hrsh7th/vim-vsnip", event = "InsertEnter"} -- snippet engine use {"hrsh7th/vim-vsnip", event = "InsertEnter"} -- snippet engine

View file

@ -38,7 +38,7 @@ report.next.labels=,Project,Pri,Urg,Due,Description,Tags,Sched,Age,Recur
report.overdue.filter=(status:pending or +WAITING) and +OVERDUE and -TODAY report.overdue.filter=(status:pending or +WAITING) and +OVERDUE and -TODAY
# custom today report, sorted by urgency # custom today report, sorted by urgency
report.today.description=Tasks scheduled for today, sorted by urgency report.today.description=Tasks scheduled for today, sorted by urgency
report.today.filter=status:pending -WAITING +TODAY or +OVERDUE limit:page report.today.filter=status:pending -WAITING +TODAY limit:page
report.today.sort=urgency- report.today.sort=urgency-
report.today.columns=id,project,priority,urgency,due,description,tags,scheduled,entry.age,recur report.today.columns=id,project,priority,urgency,due,description,tags,scheduled,entry.age,recur
report.today.labels=,Project,Pri,Urg,Due,Description,Tags,Sched,Age,Recur report.today.labels=,Project,Pri,Urg,Due,Description,Tags,Sched,Age,Recur
@ -58,7 +58,6 @@ urgency.tags.coefficient=0
urgency.annotations.coefficient=0 urgency.annotations.coefficient=0
# maybe items are not urgent at all # maybe items are not urgent at all
urgency.user.tag.maybe.coefficient=-100.0 urgency.user.tag.maybe.coefficient=-100.0
urgency.user.tag.next.coefficient=5.0
# Holidays for calendar # Holidays for calendar
include /usr/share/doc/task/rc/holidays.de-DE.rc include /usr/share/doc/task/rc/holidays.de-DE.rc

View file

@ -80,6 +80,12 @@ riverctl map normal $mod N spawn "dunstctl close"
riverctl map normal $mod+Shift N spawn "dunstctl close-all" riverctl map normal $mod+Shift N spawn "dunstctl close-all"
riverctl map normal $mod+Control N spawn "dunstctl history-pop" riverctl map normal $mod+Control N spawn "dunstctl history-pop"
# # Clear clipboard
# riverctl map normal $mod BackSpace spawn 'wl-copy -c && printf ''|xclip -selection c'
# # PixelColor script
# riverctl map normal "Mod1" C spawn 'bash ~/.config/bin/pixelcolor'
# MOVEMENT # MOVEMENT
# focus the next/previous view in the layout stack # focus the next/previous view in the layout stack
riverctl map normal $mod J focus-view next riverctl map normal $mod J focus-view next
@ -146,20 +152,20 @@ riverctl map normal $mod+Shift Comma send-to-output previous
# set up 10 tags (with '0' opening the 10th one) # set up 10 tags (with '0' opening the 10th one)
for i in $(seq 0 9); do for i in $(seq 0 9); do
tags=$((1 << (i - 1))) tags=$((1 << (i - 1)))
if [ "$i" -eq 0 ]; then tags=$((1 << 9)); fi if [ "$i" -eq 0 ]; then tags=$((1 << 9)); fi
# Mod+[1-9] to focus tag [0-8] # Mod+[1-9] to focus tag [0-8]
riverctl map normal $mod "$i" set-focused-tags $tags riverctl map normal $mod "$i" set-focused-tags $tags
# Mod+Shift+[1-9] to tag focused view with tag [0-8] # Mod+Shift+[1-9] to tag focused view with tag [0-8]
riverctl map normal $mod+Shift "$i" set-view-tags $tags riverctl map normal $mod+Shift "$i" set-view-tags $tags
# Mod+Ctrl+[1-9] to toggle focus of tag [0-8] # Mod+Ctrl+[1-9] to toggle focus of tag [0-8]
riverctl map normal $mod+Control "$i" toggle-focused-tags $tags riverctl map normal $mod+Control "$i" toggle-focused-tags $tags
# Mod+Shift+Ctrl+[1-9] to toggle tag [0-8] of focused view # Mod+Shift+Ctrl+[1-9] to toggle tag [0-8] of focused view
riverctl map normal $mod+Shift+Control "$i" toggle-view-tags $tags riverctl map normal $mod+Shift+Control "$i" toggle-view-tags $tags
done done
# focus all tags # focus all tags
@ -171,22 +177,22 @@ riverctl map normal $mod+Shift equal set-view-tags $all_tags
# Various media key mapping examples for both normal and locked mode which do # Various media key mapping examples for both normal and locked mode which do
# not have a modifier # not have a modifier
for mode in normal locked; do for mode in normal locked; do
# Eject the optical drive # Eject the optical drive
riverctl map $mode None XF86Eject spawn 'eject -T' riverctl map $mode None XF86Eject spawn 'eject -T'
riverctl map $mode None XF86AudioRaiseVolume spawn 'pactl set-sink-volume @DEFAULT_SINK@ +5%' riverctl map $mode None XF86AudioRaiseVolume spawn 'pactl set-sink-volume @DEFAULT_SINK@ +5%'
riverctl map $mode None XF86AudioLowerVolume spawn 'pactl set-sink-volume @DEFAULT_SINK@ -5%' riverctl map $mode None XF86AudioLowerVolume spawn 'pactl set-sink-volume @DEFAULT_SINK@ -5%'
riverctl map $mode None XF86AudioMute spawn 'pactl set-sink-mute @DEFAULT_SINK@ toggle' riverctl map $mode None XF86AudioMute spawn 'pactl set-sink-mute @DEFAULT_SINK@ toggle'
# Control MPRIS aware media players with playerctl (https://github.com/altdesktop/playerctl) # Control MPRIS aware media players with playerctl (https://github.com/altdesktop/playerctl)
riverctl map $mode None XF86AudioMedia spawn 'playerctl play-pause' riverctl map $mode None XF86AudioMedia spawn 'playerctl play-pause'
riverctl map $mode None XF86AudioPlay spawn 'playerctl play-pause' riverctl map $mode None XF86AudioPlay spawn 'playerctl play-pause'
riverctl map $mode None XF86AudioPrev spawn 'playerctl previous' riverctl map $mode None XF86AudioPrev spawn 'playerctl previous'
riverctl map $mode None XF86AudioNext spawn 'playerctl next' riverctl map $mode None XF86AudioNext spawn 'playerctl next'
# You can control screen backlight brighness with light (https://github.com/haikarainen/light); but we prefer brightnessctl # You can control screen backlight brighness with light (https://github.com/haikarainen/light); but we prefer brightnessctl
riverctl map $mode None XF86MonBrightnessUp spawn 'brightnessctl set 10%+' riverctl map $mode None XF86MonBrightnessUp spawn 'brightnessctl set 10%+'
riverctl map $mode None XF86MonBrightnessDown spawn 'brightnessctl set 10%-' riverctl map $mode None XF86MonBrightnessDown spawn 'brightnessctl set 10%-'
done done
# The scratchpad will live on an unused tag. Which tags are used depends on your # The scratchpad will live on an unused tag. Which tags are used depends on your
@ -210,14 +216,14 @@ riverctl spawn-tagmask ${all_but_scratch_tag}
# device (touchscreen) # device (touchscreen)
# enable touch clicking for touchpads # enable touch clicking for touchpads
for pad in $(riverctl list-inputs | grep -i touchpad); do for pad in $(riverctl list-inputs | grep -i touchpad); do
riverctl input "$pad" events enabled riverctl input "$pad" events enabled
riverctl input "$pad" tap enabled riverctl input "$pad" tap enabled
done done
for pad in $(riverctl list-inputs | grep -i touchscreen); do for pad in $(riverctl list-inputs | grep -i touchscreen); do
riverctl input "$pad" events enabled riverctl input "$pad" events enabled
riverctl input "$pad" tap enabled riverctl input "$pad" tap enabled
riverctl input "$pad" drag enabled riverctl input "$pad" drag enabled
riverctl input "$pad" pointer-accel 0.5 riverctl input "$pad" pointer-accel 0.5
done done
setxkbmap -option "compose:menu" setxkbmap -option "compose:menu"