feat(nvim): updated config to use vim.pack instead of lazy
This commit is contained in:
@@ -0,0 +1,283 @@
|
||||
return {
|
||||
{
|
||||
"mfussenegger/nvim-ansible",
|
||||
lazy = true,
|
||||
keys = function()
|
||||
vim.keymap.set('v', '<leader>te', function() require('ansible').run() end, { buffer = true, silent = true })
|
||||
vim.keymap.set('n', '<leader>te', ":w<CR> :lua require('ansible').run()<CR>", { buffer = true, silent = true })
|
||||
end,
|
||||
},
|
||||
{
|
||||
"hat0uma/csvview.nvim",
|
||||
opts = {
|
||||
parser = { comments = { "#", "//" } },
|
||||
keymaps = {
|
||||
textobject_field_inner = { "if", mode = { "o", "x" } },
|
||||
textobject_field_outer = { "af", mode = { "o", "x" } },
|
||||
jump_next_field_end = { "<Tab>", mode = { "n", "v" } },
|
||||
jump_prev_field_end = { "<S-Tab>", mode = { "n", "v" } },
|
||||
jump_next_row = { "<Enter>", mode = { "n", "v" } },
|
||||
jump_prev_row = { "<S-Enter>", mode = { "n", "v" } },
|
||||
},
|
||||
},
|
||||
cmd = { "CsvViewEnable", "CsvViewDisable", "CsvViewToggle" },
|
||||
},
|
||||
{
|
||||
"obsidian-nvim/obsidian.nvim",
|
||||
lazy = false,
|
||||
ft = "markdown",
|
||||
keys = {
|
||||
{ "<leader>kx", "<cmd>Obsidian extract_note<cr>", desc = "Extract Note", mode = "v" },
|
||||
|
||||
{ "<leader>knn", "<cmd>Obsidian new<cr>", desc = "New Obsidian note", mode = "n" },
|
||||
{ "<leader>knt", "<cmd>Obsidian new_from_template<cr>", desc = "New from template", mode = "n" },
|
||||
|
||||
{ "<leader>ksq", "<cmd>Obsidian quick_switch<cr>", desc = "Quick Switch", mode = "n" },
|
||||
{ "<leader>kss", "<cmd>Obsidian search<cr>", desc = "Search Obsidian notes", mode = "n" },
|
||||
|
||||
{ "<leader>kdt", "<cmd>Obsidian today<cr>", desc = "Daily Today", mode = "n" },
|
||||
{ "<leader>kdy", "<cmd>Obsidian yesterday<cr>", desc = "Daily Yesterday", mode = "n" },
|
||||
{ "<leader>kdw", "<cmd>Obsidian tomorrow<cr>", desc = "Daily Tomorrow", mode = "n" },
|
||||
{ "<leader>kdd", "<cmd>Obsidian dailies<cr>", desc = "Dailies", mode = "n" },
|
||||
{ "<leader>kw", "<cmd>Obsidian workspace<cr>", desc = "Change Workspace", mode = "n" },
|
||||
|
||||
},
|
||||
config = function()
|
||||
require("obsidian").setup({
|
||||
legacy_commands = false,
|
||||
picker = {
|
||||
name = "snacks.pick",
|
||||
},
|
||||
ui = {
|
||||
enable = true,
|
||||
},
|
||||
workspaces = {
|
||||
{
|
||||
name = "NCA notes",
|
||||
path = vim.fn.expand "~" .. "/Documents/nca-notes/",
|
||||
},
|
||||
},
|
||||
notes_subdir = "Inbox",
|
||||
daily_notes = {
|
||||
folder = "Dailies",
|
||||
date_format = "%Y-%m-%d-%a",
|
||||
alias_fomat = "%B %-d, %Y",
|
||||
default_tags = { "daily-notes" },
|
||||
},
|
||||
new_notes_location = "notes_subdir",
|
||||
templates = {
|
||||
subdir = "Templates",
|
||||
date_format = "%Y-%m-%d-%a",
|
||||
time_format = "%H:%M",
|
||||
tags = "",
|
||||
},
|
||||
completion = {
|
||||
nvim_cmp = false,
|
||||
blink = true,
|
||||
min_chars = 2,
|
||||
},
|
||||
link = {
|
||||
style = "wiki",
|
||||
},
|
||||
note_id_func = function(title)
|
||||
local suffix = ""
|
||||
if title ~= nil then
|
||||
suffix = title:gsub(" ", "-"):gsub("[^A-Za-z0-9-]", ""):lower()
|
||||
else
|
||||
for _ = 1, 4 do
|
||||
suffix = suffix .. string.char(math.random(65, 90))
|
||||
suffix = tostring(os.time()) .. "-" .. suffix
|
||||
end
|
||||
end
|
||||
return suffix
|
||||
end,
|
||||
|
||||
callbacks = {
|
||||
enter_note = function(note)
|
||||
vim.keymap.set('n', '<leader>k.', '<CMD>Obsidian toggle_checkbox<CR>', { desc = 'toggle checkbox', buffer = note.bufnr, silent = true })
|
||||
vim.keymap.set('n', '<leader>kp', '<CMD>Obsidian paste_img<CR>', { desc = 'paste img', buffer = note.bufnr, silent = true })
|
||||
vim.keymap.set('n', '<leader>kt', '<CMD>Obsidian tags<CR>', { desc = 'tags', buffer = note.bufnr, silent = true })
|
||||
vim.keymap.set('n', '<leader>k`', '<CMD>Obsidian backlinks<CR>', { desc = 'backlinks', buffer = note.bufnr, silent = true })
|
||||
vim.keymap.set('n', '<leader>kx', '<CMD>Obsidian follow_link<CR>', { desc = 'follow link', buffer = note.bufnr, silent = true })
|
||||
vim.keymap.set('n', '<leader>ksl', '<CMD>Obsidian links<CR>', { desc = 'links', buffer = note.bufnr, silent = true })
|
||||
vim.keymap.set('n', '<leader>kr', '<CMD>Obsidian rename<CR>', { desc = 'rename', buffer = note.bufnr, silent = true })
|
||||
vim.keymap.set('n', '<leader>ksc', '<CMD>Obsidian toc<CR>', { desc = 'toc', buffer = note.bufnr, silent = true })
|
||||
vim.keymap.set('v', '<leader>kx', '<CMD>Obsidian link<CR>', { desc = 'links', buffer = note.bufnr, silent = true })
|
||||
vim.keymap.set('v', '<leader>kl', '<CMD>Obsidian link_new<CR>', { desc = 'links', buffer = note.bufnr, silent = true })
|
||||
end,
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
{
|
||||
"salkin-mada/openscad.nvim",
|
||||
lazy = true,
|
||||
config = function()
|
||||
vim.g.openscad_load_snippets = true
|
||||
require("openscad").setup({})
|
||||
end,
|
||||
dependencies = { "L3MON4D3/LuaSnip", "junegunn/fzf.vim" },
|
||||
},
|
||||
{
|
||||
-- 'nvim-orgmode/orgmode',
|
||||
'SjB/orgmode',
|
||||
branch = 'sjb-wip',
|
||||
event = 'VeryLazy',
|
||||
ft = { 'org' },
|
||||
config = function()
|
||||
-- Setup orgmode
|
||||
local org = require('orgmode')
|
||||
-- org.setup_ts_grammar()
|
||||
org.setup({
|
||||
ui = {
|
||||
input = {
|
||||
use_vim_ui = true
|
||||
}
|
||||
},
|
||||
org_agenda_files = {'~/Documents/notes/*project*org', '~/Documents/notes/Inbox*org', '~/Documents/journals/*.org'},
|
||||
org_default_notes_file = "~/Documents/notes/Inbox.org",
|
||||
org_todo_keywords = { 'TODO(t)', 'NEXT(n)', '|', 'DONE(d)', 'DELEGATED(a)' },
|
||||
mappings = {
|
||||
capture = {
|
||||
org_capture_refile = 'R',
|
||||
}
|
||||
},
|
||||
hyperlinks = {
|
||||
sources = {
|
||||
-- require("denote.extensions.orgmode"):new({
|
||||
-- files = _G.denote.config.directory,
|
||||
-- }),
|
||||
},
|
||||
},
|
||||
org_capture_templates = {
|
||||
t = {
|
||||
description = "Todo item",
|
||||
template = "* TODO %?\n SCHEDULED: %t\n DEADLINE: %T\n", -- Template content
|
||||
headline = "Tasks",
|
||||
},
|
||||
j = {
|
||||
description = "Journal entry",
|
||||
target = "~/Documents/notes/journals/%<%Y-%m-%d>.org",
|
||||
template = "* %<%Y-%m-%d %H:%M> %?\n",
|
||||
},
|
||||
},
|
||||
|
||||
})
|
||||
end,
|
||||
},
|
||||
{
|
||||
"akinsho/org-bullets.nvim",
|
||||
config = function()
|
||||
require("org-bullets").setup {
|
||||
concealcursor = false, -- If false then when the cursor is on a line underlying characters are visible
|
||||
symbols = {
|
||||
-- list symbol
|
||||
list = "•",
|
||||
-- headlines can be a list
|
||||
headlines = { "◉", "○", "✸", "✿" },
|
||||
-- or a function that receives the defaults and returns a list
|
||||
headlines = function(default_list)
|
||||
table.insert(default_list, "♥")
|
||||
return default_list
|
||||
end,
|
||||
-- or false to disable the symbol. Works for all symbols
|
||||
headlines = false,
|
||||
-- or a table of tables that provide a name
|
||||
-- and (optional) highlight group for each headline level
|
||||
headlines = {
|
||||
{ "◉", "MyBulletL1" },
|
||||
{ "○", "MyBulletL2" },
|
||||
{ "✸", "MyBulletL3" },
|
||||
{ "✿", "MyBulletL4" },
|
||||
},
|
||||
checkboxes = {
|
||||
half = { "", "@org.checkbox.halfchecked" },
|
||||
done = { "✓", "@org.keyword.done" },
|
||||
todo = { "˟", "@org.keyword.todo" },
|
||||
},
|
||||
}
|
||||
}
|
||||
end
|
||||
},
|
||||
{
|
||||
"chipsenkbeil/org-roam.nvim",
|
||||
lazy = true,
|
||||
ft = { 'org' },
|
||||
opts = {
|
||||
bindings = {
|
||||
prefix = "<LocalLeader>oO",
|
||||
},
|
||||
directory = "~/Documents/notes",
|
||||
extensions = {
|
||||
dailies = {
|
||||
directory = "journals"
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"iamcco/markdown-preview.nvim",
|
||||
cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" },
|
||||
ft = { "markdown" },
|
||||
init = function()
|
||||
vim.g.mkdp_filetypes = { "markdown" }
|
||||
end,
|
||||
keys = function()
|
||||
vim.keymap.set("n", "<leader>xmp", "<cmd>MarkdownPreview<CR>", { desc ="Markdown Preview" })
|
||||
vim.keymap.set("n", "<leader>xms", "<cmd>MarkdownPreviewStop<CR>", { desc ="Markdown Preview Stop" })
|
||||
end,
|
||||
build = function() vim.fn["mkdp#util#install"]() end,
|
||||
--build = "cd app && npm install",
|
||||
},
|
||||
{
|
||||
"lervag/vimtex",
|
||||
ft = "tex", -- Load only for .tex files
|
||||
config = function()
|
||||
vim.g.tex_flavor = "latex"
|
||||
vim.g.vimtex_view_method = "zathura" -- Change to your preferred PDF viewer
|
||||
vim.g.vimtex_quickfix_mode = 0 -- Disable quickfix window
|
||||
-- vim.opt.conceallevel = 2 -- Enable concealment for nicer inline math display
|
||||
vim.g.tex_conceal = "abdmg" -- Conceal accents, bold, delimiters, math, Greek
|
||||
end,
|
||||
},
|
||||
{
|
||||
'MeanderingProgrammer/render-markdown.nvim',
|
||||
after = { 'nvim-treesitter' },
|
||||
requires = { 'nvim-tree/nvim-web-devicons', opt = true },
|
||||
ft = { 'markdown', 'codecompanion', 'copilot-chat' },
|
||||
config = function()
|
||||
require('render-markdown').setup({
|
||||
completions = { lsp = { enabled = true } },
|
||||
-- render_modes = { 'n', 'v' },
|
||||
render_modes = true,
|
||||
enabled = true,
|
||||
anti_conceal = {
|
||||
enabled = false,
|
||||
},
|
||||
quote = { repeat_linebreak = true },
|
||||
checkbox = {
|
||||
-- unchecked = { icon = '✘ ' },
|
||||
checked = { icon = '✔ ', scope_highlight = '@markup.strikethrough' },
|
||||
custom = {
|
||||
todo = { raw = '[-]', rendered = ' ', highlight = 'RenderMarkdownTodo', scope_highlight = nil },
|
||||
important = { raw = '[~]', rendered = ' ', highlight = 'DiagnosticWarn', },
|
||||
},
|
||||
},
|
||||
latex = {
|
||||
enabled = false,
|
||||
converter = "latex2text",
|
||||
},
|
||||
win_options = {
|
||||
conceallevel = {
|
||||
default = 0,
|
||||
rendered = 2, -- Conceal level 2: hide LaTeX code fully
|
||||
},
|
||||
concealcursor = {
|
||||
default = "",
|
||||
rendered = "n", -- Conceal only in normal mode
|
||||
},
|
||||
}
|
||||
})
|
||||
end,
|
||||
},
|
||||
}
|
||||
Reference in New Issue
Block a user