Compare commits
14 Commits
c1f925aa92
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| a5fbf7dea0 | |||
| a538fc75fd | |||
| 31926f32c9 | |||
| 70694cf5fa | |||
| d494670a8a | |||
| 42fba07935 | |||
| 2ca3682564 | |||
| 1eb6626965 | |||
| 4f83f044b6 | |||
| f99e215cbd | |||
| 8c842122cf | |||
| 822af1d987 | |||
| 9d4cce8bae | |||
| f11376c1a4 |
@@ -16,6 +16,7 @@ Checks:
|
|||||||
- '-bugprone-easily-swappable-parameters'
|
- '-bugprone-easily-swappable-parameters'
|
||||||
- '-clang-analyzer-security.insecureAPI.*'
|
- '-clang-analyzer-security.insecureAPI.*'
|
||||||
- '-misc-include-cleaner'
|
- '-misc-include-cleaner'
|
||||||
|
- '-bugprone-reserved-identifier'
|
||||||
WarningsAsErrors: ''
|
WarningsAsErrors: ''
|
||||||
HeaderFileExtensions:
|
HeaderFileExtensions:
|
||||||
- ''
|
- ''
|
||||||
|
|||||||
@@ -20,3 +20,4 @@ Diagnostics:
|
|||||||
- bugprone-implicit-widening-of-multiplication-result
|
- bugprone-implicit-widening-of-multiplication-result
|
||||||
- bugprone-switch-missing-default-case
|
- bugprone-switch-missing-default-case
|
||||||
- bugprone-easily-swappable-parameters
|
- bugprone-easily-swappable-parameters
|
||||||
|
- bugprone-reserved-identifier
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ assign [class="app-ws12"] $ws12
|
|||||||
assign [class="vesktop"] $ws9
|
assign [class="vesktop"] $ws9
|
||||||
|
|
||||||
# autostart applications on a specific workspace
|
# autostart applications on a specific workspace
|
||||||
|
exec --no-startup-id i3-msg 'workspace $ws3; exec thunderbird'
|
||||||
exec --no-startup-id i3-msg 'workspace $ws2; exec firefox --new-window'
|
exec --no-startup-id i3-msg 'workspace $ws2; exec firefox --new-window'
|
||||||
exec --no-startup-id i3-msg 'workspace $ws1; exec kitty --single-instance'
|
exec --no-startup-id i3-msg 'workspace $ws1; exec kitty --single-instance'
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,12 @@ git:
|
|||||||
pagers:
|
pagers:
|
||||||
- colorArg: always
|
- colorArg: always
|
||||||
pager: diff-so-fancy
|
pager: diff-so-fancy
|
||||||
useConfig: false
|
|
||||||
overrideGpg: true
|
overrideGpg: true
|
||||||
update:
|
update:
|
||||||
method: never
|
method: never
|
||||||
|
customCommands:
|
||||||
|
- key: 'P'
|
||||||
|
command: "git push {{.SelectedRemote.Name}} {{.SelectedLocalCommit.Sha}}:{{.SelectedLocalBranch.Name}}"
|
||||||
|
context: "commits"
|
||||||
|
loadingText: "Pushing commit..."
|
||||||
|
description: "Push a specific commit (and any preceding)"
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ Map('n', '<c-t>', '<cmd>enew<cr>', { desc = 'create a new buffer' })
|
|||||||
Map('n', '<tab>', '<cmd>bnext<cr>', { desc = 'move to next buffer' })
|
Map('n', '<tab>', '<cmd>bnext<cr>', { desc = 'move to next buffer' })
|
||||||
Map('n', '<s-tab>', '<cmd>bprevious<cr>', { desc = 'move to previous buffer' })
|
Map('n', '<s-tab>', '<cmd>bprevious<cr>', { desc = 'move to previous buffer' })
|
||||||
Map('n', '<c-w>', '<cmd>bd<cr>', { desc = 'close buffer' })
|
Map('n', '<c-w>', '<cmd>bd<cr>', { desc = 'close buffer' })
|
||||||
|
Map('n', '<c-f4>', '<cmd>bd<cr>', { desc = 'close buffer' })
|
||||||
|
|
||||||
-- for help exiting certain modes
|
-- for help exiting certain modes
|
||||||
Map({ 'n', 'i' }, '<esc>', '<cmd>nohlsearch<cr><esc>', { desc = 'cancel search highlighting and escape' })
|
Map({ 'n', 'i' }, '<esc>', '<cmd>nohlsearch<cr><esc>', { desc = 'cancel search highlighting and escape' })
|
||||||
@@ -31,6 +32,8 @@ Map('n', 'K', vim.lsp.buf.hover, { desc = 'symbol hover' })
|
|||||||
Map('n', '<F2>', vim.lsp.buf.rename, { desc = 'rename symbol' })
|
Map('n', '<F2>', vim.lsp.buf.rename, { desc = 'rename symbol' })
|
||||||
Map('n', '<leader>lm', vim.diagnostic.open_float, { desc = 'view line\'s diagnostic messages' })
|
Map('n', '<leader>lm', vim.diagnostic.open_float, { desc = 'view line\'s diagnostic messages' })
|
||||||
Map('n', '<leader>q', vim.lsp.buf.code_action, { desc = 'view quickfix list' })
|
Map('n', '<leader>q', vim.lsp.buf.code_action, { desc = 'view quickfix list' })
|
||||||
|
Map('n', 'gd', vim.lsp.buf.definition, { desc = "Go to the definition" })
|
||||||
|
Map('n', 'gr', vim.lsp.buf.references, { desc = "Go to the reference" })
|
||||||
|
|
||||||
-- smart tabulation
|
-- smart tabulation
|
||||||
Map('i', '<tab>', function()
|
Map('i', '<tab>', function()
|
||||||
|
|||||||
@@ -2,17 +2,8 @@ local o = vim.opt
|
|||||||
|
|
||||||
-- set options
|
-- set options
|
||||||
o.clipboard = "unnamedplus" -- keep the clipboard in sync with the one provided by the OS
|
o.clipboard = "unnamedplus" -- keep the clipboard in sync with the one provided by the OS
|
||||||
o.termguicolors = true -- allows for colour in the terminal
|
|
||||||
o.number = true -- show line numbers
|
|
||||||
o.cursorline = true -- highlight the current line
|
o.cursorline = true -- highlight the current line
|
||||||
o.cursorcolumn = false -- highlight the current column
|
o.ignorecase = true -- whether case should be ignored whilst searching
|
||||||
o.dir = vim.fn.stdpath('cache') .. '/swp' -- swap directory location for recovery
|
|
||||||
o.sessionoptions = 'buffers,curdir,folds,help,localoptions,tabpages,terminal'
|
|
||||||
o.expandtab = false -- whether tabs are expanded to spaces (overridden by .editorconfig)
|
|
||||||
o.diffopt = 'internal,filler,closeoff,linematch:60' -- diff visualisation
|
|
||||||
o.foldenable = true -- whether folding is enabled
|
|
||||||
o.wrap = false -- whether to wrap text to a new line when it goes off-screen
|
|
||||||
o.breakindent = true -- wrapped lines start at the same location as the start of the line
|
|
||||||
o.list = true -- shows invisible characters
|
o.list = true -- shows invisible characters
|
||||||
o.listchars = { -- whitespace characters
|
o.listchars = { -- whitespace characters
|
||||||
eol = nil,
|
eol = nil,
|
||||||
@@ -23,30 +14,25 @@ o.listchars = { -- whitespace charact
|
|||||||
space = '·',
|
space = '·',
|
||||||
nbsp = '␣',
|
nbsp = '␣',
|
||||||
}
|
}
|
||||||
o.mouse = 'nv' -- which modes the mouse is enabled in 'a:all'
|
o.number = true -- show line numbers
|
||||||
o.relativenumber = true -- whether line numbers are relative to the cursor
|
o.relativenumber = true -- whether line numbers are relative to the cursor
|
||||||
o.scrolloff = 10 -- minimal number of screen lines to keep above and below the cursor
|
o.sessionoptions = 'buffers,curdir,folds,help,localoptions,tabpages,terminal'
|
||||||
o.showtabline = 2 -- whether to show the tab line
|
|
||||||
o.signcolumn = 'yes' -- always show the signcolumn, otherwise it shifts text all the time
|
|
||||||
o.tabstop = 8 -- visual spaces per tab
|
|
||||||
o.softtabstop = 8 -- spaces inserted per tab in insert mode
|
|
||||||
o.shiftwidth = 8 -- spaces for auto-indent
|
o.shiftwidth = 8 -- spaces for auto-indent
|
||||||
o.smartindent = true -- behave a bit more nuanced with when to indent
|
|
||||||
o.ignorecase = true -- whether case should be ignored whilst searching
|
|
||||||
o.smartcase = true -- overrides the above option if contains capital letters
|
|
||||||
o.inccommand = 'split' -- split|nosplit whether substitutions should appear whilst typing.
|
|
||||||
o.splitbelow = true -- force all horizontal splits below the current window
|
|
||||||
o.splitright = true -- force all vertical splits to the right of this window
|
|
||||||
o.showmode = false -- don't show mode as this is already in the status line
|
o.showmode = false -- don't show mode as this is already in the status line
|
||||||
|
o.signcolumn = 'yes' -- always show the signcolumn, otherwise it shifts text all the time
|
||||||
|
o.smartcase = true -- overrides the above option if contains capital letters
|
||||||
|
o.smartindent = true -- behave a bit more nuanced with when to indent
|
||||||
|
o.spell = true -- whether spell checking is enabled
|
||||||
|
o.spellfile = vim.fn.stdpath('config') .. '/spell/user.utf-8.add'
|
||||||
|
o.spelllang = 'en_gb,nl' -- set the spell languages
|
||||||
|
o.termguicolors = true -- allows for colour in the terminal
|
||||||
|
o.timeoutlen = 300 -- number of MS to wait for a mapped sequence to complete
|
||||||
|
o.ttimeoutlen = 0 -- number of MS to wait for a key sequence to complete
|
||||||
o.undodir = vim.fn.stdpath('cache') .. '/undo' -- directory for undo files
|
o.undodir = vim.fn.stdpath('cache') .. '/undo' -- directory for undo files
|
||||||
o.undofile = true -- for saving the undo history
|
o.undofile = true -- for saving the undo history
|
||||||
o.undolevels = 1024 -- the amount of changes that can be undone
|
o.undolevels = 1024 -- the amount of changes that can be undone
|
||||||
o.timeoutlen = 300 -- number of MS to wait for a mapped sequence to complete
|
|
||||||
o.ttimeoutlen = 0 -- number of MS to wait for a key sequence to complete
|
|
||||||
o.updatetime = 250 -- number of MS of nothing typed to write a swap file to disk.
|
o.updatetime = 250 -- number of MS of nothing typed to write a swap file to disk.
|
||||||
o.spell = true -- whether spell checking is enabled
|
o.wrap = false -- whether to wrap text to a new line when it goes off-screen
|
||||||
o.spelllang = 'en_gb,nl' -- set the spell languages
|
|
||||||
o.spellfile = vim.fn.stdpath('config') .. '/spell/user.utf-8.add'
|
|
||||||
|
|
||||||
vim.diagnostic.config({
|
vim.diagnostic.config({
|
||||||
underline = true, -- use underline for diagnostics
|
underline = true, -- use underline for diagnostics
|
||||||
|
|||||||
@@ -1,21 +0,0 @@
|
|||||||
---@module 'lazy'
|
|
||||||
---@type LazySpec
|
|
||||||
return { {
|
|
||||||
'lmburns/lf.nvim',
|
|
||||||
lazy = false,
|
|
||||||
dependencies = { 'akinsho/toggleterm.nvim' },
|
|
||||||
---@module 'lf'
|
|
||||||
---@type Lf.Config
|
|
||||||
opts = {
|
|
||||||
direction = 'float',
|
|
||||||
border = 'rounded',
|
|
||||||
},
|
|
||||||
config = function(_, opts)
|
|
||||||
vim.g.lf_netrw = 1
|
|
||||||
|
|
||||||
local lf = require('lf')
|
|
||||||
lf.setup(opts)
|
|
||||||
|
|
||||||
Map({ 'n' }, '<leader>o', lf.start, { desc = 'Shows the LF window' })
|
|
||||||
end
|
|
||||||
} }
|
|
||||||
@@ -69,6 +69,8 @@ require('mini.diff').setup({ -- shows git diffs in the file
|
|||||||
style = 'sign',
|
style = 'sign',
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
require('mini.files').setup() -- file browser
|
||||||
|
Map('n', '<leader>o', MiniFiles.open, { desc = "Open mini file browser" })
|
||||||
require('mini.jump').setup() -- extends f,F,t,T to work across multiple lines
|
require('mini.jump').setup() -- extends f,F,t,T to work across multiple lines
|
||||||
require('mini.cursorword').setup() -- highlight words beneath the cursor
|
require('mini.cursorword').setup() -- highlight words beneath the cursor
|
||||||
require('mini.icons').setup()
|
require('mini.icons').setup()
|
||||||
@@ -81,17 +83,45 @@ require('mini.indentscope').setup({
|
|||||||
MiniDeps.later(function()
|
MiniDeps.later(function()
|
||||||
vim.api.nvim_set_hl(0, 'MiniIndentscopeSymbol', { link = 'Whitespace' })
|
vim.api.nvim_set_hl(0, 'MiniIndentscopeSymbol', { link = 'Whitespace' })
|
||||||
end)
|
end)
|
||||||
|
-- TODO: show history
|
||||||
require('mini.notify').setup() -- has more noticeable / utilitarian / aesthetically pleasing notifications
|
require('mini.notify').setup() -- has more noticeable / utilitarian / aesthetically pleasing notifications
|
||||||
|
|
||||||
|
-- Custom `^V` and `^S` symbols to make this file appropriate for copy-paste
|
||||||
|
-- (otherwise those symbols are not displayed).
|
||||||
|
local CTRL_S = vim.api.nvim_replace_termcodes('<C-S>', true, true, true)
|
||||||
|
local CTRL_V = vim.api.nvim_replace_termcodes('<C-V>', true, true, true)
|
||||||
|
local modes = setmetatable({
|
||||||
|
['n'] = { long = 'NORMAL', short = 'N', hl = 'MiniStatuslineModeNormal' },
|
||||||
|
['v'] = { long = 'VISUAL', short = 'V', hl = 'MiniStatuslineModeVisual' },
|
||||||
|
['V'] = { long = 'V-LINE', short = 'V-L', hl = 'MiniStatuslineModeVisual' },
|
||||||
|
[CTRL_V] = { long = 'V-BLOCK', short = 'V-B', hl = 'MiniStatuslineModeVisual' },
|
||||||
|
['s'] = { long = 'SELECT', short = 'S', hl = 'MiniStatuslineModeVisual' },
|
||||||
|
['S'] = { long = 'S-LINE', short = 'S-L', hl = 'MiniStatuslineModeVisual' },
|
||||||
|
[CTRL_S] = { long = 'S-BLOCK', short = 'S-B', hl = 'MiniStatuslineModeVisual' },
|
||||||
|
['i'] = { long = 'INSERT', short = 'I', hl = 'MiniStatuslineModeInsert' },
|
||||||
|
['R'] = { long = 'REPLACE', short = 'R', hl = 'MiniStatuslineModeReplace' },
|
||||||
|
['c'] = { long = 'COMMAND', short = 'C', hl = 'MiniStatuslineModeCommand' },
|
||||||
|
['r'] = { long = 'PROMPT', short = 'P', hl = 'MiniStatuslineModeOther' },
|
||||||
|
['!'] = { long = 'SHELL', short = 'Sh', hl = 'MiniStatuslineModeOther' },
|
||||||
|
['t'] = { long = 'TERMINAL', short = 'T', hl = 'MiniStatuslineModeOther' },
|
||||||
|
}, {
|
||||||
|
-- By default return 'Unknown' but this shouldn't be needed
|
||||||
|
__index = function()
|
||||||
|
return { long = 'Unknown', short = 'U', hl = '%#MiniStatuslineModeOther#' }
|
||||||
|
end,
|
||||||
|
})
|
||||||
require('mini.statusline').setup({
|
require('mini.statusline').setup({
|
||||||
content = {
|
content = {
|
||||||
active = function()
|
active = function()
|
||||||
local mode, mode_hl = MiniStatusline.section_mode({ trunc_width = 120 })
|
local mode_info = modes[vim.fn.mode()]
|
||||||
local git = MiniStatusline.section_git({ trunc_width = 40 })
|
local mode = MiniStatusline.is_truncated(120) and mode_info.short or mode_info.long
|
||||||
local diff = MiniStatusline.section_diff({ trunc_width = 75 })
|
local mode_hl = mode_info.hl
|
||||||
local diagnostics = MiniStatusline.section_diagnostics({ trunc_width = 75 })
|
local git = MiniStatusline.section_git({ trunc_width = 40 })
|
||||||
local lsp = MiniStatusline.section_lsp({ trunc_width = 75 })
|
local diff = MiniStatusline.section_diff({ trunc_width = 75 })
|
||||||
local filename = MiniStatusline.section_filename({ trunc_width = 140 })
|
local diagnostics = MiniStatusline.section_diagnostics({ trunc_width = 75 })
|
||||||
local fileinfo = MiniStatusline.section_fileinfo({ trunc_width = 120 })
|
local lsp = MiniStatusline.section_lsp({ trunc_width = 75 })
|
||||||
|
local filename = MiniStatusline.section_filename({ trunc_width = 140 })
|
||||||
|
local fileinfo = MiniStatusline.section_fileinfo({ trunc_width = 120 })
|
||||||
|
|
||||||
return MiniStatusline.combine_groups({
|
return MiniStatusline.combine_groups({
|
||||||
{ hl = mode_hl, strings = { mode } },
|
{ hl = mode_hl, strings = { mode } },
|
||||||
@@ -112,7 +142,7 @@ require('mini.statusline').setup({
|
|||||||
use_icons = true,
|
use_icons = true,
|
||||||
set_vim_settings = true,
|
set_vim_settings = true,
|
||||||
})
|
})
|
||||||
require('mini.tabline').setup()
|
require('mini.tabline').setup() -- shows buffers that are open
|
||||||
require('mini.trailspace').setup() -- trailing space indication and removal.
|
require('mini.trailspace').setup() -- trailing space indication and removal.
|
||||||
|
|
||||||
---@module 'lazy'
|
---@module 'lazy'
|
||||||
|
|||||||
@@ -1,2 +0,0 @@
|
|||||||
#!/usr/bin/sh
|
|
||||||
"$HOME/.local/share/emsdk/emsdk" "$@"
|
|
||||||
BIN
.local/bin/ovo
Executable file
BIN
.local/bin/ovo
Executable file
Binary file not shown.
BIN
.local/bin/owo
Executable file
BIN
.local/bin/owo
Executable file
Binary file not shown.
@@ -1,14 +0,0 @@
|
|||||||
#!/usr/bin/sh
|
|
||||||
|
|
||||||
if [ -z ${var+2} ]; then
|
|
||||||
printf "\033[91mno parameters were given!\033[0m\n"
|
|
||||||
fi
|
|
||||||
|
|
||||||
for i in $2; do
|
|
||||||
readonly fname
|
|
||||||
fname="$(basename "$i" .*)"
|
|
||||||
mkdir "$fname"
|
|
||||||
cd "$fname" || return 1
|
|
||||||
unzip "../$i"
|
|
||||||
cd - || return 1
|
|
||||||
done
|
|
||||||
BIN
.local/bin/uwu
BIN
.local/bin/uwu
Binary file not shown.
Reference in New Issue
Block a user