Remove all org files using a new script to more config over, The old org file configuaration were great but required org. This new version only requires the scripts that is included in the repo. The configuration are all done but have not ported the theming system yet. Signed-off-by: Steve Beaulac <steve@sagacity.ca> Change-Id: I14cd7fe058a71c8ba9d6d35397dc8d7e6a6a6964
301 lines
12 KiB
Lua
301 lines
12 KiB
Lua
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",
|
|
---@module "csvview"
|
|
---@type CsvView.Options
|
|
opts = {
|
|
parser = { comments = { "#", "//" } },
|
|
keymaps = {
|
|
-- Text objects for selecting fields
|
|
textobject_field_inner = { "if", mode = { "o", "x" } },
|
|
textobject_field_outer = { "af", mode = { "o", "x" } },
|
|
-- Excel-like navigation:
|
|
-- Use <Tab> and <S-Tab> to move horizontally between fields.
|
|
-- Use <Enter> and <S-Enter> to move vertically between rows and place the cursor at the end of the field.
|
|
-- Note: In terminals, you may need to enable CSI-u mode to use <S-Tab> and <S-Enter>.
|
|
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,
|
|
},
|
|
preferred_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' },
|
|
---@module 'render-markdown'
|
|
---@type render.md.UserConfig
|
|
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,
|
|
},
|
|
|
|
} |