most recent update

This commit is contained in:
Joost Agterhoek 2025-03-18 13:03:54 +01:00
parent dd2d51825d
commit 7cbebd9aa6
43 changed files with 582 additions and 45 deletions

1
ftplugin/docx.lua Normal file
View File

@ -0,0 +1 @@
vim.cmd 'autocmd BufReadPre * !pandoc %:h -t markdown'

View File

@ -1,3 +1,4 @@
vim.opt_local.conceallevel = 2
vim.cmd 'autocmd BufEnter * set formatoptions-=cro'
vim.cmd 'autocmd BufEnter * setlocal formatoptions-=cro'
-- vim.cmd 'autocmd BufEnter * EnableAutocorrect'

View File

@ -3,14 +3,16 @@
vim.g.loaded_netrw = 1
vim.g.loaded_netrwPlugin = 1
vim.opt.termguicolors = true
-- vim: set filetype=markdown.graphics :
-- vim.g.vim_markdown_auto_insert_bullets = 0
-- To make sure image.nvim works with luarocks
package.path = package.path .. ';' .. vim.fn.expand '$HOME' .. '/.luarocks/share/lua/5.1/?/init.lua;'
package.path = package.path .. ';' .. vim.fn.expand '$HOME' .. '/.luarocks/share/lua/5.1/?.lua'
--package.path = package.path .. ';' .. vim.fn.expand '$HOME' .. '/.luarocks/share/lua/5.1/?/init.lua;'
--package.path = package.path .. ';' .. vim.fn.expand '$HOME' .. '/.luarocks/share/lua/5.1/?.lua'
vim.opt_local.autochdir = true
-- trying to make Telescope search work better
-- vim.opt_local.autochdir = true
vim.opt.spelllang = { 'en_us', 'nl' }
vim.opt.spell = true
@ -21,9 +23,8 @@ vim.keymap.set('n', '<M-a>', '[s1z=$', { desc = 'Correct previous misspelt word
require 'keymaps'
vim.opt.foldmethod = syntax
vim.opt.foldlevel = 99
-- vim.opt.foldmethod = syntax
-- vim.opt.foldlevel = 99
vim.g.autoread = true
@ -190,7 +191,7 @@ vim.opt.cursorline = true
vim.opt.cursorlineopt = 'number'
-- Minimal number of screen lines to keep above and below the cursor.
vim.opt.scrolloff = 10
-- vim.opt.scrolloff = 10
-- [[ Basic Keymaps ]]
-- See `:help vim.keymap.set()`
@ -340,9 +341,11 @@ require('lazy').setup({
event = 'VimEnter',
branch = '0.1.x',
dependencies = {
'nvim-telescope/telescope-live-grep-args.nvim',
'nvim-lua/plenary.nvim',
{ -- If encountering errors, see telescope-fzf-native README for installation instructions
'nvim-telescope/telescope-fzf-native.nvim',
'nvim-telescope/telescope-media-files.nvim',
-- `build` is used to run some command when the plugin is installed/updated.
-- This is only run then, not every time Neovim starts up.
@ -385,7 +388,13 @@ require('lazy').setup({
-- You can put your default mappings / updates / etc. in here
-- All the info you're looking for is in `:help telescope.setup()`
--
-- defaults = {
defaults = {
file_ignore_patterns = {
'env/',
'venv/',
'__pycache__/',
},
},
-- mappings = {
-- i = { ['<c-enter>'] = 'to_fuzzy_refine' },
-- },
@ -407,6 +416,8 @@ require('lazy').setup({
-- Enable Telescope extensions if they are installed
pcall(require('telescope').load_extension, 'fzf')
pcall(require('telescope').load_extension, 'ui-select')
pcall(require('telescope').load_extension, 'live_grep_args')
pcall(require('telescope').load_extension, 'media_files')
-- See `:help telescope.builtin`
local builtin = require 'telescope.builtin'
@ -417,8 +428,11 @@ require('lazy').setup({
vim.keymap.set('n', '<leader>sf', builtin.find_files, { desc = '[S]earch [F]iles' })
vim.keymap.set('n', '<leader>si', builtin.git_files, { desc = '[S]earch [F]iles [i]n git repo' })
vim.keymap.set('n', '<leader>ss', builtin.builtin, { desc = '[S]earch [S]elect Telescope' })
vim.keymap.set('n', '<leader>st', ':ObsidianTags<CR>', { desc = '[S]earch Obsidian [T]ags' })
vim.keymap.set('n', '<leader>sw', builtin.grep_string, { desc = '[S]earch current [W]ord' })
vim.keymap.set('n', '<leader>sg', builtin.live_grep, { desc = '[S]earch by [G]rep' })
-- vim.keymap.set('n', '<leader>sg', builtin.live_grep, { desc = '[S]earch by [G]rep' })
vim.keymap.set('n', '<leader>sg', ":lua require('telescope').extensions.live_grep_args.live_grep_args()<CR>", { desc = '[S]earch by live [G]rep' })
vim.keymap.set('n', '<leader>sn', ':Telescope notify<CR>', { desc = '[S]earch [N]otifications' })
vim.keymap.set('n', '<leader>sd', builtin.diagnostics, { desc = '[S]earch [D]iagnostics' })
vim.keymap.set('n', '<leader>sr', builtin.resume, { desc = '[S]earch [R]esume' })
vim.keymap.set('n', '<leader>s.', builtin.oldfiles, { desc = '[S]earch Recent Files ("." for repeat)' })
@ -446,9 +460,9 @@ require('lazy').setup({
end, { desc = '[S]earch [/] in Open Files' })
-- Shortcut for searching your Neovim configuration files
vim.keymap.set('n', '<leader>sn', function()
vim.keymap.set('n', '<leader>sc', function()
builtin.find_files { cwd = vim.fn.stdpath 'config' }
end, { desc = '[S]earch [N]eovim files' })
end, { desc = '[S]earch neovim [C]onfiguration files' })
end,
},
@ -865,7 +879,8 @@ require('lazy').setup({
-- change the command in the config to whatever the name of that colorscheme is.
--
-- If you want to see what colorschemes are already installed, you can use `:Telescope colorscheme`.
'folke/tokyonight.nvim',
-- 'folke/tokyonight.nvim',
'rose-pine/neovim',
-- { 'rose-pine/neovim', name = 'rose-pine' },
priority = 1000, -- Make sure to load this before all the other start plugins.
init = function()
@ -995,6 +1010,34 @@ require('lazy').setup({
},
},
})
-- VENN KEYMAPS TESTING
-- venn.nvim: enable or disable keymappings
function _G.Toggle_venn()
local venn_enabled = vim.inspect(vim.b.venn_enabled)
if venn_enabled == 'nil' then
vim.b.venn_enabled = true
vim.cmd [[setlocal ve=all]]
-- draw a line on HJKL keystokes
vim.api.nvim_buf_set_keymap(0, 'n', 'J', '<C-v>j:VBox<CR>', { noremap = true })
vim.api.nvim_buf_set_keymap(0, 'n', 'K', '<C-v>k:VBox<CR>', { noremap = true })
vim.api.nvim_buf_set_keymap(0, 'n', 'L', '<C-v>l:VBox<CR>', { noremap = true })
vim.api.nvim_buf_set_keymap(0, 'n', 'H', '<C-v>h:VBox<CR>', { noremap = true })
-- draw a box by pressing "f" with visual selection
vim.api.nvim_buf_set_keymap(0, 'v', 'f', ':VBox<CR>', { noremap = true })
else
vim.cmd [[setlocal ve=]]
vim.api.nvim_buf_del_keymap(0, 'n', 'J')
vim.api.nvim_buf_del_keymap(0, 'n', 'K')
vim.api.nvim_buf_del_keymap(0, 'n', 'L')
vim.api.nvim_buf_del_keymap(0, 'n', 'H')
vim.api.nvim_buf_del_keymap(0, 'v', 'f')
vim.b.venn_enabled = nil
end
end
-- toggle keymappings for venn using <leader>v
vim.api.nvim_set_keymap('n', '<leader>v', ':lua Toggle_venn()<CR>', { noremap = true })
-- END OF VENN KEYMAPS TESTING
-- The line beneath this is called `modeline`. See `:help modeline`
-- vim: ts=2 sts=2 sw=2 et

View File

@ -0,0 +1,15 @@
return {
'bolt12/AbbrevMan.nvim',
config = function()
require('abbrev-man').setup {
load_natural_dictionaries_at_startup = true,
load_programming_dictionaries_at_startup = true,
natural_dictionaries = {
['nt_en'] = {},
},
programming_dictionaries = {
['pr_py'] = {},
},
}
end,
}

View File

@ -0,0 +1,9 @@
return {
'uga-rosa/cmp_dictionary.nvim',
config = function()
require('cmp_dictionary').setup {
paths = { '/usr/share/dict/words' },
exact_length = 2,
}
end,
}

View File

@ -0,0 +1,26 @@
return {
'3rd/diagram.nvim',
dependencies = {
'3rd/image.nvim',
},
opts = {},
config = function()
require('diagram').setup {
integrations = {
require 'diagram.integrations.markdown',
require 'diagram.integrations.neorg',
},
renderer_options = {
mermaid = {
theme = 'forest',
},
plantuml = {
charset = 'utf-8',
},
d2 = {
theme_id = 1,
},
},
}
end,
}

View File

@ -0,0 +1,10 @@
return {
'paysancorrezien/dictionary.nvim',
ft = 'markdown',
dependencies = {
'nvim-lua/plenary.nvim',
},
config = function()
require('dictionary').setup()
end,
}

View File

@ -0,0 +1,3 @@
return {
'stsewd/gx-extended.vim',
}

View File

@ -0,0 +1,119 @@
-- https://github.com/3rd/image.nvim
--
-- Filename: ~/github/dotfiles-latest/neovim/nvim-lazyvim/lua/plugins/image-nvim.lua
-- ~/github/dotfiles-latest/neovim/nvim-lazyvim/lua/plugins/image-nvim.lua
-- For dependencies see
-- `~/github/dotfiles-latest/neovim/nvim-lazyvim/README.md`
--
-- -- Uncomment the following 2 lines if you use the local luarocks installation
-- -- Leave them commented to instead use `luarocks.nvim`
-- -- instead of luarocks.nvim
-- Notice that in the following 2 commands I'm using luaver
-- package.path = package.path
-- .. ";"
-- .. vim.fn.expand("$HOME")
-- .. "/.luaver/luarocks/3.11.0_5.1/share/lua/5.1/magick/?/init.lua"
-- package.path = package.path
-- .. ";"
-- .. vim.fn.expand("$HOME")
-- .. "/.luaver/luarocks/3.11.0_5.1/share/lua/5.1/magick/?.lua"
--
-- -- Here I'm not using luaver, but instead installed lua and luarocks directly through
-- -- homebrew
-- package.path = package.path .. ";" .. vim.fn.expand("$HOME") .. "/.luarocks/share/lua/5.1/?/init.lua"
-- package.path = package.path .. ";" .. vim.fn.expand("$HOME") .. "/.luarocks/share/lua/5.1/?.lua"
return {
{
-- luarocks.nvim is a Neovim plugin designed to streamline the installation
-- of luarocks packages directly within Neovim. It simplifies the process
-- of managing Lua dependencies, ensuring a hassle-free experience for
-- Neovim users.
-- https://github.com/vhyrro/luarocks.nvim
'vhyrro/luarocks.nvim',
-- this plugin needs to run before anything else
priority = 1001,
opts = {
rocks = { 'magick' },
},
},
{
'3rd/image.nvim',
dependencies = { 'luarocks.nvim' },
config = function()
package.path = package.path .. ';' .. vim.fn.expand '$HOME' .. '/.luarocks/share/lua/5.1/?/init.lua;'
package.path = package.path .. ';' .. vim.fn.expand '$HOME' .. '/.luarocks/share/lua/5.1/?.lua'
require('image').setup {
-- backend = 'kitty',
backend = 'ueberzug',
-- kitty_method = 'normal',
integrations = {
-- Notice these are the settings for markdown files
markdown = {
enabled = true,
clear_in_insert_mode = false,
-- Set this to false if you don't want to render images coming from
-- a URL
download_remote_images = true,
-- Change this if you would only like to render the image where the
-- cursor is at
-- I set this to true, because if the file has way too many images
-- it will be laggy and will take time for the initial load
only_render_image_at_cursor = true,
-- markdown extensions (ie. quarto) can go here
filetypes = { 'markdown', 'vimwiki' },
-- TRYING
resolve_image_path = function(document_path, image_path, fallback)
return fallback(document_path, image_path)
end,
-- END TRYING
},
neorg = {
enabled = true,
clear_in_insert_mode = false,
download_remote_images = true,
only_render_image_at_cursor = false,
filetypes = { 'norg' },
},
-- This is disabled by default
-- Detect and render images referenced in HTML files
-- Make sure you have an html treesitter parser installed
-- ~/github/dotfiles-latest/neovim/nvim-lazyvim/lua/plugins/treesitter.lua
html = {
enabled = true,
},
-- This is disabled by default
-- Detect and render images referenced in CSS files
-- Make sure you have a css treesitter parser installed
-- ~/github/dotfiles-latest/neovim/nvim-lazyvim/lua/plugins/treesitter.lua
css = {
enabled = true,
},
},
max_width = nil,
max_height = nil,
max_width_window_percentage = nil,
-- This is what I changed to make my images look smaller, like a
-- thumbnail, the default value is 50
-- max_height_window_percentage = 20,
max_height_window_percentage = 40,
-- toggles images when windows are overlapped
window_overlap_clear_enabled = false,
window_overlap_clear_ft_ignore = { 'cmp_menu', 'cmp_docs', '' },
-- auto show/hide images when the editor gains/looses focus
editor_only_render_when_focused = true,
-- auto show/hide images in the correct tmux window
-- In the tmux.conf add `set -g visual-activity off`
tmux_show_only_in_active_window = true,
-- render image files as images when opened
hijack_file_patterns = { '*.png', '*.jpg', '*.jpeg', '*.gif', '*.webp', '*.avif' },
}
end,
},
}

View File

@ -0,0 +1,8 @@
return {
'HakonHarnes/img-clip.nvim',
event = 'VeryLazy',
opts = {},
keys = {
{ '<leader>p', '<cmd>PasteImage<cr>', desc = 'Paste image from system clipboard' },
},
}

View File

@ -0,0 +1,5 @@
return {
L3MON4D3/LuaSnip',
version = 'v2.*',
build = "make install_jsregexp"
}

View File

@ -1,8 +1,19 @@
-- return {
-- 'iamcco/markdown-preview.nvim',
-- cmd = { 'MarkdownPreviewToggle', 'MarkdownPreview', 'MarkdownPreviewStop' },
-- ft = { 'markdown' },
-- build = function()
-- vim.fn['mkdp#util#install']()
-- end,
-- }
-- install with yarn or npm
return {
'iamcco/markdown-preview.nvim',
cmd = { 'MarkdownPreviewToggle', 'MarkdownPreview', 'MarkdownPreviewStop' },
ft = { 'markdown' },
build = function()
vim.fn['mkdp#util#install']()
build = 'cd app && npm install',
init = function()
vim.g.mkdp_filetypes = { 'markdown' }
end,
ft = { 'markdown' },
}

View File

@ -0,0 +1,7 @@
return {
'tadmccorkle/markdown.nvim',
ft = 'markdown', -- or 'event = "VeryLazy"'
opts = {
-- configuration here or empty for defaults
},
}

View File

@ -0,0 +1,6 @@
return {
'AntonVanAssche/md-headers.nvim',
version = '*',
opts = {},
ft = { 'markdown' },
}

View File

@ -0,0 +1,3 @@
return {
'ck-zhang/mistake.nvim',
}

View File

@ -0,0 +1,41 @@
return {
'duckdm/neowarrior.nvim',
dependencies = {
'nvim-telescope/telescope.nvim',
'folke/noice.nvim',
},
config = function()
local nw = require 'neowarrior'
local home = vim.env.HOME
nw.setup {
report = 'next',
filter = '\\(due.before:2d or due: \\)',
dir_setup = {
{
dir = home .. '/dev/nvim/neowarrior.nvim',
filter = 'project:neowarrior',
mode = 'tree',
expanded = true,
},
},
}
vim.keymap.set('n', '<leader>nl', function()
nw.open_left()
end, { desc = 'Open nwarrior on the left side' })
vim.keymap.set('n', '<leader>nc', function()
nw.open_current()
end, { desc = 'Open nwarrior below current buffer' })
vim.keymap.set('n', '<leader>nb', function()
nw.open_below()
end, { desc = 'Open nwarrior below current buffer' })
vim.keymap.set('n', '<leader>na', function()
nw.open_above()
end, { desc = 'Open nwarrior above current buffer' })
vim.keymap.set('n', '<leader>nr', function()
nw.open_right()
end, { desc = 'Open nwarrior on the right side' })
vim.keymap.set('n', '<leader>nt', function()
nw.focus()
end, { desc = 'Focus nwarrior' })
end,
}

View File

@ -12,6 +12,7 @@ return {
-- `nvim-notify` is only needed, if you want to use the notification view.
-- If not available, we use `mini` as the fallback
-- 'rcarriga/nvim-notify',
'rcarriga/nvim-notify',
},
config = function()
require('noice').setup {
@ -25,13 +26,29 @@ return {
},
-- you can enable a preset for easier configuration
presets = {
bottom_search = true, -- use a classic bottom cmdline for search
bottom_search = false, -- use a classic bottom cmdline for search
command_palette = true, -- position the cmdline and popupmenu together
long_message_to_split = true, -- long messages will be sent to a split
inc_rename = false, -- enables an input dialog for inc-rename.nvim
lsp_doc_border = false, -- add a border to hover docs and signature help
},
-- routes = {
-- {
-- filter = {
-- event = 'msg_show',
-- kind = '',
-- find = 'written',
-- },
-- opts = { skip = true },
-- },
-- },
}
require('notify').setup {
timeout = 1000,
stages = 'static',
}
end,
-- Would be nice to add this for error messages:
-- https://www.reddit.com/r/neovim/comments/1214soy/has_anyone_figured_out_how_to_customize_noicenvim/
},
}

View File

@ -0,0 +1,3 @@
return {
'rcarriga/nvim-notify',
}

View File

@ -0,0 +1,20 @@
return {
'nvim-treesitter/nvim-treesitter-context',
config = function()
require('treesitter-context').setup {
enable = true,
multiwindow = false, -- Enable multiwindow support.
max_lines = 0, -- How many lines the window should span. Values <= 0 mean no limit.
min_window_height = 0, -- Minimum editor window height to enable context. Values <= 0 mean no limit.
line_numbers = true,
multiline_threshold = 20, -- Maximum number of lines to show for a single context
trim_scope = 'outer', -- Which context lines to discard if `max_lines` is exceeded. Choices: 'inner', 'outer'
mode = 'cursor', -- Line used to calculate context. Choices: 'cursor', 'topline'
-- Separator between context and content. Should be a single character string, like '-'.
-- When separator is set, the context will only show up when there are at least 2 lines above cursorline.
separator = nil,
zindex = 20, -- The Z-index of the context window
on_attach = nil, -- (fun(buf: integer): boolean) return false to disable attaching
}
end,
}

View File

@ -24,12 +24,13 @@ return {
},
disable_frontmatter = true,
ui = {
enable = true,
-- checkboxes = {
-- [' '] = { char = '👀', hl_group = 'ObsidianTodo' },
-- ['/'] = { char = '🚧', hl_group = 'ObsidianDoing' },
-- ['x'] = { char = '✅', hl_group = 'ObsidianDone' },
-- },
enable = false,
-- checkboxes = {
-- [' '] = { char = '👀', hl_group = 'ObsidianTodo' },
-- ['/'] = { char = '🚧', hl_group = 'ObsidianDoing' },
-- ['x'] = { char = '✅', hl_group = 'ObsidianDone' },
-- ['-'] = { char = '❌', hl_group = 'ObsidianImportant' },
-- },
},
---@param url string
follow_url_func = function(url)

View File

@ -1,3 +1,15 @@
function _G.get_oil_winbar()
local bufnr = vim.api.nvim_win_get_buf(vim.g.statusline_winid)
local dir = require('oil').get_current_dir(bufnr)
if dir then
return vim.fn.fnamemodify(dir, ':~')
else
-- If there is no current directory (e.g. over ssh), just show the buffer name
return vim.api.nvim_buf_get_name(0)
end
end
local detail = false
return {
'stevearc/oil.nvim',
---@module 'oil'
@ -8,7 +20,17 @@ return {
dependencies = { 'nvim-tree/nvim-web-devicons' }, -- use if prefer nvim-web-devicons
config = function()
require('oil').setup {
columns = {
'icon',
'mtime',
},
vim.keymap.set('n', '<leader>o', ':Oil<CR>'),
view_options = {
show_hidden = true,
},
win_options = {
winbar = '%!v:lua.get_oil_winbar()',
},
}
end,
}

View File

@ -1,3 +1,4 @@
local path = vim.fn.expand '%:h'
return {
'TobinPalmer/pastify.nvim',
cmd = { 'Pastify', 'PastifyAfter' },
@ -10,10 +11,12 @@ return {
config = function()
require('pastify').setup {
opts = {
absolute_path = false, -- use absolute or relative path to the working directory
-- absolute_path = true, -- use absolute or relative path to the working directory
absolute_path = true,
apikey = '', -- Api key, required for online saving
local_path = '/attachments/', -- The path to put local files in, ex ~/Projects/<name>/assets/images/<imgname>.png
save = 'local', -- Either 'local' or 'online' or 'local_file'
-- local_path = path .. '/attachments/', -- The path to put local files in, ex ~/Projects/<name>/assets/images/<imgname>.png
local_path = '/mnt/c/Users/jag206/screenshots/',
save = 'local_file', -- Either 'local' or 'online' or 'local_file'
filename = function()
return vim.fn.expand '%:t:r' .. '_' .. os.date '%Y-%m-%d_%H-%M-%S'
end,

View File

@ -0,0 +1,3 @@
return {
'mechatroner/rainbow_csv',
}

View File

@ -23,10 +23,19 @@ return {
highlight = 'RenderMarkdownChecked',
},
custom = {
doing = { raw = '[/]', rendered = '🔜', highlight = 'RenderMarkdownTodo' },
cancelled = { raw = '[-]', rendered = '', highlight = 'RenderMarkdownBullet' },
doing = { raw = '[/]', rendered = '🚧', highlight = 'RenderMarkdownTodo' },
cancelled = { raw = '[-]', rendered = '', highlight = 'RenderMarkdownTodo' },
},
},
callout = {
cite = { raw = '[!CITE]', rendered = '󱆨 Cite', highlight = 'RenderMarkdownInfo' },
},
html = {
comment = {
conceal = false,
},
},
only_render_image_at_cursor = true,
}
vim.keymap.set('n', '<leader>rm', ':RenderMarkdown toggle<CR>', { silent = true })
end,

View File

@ -2,10 +2,14 @@ return {
'rose-pine/neovim',
config = function()
require('rose-pine').setup {
styles = {
italic = false,
bold = true,
-- transparency = true,
disable_italics = true,
highlight_groups = {
Comment = { italic = true },
-- htmlBold = { bold = true },
-- ['@markup.strong'] = { bold = true },
['@markup.italic'] = { italic = true },
-- ['neorg.markup.bold.norg'] = { bold = true },
-- ['@text.strong'] = { bold = true },
},
}
end,

View File

@ -0,0 +1,3 @@
return {
'kjuq/sixelview.nvim',
}

View File

@ -0,0 +1,16 @@
return {
'zakissimo/smoji.nvim',
-- config = function()
-- require 'smoji'
-- vim.keymap.set('n', '<Leader>em', '<CMD>Smoji<CR>')
-- end,
cmd = 'Smoji',
keys = {
{ '<leader><leader>e', '<cmd>Smoji<cr>', desc = 'Git [e]moji' },
-- { '<C-e>', '<cmd>Smoji<cr>', desc = 'Git [e]moji', mode = 'i' },
-- { '<C-e>', '<cmd>Smoji<cr>', desc = 'Git [e]moji', mode = 't' },
},
config = function()
require 'smoji'
end,
}

View File

@ -0,0 +1,36 @@
return {
'folke/snacks.nvim',
priority = 1000,
lazy = false,
---@type snacks.Config
opts = {
bigfile = { enabled = true },
dashboard = { enabled = true },
indent = { enabled = true },
input = { enabled = true },
-- notifier = { enabled = true },
quickfile = { enabled = true },
scroll = { enabled = true },
statuscolumn = { enabled = true },
words = { enabled = true },
},
styles = {
notification = { wo = { wrap = true } },
},
keys = {
{
'<leader>gg',
function()
Snacks.lazygit { cwd = Snacks.git.get_root() }
end,
desc = 'Lazygit',
},
{
'<leader>d',
function()
Snacks.dashboard()
end,
desc = 'Snacks Dashboard',
},
},
}

View File

@ -1,16 +1,3 @@
return {
'kylechui/nvim-surround',
version = '*', -- Use for stability; omit to use `main` branch for the latest features
event = 'VeryLazy',
config = function()
require('nvim-surround').setup {
-- Configuration here, or leave empty to use defaults
surrounds = {
['('] = false,
},
aliases = {
['('] = ')',
},
}
end,
'tpope/vim-surround',
}

View File

@ -0,0 +1,10 @@
return {
'kylechui/nvim-surround',
version = '*', -- Use for stability; omit to use `main` branch for the latest features
event = 'VeryLazy',
config = function()
require('nvim-surround').setup {
-- Configuration here, or leave empty to use defaults
}
end,
}

View File

@ -0,0 +1,10 @@
return {
'ribelo/taskwarrior.nvim',
-- opts = {},
config = function()
local tw = require 'taskwarrior_nvim'
vim.keymap.set('n', '<leader>tw', function()
tw.browser { 'ready' }
end, { desc = 'taskwarrior Telescope' })
end,
}

View File

@ -0,0 +1,9 @@
return {
'renerocksai/telekasten.nvim',
dependencies = { 'nvim-telescope/telescope.nvim' },
config = function()
require('telekasten').setup {
home = vim.fn.expand '~/notes-work',
}
end,
}

View File

@ -0,0 +1,3 @@
return {
'vim-scripts/textutil.vim',
}

View File

@ -0,0 +1,3 @@
return {
'https://git.sr.ht/~swaits/thethethe.nvim',
}

View File

@ -0,0 +1,23 @@
return {
'folke/todo-comments.nvim',
lazy = false,
-- event = 'VimEnter',
-- dependencies = { 'nvim-lua/plenary.nvim' },
-- opts = {},
config = function()
require('todo-comments').setup {
keywords = {
TODO = { icon = '🚧', color = 'hint', alt = { 'TODO' } },
DOING = { icon = '🔄', color = 'info', alt = { 'DOING' } },
DONE = { icon = '', color = 'default', alt = { 'DONE' } },
},
vim.keymap.set('n', '<leader>tw', ':TodoTelescope cwd=~/notes-work/<CR>', { silent = true, desc = 'Show [t]odo in work' }),
vim.keymap.set('n', '<leader>tm', ':TodoTelescope cwd=~/notes-personal/<CR>', { silent = true, desc = 'Show [t]odo in [my] personal notes' }),
vim.keymap.set('n', '<leader>tp', ':TodoTelescope cwd=~/code-personal/<CR>', { silent = true, desc = 'Show [t]odo in [p]rogramming' }),
vim.keymap.set('n', '<leader>ts', ':TodoTelescope cwd=~/notes-work/socc/<CR>', { silent = true, desc = 'Show [t]odo in [s]occ' }),
vim.keymap.set('n', '<leader>tc', ':TodoTelescope cwd=~/notes-work/cloud/<CR>', { silent = true, desc = 'Show [t]odo in [c]loud folder' }),
vim.keymap.set('n', '<leader>tt', ':TodoTelescope cwd=~/notes-work/tdw/<CR>', { silent = true, desc = 'Show [t]odo in [t]dw folder' }),
vim.keymap.set('n', '<leader>tl', ':TodoTelescope cwd=%:h<CR>', { silent = true, desc = 'Show [t]odo in [l]ocal folder' }),
}
end,
}

View File

@ -0,0 +1,4 @@
return {
'gregorias/toggle.nvim',
config = true,
}

View File

@ -0,0 +1,3 @@
return {
'jbyuki/venn.nvim',
}

View File

@ -0,0 +1,3 @@
return {
'bytesnake/vim-graphical-preview',
}

View File

@ -0,0 +1,3 @@
return {
'Konfekt/vim-office',
}

View File

@ -1 +1,35 @@
-- vim.keymap.set('n', '<leader>si', ':!feh <cfile> <CR>', { desc = 'Open file under cursor with feh' })
-------------------------------------------
-- venn.nvim: enable or disable keymappings
-------------------------------------------
function _G.Toggle_venn()
local venn_enabled = vim.inspect(vim.b.venn_enabled)
if venn_enabled == 'nil' then
vim.b.venn_enabled = true
vim.cmd [[setlocal ve=all]]
-- draw a line on HJKL keystokes
vim.api.nvim_buf_set_keymap(0, 'n', 'J', '<C-v>j:VBox<CR>', { noremap = true })
vim.api.nvim_buf_set_keymap(0, 'n', 'K', '<C-v>k:VBox<CR>', { noremap = true })
vim.api.nvim_buf_set_keymap(0, 'n', 'L', '<C-v>l:VBox<CR>', { noremap = true })
vim.api.nvim_buf_set_keymap(0, 'n', 'H', '<C-v>h:VBox<CR>', { noremap = true })
-- draw a box by pressing "f" with visual selection
vim.api.nvim_buf_set_keymap(0, 'v', 'f', ':VBox<CR>', { noremap = true })
else
vim.cmd [[setlocal ve=]]
vim.api.nvim_buf_del_keymap(0, 'n', 'J')
vim.api.nvim_buf_del_keymap(0, 'n', 'K')
vim.api.nvim_buf_del_keymap(0, 'n', 'L')
vim.api.nvim_buf_del_keymap(0, 'n', 'H')
vim.api.nvim_buf_del_keymap(0, 'v', 'f')
vim.b.venn_enabled = nil
end
end
-- toggle keymappings for venn using <leader>v
vim.api.nvim_set_keymap('n', '<leader>v', ':lua Toggle_venn()<CR>', { noremap = true })
-- vim.keymap.set('n', '<leader>ae', ':EnableAutocorrect<CR>', { noremap = false, silent = false, desc = 'Auto[c]orrect [e]able]' })
-- vim.keymap.set('n', '<leader>ad', ':DisableAutocorrect<CR>', { noremap = false, silent = false, desc = 'Auto[c]orrect [disable]' })
vim.api.nvim_set_keymap('n', '<leader>AE', ':EnableAutocorrect<CR>', { noremap = true })
vim.keymap.set('n', '<Space>ae', ':EnableAutocorrect<CR>', { noremap = true })
vim.keymap.set('n', '<Space>ad', ':DisableAutocorrect<CR>', { noremap = true })