Compare commits

...

3 Commits

Author SHA1 Message Date
9af7a35729 Add swayidle config 2024-07-10 10:39:41 +02:00
c64933826b bat: Add light theme 2024-07-10 10:38:55 +02:00
6880ff625b nvim: Use which-key 2024-07-10 10:38:00 +02:00
7 changed files with 55 additions and 30 deletions

View File

@ -0,0 +1,6 @@
{% if light %}
--theme=gruvbox-light
{% else %}
--theme=gruvbox-dark
{% end %}

View File

@ -657,7 +657,7 @@ $env.config = {
alias grep = rg alias grep = rg
alias find = fd alias find = fd
alias cat = bat alias cat = bat
alias e = helix alias e = nvim
alias gd = git diff alias gd = git diff
alias ga = git add alias ga = git add
alias gst = git status alias gst = git status

View File

@ -55,7 +55,7 @@ rust_tools.setup({
-- Hover actions -- Hover actions
vim.keymap.set("n", "<C-space>", rust_tools.hover_actions.hover_actions, { buffer = bufnr }) vim.keymap.set("n", "<C-space>", rust_tools.hover_actions.hover_actions, { buffer = bufnr })
-- Code action groups -- Code action groups
vim.keymap.set("n", "<Leader>a", rust_tools.code_action_group.code_action_group, { buffer = bufnr }) vim.keymap.set("n", "<leader>a", rust_tools.code_action_group.code_action_group, { desc = "Code actions", buffer = bufnr })
end, end,
settings = { settings = {
["rust-analyzer"] = {}, ["rust-analyzer"] = {},

View File

@ -1,19 +1,14 @@
-- todo: whichkey
local telescope = require('telescope.builtin') local telescope = require('telescope.builtin')
vim.keymap.set('n', '<leader>ff', telescope.find_files, {}) local wk = require('which-key')
vim.keymap.set('n', '<leader>fg', telescope.live_grep, {})
vim.keymap.set('n', '<leader>fb', telescope.buffers, {})
vim.keymap.set('n', '<leader>fh', telescope.help_tags, {})
vim.keymap.set('n', '<leader>fs', telescope.treesitter, {}) -- find symbols
vim.keymap.set('n', '<leader>fu', ":TodoTelescope<Enter>", {}) -- find todos
vim.keymap.set('n', '<leader>ft', pick_rust_target, {}) -- find rust targets
vim.keymap.set('n', 'U', ":redo<Enter>", {})
vim.keymap.set('n', '<leader>p', ":b#<Enter>", {}) -- goto previous buffer
--vim.keymap.set('n', '<leader>e', vim.diagnostic.open_float) vim.keymap.set('n', '<leader>f', telescope.find_files, { desc = "File picker" })
--vim.keymap.set('n', '[d', vim.diagnostic.goto_prev) vim.keymap.set('n', '<leader>g', telescope.live_grep, { desc = "Grep recursively" })
--vim.keymap.set('n', ']d', vim.diagnostic.goto_next) vim.keymap.set('n', '<leader>b', telescope.buffers, { desc = "Buffer picker" })
vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist) vim.keymap.set('n', '<leader>?', telescope.help_tags, { desc = "Help tags picker" })
vim.keymap.set('n', '<leader>s', telescope.treesitter, { desc = "Treesitter symbol picker" })
vim.keymap.set('n', '<leader>u', ":TodoTelescope<Enter>", { desc = "Grep for TODOs" })
vim.keymap.set('n', 'U', ":redo<Enter>", {})
vim.keymap.set('n', '<leader>p', ":b#<Enter>", { desc = "Go to last buffer" })
-- Use LspAttach autocommand to only map the following keys -- Use LspAttach autocommand to only map the following keys
-- after the language server attaches to the current buffer -- after the language server attaches to the current buffer
@ -25,21 +20,27 @@ vim.api.nvim_create_autocmd('LspAttach', {
-- Buffer local mappings. -- Buffer local mappings.
-- See `:help vim.lsp.*` for documentation on any of the below functions -- See `:help vim.lsp.*` for documentation on any of the below functions
local opts = { buffer = ev.buf } vim.keymap.set('n', '<leader>lg', pick_rust_target, { desc = "Rust target picker", buffer = ev.buf })
vim.keymap.set('n', '<leader>ld', telescope.lsp_definitions, opts) vim.keymap.set('n', '<leader>ld', telescope.lsp_definitions, { desc = "Show definitons", buffer = ev.buf })
vim.keymap.set('n', '<leader>lr', telescope.lsp_references, opts) vim.keymap.set('n', '<leader>lr', telescope.lsp_references, { desc = "Show references", buffer = ev.buf })
vim.keymap.set('n', '<leader>li', telescope.lsp_implementations, opts) vim.keymap.set('n', '<leader>li', telescope.lsp_implementations, { desc = "Show implementations", buffer = ev.buf })
vim.keymap.set('n', '<leader>lt', telescope.lsp_type_definitions, opts) vim.keymap.set('n', '<leader>lt', telescope.lsp_type_definitions, { desc = "Show type definitions", buffer = ev.buf })
vim.keymap.set('n', '<leader>le', telescope.diagnostics, opts) vim.keymap.set('n', '<leader>le', telescope.diagnostics, { desc = "Show diagnostics", buffer = ev.buf })
vim.keymap.set('n', '<leader>ls', telescope.lsp_workspace_symbols, opts) vim.keymap.set('n', '<leader>ls', telescope.lsp_workspace_symbols, { desc = "Show workspace symbols", buffer = ev.buf })
vim.keymap.set('n', 'K', vim.lsp.buf.hover, opts) vim.keymap.set('n', 'K', vim.lsp.buf.hover, { buffer = ev.buf })
vim.keymap.set('n', '<C-k>', vim.lsp.buf.signature_help, opts) vim.keymap.set('n', '<C-k>', vim.lsp.buf.signature_help, { buffer = ev.buf })
vim.keymap.set('n', '<leader>wa', vim.lsp.buf.add_workspace_folder, opts) vim.keymap.set('n', '<leader>wa', vim.lsp.buf.add_workspace_folder, { desc = "Add workspace folder", buffer = ev.buf })
vim.keymap.set('n', '<leader>wr', vim.lsp.buf.remove_workspace_folder, opts) vim.keymap.set('n', '<leader>wr', vim.lsp.buf.remove_workspace_folder, { desc = "Remove workspace folder", buffer = ev.buf })
vim.keymap.set('n', '<leader>wl', function() vim.keymap.set('n', '<leader>wl', function()
print(vim.inspect(vim.lsp.buf.list_workspace_folders())) print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
end, opts) end, { desc = "List workspace folders", buffer = ev.buf })
vim.keymap.set('n', '<leader>r', vim.lsp.buf.rename, opts) vim.keymap.set('n', '<leader>r', vim.lsp.buf.rename, { desc = "Rename symbol", buffer = ev.buf })
vim.keymap.set({ 'n', 'v' }, '<space>ca', vim.lsp.buf.code_action, opts)
wk.register({
l = "Language server stuff",
w = "Workspace stuff",
}, { prefix = "<leader>"} )
--vim.keymap.set({ 'n', 'v' }, '<leader>la', vim.lsp.buf.code_action, { desc = "Code actions", buffer = ev.buf }) -- TODO: figure out how to fall back to this option lang isnt rust
end, end,
}) })

View File

@ -9,6 +9,19 @@ require("lazy").setup({
'folke/todo-comments.nvim', 'folke/todo-comments.nvim',
dependencies = { "nvim-lua/plenary.nvim" }, dependencies = { "nvim-lua/plenary.nvim" },
}, },
{
"folke/which-key.nvim",
event = "VeryLazy",
init = function()
vim.o.timeout = true
vim.o.timeoutlen = 300
end,
opts = {
-- your configuration comes here
-- or leave it empty to use the default settings
-- refer to the configuration section below
}
},
-- -- language server stuff -- -- language server stuff
{'williamboman/mason.nvim' }, {'williamboman/mason.nvim' },

View File

@ -0,0 +1,4 @@
timeout 530 'notify-send "Locking in 30s"'
before-sleep 'screenlock'
timeout 600 'screenlock'
timeout 610 'niri msg action power-off-monitors'

View File

@ -39,6 +39,7 @@ sudo pacman --needed -S \
ripgrep \ ripgrep \
rustup \ rustup \
sad \ sad \
swayidle \
tig \ tig \
vim \ vim \
vivid \ vivid \