diff --git a/init.lua b/init.lua index 1fdb26d..e1ba5a7 100644 --- a/init.lua +++ b/init.lua @@ -16,6 +16,9 @@ require 'config.autocommands' require 'config.redir' -vim.treesitter.language.add('pandoc_markdown', { path = "/usr/local/lib/libtree-sitter-pandoc-markdown.so" }) -vim.treesitter.language.add('pandoc_markdown_inline', { path = "/usr/local/lib/libtree-sitter-pandoc-markdown-inline.so" }) -vim.treesitter.language.register('pandoc_markdown', { 'quarto', 'rmarkdown' }) +-- vim.treesitter.language.add('pandoc_markdown', { path = "/usr/local/lib/libtree-sitter-pandoc-markdown.so" }) +-- vim.treesitter.language.add('pandoc_markdown_inline', { path = "/usr/local/lib/libtree-sitter-pandoc-markdown-inline.so" }) +-- vim.treesitter.language.register('pandoc_markdown', { 'quarto', 'rmarkdown' }) + +vim.treesitter.language.register("markdown", 'text') + diff --git a/lua/config/global.lua b/lua/config/global.lua index 24b1cfb..146c711 100644 --- a/lua/config/global.lua +++ b/lua/config/global.lua @@ -2,6 +2,9 @@ local animals = require('misc.style').animals +DefaultConcealLevel = 0 +FullConcealLevel = 3 + -- proper colors vim.opt.termguicolors = true @@ -101,7 +104,7 @@ vim.opt.formatoptions:remove 'o' vim.opt.scrolloff = 5 -- (don't == 0) replace certain elements with prettier ones -vim.opt.conceallevel = 0 +vim.opt.conceallevel = DefaultConcealLevel -- diagnostics vim.diagnostic.config { diff --git a/lua/config/keymap.lua b/lua/config/keymap.lua index 6fb15d3..3c1911b 100644 --- a/lua/config/keymap.lua +++ b/lua/config/keymap.lua @@ -312,6 +312,15 @@ end vim.keymap.set("n", "os", get_otter_symbols_lang, { desc = "otter [s]ymbols" }) +local function toggle_conceal() + local lvl = vim.o.conceallevel + if lvl > DefaultConcealLevel then + vim.o.conceallevel = DefaultConcealLevel + else + vim.o.conceallevel = FullConcealLevel + end +end + -- normal mode with wk.add({ @@ -354,8 +363,7 @@ wk.add({ { "gws", ":lua require('telescope').extensions.git_worktree.git_worktrees()", desc = "worktree switch" }, { "h", group = "[h]elp / [h]ide / debug" }, { "hc", group = "[c]onceal" }, - { "hch", ":set conceallevel=1", desc = "[h]ide/conceal" }, - { "hcs", ":set conceallevel=0", desc = "[s]how/unconceal" }, + { "hc", toggle_conceal, desc = "[c]onceal toggle" }, { "ht", group = "[t]reesitter" }, { "htt", vim.treesitter.inspect_tree, desc = "show [t]ree" }, { "i", group = "[i]mage" }, diff --git a/lua/config/lazy.lua b/lua/config/lazy.lua index 8bd6e63..0b9b322 100644 --- a/lua/config/lazy.lua +++ b/lua/config/lazy.lua @@ -31,7 +31,7 @@ require('lazy').setup('plugins', { 'gzip', 'matchit', 'matchparen', - 'netrwPlugin', + -- 'netrwPlugin', 'tarPlugin', 'tohtml', 'tutor', diff --git a/lua/plugins/completion.lua b/lua/plugins/completion.lua index 119e756..a5d80f4 100644 --- a/lua/plugins/completion.lua +++ b/lua/plugins/completion.lua @@ -154,7 +154,7 @@ return { { -- gh copilot 'zbirenbaum/copilot.lua', - enabled = true, + enabled = false, config = function() require('copilot').setup { suggestion = { diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua index 215bfaf..6ce4eee 100644 --- a/lua/plugins/lsp.lua +++ b/lua/plugins/lsp.lua @@ -115,9 +115,6 @@ return { debounce_text_changes = 150, } - vim.lsp.handlers['textDocument/hover'] = vim.lsp.with(vim.lsp.handlers.hover, { border = require('misc.style').border }) - vim.lsp.handlers['textDocument/signatureHelp'] = vim.lsp.with(vim.lsp.handlers.signature_help, { border = require('misc.style').border }) - local capabilities = vim.lsp.protocol.make_client_capabilities() capabilities = vim.tbl_deep_extend('force', capabilities, require('cmp_nvim_lsp').default_capabilities()) capabilities.textDocument.completion.completionItem.snippetSupport = true @@ -159,6 +156,11 @@ return { flags = lsp_flags, } + lspconfig.svelte.setup { + capabilities = capabilities, + flags = lsp_flags, + } + lspconfig.yamlls.setup { capabilities = capabilities, flags = lsp_flags, diff --git a/lua/plugins/notes.lua b/lua/plugins/notes.lua index 07a0b44..72d9c03 100644 --- a/lua/plugins/notes.lua +++ b/lua/plugins/notes.lua @@ -33,26 +33,49 @@ return { 'nvim-lua/plenary.nvim', }, keys = { - { 'nd', ':ObsidianToday', desc = 'obsidian [d]aily' }, - { 'nt', ':ObsidianToday 1', desc = 'obsidian [t]omorrow' }, - { 'ny', ':ObsidianToday -1', desc = 'obsidian [y]esterday' }, - { 'nb', ':ObsidianBacklinks', desc = 'obsidian [b]acklinks' }, - { 'nl', ':ObsidianLink', desc = 'obsidian [l]ink selection' }, - { 'nf', ':ObsidianFollowLink', desc = 'obsidian [f]ollow link' }, - { 'nn', ':ObsidianNew', desc = 'obsidian [n]ew' }, - { 'ns', ':ObsidianSearch', desc = 'obsidian [s]earch' }, + { 'nd', ':ObsidianToday', desc = 'obsidian [d]aily' }, + { 'nt', ':ObsidianToday 1', desc = 'obsidian [t]omorrow' }, + { 'ny', ':ObsidianToday -1', desc = 'obsidian [y]esterday' }, + { 'nb', ':ObsidianBacklinks', desc = 'obsidian [b]acklinks' }, + { 'nl', ':ObsidianLink', desc = 'obsidian [l]ink selection' }, + { 'nf', ':ObsidianFollowLink', desc = 'obsidian [f]ollow link' }, + { 'nn', ':ObsidianNew', desc = 'obsidian [n]ew' }, + { 'ns', ':ObsidianSearch', desc = 'obsidian [s]earch' }, { 'no', ':ObsidianQuickSwitch', desc = 'obsidian [o]pen quickswitch' }, - { 'nO', ':ObsidianOpen', desc = 'obsidian [O]pen in app' }, + { 'nO', ':ObsidianOpen', desc = 'obsidian [O]pen in app' }, }, config = function() ---@diagnostic disable-next-line: missing-fields require('obsidian').setup { + ui = { + enable = false, + }, workspaces = { { name = 'notes', path = '~/notes', }, }, + -- Optional, for templates (see below). + templates = { + folder = "templates", + date_format = "%Y-%m-%d", + time_format = "%H:%M", + -- A map for custom variables, the key should be the variable and the value a function + substitutions = {}, + }, + daily_notes = { + -- Optional, if you keep daily notes in a separate directory. + -- folder = "dailies", + -- Optional, if you want to change the date format for the ID of daily notes. + -- date_format = "%Y-%m-%d", + -- Optional, if you want to change the date format of the default alias of daily notes. + -- alias_format = "%B %-d, %Y", + -- Optional, default tags to add to each new daily note created. + -- default_tags = { "daily-notes" }, + -- Optional, if you want to automatically insert a template from your template directory like 'daily.md' + template = 'template-daily.md' + }, mappings = { -- Overrides the 'gf' mapping to work on markdown/wiki links within your vault. ['gf'] = { @@ -93,8 +116,6 @@ return { return tostring(os.time()) .. '-' .. suffix end, } - - vim.wo.conceallevel = 1 end, }, } diff --git a/lua/plugins/quarto.lua b/lua/plugins/quarto.lua index 1cc831b..336e6aa 100644 --- a/lua/plugins/quarto.lua +++ b/lua/plugins/quarto.lua @@ -8,7 +8,7 @@ return { opts = { codeRunner = { enabled = true, - default_method = "molten" + default_method = "slime" } }, dependencies = { @@ -127,8 +127,8 @@ return { { 'benlubas/molten-nvim', - dev = true, - enabled = true, + dev = false, + enabled = false, build = ':UpdateRemotePlugins', init = function() vim.g.molten_image_provider = 'image.nvim' diff --git a/lua/plugins/ui.lua b/lua/plugins/ui.lua index dcdad35..bb45373 100644 --- a/lua/plugins/ui.lua +++ b/lua/plugins/ui.lua @@ -45,16 +45,35 @@ return { table.insert(vimgrep_arguments, '--glob') table.insert(vimgrep_arguments, '!docs/*') + table.insert(vimgrep_arguments, '--glob') + table.insert(vimgrep_arguments, '!_site/*') + + table.insert(vimgrep_arguments, '--glob') + table.insert(vimgrep_arguments, '!*_files/libs/*') + + table.insert(vimgrep_arguments, '--glob') + table.insert(vimgrep_arguments, '!.obsidian/*') + + table.insert(vimgrep_arguments, '--glob') + table.insert(vimgrep_arguments, '!.quarto/*') + + table.insert(vimgrep_arguments, '--glob') + table.insert(vimgrep_arguments, '!_freeze/*') + telescope.setup { defaults = { buffer_previewer_maker = new_maker, vimgrep_arguments = vimgrep_arguments, file_ignore_patterns = { - 'node_modules', + 'node%_modules', '%_cache', - '.git/', - 'site_libs', - '.venv', + '%.git/', + 'site%_libs', + '%.venv/', + '%_files/libs/', + '%.obsidian/', + '%.quarto/', + '%_freeze/', }, layout_strategy = 'flex', sorting_strategy = 'ascending', @@ -203,7 +222,7 @@ return { }, config = function() require('nvim-tree').setup { - disable_netrw = true, + disable_netrw = false, update_focused_file = { enable = true, }, diff --git a/snips/snippets/markdown.json b/snips/snippets/markdown.json index 07b1109..083449a 100644 --- a/snips/snippets/markdown.json +++ b/snips/snippets/markdown.json @@ -3,6 +3,10 @@ "prefix": ["eq"], "body": ["\\$\\$", "$1", "\\$\\$ {#eq-${2: label}}"] }, + "def": { + "prefix": ["def"], + "body": [":::{#def-$1}", "## $2\n", "$3", ":::"] + }, "Insert Block Equation": { "prefix": "$$", "body": ["\\$$", "${0}", "\\$$"]