mirror of
https://github.com/kristoferssolo/SoloVim.git
synced 2026-02-04 06:42:05 +00:00
Update 2025-10-31
update 2025-10-08 chore: update readme Update 2025-10-09 Update 2025-10-15 Update 2025-10-22 Update 2025-10-31
This commit is contained in:
@@ -48,13 +48,6 @@ vim.api.nvim_create_autocmd({ "InsertEnter" }, {
|
||||
end,
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd({ "BufWinEnter" }, {
|
||||
pattern = "**/Codnity/**",
|
||||
callback = function()
|
||||
vim.opt.colorcolumn = "92"
|
||||
end,
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd({ "BufWinEnter" }, {
|
||||
pattern = "requirements*.txt",
|
||||
callback = function()
|
||||
@@ -62,13 +55,6 @@ vim.api.nvim_create_autocmd({ "BufWinEnter" }, {
|
||||
end,
|
||||
})
|
||||
|
||||
--[[ vim.api.nvim_create_autocmd({ "BufWinEnter" }, {
|
||||
pattern = "**/Codnity/**/*.html",
|
||||
callback = function()
|
||||
vim.cmd("setf htmldjango")
|
||||
end,
|
||||
}) ]]
|
||||
|
||||
-- Autocommand that sources neovim files on save
|
||||
--[[ vim.api.nvim_create_autocmd({ "BufWritePost" }, {
|
||||
group = vim.api.nvim_create_augroup("AutoReloadConfig", { clear = true }),
|
||||
|
||||
@@ -39,20 +39,12 @@ nmap("<C-Right>", "<cmd>vertical resize +2<cr>", "Resize window right")
|
||||
nmap("<A-k>", "<cmd>m .-2<cr>==", "Move line up")
|
||||
nmap("<A-j>", "<cmd>m .+1<cr>==", "Move line down")
|
||||
|
||||
-- nmap("<S-s>", ":%s/<C-r><C-w>/<C-r><C-w>/gI<Left><Left><Left>", "[S]ubstitute word")
|
||||
nmap("<S-s>", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]], "[S]ubstitute word")
|
||||
|
||||
nmap("Q", "@qj", "Run macro")
|
||||
|
||||
nmap("<leader>oo", "<cmd>update<cr><cmd>source<cr>", "Source current file")
|
||||
|
||||
-- vim.keymap.set({ "n", "v", "x" }, "<leader>y", '"+y', { desc = "Yank to system clipboard" })
|
||||
-- vim.keymap.set("n", "<leader>Y", '"+yy', { desc = "Yank line to system clipboard" })
|
||||
|
||||
-- vim.keymap.set({ "n", "v", "x" }, "<leader>p", '"+p', { desc = "Paste from system clipboard" })
|
||||
-- vim.keymap.set("n", "<leader>P", '"+P', { desc = "Paste before cursor from system clipboard" })
|
||||
|
||||
|
||||
vim.keymap.set("n", "<leader>cf", function()
|
||||
local file_path = vim.fn.expand("%:p")
|
||||
vim.cmd([[call setreg("+", "]] .. vim.fn.escape(file_path, '\\ "') .. '")')
|
||||
@@ -60,8 +52,8 @@ vim.keymap.set("n", "<leader>cf", function()
|
||||
end, { desc = "Copy file path to clipboard" })
|
||||
|
||||
xmap("Q", ":norm @q<CR>", "Run macro")
|
||||
|
||||
xmap("p", '"_dP')
|
||||
|
||||
vim.keymap.set(
|
||||
"c",
|
||||
"<C-j>",
|
||||
@@ -80,11 +72,6 @@ vmap("<", "<gv", "Left Indent")
|
||||
vmap("<A-k>", ":m '<-2<cr>gv=gv", "Move lines up")
|
||||
vmap("<A-j>", ":m '>+1<cr>gv=gv", "Move lines down")
|
||||
|
||||
-- tmap("t", "<C-h>", "<C-\\><C-N><C-w>h")
|
||||
-- tmap("t", "<C-j>", "<C-\\><C-N><C-w>j")
|
||||
-- tmap("t", "<C-k>", "<C-\\><C-N><C-w>k")
|
||||
-- tmap("t", "<C-l>", "<C-\\><C-N><C-w>l")
|
||||
|
||||
local function fzf_sesh_connect()
|
||||
-- build the fzf-tmux command exactly as in your zsh widget
|
||||
local fzf_cmd = [[
|
||||
|
||||
@@ -28,9 +28,6 @@ require("lazy").setup({
|
||||
ui = { border = "rounded" },
|
||||
change_detection = { enabled = false },
|
||||
rocks = {
|
||||
hererocks = nil,
|
||||
},
|
||||
dev = {
|
||||
path = "~/repos/nvim/plugins",
|
||||
hererocks = true,
|
||||
},
|
||||
})
|
||||
|
||||
@@ -1,57 +1,57 @@
|
||||
vim.opt.backup = false -- creates a backup file
|
||||
vim.opt.breakindent = true -- Enable break indent
|
||||
vim.opt.clipboard = "unnamedplus" -- allows neovim to access the system clipboard
|
||||
vim.opt.cmdheight = 1 -- more space in the neovim command line for displaying messages
|
||||
vim.opt.backup = false -- creates a backup file
|
||||
vim.opt.breakindent = true -- Enable break indent
|
||||
vim.opt.clipboard = "unnamedplus" -- allows neovim to access the system clipboard
|
||||
vim.opt.cmdheight = 1 -- more space in the neovim command line for displaying messages
|
||||
vim.opt.colorcolumn = "120"
|
||||
vim.opt.completeopt = { "menuone", "noselect" } -- mostly just for cmp
|
||||
vim.opt.conceallevel = 2 -- so that `` is visible in markdown files
|
||||
vim.opt.cursorcolumn = true -- highlight the current column
|
||||
vim.opt.cursorline = true -- highlight the current line
|
||||
vim.opt.expandtab = true -- convert tabs to spaces
|
||||
vim.opt.fileencoding = "utf-8" -- the encoding written to a file
|
||||
vim.opt.conceallevel = 2 -- so that `` is visible in markdown files
|
||||
vim.opt.cursorcolumn = true -- highlight the current column
|
||||
vim.opt.cursorline = true -- highlight the current line
|
||||
vim.opt.expandtab = true -- convert tabs to spaces
|
||||
vim.opt.fileencoding = "utf-8" -- the encoding written to a file
|
||||
vim.opt.fillchars.eob = " "
|
||||
vim.opt.foldmethod = "manual"
|
||||
vim.opt.foldenable = true
|
||||
vim.opt.foldlevelstart = 99
|
||||
vim.opt.foldcolumn = "1" -- '0' is not bad
|
||||
vim.opt.foldcolumn = "1" -- '0' is not bad
|
||||
vim.opt.guifont = "JetBrainsMono NF:h11" -- the font used in graphical neovim applications
|
||||
vim.opt.hlsearch = false -- highlight all matches on previous search pattern
|
||||
vim.opt.ignorecase = true -- ignore case in search patterns
|
||||
vim.opt.hlsearch = false -- highlight all matches on previous search pattern
|
||||
vim.opt.ignorecase = true -- ignore case in search patterns
|
||||
vim.opt.incsearch = true
|
||||
vim.opt.isfname:append("@-@")
|
||||
vim.opt.iskeyword:append("-")
|
||||
vim.opt.laststatus = 3
|
||||
vim.opt.mouse = "a" -- allow the mouse to be used in neovim
|
||||
vim.opt.number = true -- set numbered lines
|
||||
vim.opt.numberwidth = 4 -- set number column width to 4 {default 4}
|
||||
vim.opt.pumheight = 10 -- pop up menu height
|
||||
vim.opt.mouse = "a" -- allow the mouse to be used in neovim
|
||||
vim.opt.number = true -- set numbered lines
|
||||
vim.opt.numberwidth = 4 -- set number column width to 4 {default 4}
|
||||
vim.opt.pumheight = 10 -- pop up menu height
|
||||
vim.opt.relativenumber = true -- set relative numbered lines
|
||||
vim.opt.ruler = false
|
||||
vim.opt.scrolloff = 8 -- is one of my fav
|
||||
vim.opt.shiftwidth = 4 -- the number of spaces inserted for each indentation
|
||||
vim.opt.scrolloff = 8 -- is one of my fav
|
||||
vim.opt.shiftwidth = 4 -- the number of spaces inserted for each indentation
|
||||
vim.opt.shortmess:append("c")
|
||||
vim.opt.showcmd = false
|
||||
vim.opt.showmode = false -- we don't need to see things like -- INSERT -- anymore
|
||||
vim.opt.showtabline = 0 -- disable tabs
|
||||
vim.opt.showmode = false -- we don't need to see things like -- INSERT -- anymore
|
||||
vim.opt.showtabline = 0 -- disable tabs
|
||||
vim.opt.sidescrolloff = 8
|
||||
vim.opt.signcolumn = "yes" -- always show the sign column otherwise it would shift the text each time
|
||||
vim.opt.smartcase = true -- smart case
|
||||
vim.opt.signcolumn = "auto" -- always show the sign column otherwise it would shift the text each time
|
||||
vim.opt.smartcase = true -- smart case
|
||||
vim.opt.smartindent = true -- make indenting smarter again
|
||||
vim.opt.softtabstop = 4
|
||||
vim.opt.spell = false
|
||||
vim.opt.spelloptions:append("camel")
|
||||
vim.opt.splitbelow = true -- force all horizontal splits to go below current window
|
||||
vim.opt.splitright = true -- force all vertical splits to go to the right of current window
|
||||
vim.opt.swapfile = false -- creates a swapfile
|
||||
vim.opt.tabstop = 4 -- insert 4 spaces for a tab
|
||||
vim.opt.splitbelow = true -- force all horizontal splits to go below current window
|
||||
vim.opt.splitright = true -- force all vertical splits to go to the right of current window
|
||||
vim.opt.swapfile = false -- creates a swapfile
|
||||
vim.opt.tabstop = 4 -- insert 4 spaces for a tab
|
||||
vim.opt.termguicolors = true -- set term gui colors (most terminals support this)
|
||||
vim.opt.timeoutlen = 250 -- time to wait for a mapped sequence to complete (in milliseconds)
|
||||
vim.opt.timeoutlen = 250 -- time to wait for a mapped sequence to complete (in milliseconds)
|
||||
vim.opt.undodir = vim.fn.stdpath("data") .. "/nvim/undodir"
|
||||
vim.opt.undofile = true -- enable persistent undo
|
||||
vim.opt.updatetime = 50 -- faster completion (4000ms default)
|
||||
vim.opt.undofile = true -- enable persistent undo
|
||||
vim.opt.updatetime = 50 -- faster completion (4000ms default)
|
||||
vim.opt.whichwrap:append("<,>,[,],h,l")
|
||||
vim.opt.wrap = false -- display lines as one long line
|
||||
vim.opt.writebackup = false -- if a file is being edited by another program (or was written to file while editing with another program) it is not allowed to be edit
|
||||
vim.opt.wrap = false -- display lines as one long line
|
||||
vim.opt.writebackup = false -- if a file is being edited by another program (or was written to file while editing with another program) it is not allowed to be edit
|
||||
vim.opt_local.path:prepend(vim.fn.stdpath("config") .. "/lua")
|
||||
vim.opt_local.suffixesadd:prepend(".lua")
|
||||
vim.opt_local.suffixesadd:prepend("init.lua")
|
||||
|
||||
@@ -1,78 +0,0 @@
|
||||
if not pcall(require, "luasnip") then
|
||||
return
|
||||
end
|
||||
|
||||
local ls = require("luasnip")
|
||||
local f = ls.function_node
|
||||
local s = ls.snippet
|
||||
local t = ls.text_node
|
||||
local i = ls.insert_node
|
||||
|
||||
--[[
|
||||
local ls = require("luasnip")
|
||||
local s = ls.snippet
|
||||
local sn = ls.snippet_node
|
||||
local isn = ls.indent_snippet_node
|
||||
local t = ls.text_node
|
||||
local i = ls.insert_node
|
||||
local f = ls.function_node
|
||||
local c = ls.choice_node
|
||||
local d = ls.dynamic_node
|
||||
local r = ls.restore_node
|
||||
local events = require("luasnip.util.events")
|
||||
local ai = require("luasnip.nodes.absolute_indexer")
|
||||
local extras = require("luasnip.extras")
|
||||
local l = extras.lambda
|
||||
local rep = extras.rep
|
||||
local p = extras.partial
|
||||
local m = extras.match
|
||||
local n = extras.nonempty
|
||||
local dl = extras.dynamic_lambda
|
||||
local fmt = require("luasnip.extras.fmt").fmt
|
||||
local fmta = require("luasnip.extras.fmt").fmta
|
||||
local conds = require("luasnip.extras.expand_conditions")
|
||||
local postfix = require("luasnip.extras.postfix").postfix
|
||||
local types = require("luasnip.util.types")
|
||||
local parse = require("luasnip.util.parser").parse_snippet
|
||||
local ms = ls.multi_snippet
|
||||
]]
|
||||
|
||||
local shortcut = function(val)
|
||||
if type(val) == "string" then
|
||||
return { t({ val }), i(0) }
|
||||
end
|
||||
if type(val) == "table" then
|
||||
for k, v in ipairs(val) do
|
||||
if type(v) == "string" then
|
||||
val[k] = t({ v })
|
||||
end
|
||||
end
|
||||
end
|
||||
return val
|
||||
end
|
||||
|
||||
local M = {}
|
||||
|
||||
M.same = function(index)
|
||||
return f(function(args)
|
||||
return args[1]
|
||||
end, { index })
|
||||
end
|
||||
|
||||
M.year = function()
|
||||
return os.date("%Y")
|
||||
end
|
||||
|
||||
M.date = function()
|
||||
return os.date("%d.%m.%Y")
|
||||
end
|
||||
|
||||
M.make = function(tbl)
|
||||
local result = {}
|
||||
for k, v in pairs(tbl) do
|
||||
table.insert(result, (s({ trig = k, desc = v.desc }, shortcut(v))))
|
||||
end
|
||||
return result
|
||||
end
|
||||
|
||||
return M
|
||||
30
lua/plugins/aerial.lua
Normal file
30
lua/plugins/aerial.lua
Normal file
@@ -0,0 +1,30 @@
|
||||
return {
|
||||
"stevearc/aerial.nvim",
|
||||
dependencies = {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
"nvim-tree/nvim-web-devicons",
|
||||
},
|
||||
cmd = {
|
||||
"AerialToggle",
|
||||
"AerialOpen",
|
||||
"AerialOpenAll",
|
||||
"AerialClose",
|
||||
"AerialCloseAll",
|
||||
"AerialNext",
|
||||
"AerialPrev",
|
||||
"AerialGo",
|
||||
"AerialInfo",
|
||||
"AerialNavToggle",
|
||||
"AerialNavOpen",
|
||||
"AerialNavClose",
|
||||
},
|
||||
keys = {
|
||||
{ "<leader>b", vim.cmd.AerialToggle, desc = "Toggle Tagbar" },
|
||||
},
|
||||
opts = {
|
||||
layout = {
|
||||
default_direction = "right",
|
||||
min_width = { 30, 0.1 },
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -29,10 +29,6 @@ return {
|
||||
"epwalsh/obsidian.nvim",
|
||||
event = "BufReadPre " .. vim.fn.expand("~") .. "/Obsidian/**/*.md",
|
||||
},
|
||||
{
|
||||
"kiyoon/jupynium.nvim",
|
||||
event = "BufReadPre *.ju.py",
|
||||
},
|
||||
},
|
||||
version = "*",
|
||||
opts = {
|
||||
@@ -75,7 +71,6 @@ return {
|
||||
"buffer",
|
||||
"snippets",
|
||||
"ripgrep",
|
||||
"jupynium",
|
||||
"css_vars",
|
||||
},
|
||||
per_filetype = {
|
||||
@@ -140,11 +135,6 @@ return {
|
||||
score_offset = 15,
|
||||
opts = { insert = true },
|
||||
},
|
||||
jupynium = {
|
||||
name = "jupynium",
|
||||
module = "jupynium.blink_cmp",
|
||||
score_offset = 100,
|
||||
},
|
||||
git = {
|
||||
score_offset = 100,
|
||||
module = "blink-cmp-git",
|
||||
|
||||
@@ -1,30 +1,4 @@
|
||||
return {
|
||||
"laytan/cloak.nvim",
|
||||
opts = {
|
||||
enabled = true,
|
||||
cloak_character = "*",
|
||||
-- The applied highlight group (colors) on the cloaking, see `:h highlight`.
|
||||
highlight_group = "Comment",
|
||||
-- Applies the length of the replacement characters for all matched
|
||||
-- patterns, defaults to the length of the matched pattern.
|
||||
cloak_length = nil, -- Provide a number if you want to hide the true length of the value.
|
||||
-- Wether it should try every pattern to find the best fit or stop after the first.
|
||||
try_all_patterns = true,
|
||||
patterns = {
|
||||
{
|
||||
-- Match any file starting with '.env'.
|
||||
-- This can be a table to match multiple file patterns.
|
||||
file_pattern = { ".env*" },
|
||||
-- Match an equals sign and any character after it.
|
||||
-- This can also be a table of patterns to cloak,
|
||||
-- example: cloak_pattern = { ':.+', '-.+' } for yaml files.
|
||||
cloak_pattern = "=.+",
|
||||
-- A function, table or string to generate the replacement.
|
||||
-- The actual replacement will contain the 'cloak_character'
|
||||
-- where it doesn't cover the original text.
|
||||
-- If left empty the legacy behavior of keeping the first character is retained.
|
||||
replace = nil,
|
||||
},
|
||||
},
|
||||
},
|
||||
opts = {},
|
||||
}
|
||||
|
||||
@@ -3,67 +3,14 @@ return {
|
||||
ft = { "cpp", "c", "cmake" },
|
||||
dependencies = { "nvim-lua/plenary.nvim" },
|
||||
opts = {
|
||||
cmake_command = "cmake", -- this is used to specify cmake command path
|
||||
cmake_regenerate_on_save = true, -- auto generate when save CMakeLists.txt
|
||||
cmake_generate_options = { "-DCMAKE_EXPORT_COMPILE_COMMANDS=1" }, -- this will be passed when invoke `CMakeGenerate`
|
||||
cmake_build_options = {}, -- this will be passed when invoke `CMakeBuild`
|
||||
cmake_build_directory = "target/build/", -- this is used to specify generate directory for cmake
|
||||
cmake_build_directory_prefix = "cmake_build_", -- when cmake_build_directory is set to "", this option will be activated
|
||||
cmake_soft_link_compile_commands = true, -- this will automatically make a soft link from compile commands file to project root dir
|
||||
cmake_compile_commands_from_lsp = false, -- this will automatically set compile commands file location using lsp, to use it, please set `cmake_soft_link_compile_commands` to false
|
||||
cmake_kits_path = nil, -- this is used to specify global cmake kits path, see CMakeKits for detailed usage
|
||||
cmake_variants_message = {
|
||||
short = { show = true }, -- whether to show short message
|
||||
long = { show = true, max_length = 40 }, -- whether to show long message
|
||||
},
|
||||
cmake_dap_configuration = { -- debug settings for cmake
|
||||
name = "cpp",
|
||||
type = "codelldb",
|
||||
request = "launch",
|
||||
stopOnEntry = false,
|
||||
runInTerminal = true,
|
||||
console = "integratedTerminal",
|
||||
},
|
||||
cmake_executor = { -- executor to use
|
||||
name = "quickfix", -- name of the executor
|
||||
opts = {}, -- the options the executor will get, possible values depend on the executor type. See `default_opts` for possible values.
|
||||
default_opts = { -- a list of default and possible values for executors
|
||||
cmake_build_directory = "target/build/",
|
||||
cmake_executor = {
|
||||
default_opts = {
|
||||
quickfix = {
|
||||
show = "only_on_error", -- "always", "only_on_error"
|
||||
position = "belowright", -- "bottom", "top"
|
||||
show = "only_on_error",
|
||||
size = 15,
|
||||
},
|
||||
overseer = {
|
||||
new_task_opts = {}, -- options to pass into the `overseer.new_task` command
|
||||
on_new_task = function(task) end, -- a function that gets overseer.Task when it is created, before calling `task:start`
|
||||
},
|
||||
terminal = {}, -- terminal executor uses the values in cmake_terminal
|
||||
},
|
||||
},
|
||||
cmake_terminal = {
|
||||
name = "terminal",
|
||||
opts = {
|
||||
name = "Main Terminal",
|
||||
prefix_name = "[CMakeTools]: ", -- This must be included and must be unique, otherwise the terminals will not work. Do not use a simple spacebar " ", or any generic name
|
||||
split_direction = "vertical", -- "horizontal", "vertical"
|
||||
split_size = 50,
|
||||
|
||||
-- Window handling
|
||||
single_terminal_per_instance = true, -- Single viewport, multiple windows
|
||||
single_terminal_per_tab = true, -- Single viewport per tab
|
||||
keep_terminal_static_location = true, -- Static location of the viewport if avialable
|
||||
|
||||
-- Running Tasks
|
||||
start_insert_in_launch_task = false, -- If you want to enter terminal with :startinsert upon using :CMakeRun
|
||||
start_insert_in_other_tasks = false, -- If you want to enter terminal with :startinsert upon launching all other cmake tasks in the terminal. Generally set as false
|
||||
focus_on_main_terminal = false, -- Focus on cmake terminal when cmake task is launched. Only used if executor is terminal.
|
||||
focus_on_launch_terminal = false, -- Focus on cmake launch terminal when executable target in launched.
|
||||
},
|
||||
},
|
||||
cmake_notifications = {
|
||||
enabled = true, -- show cmake execution progress in nvim-notify
|
||||
spinner = { "⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏" }, -- icons used for progress display
|
||||
refresh_rate_ms = 100, -- how often to iterate icons
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
@@ -1,49 +1,16 @@
|
||||
return {
|
||||
"NvChad/nvim-colorizer.lua",
|
||||
"catgoose/nvim-colorizer.lua",
|
||||
event = "BufReadPre",
|
||||
opts = {
|
||||
filetypes = {
|
||||
"html",
|
||||
"javascriptreact",
|
||||
"css",
|
||||
"javascript",
|
||||
"lua",
|
||||
"yaml",
|
||||
"conf",
|
||||
"toml",
|
||||
"scss",
|
||||
"python",
|
||||
"typst",
|
||||
"htmldjango",
|
||||
"conf",
|
||||
"rust",
|
||||
"kdl",
|
||||
"ini",
|
||||
},
|
||||
user_default_options = {
|
||||
RGB = true, -- #RGB hex codes
|
||||
RRGGBB = true, -- #RRGGBB hex codes
|
||||
names = false, -- "Name" codes like Blue or blue
|
||||
RRGGBBAA = true, -- #RRGGBBAA hex codes
|
||||
AARRGGBB = true, -- 0xAARRGGBB hex codes
|
||||
rgb_fn = true, -- CSS rgb() and rgba() functions
|
||||
hsl_fn = true, -- CSS hsl() and hsla() functions
|
||||
css = true, -- Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB
|
||||
css_fn = true, -- Enable all CSS *functions*: rgb_fn, hsl_fn
|
||||
-- Available modes for `mode`: foreground, background, virtualtext
|
||||
mode = "background", -- Set the display mode.
|
||||
-- Available methods are false / true / "normal" / "lsp" / "both"
|
||||
-- True is same as normal
|
||||
tailwind = true, -- Enable tailwind colors
|
||||
-- parsers can contain values used in |user_default_options|
|
||||
sass = {
|
||||
enable = true,
|
||||
parsers = { "css" },
|
||||
}, -- Enable sass colors
|
||||
virtualtext = "■",
|
||||
names = false,
|
||||
css = true,
|
||||
css_fn = true,
|
||||
tailwind = true,
|
||||
tailwind_opts = {
|
||||
update_names = true,
|
||||
},
|
||||
sass = { enable = true, parsers = { "css" } },
|
||||
},
|
||||
-- all the sub-options of filetypes apply to buftypes
|
||||
buftypes = {},
|
||||
html = { names = true },
|
||||
css = { names = true },
|
||||
},
|
||||
}
|
||||
|
||||
@@ -1,61 +1,5 @@
|
||||
return {
|
||||
"numToStr/Comment.nvim",
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
opts = {
|
||||
---Add a space b/w comment and the line
|
||||
padding = true,
|
||||
---Whether the cursor should stay at its position
|
||||
sticky = true,
|
||||
---Lines to be ignored while (un)comment
|
||||
ignore = nil,
|
||||
---LHS of toggle mappings in NORMAL mode
|
||||
toggler = {
|
||||
---Line-comment toggle keymap
|
||||
line = "gcc",
|
||||
---Block-comment toggle keymap
|
||||
block = "gbb",
|
||||
},
|
||||
-- -LHS of operator-pending mappings in NORMAL and VISUAL mode
|
||||
opleader = {
|
||||
---Line-comment keymap
|
||||
line = "gc",
|
||||
---Block-comment keymap
|
||||
block = "gb",
|
||||
},
|
||||
---LHS of extra mappings
|
||||
extra = {
|
||||
---Add comment on the line above
|
||||
above = "gcO",
|
||||
---Add comment on the line below
|
||||
below = "gco",
|
||||
---Add comment at the end of line
|
||||
eol = "gcA",
|
||||
},
|
||||
--- Enable keybindings
|
||||
--- NOTE: If given `false` then the plugin won't create any mappings
|
||||
mappings = {
|
||||
---Operator-pending mapping; `gcc` `gbc` `gc[count]{motion}` `gb[count]{motion}`
|
||||
basic = true,
|
||||
---Extra mapping; `gco`, `gcO`, `gcA`
|
||||
extra = true,
|
||||
---Extended mapping; `g>` `g<` `g>[count]{motion}` `g<[count]{motion}`
|
||||
extended = true,
|
||||
},
|
||||
---Function to call before (un)comment
|
||||
-- pre_hook = function(ctx)
|
||||
-- local U = require("Comment.utils")
|
||||
--
|
||||
-- local location = nil
|
||||
-- if ctx.ctype == U.ctype.block then
|
||||
-- location = require("ts_context_commentstring.utils").get_cursor_location()
|
||||
-- elseif ctx.cmotion == U.cmotion.v or ctx.cmotion == U.cmotion.V then
|
||||
-- location = require("ts_context_commentstring.utils").get_visual_start_location()
|
||||
-- end
|
||||
--
|
||||
-- return require("ts_context_commentstring.internal").calculate_commentstring({
|
||||
-- key = ctx.ctype == U.ctype.line and "__default" or "__multiline",
|
||||
-- location = location,
|
||||
-- })
|
||||
-- end,
|
||||
},
|
||||
opts = {},
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ return {
|
||||
function()
|
||||
require("conform").format({ async = true, lsp_fallback = "fallback" })
|
||||
end,
|
||||
mode = "",
|
||||
mode = { "n", "v", "x" },
|
||||
desc = "Format buffer",
|
||||
},
|
||||
},
|
||||
@@ -27,13 +27,20 @@ return {
|
||||
cpp = { "clang-format" },
|
||||
css = { "prettier" },
|
||||
go = { "goimports", "gofmt" },
|
||||
haskell = { "fourmolu" },
|
||||
html = html,
|
||||
htmldjango = html,
|
||||
http = { "kulala-fmt" },
|
||||
javascript = js,
|
||||
javascriptreact = js,
|
||||
json = { "jq" },
|
||||
lua = { "stylua" },
|
||||
lua = function()
|
||||
local config_file = vim.fn.getcwd() .. "/*stylua.toml"
|
||||
if vim.fn.exists(config_file) then
|
||||
return { "stylua" }
|
||||
end
|
||||
return {}
|
||||
end,
|
||||
markdown = makrdown,
|
||||
python = { "ruff_format", "ruff_fix", "ruff_organize_imports", "docformatter" },
|
||||
rest = { "kulala" },
|
||||
|
||||
@@ -1,160 +1,22 @@
|
||||
return {
|
||||
{
|
||||
|
||||
"Saecki/crates.nvim",
|
||||
tag = "stable",
|
||||
event = { "BufRead Cargo.toml" },
|
||||
keys = {
|
||||
{
|
||||
"<leader>ru",
|
||||
require("crates").upgrade_all_crates,
|
||||
desc = "Upgrade all crates",
|
||||
ft = { "rust", "toml" },
|
||||
},
|
||||
},
|
||||
opts = {
|
||||
completion = {
|
||||
cmp = {
|
||||
enabled = true,
|
||||
},
|
||||
},
|
||||
smart_insert = true,
|
||||
insert_closing_quote = true,
|
||||
autoload = true,
|
||||
autoupdate = true,
|
||||
loading_indicator = true,
|
||||
date_format = "%d-%m-%Y",
|
||||
thousands_separator = ".",
|
||||
notification_title = "Crates",
|
||||
-- disable_invalid_feature_diagnostic = false,
|
||||
text = {
|
||||
loading = " Loading",
|
||||
version = " %s",
|
||||
prerelease = " %s",
|
||||
yanked = " %s",
|
||||
nomatch = " No match",
|
||||
upgrade = " %s",
|
||||
error = " Error fetching crate",
|
||||
},
|
||||
highlight = {
|
||||
loading = "CratesNvimLoading",
|
||||
version = "CratesNvimVersion",
|
||||
prerelease = "CratesNvimPreRelease",
|
||||
yanked = "CratesNvimYanked",
|
||||
nomatch = "CratesNvimNoMatch",
|
||||
upgrade = "CratesNvimUpgrade",
|
||||
error = "CratesNvimError",
|
||||
},
|
||||
popup = {
|
||||
autofocus = false,
|
||||
copy_register = '"',
|
||||
style = "minimal",
|
||||
border = "none",
|
||||
show_version_date = false,
|
||||
show_dependency_version = true,
|
||||
max_height = 30,
|
||||
min_width = 20,
|
||||
padding = 1,
|
||||
text = {
|
||||
title = " %s",
|
||||
pill_left = "",
|
||||
pill_right = "",
|
||||
description = "%s",
|
||||
created_label = " created ",
|
||||
created = "%s",
|
||||
updated_label = " updated ",
|
||||
updated = "%s",
|
||||
downloads_label = " downloads ",
|
||||
downloads = "%s",
|
||||
homepage_label = " homepage ",
|
||||
homepage = "%s",
|
||||
repository_label = " repository ",
|
||||
repository = "%s",
|
||||
documentation_label = " documentation ",
|
||||
documentation = "%s",
|
||||
crates_io_label = " crates.io ",
|
||||
crates_io = "%s",
|
||||
categories_label = " categories ",
|
||||
keywords_label = " keywords ",
|
||||
version = " %s",
|
||||
prerelease = " %s",
|
||||
yanked = " %s",
|
||||
version_date = " %s",
|
||||
feature = " %s",
|
||||
enabled = " %s",
|
||||
transitive = " %s",
|
||||
normal_dependencies_title = " Dependencies",
|
||||
build_dependencies_title = " Build dependencies",
|
||||
dev_dependencies_title = " Dev dependencies",
|
||||
dependency = " %s",
|
||||
optional = " %s",
|
||||
dependency_version = " %s",
|
||||
loading = " ",
|
||||
},
|
||||
highlight = {
|
||||
title = "CratesNvimPopupTitle",
|
||||
pill_text = "CratesNvimPopupPillText",
|
||||
pill_border = "CratesNvimPopupPillBorder",
|
||||
description = "CratesNvimPopupDescription",
|
||||
created_label = "CratesNvimPopupLabel",
|
||||
created = "CratesNvimPopupValue",
|
||||
updated_label = "CratesNvimPopupLabel",
|
||||
updated = "CratesNvimPopupValue",
|
||||
downloads_label = "CratesNvimPopupLabel",
|
||||
downloads = "CratesNvimPopupValue",
|
||||
homepage_label = "CratesNvimPopupLabel",
|
||||
homepage = "CratesNvimPopupUrl",
|
||||
repository_label = "CratesNvimPopupLabel",
|
||||
repository = "CratesNvimPopupUrl",
|
||||
documentation_label = "CratesNvimPopupLabel",
|
||||
documentation = "CratesNvimPopupUrl",
|
||||
crates_io_label = "CratesNvimPopupLabel",
|
||||
crates_io = "CratesNvimPopupUrl",
|
||||
categories_label = "CratesNvimPopupLabel",
|
||||
keywords_label = "CratesNvimPopupLabel",
|
||||
version = "CratesNvimPopupVersion",
|
||||
prerelease = "CratesNvimPopupPreRelease",
|
||||
yanked = "CratesNvimPopupYanked",
|
||||
version_date = "CratesNvimPopupVersionDate",
|
||||
feature = "CratesNvimPopupFeature",
|
||||
enabled = "CratesNvimPopupEnabled",
|
||||
transitive = "CratesNvimPopupTransitive",
|
||||
normal_dependencies_title = "CratesNvimPopupNormalDependenciesTitle",
|
||||
build_dependencies_title = "CratesNvimPopupBuildDependenciesTitle",
|
||||
dev_dependencies_title = "CratesNvimPopupDevDependenciesTitle",
|
||||
dependency = "CratesNvimPopupDependency",
|
||||
optional = "CratesNvimPopupOptional",
|
||||
dependency_version = "CratesNvimPopupDependencyVersion",
|
||||
loading = "CratesNvimPopupLoading",
|
||||
},
|
||||
keys = {
|
||||
hide = { "q", "<esc>" },
|
||||
open_url = { "<cr>" },
|
||||
select = { "<cr>" },
|
||||
select_alt = { "s" },
|
||||
toggle_feature = { "<cr>" },
|
||||
copy_value = { "yy" },
|
||||
goto_item = { "gd", "K", "<C-LeftMouse>" },
|
||||
jump_forward = { "<c-i>" },
|
||||
jump_back = { "<c-o>", "<C-RightMouse>" },
|
||||
},
|
||||
},
|
||||
--[[ src = {
|
||||
insert_closing_quote = true,
|
||||
text = {
|
||||
prerelease = " pre-release ",
|
||||
yanked = " yanked ",
|
||||
},
|
||||
}, ]]
|
||||
"Saecki/crates.nvim",
|
||||
tag = "stable",
|
||||
event = { "BufRead Cargo.toml" },
|
||||
keys = {
|
||||
{
|
||||
"<leader>ru",
|
||||
require("crates").upgrade_all_crates,
|
||||
desc = "Upgrade all crates",
|
||||
ft = { "rust", "toml" },
|
||||
},
|
||||
},
|
||||
{
|
||||
"Aityz/cratesearch.nvim",
|
||||
event = { "BufRead Cargo.toml" },
|
||||
ft = { "rust" },
|
||||
cmd = { "CrateSearch" },
|
||||
config = function()
|
||||
require("cratesearch").setup()
|
||||
end,
|
||||
opts = {
|
||||
completion = {
|
||||
cmp = {
|
||||
enabled = true,
|
||||
},
|
||||
},
|
||||
date_format = "%d-%m-%Y",
|
||||
thousands_separator = " ",
|
||||
},
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
return {
|
||||
"wintermute-cell/gitignore.nvim",
|
||||
dependencies = {},
|
||||
cmd = { "Gitignore" },
|
||||
keys = {
|
||||
{
|
||||
@@ -11,7 +10,4 @@ return {
|
||||
desc = "Git Ignore",
|
||||
},
|
||||
},
|
||||
config = function()
|
||||
require("gitignore")
|
||||
end,
|
||||
}
|
||||
|
||||
@@ -1,61 +0,0 @@
|
||||
return {
|
||||
"lewis6991/gitsigns.nvim",
|
||||
enabled = false,
|
||||
event = "BufReadPre",
|
||||
cmd = "Gitsigns",
|
||||
keys = {
|
||||
{
|
||||
"<leader>gb",
|
||||
function()
|
||||
vim.cmd.Gitsigns("blame_line")
|
||||
end,
|
||||
desc = "Git Blame",
|
||||
},
|
||||
},
|
||||
opts = {
|
||||
signs = {
|
||||
add = { text = "┃" },
|
||||
change = { text = "┃" },
|
||||
delete = { text = "_" },
|
||||
topdelete = { text = "‾" },
|
||||
changedelete = { text = "~" },
|
||||
untracked = { text = "┆" },
|
||||
},
|
||||
signcolumn = true, -- Toggle with `:Gitsigns toggle_signs`
|
||||
numhl = false, -- Toggle with `:Gitsigns toggle_numhl`
|
||||
linehl = false, -- Toggle with `:Gitsigns toggle_linehl`
|
||||
word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff`
|
||||
watch_gitdir = {
|
||||
follow_files = true,
|
||||
},
|
||||
auto_attach = true,
|
||||
attach_to_untracked = true,
|
||||
current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame`
|
||||
current_line_blame_opts = {
|
||||
virt_text = true,
|
||||
virt_text_pos = "eol", -- 'eol' | 'overlay' | 'right_align'
|
||||
delay = 100,
|
||||
ignore_whitespace = false,
|
||||
virt_text_priority = 100,
|
||||
},
|
||||
current_line_blame_formatter = "<author>, <author_time:%R> - <summary>",
|
||||
sign_priority = 6,
|
||||
update_debounce = 100,
|
||||
status_formatter = nil, -- Use default
|
||||
max_file_length = 10000, -- Disable if file is longer than this (in lines)
|
||||
preview_config = {
|
||||
-- Options passed to nvim_open_win
|
||||
border = "single",
|
||||
style = "minimal",
|
||||
relative = "cursor",
|
||||
row = 0,
|
||||
col = 1,
|
||||
},
|
||||
on_attach = function(bufnr)
|
||||
if vim.api.nvim_buf_get_name(bufnr):match("%.ipynb$") then
|
||||
-- Do not attach for .ipynb file, since these are converted with jupytext.nvim
|
||||
return false
|
||||
end
|
||||
end,
|
||||
},
|
||||
}
|
||||
7
lua/plugins/haskell-tools.lua
Normal file
7
lua/plugins/haskell-tools.lua
Normal file
@@ -0,0 +1,7 @@
|
||||
return {
|
||||
enabled = false,
|
||||
"mrcjkb/haskell-tools.nvim",
|
||||
version = "^6",
|
||||
lazy = false,
|
||||
ft = { "haskell", "lhaskell", "cabal" },
|
||||
}
|
||||
@@ -1,7 +1,10 @@
|
||||
return {
|
||||
"barrett-ruth/http-codes.nvim",
|
||||
dependencies = { "folke/snacks.nvim" },
|
||||
"kristoferssolo/http-codes.nvim",
|
||||
branch = "feature/snacks",
|
||||
dependencies = "folke/snacks.nvim",
|
||||
cmd = "HTTPCodes",
|
||||
keys = { { "<leader>pdh", vim.cmd.HTTPCodes, desc = "HTTP" } },
|
||||
config = true,
|
||||
keys = { { "<leader>pH", vim.cmd.HTTPCodes, desc = "HTTP" } },
|
||||
opts = {
|
||||
use = "snacks",
|
||||
},
|
||||
}
|
||||
|
||||
@@ -9,7 +9,6 @@ return {
|
||||
end,
|
||||
},
|
||||
{
|
||||
|
||||
"<A-p>",
|
||||
function()
|
||||
require("illuminate").goto_prev_reference()
|
||||
|
||||
@@ -2,52 +2,85 @@ local function is_typst()
|
||||
return vim.bo.filetype == "typst"
|
||||
end
|
||||
return {
|
||||
"HakonHarnes/img-clip.nvim",
|
||||
event = "VeryLazy",
|
||||
keys = {
|
||||
{ "<leader>v", vim.cmd.PasteImage, desc = "Paste image from system clipboard" },
|
||||
},
|
||||
opts = {
|
||||
default = {
|
||||
dir_path = "assets/img",
|
||||
extension = function()
|
||||
if is_typst() then
|
||||
return "png"
|
||||
else
|
||||
return "webp"
|
||||
end
|
||||
end,
|
||||
process_cmd = function()
|
||||
if is_typst() then
|
||||
return ""
|
||||
else
|
||||
return "convert - -quality 75 webp:-"
|
||||
end
|
||||
end,
|
||||
file_name = "%Y-%m-%d_%H-%M-%S",
|
||||
relative_to_current_file = false,
|
||||
prompt_for_file_name = function()
|
||||
return is_typst()
|
||||
end,
|
||||
embed_image_as_base64 = false,
|
||||
drag_and_drop = {
|
||||
insert_mode = true,
|
||||
{
|
||||
"3rd/image.nvim",
|
||||
opts = {
|
||||
backend = "ueberzug",
|
||||
processor = "magick_rock",
|
||||
scale_factor = 0.5,
|
||||
integrations = {
|
||||
neorg = {
|
||||
clear_in_insert_mode = true,
|
||||
only_render_image_at_cursor = true,
|
||||
only_render_image_at_cursor_mode = "popup",
|
||||
},
|
||||
typst = {
|
||||
enabled = false,
|
||||
clear_in_insert_mode = true,
|
||||
only_render_image_at_cursor = true,
|
||||
only_render_image_at_cursor_mode = "popup",
|
||||
},
|
||||
markdown = {
|
||||
clear_in_insert_mode = true,
|
||||
only_render_image_at_cursor = true,
|
||||
only_render_image_at_cursor_mode = "popup",
|
||||
resolve_image_path = function(document_path, image_path, fallback)
|
||||
local working_dir = vim.fn.getcwd()
|
||||
if working_dir:find("Obsidian") then
|
||||
return working_dir .. "/assets/img/" .. image_path
|
||||
end
|
||||
return fallback(document_path, image_path)
|
||||
end,
|
||||
},
|
||||
},
|
||||
},
|
||||
filetypes = {
|
||||
markdown = {
|
||||
template = "![[$FILE_PATH]]",
|
||||
},
|
||||
{
|
||||
"HakonHarnes/img-clip.nvim",
|
||||
event = "VeryLazy",
|
||||
keys = {
|
||||
{ "<leader>v", vim.cmd.PasteImage, desc = "Paste image from system clipboard" },
|
||||
},
|
||||
opts = {
|
||||
default = {
|
||||
dir_path = "assets/img",
|
||||
extension = function()
|
||||
if is_typst() then
|
||||
return "png"
|
||||
else
|
||||
return "webp"
|
||||
end
|
||||
end,
|
||||
process_cmd = function()
|
||||
if is_typst() then
|
||||
return ""
|
||||
else
|
||||
return "convert - -quality 75 webp:-"
|
||||
end
|
||||
end,
|
||||
file_name = "%Y-%m-%d_%H-%M-%S",
|
||||
relative_to_current_file = false,
|
||||
prompt_for_file_name = is_typst,
|
||||
embed_image_as_base64 = false,
|
||||
drag_and_drop = {
|
||||
insert_mode = true,
|
||||
},
|
||||
},
|
||||
vimwiki = {
|
||||
template = "![[$FILE_PATH]]",
|
||||
},
|
||||
typst = {
|
||||
template = [[
|
||||
filetypes = {
|
||||
markdown = {
|
||||
template = "![[$FILE_PATH]]",
|
||||
},
|
||||
vimwiki = {
|
||||
template = "![[$FILE_PATH]]",
|
||||
},
|
||||
typst = {
|
||||
template = [[
|
||||
#figure(
|
||||
image("$FILE_PATH", width: 80%),
|
||||
caption: [$CURSOR],
|
||||
) <$LABEL>
|
||||
]],
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
@@ -3,9 +3,6 @@ return {
|
||||
"MysticalDevil/inlay-hints.nvim",
|
||||
event = "LspAttach",
|
||||
dependencies = { "neovim/nvim-lspconfig" },
|
||||
keys = {
|
||||
{ "<leader>oi", vim.cmd.InlayHintsToggle, desc = "Toggle InlayHints" },
|
||||
},
|
||||
opts = {
|
||||
commands = { enable = true }, -- Enable InlayHints commands, include `InlayHintsToggle`, `InlayHintsEnable` and `InlayHintsDisable`
|
||||
autocmd = { enable = true }, -- Enable the inlay hints on `LspAttach` event
|
||||
|
||||
@@ -3,8 +3,6 @@ return {
|
||||
ft = "lua",
|
||||
opts = {
|
||||
library = {
|
||||
-- See the configuration section for more details
|
||||
-- Load luvit types when the `vim.uv` word is found
|
||||
{ path = "${3rd}/luv/library", words = { "vim%.uv" } },
|
||||
},
|
||||
},
|
||||
|
||||
@@ -6,6 +6,7 @@ return {
|
||||
linters_by_ft = {
|
||||
["*"] = { "codespell", "typos" },
|
||||
cmake = { "cmakelint" },
|
||||
haskell = { "hlint" },
|
||||
htmldjango = { "djlint" },
|
||||
javascript = js,
|
||||
javascriptreact = js,
|
||||
|
||||
@@ -9,11 +9,9 @@ return {
|
||||
"folke/neoconf.nvim",
|
||||
"mrcjkb/rustaceanvim",
|
||||
"pmizio/typescript-tools.nvim",
|
||||
{ "nvim-java/nvim-java", enabled = false },
|
||||
},
|
||||
config = function(_, opts)
|
||||
require("mason").setup()
|
||||
local lspconfig = require("lspconfig")
|
||||
|
||||
local function extend_capabilities(capabilities)
|
||||
return vim.tbl_deep_extend("keep", capabilities, {
|
||||
@@ -43,7 +41,7 @@ return {
|
||||
}
|
||||
end
|
||||
|
||||
lspconfig[server].setup(final_config)
|
||||
vim.lsp.config(server, final_config)
|
||||
end
|
||||
|
||||
vim.api.nvim_create_autocmd("LspAttach", {
|
||||
@@ -66,7 +64,7 @@ return {
|
||||
vim.lsp.buf.hover({ border = "rounded" })
|
||||
end, "Hover Documentation")
|
||||
nmap("gi", vim.lsp.buf.implementation, "[G]oto [I]mplementation")
|
||||
vim.keymap.set("i", "<C-h>", function()
|
||||
vim.keymap.set("i", "<C-H>", function()
|
||||
vim.lsp.buf.signature_help({ border = "rounded" })
|
||||
end, { buffer = event.buf, desc = "LSP: Signature Documentation" })
|
||||
nmap("<leader>wa", vim.lsp.buf.add_workspace_folder, "[W]orkspace [A]dd Folder")
|
||||
@@ -85,13 +83,13 @@ return {
|
||||
vim.diagnostic.jump({ count = -1, float = true })
|
||||
end, "Diagnostic Prev")
|
||||
nmap("]d", function()
|
||||
trouble:next({ mode = "diagnostics", skip_groups = true, jump = true })
|
||||
trouble.next({ mode = "diagnostics", skip_groups = true, jump = true })
|
||||
end, "LSP: Trouble Next")
|
||||
nmap("[d", function()
|
||||
trouble.prev({ mode = "diagnostics", skip_groups = true, jump = true })
|
||||
end, "Trouble Prev")
|
||||
vim.keymap.set(
|
||||
{ "n", "v" },
|
||||
{ "n", "v", "x" },
|
||||
"<leader>la",
|
||||
vim.lsp.buf.code_action,
|
||||
{ buffer = event.buf, desc = "LSP: Code [A]ction" }
|
||||
@@ -99,7 +97,9 @@ return {
|
||||
nmap("gr", function()
|
||||
trouble.toggle("lsp_references")
|
||||
end, "[G]oto [R]eferences")
|
||||
nmap("gR", function() Snacks.picker.lsp_references() end, "[G]oto [R]eferences")
|
||||
nmap("gR", function()
|
||||
Snacks.picker.lsp_references()
|
||||
end, "[G]oto [R]eferences")
|
||||
end,
|
||||
})
|
||||
|
||||
@@ -140,7 +140,6 @@ return {
|
||||
"gopls",
|
||||
"html",
|
||||
"hyprls",
|
||||
"jdtls",
|
||||
"jinja_lsp",
|
||||
"jsonls",
|
||||
"lua_ls",
|
||||
@@ -149,16 +148,12 @@ return {
|
||||
"ruff",
|
||||
"somesass_ls",
|
||||
"tailwindcss",
|
||||
"texlab",
|
||||
"tinymist",
|
||||
"ts_ls",
|
||||
},
|
||||
handlers = {
|
||||
default_setup,
|
||||
ts_ls = function() end,
|
||||
jdtls = function()
|
||||
require("java").setup({})
|
||||
end,
|
||||
},
|
||||
})
|
||||
|
||||
@@ -194,38 +189,42 @@ return {
|
||||
lua_ls = {
|
||||
settings = {
|
||||
Lua = {
|
||||
runtime = {
|
||||
-- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim)
|
||||
version = "LuaJIT",
|
||||
},
|
||||
diagnostics = {
|
||||
-- Get the language server to recognize the `vim` global
|
||||
globals = { "vim", "awesome", "client", "ya" },
|
||||
},
|
||||
-- workspace = {
|
||||
-- Make the server aware of Neovim runtime files
|
||||
-- library = vim.api.nvim_get_runtime_file("", true),
|
||||
-- },
|
||||
-- Do not send telemetry data containing a randomized but unique identifier
|
||||
telemetry = {
|
||||
enable = false,
|
||||
},
|
||||
root_pattern = {
|
||||
".stylua.toml",
|
||||
".luarc.json",
|
||||
".luarc.jsonc",
|
||||
".luacheckrc",
|
||||
"stylua.toml",
|
||||
"selene.toml",
|
||||
"selene.yml",
|
||||
".git",
|
||||
},
|
||||
format = {
|
||||
enable = false,
|
||||
},
|
||||
hint = {
|
||||
enable = true,
|
||||
globals = {
|
||||
"vim",
|
||||
"awesome",
|
||||
"client",
|
||||
"s",
|
||||
"sn",
|
||||
"isn",
|
||||
"t",
|
||||
"i",
|
||||
"f",
|
||||
"c",
|
||||
"d",
|
||||
"r",
|
||||
"events",
|
||||
"k",
|
||||
"ai",
|
||||
"extras",
|
||||
"l",
|
||||
"rep",
|
||||
"p",
|
||||
"m",
|
||||
"n",
|
||||
"dl",
|
||||
"fmt",
|
||||
"fmta",
|
||||
"conds",
|
||||
"postfix",
|
||||
"types",
|
||||
"parse",
|
||||
"ms",
|
||||
},
|
||||
},
|
||||
telemetry = { enable = false },
|
||||
format = { enable = true },
|
||||
hint = { enable = true },
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -252,6 +251,59 @@ return {
|
||||
"zsh",
|
||||
},
|
||||
},
|
||||
tailwindcss = {
|
||||
filetypes = {
|
||||
"aspnetcorerazor",
|
||||
"astro",
|
||||
"astro-markdown",
|
||||
"blade",
|
||||
"clojure",
|
||||
"django-html",
|
||||
"htmldjango",
|
||||
"edge",
|
||||
"eelixir",
|
||||
"elixir",
|
||||
"ejs",
|
||||
"erb",
|
||||
"eruby",
|
||||
"gohtml",
|
||||
"gohtmltmpl",
|
||||
"haml",
|
||||
"handlebars",
|
||||
"hbs",
|
||||
"html",
|
||||
"htmlangular",
|
||||
"html-eex",
|
||||
"heex",
|
||||
"jade",
|
||||
"leaf",
|
||||
"liquid",
|
||||
"mdx",
|
||||
"mustache",
|
||||
"njk",
|
||||
"nunjucks",
|
||||
"php",
|
||||
"razor",
|
||||
"slim",
|
||||
"twig",
|
||||
"css",
|
||||
"less",
|
||||
"postcss",
|
||||
"sass",
|
||||
"scss",
|
||||
"stylus",
|
||||
"sugarss",
|
||||
"javascript",
|
||||
"javascriptreact",
|
||||
"reason",
|
||||
"rescript",
|
||||
"typescript",
|
||||
"typescriptreact",
|
||||
"vue",
|
||||
"svelte",
|
||||
"templ",
|
||||
},
|
||||
},
|
||||
texlab = {
|
||||
texlab = {
|
||||
auxDirectory = ".",
|
||||
@@ -280,16 +332,6 @@ return {
|
||||
-- htmx = {
|
||||
-- filetypes = { "html", "htmldjango", "templ" },
|
||||
-- },
|
||||
--[[ pylyzer = {
|
||||
settings = {
|
||||
python = {
|
||||
diagnostics = true,
|
||||
inlayHints = true,
|
||||
smartCompletion = true,
|
||||
checkOnType = true,
|
||||
},
|
||||
},
|
||||
}, ]]
|
||||
basedpyright = {
|
||||
typeCheckingMode = "off",
|
||||
analysis = {
|
||||
@@ -303,28 +345,6 @@ return {
|
||||
},
|
||||
},
|
||||
},
|
||||
--[[ pylsp = {
|
||||
settings = {
|
||||
pylsp = {
|
||||
plugins = {
|
||||
autopep8 = { enabled = false },
|
||||
flake8 = { enabled = false },
|
||||
pylint = { enabled = false },
|
||||
yapf = { enabled = false },
|
||||
pydocstyle = { enabled = false },
|
||||
mccabe = { enabled = false },
|
||||
rope_autoimport = { enabled = true },
|
||||
rope_completion = {
|
||||
enabled = true,
|
||||
eager = true,
|
||||
},
|
||||
pycodestyle = {
|
||||
maxLineLength = nil,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}, ]]
|
||||
jinja_lsp = {
|
||||
filetypes = { "html", "htmldjango", "templ" },
|
||||
},
|
||||
@@ -347,7 +367,6 @@ return {
|
||||
semanticTokens = "disable",
|
||||
},
|
||||
},
|
||||
-- jdtls = {},
|
||||
markdown_oxide = {
|
||||
capabilities = {
|
||||
workspace = {
|
||||
|
||||
@@ -2,21 +2,10 @@
|
||||
---@param str string
|
||||
---@param ctx table
|
||||
---@return string
|
||||
local function wrap_string(str, ctx)
|
||||
local function wrap_string(str, _ctx)
|
||||
return "[" .. str:gsub("%s+", "") .. "]"
|
||||
end
|
||||
|
||||
local function diff_source()
|
||||
local gitsigns = vim.b.gitsigns_status_dict
|
||||
if gitsigns then
|
||||
return {
|
||||
added = gitsigns.added,
|
||||
modified = gitsigns.changed,
|
||||
removed = gitsigns.removed,
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
return {
|
||||
"nvim-lualine/lualine.nvim",
|
||||
event = "VimEnter",
|
||||
@@ -28,10 +17,8 @@ return {
|
||||
require("lsp-progress").setup()
|
||||
end,
|
||||
},
|
||||
"lewis6991/gitsigns.nvim",
|
||||
{
|
||||
"kristoferssolo/lualine-harpoon.nvim",
|
||||
-- dir = "~/repos/lualine-harpoon.nvim/",
|
||||
dependencies = {
|
||||
{
|
||||
"ThePrimeagen/harpoon",
|
||||
@@ -69,7 +56,7 @@ return {
|
||||
lualine_a = {},
|
||||
lualine_b = {
|
||||
{ "mode", fmt = wrap_string },
|
||||
{ "b:gitsigns_head", icon = "" },
|
||||
{ "branch" },
|
||||
},
|
||||
lualine_c = {
|
||||
{
|
||||
@@ -81,7 +68,7 @@ return {
|
||||
"filename",
|
||||
padding = { right = 1, left = 0 },
|
||||
},
|
||||
{ "diff", source = diff_source },
|
||||
"diff",
|
||||
"harpoon",
|
||||
},
|
||||
lualine_x = {
|
||||
|
||||
@@ -3,20 +3,13 @@ return {
|
||||
"L3MON4D3/LuaSnip",
|
||||
build = "make install_jsregexp",
|
||||
version = "v2.*",
|
||||
dependencies = {
|
||||
"rafamadriz/friendly-snippets", -- a bunch of snippets to use
|
||||
},
|
||||
dependencies = { "rafamadriz/friendly-snippets" },
|
||||
opts = function()
|
||||
local types = require("luasnip.util.types")
|
||||
return {
|
||||
-- This tells LuaSnip to remember to keep around the last snippet.
|
||||
-- You can jump back into it even if you move outside of the selection
|
||||
history = true,
|
||||
-- This one is cool cause if you have dynamic snippets, it updates as you type!
|
||||
updateevents = "TextChanged,TextChangedI",
|
||||
-- Autosnippets:
|
||||
enable_autosnippets = true,
|
||||
-- Crazy highlights!!
|
||||
ext_opts = {
|
||||
[types.choiceNode] = {
|
||||
active = {
|
||||
@@ -29,32 +22,6 @@ return {
|
||||
config = function(_, opts)
|
||||
local ls = require("luasnip")
|
||||
|
||||
local s = ls.snippet
|
||||
local sn = ls.snippet_node
|
||||
local isn = ls.indent_snippet_node
|
||||
local t = ls.text_node
|
||||
local i = ls.insert_node
|
||||
local f = ls.function_node
|
||||
local c = ls.choice_node
|
||||
local d = ls.dynamic_node
|
||||
local r = ls.restore_node
|
||||
local events = require("luasnip.util.events")
|
||||
local ai = require("luasnip.nodes.absolute_indexer")
|
||||
local extras = require("luasnip.extras")
|
||||
local l = extras.lambda
|
||||
local rep = extras.rep
|
||||
local p = extras.partial
|
||||
local m = extras.match
|
||||
local n = extras.nonempty
|
||||
local dl = extras.dynamic_lambda
|
||||
local fmt = require("luasnip.extras.fmt").fmt
|
||||
local fmta = require("luasnip.extras.fmt").fmta
|
||||
local conds = require("luasnip.extras.expand_conditions")
|
||||
local postfix = require("luasnip.extras.postfix").postfix
|
||||
local types = require("luasnip.util.types")
|
||||
local parse = require("luasnip.util.parser").parse_snippet
|
||||
local ms = ls.multi_snippet
|
||||
|
||||
vim.keymap.set({ "i", "s" }, "<C-j>", function()
|
||||
if ls.expand_or_jumpable() then
|
||||
ls.expand_or_jump()
|
||||
@@ -81,31 +48,24 @@ return {
|
||||
|
||||
ls.config.setup(opts)
|
||||
|
||||
require("luasnip.loaders.from_vscode").load({
|
||||
exclude = {
|
||||
"rust",
|
||||
rust = {
|
||||
"modtest",
|
||||
},
|
||||
},
|
||||
})
|
||||
vim.tbl_map(function(type)
|
||||
require("luasnip.loaders.from_" .. type).lazy_load()
|
||||
end, { "vscode", "snipmate", "lua" })
|
||||
require("luasnip.loaders.from_vscode").lazy_load()
|
||||
|
||||
require("luasnip.loaders.from_lua").load({ paths = vim.fn.stdpath("config") .. "/snippets/" })
|
||||
|
||||
ls.filetype_extend("typescript", { "tsdoc" })
|
||||
ls.filetype_extend("javascript", { "jsdoc" })
|
||||
ls.filetype_extend("lua", { "luadoc" })
|
||||
ls.filetype_extend("python", { "pydoc" })
|
||||
ls.filetype_extend("rust", { "rustdoc" })
|
||||
ls.filetype_extend("cs", { "csharpdoc" })
|
||||
ls.filetype_extend("java", { "javadoc" })
|
||||
ls.filetype_extend("c", { "cdoc" })
|
||||
ls.filetype_extend("cpp", { "cppdoc" })
|
||||
ls.filetype_extend("php", { "phpdoc" })
|
||||
ls.filetype_extend("cs", { "csharpdoc" })
|
||||
ls.filetype_extend("html", { "djangohtml" })
|
||||
ls.filetype_extend("java", { "javadoc" })
|
||||
ls.filetype_extend("javascript", { "jsdoc" })
|
||||
ls.filetype_extend("kotlin", { "kdoc" })
|
||||
ls.filetype_extend("lua", { "luadoc" })
|
||||
ls.filetype_extend("php", { "phpdoc" })
|
||||
ls.filetype_extend("python", { "pydoc", "django" })
|
||||
ls.filetype_extend("ruby", { "rdoc" })
|
||||
-- ls.filetype_extend("rust", { "rustdoc" })
|
||||
ls.filetype_extend("sh", { "shelldoc" })
|
||||
ls.filetype_extend("typescript", { "tsdoc" })
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -1,77 +1,37 @@
|
||||
return {
|
||||
{
|
||||
"tadmccorkle/markdown.nvim",
|
||||
ft = { "markdown", "Avante" },
|
||||
opts = {
|
||||
-- Disable all keymaps by setting mappings field to 'false'.
|
||||
-- Selectively disable keymaps by setting corresponding field to 'false'.
|
||||
mappings = {
|
||||
inline_surround_toggle = "gs", -- (string|boolean) toggle inline style
|
||||
inline_surround_toggle_line = "gss", -- (string|boolean) line-wise toggle inline style
|
||||
inline_surround_delete = "ds", -- (string|boolean) delete emphasis surrounding cursor
|
||||
inline_surround_change = "cs", -- (string|boolean) change emphasis surrounding cursor
|
||||
link_add = "gl", -- (string|boolean) add link
|
||||
link_follow = "gx", -- (string|boolean) follow link
|
||||
go_curr_heading = "]c", -- (string|boolean) set cursor to current section heading
|
||||
go_parent_heading = "]p", -- (string|boolean) set cursor to parent section heading
|
||||
go_next_heading = "]]", -- (string|boolean) set cursor to next section heading
|
||||
go_prev_heading = "[[", -- (string|boolean) set cursor to previous section heading
|
||||
},
|
||||
inline_surround = {
|
||||
-- For the emphasis, strong, strikethrough, and code fields:
|
||||
-- * 'key': used to specify an inline style in toggle, delete, and change operations
|
||||
-- * 'txt': text inserted when toggling or changing to the corresponding inline style
|
||||
emphasis = {
|
||||
key = "i",
|
||||
txt = "*",
|
||||
},
|
||||
strong = {
|
||||
key = "b",
|
||||
txt = "**",
|
||||
},
|
||||
strikethrough = {
|
||||
key = "s",
|
||||
txt = "~~",
|
||||
},
|
||||
code = {
|
||||
key = "c",
|
||||
txt = "`",
|
||||
},
|
||||
},
|
||||
link = {
|
||||
paste = {
|
||||
enable = true, -- whether to convert URLs to links on paste
|
||||
},
|
||||
},
|
||||
toc = {
|
||||
-- Comment text to flag headings/sections for omission in table of contents.
|
||||
omit_heading = "toc omit heading",
|
||||
omit_section = "toc omit section",
|
||||
-- Cycling list markers to use in table of contents.
|
||||
-- Use '.' and ')' for ordered lists.
|
||||
markers = { "-" },
|
||||
},
|
||||
-- Hook functions allow for overriding or extending default behavior.
|
||||
-- Called with a table of options and a fallback function with default behavior.
|
||||
-- Signature: fun(opts: table, fallback: fun())
|
||||
hooks = {
|
||||
-- Called when following links. Provided the following options:
|
||||
-- * 'dest' (string): the link destination
|
||||
-- * 'use_default_app' (boolean|nil): whether to open the destination with default application
|
||||
-- (refer to documentation on <Plug> mappings for explanation of when this option is used)
|
||||
follow_link = nil,
|
||||
},
|
||||
on_attach = nil, -- (fun(bufnr: integer)) callback when plugin attaches to a buffer
|
||||
},
|
||||
ft = { "markdown" },
|
||||
opts = {},
|
||||
},
|
||||
{
|
||||
"OXY2DEV/markview.nvim",
|
||||
dependencies = {
|
||||
"saghen/blink.cmp",
|
||||
{ "echasnovski/mini.icons", version = "*" },
|
||||
},
|
||||
ft = { "markdown", "Avante" },
|
||||
ft = { "markdown" },
|
||||
lazy = false,
|
||||
priority = 49,
|
||||
keys = {
|
||||
{
|
||||
"<C-Space>",
|
||||
function()
|
||||
vim.cmd("Checkbox toggle")
|
||||
end,
|
||||
},
|
||||
{
|
||||
">>",
|
||||
function()
|
||||
vim.cmd("HeadingIncrease")
|
||||
end,
|
||||
},
|
||||
{
|
||||
"<<",
|
||||
function()
|
||||
vim.cmd("HeadingDecrease")
|
||||
end,
|
||||
},
|
||||
},
|
||||
opts = {
|
||||
preview = {
|
||||
icon_provider = "mini",
|
||||
|
||||
@@ -1,18 +1,44 @@
|
||||
return {
|
||||
"echasnovski/mini.nvim",
|
||||
version = "*",
|
||||
opts = {
|
||||
enabled = {
|
||||
"ai",
|
||||
-- "pairs",
|
||||
"splitjoin",
|
||||
"surround",
|
||||
"diff",
|
||||
{
|
||||
"nvim-mini/mini.diff",
|
||||
version = "*",
|
||||
event = "VeryLazy",
|
||||
keys = {
|
||||
{
|
||||
"<leader>gd",
|
||||
function()
|
||||
MiniDiff.toggle_overlay(0)
|
||||
end,
|
||||
desc = "Git Diff",
|
||||
},
|
||||
},
|
||||
opts = {
|
||||
view = {
|
||||
style = "sign",
|
||||
signs = {
|
||||
add = "▎",
|
||||
change = "▎",
|
||||
delete = "_",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
config = function(_, opts)
|
||||
for _, value in ipairs(opts.enabled) do
|
||||
require("mini." .. value).setup()
|
||||
end
|
||||
end,
|
||||
{
|
||||
"nvim-mini/mini.ai",
|
||||
version = "*",
|
||||
event = "VeryLazy",
|
||||
opts = {},
|
||||
},
|
||||
{
|
||||
"nvim-mini/mini.splitjoin",
|
||||
version = "*",
|
||||
event = "VeryLazy",
|
||||
opts = {},
|
||||
},
|
||||
{
|
||||
"nvim-mini/mini.surround",
|
||||
version = "*",
|
||||
event = "VeryLazy",
|
||||
opts = {},
|
||||
},
|
||||
}
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
return {
|
||||
"folke/neoconf.nvim",
|
||||
cmd = { "Neoconf" },
|
||||
opts = {
|
||||
-- name of the local settings files
|
||||
local_settings = ".neoconf.json",
|
||||
-- name of the global settings file in your Neovim config directory
|
||||
global_settings = "neoconf.json",
|
||||
-- import existing settings from other plugins
|
||||
import = {
|
||||
vscode = true, -- local .vscode/settings.json
|
||||
coc = true, -- global/local coc-settings.json
|
||||
nlsp = true, -- global/local nlsp-settings.nvim json settings
|
||||
},
|
||||
-- send new configuration to lsp clients when changing json settings
|
||||
live_reload = true,
|
||||
-- set the filetype to jsonc for settings files, so you can use comments
|
||||
-- make sure you have the jsonc treesitter parser installed!
|
||||
filetype_jsonc = true,
|
||||
plugins = {
|
||||
-- configures lsp clients with settings in the following order:
|
||||
-- - lua settings passed in lspconfig setup
|
||||
-- - global json settings
|
||||
-- - local json settings
|
||||
lspconfig = {
|
||||
enabled = true,
|
||||
},
|
||||
-- configures jsonls to get completion in .nvim.settings.json files
|
||||
jsonls = {
|
||||
enabled = true,
|
||||
-- only show completion in json settings for configured lsp servers
|
||||
configured_servers_only = true,
|
||||
},
|
||||
-- configures lua_ls to get completion of lspconfig server settings
|
||||
lua_ls = {
|
||||
-- by default, lua_ls annotations are only enabled in your neovim config directory
|
||||
enabled_for_neovim_config = true,
|
||||
-- explicitly enable adding annotations. Mostly relevant to put in your local .nvim.settings.json file
|
||||
enabled = false,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -3,7 +3,6 @@ return {
|
||||
version = "*",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"sindrets/diffview.nvim",
|
||||
"folke/snacks.nvim",
|
||||
},
|
||||
cmd = { "Neogit" },
|
||||
@@ -15,7 +14,6 @@ return {
|
||||
end,
|
||||
desc = "Git",
|
||||
},
|
||||
{ "<leader>gd", vim.cmd.DiffviewOpen, desc = "Git Diff" },
|
||||
},
|
||||
opts = {
|
||||
filewatcher = { interval = 500 },
|
||||
|
||||
@@ -31,7 +31,6 @@ return {
|
||||
desc = "Extract the visually selected text into a new note and link to it.",
|
||||
},
|
||||
{ "<leader>Ow", vim.cmd.ObsidianWorkspace, desc = "Switch to another workspace." },
|
||||
-- { "<leader>Op", vim.cmd.ObsidianPasteImg, desc = "Paste an image from the clipboard into the note." },
|
||||
{
|
||||
"<leader>Or",
|
||||
vim.cmd.ObsidianRename,
|
||||
|
||||
11
lua/plugins/octo.lua
Normal file
11
lua/plugins/octo.lua
Normal file
@@ -0,0 +1,11 @@
|
||||
return {
|
||||
"pwntester/octo.nvim",
|
||||
requires = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"folke/snacks.nvim",
|
||||
"nvim-tree/nvim-web-devicons",
|
||||
},
|
||||
opts = {
|
||||
picker = "snacks",
|
||||
},
|
||||
}
|
||||
@@ -16,20 +16,9 @@ return {
|
||||
opts = {
|
||||
columns = {
|
||||
"icon",
|
||||
-- "permissions",
|
||||
"size",
|
||||
-- "mtime",
|
||||
},
|
||||
-- Restore window options to previous values when leaving an oil buffer
|
||||
restore_win_options = true,
|
||||
-- Skip the confirmation popup for simple operations
|
||||
delete_to_trash = true,
|
||||
-- Keymaps in oil buffer. Can be any value that `vim.keymap.set` accepts OR a table of keymap
|
||||
-- options with a `callback` (e.g. { callback = function() ... end, desc = "", nowait = true })
|
||||
-- Additionally, if it is a string that matches "actions.<name>",
|
||||
-- it will use the mapping at require("oil.actions").<name>
|
||||
-- Set to `false` to remove a keymap
|
||||
-- See :help oil-actions for a list of all available actions
|
||||
keymaps = {
|
||||
["<C-v>"] = { "actions.select", opts = { vertical = true } },
|
||||
["<C-s>"] = { "actions.select", opts = { horizontal = true } },
|
||||
@@ -44,10 +33,8 @@ return {
|
||||
-- Set to false to disable all of the above keymaps
|
||||
use_default_keymaps = true,
|
||||
view_options = {
|
||||
-- Show files and directories that start with "."
|
||||
show_hidden = true,
|
||||
},
|
||||
-- Configuration for the floating window in oil.open_float
|
||||
float = {
|
||||
win_options = {
|
||||
winblend = 10,
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
return {
|
||||
"jmbuhr/otter.nvim",
|
||||
dependencies = {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
},
|
||||
enabled = false,
|
||||
opts = {},
|
||||
}
|
||||
@@ -3,12 +3,19 @@ return {
|
||||
event = "BufReadPre",
|
||||
keys = {
|
||||
{
|
||||
"<leader>qs",
|
||||
"<leader>qq",
|
||||
function()
|
||||
require("persistence").load()
|
||||
end,
|
||||
desc = "Restore the session for the current directory",
|
||||
},
|
||||
{
|
||||
"<leader>qs",
|
||||
function()
|
||||
require("persistence").select()
|
||||
end,
|
||||
desc = "Select a session to load",
|
||||
},
|
||||
{
|
||||
"<leader>ql",
|
||||
function()
|
||||
|
||||
@@ -4,21 +4,22 @@ return {
|
||||
{ "echasnovski/mini.icons", version = "*" },
|
||||
"stevearc/oil.nvim",
|
||||
"folke/trouble.nvim",
|
||||
"folke/todo-comments.nvim",
|
||||
},
|
||||
priority = 1000,
|
||||
lazy = false,
|
||||
opts = function()
|
||||
-- Toggle the profiler
|
||||
Snacks.toggle.profiler():map("<leader>sp")
|
||||
Snacks.toggle.profiler():map("<leader>Sp")
|
||||
-- Toggle the profiler highlights
|
||||
Snacks.toggle.profiler_highlights():map("<leader>sh")
|
||||
Snacks.toggle.profiler_highlights():map("<leader>Sh")
|
||||
return {
|
||||
animate = { enabled = false },
|
||||
bigfile = { enabled = true },
|
||||
bufdelete = { enabled = true },
|
||||
dashboard = { enabled = false },
|
||||
debug = { enabled = true },
|
||||
dim = { enabled = true },
|
||||
dim = { enabled = false },
|
||||
explorer = { enabled = false },
|
||||
git = { enabled = true },
|
||||
gitbrowse = { enabled = true },
|
||||
@@ -44,11 +45,10 @@ return {
|
||||
enabled = true,
|
||||
format = "file",
|
||||
layout = {
|
||||
preset = "telescope"
|
||||
preset = "telescope",
|
||||
},
|
||||
matcher = {
|
||||
frecency = true,
|
||||
sort_empty = true,
|
||||
cwd_bonus = true,
|
||||
},
|
||||
actions = require("trouble.sources.snacks").actions,
|
||||
@@ -57,10 +57,10 @@ return {
|
||||
keys = {
|
||||
["<C-t>"] = {
|
||||
"trouble_open",
|
||||
mode = { "n", "i" }
|
||||
}
|
||||
}
|
||||
}
|
||||
mode = { "n", "i" },
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
profiler = { enabled = false },
|
||||
@@ -94,7 +94,7 @@ return {
|
||||
desc = "History",
|
||||
},
|
||||
{
|
||||
"<leader>ss",
|
||||
"<leader>Ss",
|
||||
function()
|
||||
Snacks.profiler.scratch()
|
||||
end,
|
||||
@@ -116,20 +116,111 @@ return {
|
||||
desc = "Git Blame",
|
||||
},
|
||||
{
|
||||
"<C-n>", function() Snacks.picker.files() end, desc = "Find Files" },
|
||||
{ "<leader>pf", function() Snacks.picker.files() end, desc = "Find Files" },
|
||||
{ "<leader>ps", function() Snacks.picker.grep() end, desc = "Grep" },
|
||||
{ "<leader>pb", function() Snacks.picker.buffers() end, desc = "Buffers" },
|
||||
{ "<leader>pw", function() Snacks.picker.grep_word() end, desc = "Visual selection of word", mode = { "n", "x" } },
|
||||
{ "<leader>pi", function() Snacks.picker.icons() end, desc = "Icons", },
|
||||
{ "<leader>ph", function() Snacks.picker.help() end, desc = "Help Pages", },
|
||||
{ "<leader>pr", function() Snacks.picker.recent() end, desc = "Recent", },
|
||||
{ "<leader>pR", function() Snacks.picker.registers() end, desc = "Registers", },
|
||||
{ "<leader>pg", function() Snacks.picker.git_files() end, desc = "Find Git Fiels", },
|
||||
{ "<leader>pk", function() Snacks.picker.keymaps() end, desc = "Keymaps" },
|
||||
{ "<leader>pt", function() Snacks.picker.todo_comments({ keywords = { "TODO", "FIX", "FIXME" } }) end, desc = "Todo/Fix/Fixme" },
|
||||
{ "<leader>pc", function() Snacks.picker.colorschemes() end, desc = "Colorschemes" },
|
||||
{ "<leader>pl", function() Snacks.picker.lazy() end, desc = "Search for Plugin Spec" },
|
||||
"<C-n>",
|
||||
function()
|
||||
Snacks.picker.files()
|
||||
end,
|
||||
desc = "Find Files",
|
||||
},
|
||||
{
|
||||
"<leader>pf",
|
||||
function()
|
||||
Snacks.picker.files()
|
||||
end,
|
||||
desc = "Find Files",
|
||||
},
|
||||
{
|
||||
"<leader>ps",
|
||||
function()
|
||||
Snacks.picker.grep()
|
||||
end,
|
||||
desc = "Grep",
|
||||
},
|
||||
{
|
||||
"<leader>pb",
|
||||
function()
|
||||
Snacks.picker.buffers()
|
||||
end,
|
||||
desc = "Buffers",
|
||||
},
|
||||
{
|
||||
"<leader>pw",
|
||||
function()
|
||||
Snacks.picker.grep_word()
|
||||
end,
|
||||
desc = "Visual selection of word",
|
||||
mode = { "n", "x" },
|
||||
},
|
||||
{
|
||||
"<leader>pi",
|
||||
function()
|
||||
Snacks.picker.icons()
|
||||
end,
|
||||
desc = "Icons",
|
||||
},
|
||||
{
|
||||
"<leader>ph",
|
||||
function()
|
||||
Snacks.picker.help()
|
||||
end,
|
||||
desc = "Help Pages",
|
||||
},
|
||||
{
|
||||
"<leader>pr",
|
||||
function()
|
||||
Snacks.picker.recent()
|
||||
end,
|
||||
desc = "Recent",
|
||||
},
|
||||
{
|
||||
"<leader>pR",
|
||||
function()
|
||||
Snacks.picker.registers()
|
||||
end,
|
||||
desc = "Registers",
|
||||
},
|
||||
{
|
||||
"<leader>pg",
|
||||
function()
|
||||
Snacks.picker.git_files()
|
||||
end,
|
||||
desc = "Find Git Fiels",
|
||||
},
|
||||
{
|
||||
"<leader>pk",
|
||||
function()
|
||||
Snacks.picker.keymaps()
|
||||
end,
|
||||
desc = "Keymaps",
|
||||
},
|
||||
{
|
||||
"<leader>pt",
|
||||
function()
|
||||
Snacks.picker.todo_comments({ keywords = { "TODO", "FIX", "FIXME" } })
|
||||
end,
|
||||
desc = "Todo/Fix/Fixme",
|
||||
},
|
||||
{
|
||||
"<leader>pc",
|
||||
function()
|
||||
Snacks.picker.colorschemes()
|
||||
end,
|
||||
desc = "Colorschemes",
|
||||
},
|
||||
{
|
||||
"<leader>pl",
|
||||
function()
|
||||
Snacks.picker.lazy()
|
||||
end,
|
||||
desc = "Search for Plugin Spec",
|
||||
},
|
||||
{
|
||||
"<leader>pD",
|
||||
function()
|
||||
Snacks.picker.diagnostics()
|
||||
end,
|
||||
desc = "Diagnostics",
|
||||
},
|
||||
},
|
||||
init = function()
|
||||
vim.api.nvim_create_autocmd("User", {
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
return {
|
||||
"ravibrock/spellwarn.nvim",
|
||||
event = "VeryLazy",
|
||||
cmd = { "Spellwarn" },
|
||||
keys = {
|
||||
{
|
||||
|
||||
"<leader>os",
|
||||
function()
|
||||
vim.cmd.Spellwarn("toggle")
|
||||
end,
|
||||
desc = "Spellwarn toggle",
|
||||
},
|
||||
},
|
||||
|
||||
opts = {
|
||||
event = { -- event(s) to refresh diagnostics on
|
||||
"CursorHold",
|
||||
"InsertLeave",
|
||||
"TextChanged",
|
||||
"TextChangedI",
|
||||
"TextChangedP",
|
||||
"TextChangedT",
|
||||
},
|
||||
ft_config = { -- spellcheck method: "cursor", "iter", or boolean
|
||||
alpha = false,
|
||||
help = false,
|
||||
lazy = false,
|
||||
lspinfo = false,
|
||||
mason = false,
|
||||
},
|
||||
ft_default = true, -- default option for unspecified filetypes
|
||||
max_file_size = nil, -- maximum file size to check in lines (nil for no limit)
|
||||
severity = { -- severity for each spelling error type (false to disable diagnostics for that type)
|
||||
spellbad = "WARN",
|
||||
spellcap = "HINT",
|
||||
spelllocal = "HINT",
|
||||
spellrare = "INFO",
|
||||
},
|
||||
prefix = "possible misspelling(s): ", -- prefix for each diagnostic message
|
||||
},
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
return {
|
||||
"preservim/tagbar",
|
||||
keys = {
|
||||
{ "<leader>b", vim.cmd.TagbarToggle, desc = "Toggle Tagbar" },
|
||||
},
|
||||
}
|
||||
@@ -1,43 +1,7 @@
|
||||
return {
|
||||
{
|
||||
"razak17/tailwind-fold.nvim",
|
||||
opts = {},
|
||||
dependencies = { "nvim-treesitter/nvim-treesitter" },
|
||||
cmd = { "TailwindFoldEnable", "TailwindFoldDisable", "TailwindFoldToggle" },
|
||||
ft = { "html", "htmldjango", "svelte", "astro", "vue", "javascriptreact", "typescriptreact", "php", "blade" },
|
||||
},
|
||||
{
|
||||
"luckasRanarison/tailwind-tools.nvim",
|
||||
dependencies = { "nvim-treesitter/nvim-treesitter" },
|
||||
enabled = false,
|
||||
ft = { "html", "htmldjango", "svelte", "astro", "vue", "javascriptreact", "typescriptreact", "php", "blade" },
|
||||
cmd = {
|
||||
"TailwindConcealEnable",
|
||||
"TailwindConcealDisable",
|
||||
"TailwindConcealToggle",
|
||||
"TailwindColorEnable",
|
||||
"TailwindColorDisable",
|
||||
"TailwindColorToggle",
|
||||
"TailwindSort",
|
||||
"TailwindSortSelection",
|
||||
"TailwindNextClass",
|
||||
"TailwindPrevClass",
|
||||
},
|
||||
opts = {
|
||||
document_color = {
|
||||
enabled = true, -- can be toggled by commands
|
||||
kind = "background", -- "inline" | "foreground" | "background"
|
||||
inline_symbol = " ", -- only used in inline mode
|
||||
debounce = 200, -- in milliseconds, only applied in insert mode
|
||||
},
|
||||
conceal = {
|
||||
enabled = false, -- can be toggled by commands
|
||||
symbol = "", -- only a single character is allowed
|
||||
highlight = { -- extmark highlight options, see :h 'highlight'
|
||||
fg = "#38BDF8",
|
||||
},
|
||||
},
|
||||
custom_filetypes = {}, -- see the extension section to learn how it works
|
||||
},
|
||||
},
|
||||
"razak17/tailwind-fold.nvim",
|
||||
dependencies = { "nvim-treesitter/nvim-treesitter" },
|
||||
cmd = { "TailwindFoldEnable", "TailwindFoldDisable", "TailwindFoldToggle" },
|
||||
ft = { "html", "htmldjango", "svelte", "astro", "vue", "javascriptreact", "typescriptreact", "php", "blade" },
|
||||
opts = {},
|
||||
}
|
||||
|
||||
@@ -1,69 +1,8 @@
|
||||
return {
|
||||
"folke/todo-comments.nvim",
|
||||
dependencies = { "nvim-lua/plenary.nvim" },
|
||||
opts = {
|
||||
signs = true, -- show icons in the signs column
|
||||
sign_priority = 8, -- sign priority
|
||||
-- keywords recognized as todo comments
|
||||
keywords = {
|
||||
FIX = {
|
||||
icon = " ", -- icon used for the sign, and in search results
|
||||
color = "error", -- can be a hex color, or a named color (see below)
|
||||
alt = { "FIXME", "BUG", "FIXIT", "ISSUE" }, -- a set of other keywords that all map to this FIX keywords
|
||||
-- signs = false, -- configure signs for some keywords individually
|
||||
},
|
||||
TODO = { icon = " ", color = "info" },
|
||||
HACK = { icon = " ", color = "warning" },
|
||||
WARN = { icon = " ", color = "warning", alt = { "WARNING", "XXX" } },
|
||||
PERF = { icon = " ", alt = { "OPTIM", "PERFORMANCE", "OPTIMIZE" } },
|
||||
NOTE = { icon = " ", color = "hint", alt = { "INFO", "HINT" } },
|
||||
TEST = { icon = "⏲ ", color = "test", alt = { "TESTING", "PASSED", "FAILED" } },
|
||||
},
|
||||
gui_style = {
|
||||
fg = "NONE", -- The gui style to use for the fg highlight group.
|
||||
bg = "BOLD", -- The gui style to use for the bg highlight group.
|
||||
},
|
||||
|
||||
merge_keywords = true, -- when true, custom keywords will be merged with the defaults
|
||||
-- highlighting of the line containing the todo comment
|
||||
-- * before: highlights before the keyword (typically comment characters)
|
||||
-- * keyword: highlights of the keyword
|
||||
-- * after: highlights after the keyword (todo text)
|
||||
highlight = {
|
||||
multiline = true, -- enable multine todo comments
|
||||
multiline_pattern = "^.", -- lua pattern to match the next multiline from the start of the matched keyword
|
||||
multiline_context = 10, -- extra lines that will be re-evaluated when changing a line
|
||||
before = "", -- "fg" or "bg" or empty
|
||||
keyword = "wide", -- "fg", "bg", "wide", "wide_bg", "wide_fg" or empty. (wide and wide_bg is the same as bg, but will also highlight surrounding characters, wide_fg acts accordingly but with fg)
|
||||
after = "fg", -- "fg" or "bg" or empty
|
||||
pattern = [[.*<(KEYWORDS)\s*:]], -- pattern or table of patterns, used for highlighting (vim regex)
|
||||
comments_only = true, -- uses treesitter to match keywords in comments only
|
||||
max_line_len = 400, -- ignore lines longer than this
|
||||
exclude = {}, -- list of file types to exclude highlighting
|
||||
},
|
||||
-- list of named colors where we try to extract the guifg from the
|
||||
-- list of highlight groups or use the hex color if hl not found as a fallback
|
||||
colors = {
|
||||
error = { "DiagnosticError", "ErrorMsg", "#DC2626" },
|
||||
warning = { "DiagnosticWarn", "WarningMsg", "#FBBF24" },
|
||||
info = { "DiagnosticInfo", "#2563EB" },
|
||||
hint = { "DiagnosticHint", "#10B981" },
|
||||
default = { "Identifier", "#7C3AED" },
|
||||
test = { "Identifier", "#FF00FF" },
|
||||
},
|
||||
search = {
|
||||
command = "rg",
|
||||
args = {
|
||||
"--color=never",
|
||||
"--no-heading",
|
||||
"--with-filename",
|
||||
"--line-number",
|
||||
"--column",
|
||||
},
|
||||
-- regex that will be used to match keywords.
|
||||
-- don't replace the (KEYWORDS) placeholder
|
||||
pattern = [[\b(KEYWORDS):]], -- ripgrep regex
|
||||
-- pattern = [[\b(KEYWORDS)\b]], -- match without the extra colon. You'll likely get false positives
|
||||
},
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"folke/trouble.nvim",
|
||||
},
|
||||
opts = {},
|
||||
}
|
||||
|
||||
@@ -1,16 +1,5 @@
|
||||
return {
|
||||
"windwp/nvim-ts-autotag",
|
||||
events = { "BufReadPre", "BufNewFile" },
|
||||
opts = {
|
||||
opts = {
|
||||
-- Defaults
|
||||
enable_close = true, -- Auto close tags
|
||||
enable_rename = true, -- Auto rename pairs of tags
|
||||
enable_close_on_slash = true, -- Auto close on trailing </
|
||||
},
|
||||
-- Also override individual filetype configs, these take priority.
|
||||
-- Empty by default, useful if one of the "opts" global settings
|
||||
-- doesn't work well in a specific filetype
|
||||
per_filetype = {},
|
||||
},
|
||||
opts = {},
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
local ft = { "javascriptreact", "typescriptreact", "javascript", "typescript" }
|
||||
return {
|
||||
{
|
||||
"pmizio/typescript-tools.nvim",
|
||||
@@ -5,36 +6,15 @@ return {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"neovim/nvim-lspconfig",
|
||||
},
|
||||
ft = { "javascriptreact", "typescriptreact", "javascript", "typescript" },
|
||||
ft = ft,
|
||||
opts = {
|
||||
on_attach = function(client)
|
||||
client.server_capabilities.documentFormattingProvider = false
|
||||
client.server_capabilities.documentRangeFormattingProvider = false
|
||||
end,
|
||||
settings = {
|
||||
-- spawn additional tsserver instance to calculate diagnostics on it
|
||||
separate_diagnostic_server = true,
|
||||
-- "change"|"insert_leave" determine when the client asks the server about diagnostic
|
||||
publish_diagnostic_on = "insert_leave",
|
||||
-- array of strings("fix_all"|"add_missing_imports"|"remove_unused"|
|
||||
-- "remove_unused_imports"|"organize_imports") -- or string "all"
|
||||
-- to include all supported code actions
|
||||
-- specify commands exposed as code_actions
|
||||
expose_as_code_action = "all",
|
||||
-- string|nil - specify a custom path to `tsserver.js` file, if this is nil or file under path
|
||||
-- not exists then standard path resolution strategy is applied
|
||||
tsserver_path = "tsserver",
|
||||
-- specify a list of plugins to load by tsserver, e.g., for support `styled-components`
|
||||
-- (see 💅 `styled-components` support section)
|
||||
tsserver_plugins = {
|
||||
"@styled/typescript-styled-plugin",
|
||||
},
|
||||
-- this value is passed to: https://nodejs.org/api/cli.html#--max-old-space-sizesize-in-megabytes
|
||||
-- memory limit in megabytes or "auto"(basically no limit)
|
||||
tsserver_max_memory = "auto",
|
||||
-- described below
|
||||
tsserver_format_options = function(ft)
|
||||
-- Return empty table to disable formatting
|
||||
tsserver_format_options = function(_)
|
||||
return {}
|
||||
end,
|
||||
tsserver_file_preferences = {
|
||||
@@ -47,38 +27,20 @@ return {
|
||||
includeInlayFunctionLikeReturnTypeHints = true,
|
||||
includeInlayEnumMemberValueHints = true,
|
||||
},
|
||||
-- locale of all tsserver messages, supported locales you can find here:
|
||||
-- https://github.com/microsoft/TypeScript/blob/3c221fc086be52b19801f6e8d82596d04607ede6/src/compiler/utilitiesPublic.ts#L620
|
||||
tsserver_locale = "en",
|
||||
-- mirror of VSCode's `typescript.suggest.completeFunctionCalls`
|
||||
complete_function_calls = true,
|
||||
include_completions_with_insert_text = true,
|
||||
-- CodeLens
|
||||
-- WARNING: Experimental feature also in VSCode, because it might hit performance of server.
|
||||
-- possible values: ("off"|"all"|"implementations_only"|"references_only")
|
||||
code_lens = "all",
|
||||
-- by default code lenses are displayed on all referencable values and for some of you it can
|
||||
-- be too much this option reduce count of them by removing member references from lenses
|
||||
disable_member_code_lens = true,
|
||||
-- JSXCloseTag
|
||||
-- WARNING: it is disabled by default (maybe you configuration or distro already uses nvim-ts-autotag,
|
||||
-- that maybe have a conflict if enable this feature. )
|
||||
jsx_close_tag = {
|
||||
enable = false,
|
||||
filetypes = { "javascriptreact", "typescriptreact" },
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"dmmulroy/ts-error-translator.nvim",
|
||||
ft = { "javascriptreact", "typescriptreact", "javascript", "typescript" },
|
||||
ft = ft,
|
||||
},
|
||||
{
|
||||
"folke/ts-comments.nvim",
|
||||
opts = {},
|
||||
event = "VeryLazy",
|
||||
enabled = vim.fn.has("nvim-0.10.0") == 1,
|
||||
ft = { "javascriptreact", "typescriptreact", "javascript", "typescript" },
|
||||
ft = ft,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -18,43 +18,5 @@ return {
|
||||
build = function()
|
||||
require("typst-preview").update()
|
||||
end,
|
||||
opts = {
|
||||
-- Setting this true will enable printing debug information with print()
|
||||
debug = false,
|
||||
|
||||
-- Custom format string to open the output link provided with %s
|
||||
-- Example: open_cmd = 'firefox %s -P typst-preview --class typst-preview'
|
||||
open_cmd = "xdg-open %s",
|
||||
-- open_cmd = "floorp %s -P typst-preview --class typst-preview",
|
||||
|
||||
-- Setting this to 'always' will invert black and white in the preview
|
||||
-- Setting this to 'auto' will invert depending if the browser has enable
|
||||
-- dark mode
|
||||
invert_colors = nil,
|
||||
-- Whether the preview will follow the cursor in the source file
|
||||
follow_cursor = true,
|
||||
|
||||
-- Provide the path to binaries for dependencies.
|
||||
-- Setting this will skip the download of the binary by the plugin.
|
||||
-- Warning: Be aware that your version might be older than the one
|
||||
-- required.
|
||||
dependencies_bin = {
|
||||
-- if you are using tinymist, just set ['typst-preview'] = "tinymist".
|
||||
["typst-preview"] = nil,
|
||||
["websocat"] = nil,
|
||||
},
|
||||
-- A list of extra arguments (or nil) to be passed to previewer.
|
||||
-- For example, extra_args = { "--input=ver=draft", "--ignore-system-fonts" }
|
||||
extra_args = nil,
|
||||
-- This function will be called to determine the root of the typst project
|
||||
get_root = function(path_of_main_file)
|
||||
return vim.fn.fnamemodify(path_of_main_file, ":p:h")
|
||||
end,
|
||||
|
||||
-- This function will be called to determine the main file of the typst
|
||||
-- project.
|
||||
get_main_file = function(path_of_buffer)
|
||||
return path_of_buffer
|
||||
end,
|
||||
},
|
||||
opts = {},
|
||||
}
|
||||
|
||||
@@ -31,7 +31,6 @@ return {
|
||||
desc = "substitute word",
|
||||
},
|
||||
{
|
||||
{ "<leader>c", vim.cmd.bdelete, desc = "Close Buffer" },
|
||||
{
|
||||
"<leader>X",
|
||||
function()
|
||||
@@ -44,7 +43,7 @@ return {
|
||||
{ "<leader>q", group = "Persistence" },
|
||||
{ "<leader>l", group = "LSP" },
|
||||
{ "<leader>w", group = "Workspace" },
|
||||
{ "<leader>f", group = "Picker", { "<leader>pd", group = "Development" } },
|
||||
{ "<leader>p", group = "Picker" },
|
||||
{ "<leader>z", group = "Zen" },
|
||||
{ "<leader>o", group = "Action" },
|
||||
{ "<leader>r", group = "Rust" },
|
||||
@@ -67,84 +66,14 @@ return {
|
||||
{
|
||||
"<leader>L",
|
||||
group = "Languate settings",
|
||||
{ "<leader>Lc", "<cmd>setlocal formatoptions-=cro<cr>", desc = "Disable autocomment" },
|
||||
{ "<leader>LC", "<cmd>setlocal formatoptions=cro<cr>", desc = "Enable autocomment" },
|
||||
{ "<leader>Ls", "<cmd>setlocal spell!<cr>", desc = "Toggle spellchecker" },
|
||||
{ "<leader>Lc", "<cmd>setlocal formatoptions-=cro<cr>", desc = "Disable autocomment" },
|
||||
{ "<leader>LC", "<cmd>setlocal formatoptions=cro<cr>", desc = "Enable autocomment" },
|
||||
{ "<leader>Ls", "<cmd>setlocal spell!<cr>", desc = "Toggle spellchecker" },
|
||||
{ "<leader>Le", "<cmd>setlocal spell spelllang=en_us<cr>", desc = "Enable English spellchecker" },
|
||||
{ "<leader>Ll", "<cmd>setlocal spell spelllang=lv_LV<cr>", desc = "Enable Latvian spellchecker" },
|
||||
{ "<leader>LI", "<cmd>setlocal autoindent<cr>", desc = "Enable autoindent" },
|
||||
{ "<leader>Li", "<cmd>setlocal noautoindent<cr>", desc = "Disable autoindent" },
|
||||
{ "<leader>LI", "<cmd>setlocal autoindent<cr>", desc = "Enable autoindent" },
|
||||
{ "<leader>Li", "<cmd>setlocal noautoindent<cr>", desc = "Disable autoindent" },
|
||||
},
|
||||
--[[ {
|
||||
"<leader>P",
|
||||
group = "Templates",
|
||||
{
|
||||
{
|
||||
"<leader>Pl",
|
||||
group = "Latex",
|
||||
cond = function()
|
||||
return vim.bo.filetype == "lua"
|
||||
end,
|
||||
|
||||
{
|
||||
"<leader>Plp",
|
||||
function()
|
||||
vim.cmd.read("~/Templates/LaTeX/PhilPaper.tex")
|
||||
end,
|
||||
desc = "PhilPaper.tex",
|
||||
},
|
||||
{
|
||||
"<leader>Pll",
|
||||
function()
|
||||
vim.cmd.read("~/Templates/LaTeX/Letter.tex")
|
||||
end,
|
||||
desc = "Letter.tex",
|
||||
},
|
||||
{
|
||||
"<leader>Plg",
|
||||
function()
|
||||
vim.cmd.read("~/Templates/LaTeX/Glossary.tex")
|
||||
end,
|
||||
desc = "Glossary.tex",
|
||||
},
|
||||
{
|
||||
"<leader>Plh",
|
||||
function()
|
||||
vim.cmd.read("~/Templates/LaTeX/HandOut.tex")
|
||||
end,
|
||||
desc = "HandOut.tex",
|
||||
},
|
||||
{
|
||||
"<leader>Plb",
|
||||
function()
|
||||
vim.cmd.read("~/Templates/LaTeX/PhilBeamer.tex")
|
||||
end,
|
||||
desc = "PhilBeamer.tex",
|
||||
},
|
||||
{
|
||||
"<leader>Pls",
|
||||
function()
|
||||
vim.cmd.read("~/Templates/LaTeX/SubFile.tex")
|
||||
end,
|
||||
desc = "SubFile.tex",
|
||||
},
|
||||
{
|
||||
"<leader>Plr",
|
||||
function()
|
||||
vim.cmd.read("~/Templates/LaTeX/Root.tex")
|
||||
end,
|
||||
desc = "Root.tex",
|
||||
},
|
||||
{
|
||||
"<leader>Plm",
|
||||
function()
|
||||
vim.cmd.read("~/Templates/LaTeX/MultipleAnswer.tex")
|
||||
end,
|
||||
desc = "MultipleAnswer.tex",
|
||||
},
|
||||
},
|
||||
},
|
||||
}, ]]
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user