Compare commits
No commits in common. "26f4cc6062475ee54cbd7b2e79755f8129ac90db" and "94cd954df9a677b7cdf9a47a8e2b85efd2a97e14" have entirely different histories.
26f4cc6062
...
94cd954df9
6 changed files with 127 additions and 111 deletions
|
@ -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':
|
||||||
|
|
|
@ -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')
|
})
|
||||||
|
|
|
@ -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")
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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"
|
||||||
|
|
Loading…
Reference in a new issue