Compare commits

..

4 commits

Author SHA1 Message Date
26f4cc6062
taskwarrior: Change next tags, fix today report 2022-02-13 20:11:01 +01:00
0942c72714
river: Fix riverctl formatting 2022-02-13 20:10:11 +01:00
438547251a
nvim: Fix telescope grep
Fixed grepping for telescope to work again, and work with the native
'live_grep' function.

Replaced fzy extension with precompiled fzf since I have that installed
anyway.

Changed some theming around so I have a fast, minimal file switcher
instead of the big window by default. Can still call the big preview
window through the Telescope command if need be.
2022-02-13 20:07:21 +01:00
dee44417a6
nvim: Add json formatting, auto gather filetypes
Added json to be formatted by prettier like the other javascript-close
filetypes.

Switched the static list of filetypes to automatically format on save to
be replaced by automatically gathering all filetypes set up for
formatter.nvim since I want everything formatted anyway.
2022-02-13 20:05:39 +01:00
6 changed files with 112 additions and 128 deletions

View file

@ -76,9 +76,6 @@ map.n.nore[']q'] = ':cnext<cr>'
-- Location list
map.n.nore['[l'] = ':lprevious<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
vim.g.mapleader = " "
@ -131,11 +128,9 @@ map.n.nore['<leader>s'] =
map.n.nore['<leader>S'] =
[[:lua require 'telescope.builtin'.oldfiles(require 'telescope.themes'.get_ivy())<cr>]]
-- fuzzy find files in cwd
map.n.nore['<leader>f'] =
[[:lua require 'telescope.builtin'.find_files({follow=true, hidden=true})<cr>]]
map.n.nore['<leader>f'] = [[:lua require 'telescope.builtin'.find_files()<cr>]]
-- general full-text search in cwd with rg
map.n.nore['<leader>F'] =
[[:lua require 'telescope'.extensions.fzf_writer.grep()<cr>]]
map.n.nore['<leader>F'] = [[:lua require 'telescope.builtin'.live_grep()<cr>]]
-- git status
map.n.nore['<leader>gs'] = [[:lua require 'telescope.builtin'.git_status()<cr>]]
@ -187,9 +182,6 @@ map.n.nore.silent['<F10>'] = ':TZMinimalist<cr>'
-- map @@ to automatically insert citation reference at cursor
map.i.nore.silent['@@'] = '<c-g>u<c-o>:CiteRef<cr>'
-- 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 check set to <leader>O, 'o' for 'orthography':

View file

@ -2,22 +2,14 @@ local augroup = require('helpers.augroup')
-- for each filetype autoformat on save
-- 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 = {
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),
'--single-quote'
"--stdin-filepath", vim.api.nvim_buf_get_name(0), set_quotes
},
stdin = true
}
@ -27,44 +19,44 @@ local shfmt = {
function() return {exe = "shfmt", args = {"-i 4"}, stdin = true} end
}
require('formatter').setup({
logging = false,
filetype = {
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,
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
}
})
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})
-- gather filetypes to autocorrect for each activated formatter above
local filetype = ""
for k, _ in pairs(formatters) do filetype = filetype .. "," .. k end
augroup({
{'FileType', filetype, 'autocmd', 'BufWritePost', '<buffer>', 'FormatWrite'}
}, 'formatonsave')

View file

@ -1,32 +1,36 @@
-- 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 {
defaults = {
file_sorter = require("telescope.sorters").get_fzy_sorter,
vimgrep_arguments = {
'rg',
'--ignore-vcs',
'--hidden',
'--color=never',
'--no-heading',
'--with-filename',
'--line-number',
'--column',
'--smart-case'
},
},
extensions = {
fzy_native = {
override_generic_sorter = false,
override_file_sorter = true
},
fzf_writer = {
minimum_grep_characters = 2,
minimum_files_characters = 2,
-- Disabled by default.
-- Will probably slow down some aspects of the sorter, but can make color highlights.
use_highlighter = true,
'rg', '--ignore-vcs', '--hidden', '--color=never', '--no-heading',
'--with-filename', '--line-number', '--column', '--smart-case'
}
}
},
pickers = {
buffers = {theme = "ivy"},
oldfiles = {theme = "ivy"},
find_files = {
theme = "dropdown",
-- nice minimal picker design
borderchars = {
{'', '', '', '', '', '', '', ''},
prompt = {"", "", " ", "", '', '', "", ""},
results = {
"", "", "", "", "", "", "", ""
},
preview = {
'', '', '', '', '', '', '', ''
}
},
width = 0.8,
previewer = false,
prompt_title = false
}
}
}
require("telescope").load_extension("fzy_native")
require("telescope").load_extension("fzf_writer")
require("telescope").load_extension("fzf")

View file

@ -159,11 +159,12 @@ require("packer").startup(function()
-- fuzzy matching
use {
"nvim-telescope/telescope.nvim",
requires = {{"nvim-lua/popup.nvim"}, {"nvim-lua/plenary.nvim"}},
requires = {
{"nvim-lua/popup.nvim"}, {"nvim-lua/plenary.nvim"},
{"nvim-telescope/telescope-fzf-native.nvim", run = 'make'}
},
config = function() require('plug._telescope') end
}
use "nvim-telescope/telescope-fzy-native.nvim"
use "nvim-telescope/telescope-fzf-writer.nvim"
-- snippeting
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
# custom today report, sorted by urgency
report.today.description=Tasks scheduled for today, sorted by urgency
report.today.filter=status:pending -WAITING +TODAY limit:page
report.today.filter=status:pending -WAITING +TODAY or +OVERDUE limit:page
report.today.sort=urgency-
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
@ -58,6 +58,7 @@ urgency.tags.coefficient=0
urgency.annotations.coefficient=0
# maybe items are not urgent at all
urgency.user.tag.maybe.coefficient=-100.0
urgency.user.tag.next.coefficient=5.0
# Holidays for calendar
include /usr/share/doc/task/rc/holidays.de-DE.rc

View file

@ -80,12 +80,6 @@ riverctl map normal $mod N spawn "dunstctl close"
riverctl map normal $mod+Shift N spawn "dunstctl close-all"
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
# focus the next/previous view in the layout stack
riverctl map normal $mod J focus-view next
@ -152,20 +146,20 @@ riverctl map normal $mod+Shift Comma send-to-output previous
# set up 10 tags (with '0' opening the 10th one)
for i in $(seq 0 9); do
tags=$((1 << (i - 1)))
if [ "$i" -eq 0 ]; then tags=$((1 << 9)); fi
tags=$((1 << (i - 1)))
if [ "$i" -eq 0 ]; then tags=$((1 << 9)); fi
# Mod+[1-9] to focus tag [0-8]
riverctl map normal $mod "$i" set-focused-tags $tags
# Mod+[1-9] to focus tag [0-8]
riverctl map normal $mod "$i" set-focused-tags $tags
# Mod+Shift+[1-9] to tag focused view with tag [0-8]
riverctl map normal $mod+Shift "$i" set-view-tags $tags
# Mod+Shift+[1-9] to tag focused view with tag [0-8]
riverctl map normal $mod+Shift "$i" set-view-tags $tags
# Mod+Ctrl+[1-9] to toggle focus of tag [0-8]
riverctl map normal $mod+Control "$i" toggle-focused-tags $tags
# Mod+Ctrl+[1-9] to toggle focus of tag [0-8]
riverctl map normal $mod+Control "$i" toggle-focused-tags $tags
# Mod+Shift+Ctrl+[1-9] to toggle tag [0-8] of focused view
riverctl map normal $mod+Shift+Control "$i" toggle-view-tags $tags
# Mod+Shift+Ctrl+[1-9] to toggle tag [0-8] of focused view
riverctl map normal $mod+Shift+Control "$i" toggle-view-tags $tags
done
# focus all tags
@ -177,22 +171,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
# not have a modifier
for mode in normal locked; do
# Eject the optical drive
riverctl map $mode None XF86Eject spawn 'eject -T'
# Eject the optical drive
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 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 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 XF86AudioMute spawn 'pactl set-sink-mute @DEFAULT_SINK@ toggle'
# 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 XF86AudioPlay spawn 'playerctl play-pause'
riverctl map $mode None XF86AudioPrev spawn 'playerctl previous'
riverctl map $mode None XF86AudioNext spawn 'playerctl next'
# 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 XF86AudioPlay spawn 'playerctl play-pause'
riverctl map $mode None XF86AudioPrev spawn 'playerctl previous'
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
riverctl map $mode None XF86MonBrightnessUp spawn 'brightnessctl set 10%+'
riverctl map $mode None XF86MonBrightnessDown spawn 'brightnessctl set 10%-'
# 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 XF86MonBrightnessDown spawn 'brightnessctl set 10%-'
done
# The scratchpad will live on an unused tag. Which tags are used depends on your
@ -216,14 +210,14 @@ riverctl spawn-tagmask ${all_but_scratch_tag}
# device (touchscreen)
# enable touch clicking for touchpads
for pad in $(riverctl list-inputs | grep -i touchpad); do
riverctl input "$pad" events enabled
riverctl input "$pad" tap enabled
riverctl input "$pad" events enabled
riverctl input "$pad" tap enabled
done
for pad in $(riverctl list-inputs | grep -i touchscreen); do
riverctl input "$pad" events enabled
riverctl input "$pad" tap enabled
riverctl input "$pad" drag enabled
riverctl input "$pad" pointer-accel 0.5
riverctl input "$pad" events enabled
riverctl input "$pad" tap enabled
riverctl input "$pad" drag enabled
riverctl input "$pad" pointer-accel 0.5
done
setxkbmap -option "compose:menu"