diff --git a/tools/nvim/lsp/beancount.lua b/tools/nvim/lsp/beancount.lua new file mode 100644 index 0000000..d2e36e3 --- /dev/null +++ b/tools/nvim/lsp/beancount.lua @@ -0,0 +1,16 @@ +-- Beancount +--[[ Installation: +Dependency: +uv tool install beancount +LSP: +cargo install beancount-language-server +brew install beancount-language-server +--]] + + +return { + cmd = { "beancount-language-server" }, + filetypes = { "beancount" }, + settings = { + }, +} diff --git a/tools/nvim/lsp/markdown_oxide.lua b/tools/nvim/lsp/markdown_oxide.lua new file mode 100644 index 0000000..ca77e74 --- /dev/null +++ b/tools/nvim/lsp/markdown_oxide.lua @@ -0,0 +1,15 @@ +-- Markdown PKM +--[[ Installation: +cargo install --locked --git https://github.com/Feel-ix-343/markdown-oxide.git markdown-oxide +--]] +return { + cmd = { "markdown-oxide" }, + root_markers = { + ".obsidian", + }, + filetypes = { "markdown" }, + settings = { + Markdown = { + }, + }, +} diff --git a/tools/nvim/lua/plugins/init.lua b/tools/nvim/lua/plugins/init.lua index dacc8df..4cde917 100644 --- a/tools/nvim/lua/plugins/init.lua +++ b/tools/nvim/lua/plugins/init.lua @@ -6,7 +6,7 @@ require("lazy").setup({ { import = "plugins.appearance" }, { import = "plugins.completion" }, { import = "plugins.fileutils" }, - { import = "plugins.lsp" }, + { import = "plugins.lang" }, { import = "plugins.dap" }, { import = "plugins.edit" }, { import = "plugins.misc" }, diff --git a/tools/nvim/lua/plugins/lang/beancount.lua b/tools/nvim/lua/plugins/lang/beancount.lua new file mode 100644 index 0000000..3bff652 --- /dev/null +++ b/tools/nvim/lua/plugins/lang/beancount.lua @@ -0,0 +1,13 @@ +-- 在 init.lua 或者你的配置文件中添加 +vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, { + pattern = "*.bean", + callback = function() + vim.bo.filetype = "beancount" + end, +}) + + +return { + "nathangrigg/vim-beancount", + ft = "beancount", +} diff --git a/tools/nvim/lua/plugins/lsp.lua b/tools/nvim/lua/plugins/lang/init.lua similarity index 54% rename from tools/nvim/lua/plugins/lsp.lua rename to tools/nvim/lua/plugins/lang/init.lua index 8af33e4..5d390eb 100644 --- a/tools/nvim/lua/plugins/lsp.lua +++ b/tools/nvim/lua/plugins/lang/init.lua @@ -1,23 +1,12 @@ return { - -- { import = "plugins.mod.nvim-lspconfig" }, - { - "lervag/vimtex", - ft = { "tex", "bib" }, - init = function() - vim.g.vimtex_view_method = "okular" - end, - }, - { - "js0ny/luasnip-latex-snippets.nvim", - ft = { "tex", "markdown" }, - -- vimtex isn't required if using treesitter - requires = { "L3MON4D3/LuaSnip", "lervag/vimtex" }, - config = function() - require("luasnip-latex-snippets").setup() - -- or setup({ use_treesitter = true }) - require("luasnip").config.setup({ enable_autosnippets = true }) - end, - }, + { import = "plugins.lang.org" }, + { import = "plugins.lang.markdown" }, + { import = "plugins.lang.just" }, + { import = "plugins.lang.typst" }, + { import = "plugins.lang.beancount" }, + { import = "plugins.lang.tex" }, + { import = "plugins.lang.lua" }, + { import = "plugins.mod.trouble-nvim" }, { "williamboman/mason.nvim", cmd = "Mason", @@ -41,13 +30,6 @@ return { -- }, { import = "plugins.mod.conform-nvim" }, { "nvim-treesitter/nvim-treesitter-context", lazy = true }, - { - "NoahTheDuke/vim-just", - ft = { "just" }, - }, - { import = "plugins.mod.lang.org" }, - { import = "plugins.mod.lang.markdown" }, - { import = "plugins.mod.trouble-nvim" }, { "nvim-treesitter/nvim-treesitter", run = ":TSUpdate", @@ -65,13 +47,4 @@ return { indent = { enable = true }, }, }, - { - "folke/lazydev.nvim", - ft = "lua", -- only load on lua files - opts = { - library = { - { path = "${3rd}/luv/library", words = { "vim%.uv" } }, - }, - }, - }, } diff --git a/tools/nvim/lua/plugins/lang/just.lua b/tools/nvim/lua/plugins/lang/just.lua new file mode 100644 index 0000000..41ae68a --- /dev/null +++ b/tools/nvim/lua/plugins/lang/just.lua @@ -0,0 +1,4 @@ +return { + "NoahTheDuke/vim-just", + ft = { "just" }, +} diff --git a/tools/nvim/lua/plugins/lang/lua.lua b/tools/nvim/lua/plugins/lang/lua.lua new file mode 100644 index 0000000..39d161d --- /dev/null +++ b/tools/nvim/lua/plugins/lang/lua.lua @@ -0,0 +1,9 @@ +return { + "folke/lazydev.nvim", + ft = "lua", -- only load on lua files + opts = { + library = { + { path = "${3rd}/luv/library", words = { "vim%.uv" } }, + }, + }, +} diff --git a/tools/nvim/lua/plugins/lang/markdown/init.lua b/tools/nvim/lua/plugins/lang/markdown/init.lua new file mode 100644 index 0000000..0e05d47 --- /dev/null +++ b/tools/nvim/lua/plugins/lang/markdown/init.lua @@ -0,0 +1,6 @@ +return { + { import = "plugins.lang.markdown.render-markdown" }, + -- { import = "plugins.mod.lang.markdown.markview" }, + { import = "plugins.lang.markdown.obsidian-nvim" }, + { "bullets-vim/bullets.vim", ft = "markdown" }, +} diff --git a/tools/nvim/lua/plugins/mod/lang/markdown/markview.lua.bak b/tools/nvim/lua/plugins/lang/markdown/markview.lua.bak similarity index 100% rename from tools/nvim/lua/plugins/mod/lang/markdown/markview.lua.bak rename to tools/nvim/lua/plugins/lang/markdown/markview.lua.bak diff --git a/tools/nvim/lua/plugins/mod/lang/markdown/obsidian-nvim.lua b/tools/nvim/lua/plugins/lang/markdown/obsidian-nvim.lua similarity index 100% rename from tools/nvim/lua/plugins/mod/lang/markdown/obsidian-nvim.lua rename to tools/nvim/lua/plugins/lang/markdown/obsidian-nvim.lua diff --git a/tools/nvim/lua/plugins/mod/lang/markdown/render-markdown.lua b/tools/nvim/lua/plugins/lang/markdown/render-markdown.lua similarity index 100% rename from tools/nvim/lua/plugins/mod/lang/markdown/render-markdown.lua rename to tools/nvim/lua/plugins/lang/markdown/render-markdown.lua diff --git a/tools/nvim/lua/plugins/mod/lang/org.lua b/tools/nvim/lua/plugins/lang/org.lua similarity index 100% rename from tools/nvim/lua/plugins/mod/lang/org.lua rename to tools/nvim/lua/plugins/lang/org.lua diff --git a/tools/nvim/lua/plugins/lang/tex.lua b/tools/nvim/lua/plugins/lang/tex.lua new file mode 100644 index 0000000..cb9321d --- /dev/null +++ b/tools/nvim/lua/plugins/lang/tex.lua @@ -0,0 +1,7 @@ +return { + "lervag/vimtex", + ft = { "tex", "bib" }, + init = function() + vim.g.vimtex_view_method = "okular" + end, +} diff --git a/tools/nvim/lua/plugins/lang/typst.lua b/tools/nvim/lua/plugins/lang/typst.lua new file mode 100644 index 0000000..74aa279 --- /dev/null +++ b/tools/nvim/lua/plugins/lang/typst.lua @@ -0,0 +1,6 @@ +return { + 'chomosuke/typst-preview.nvim', + ft = { 'typst' }, + version = '1.*', + opts = {}, -- lazy.nvim will implicitly calls `setup {}` +} diff --git a/tools/nvim/lua/plugins/mod/lang/markdown/init.lua b/tools/nvim/lua/plugins/mod/lang/markdown/init.lua deleted file mode 100644 index cad97de..0000000 --- a/tools/nvim/lua/plugins/mod/lang/markdown/init.lua +++ /dev/null @@ -1,6 +0,0 @@ -return { - { import = "plugins.mod.lang.markdown.render-markdown" }, - -- { import = "plugins.mod.lang.markdown.markview" }, - { import = "plugins.mod.lang.markdown.obsidian-nvim" }, - { "bullets-vim/bullets.vim", ft = "markdown" }, -}