feat: add treesj plugin for structural editing and biome for typescriptreact formatting

This commit is contained in:
sankalp committed 2025-09-19 21:06:31 +05:45
1 parent 2be869ba5b
commit 9207dfa01f
3 files changed
+134 -121

No files matched your search

+1
View File
@@ -42,6 +42,7 @@
"tiny-inline-diagnostic.nvim": { "branch": "main", "commit": "f64efd33a51ea89bdb847fb3aaf716e96b83ba1a" },
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
"toggleterm.nvim": { "branch": "main", "commit": "50ea089fc548917cc3cc16b46a8211833b9e3c7c" },
"treesj": { "branch": "main", "commit": "4770492244ccecdc9b01e0e81fa8f2f6b4a23841" },
"uv.nvim": { "branch": "main", "commit": "be4a7d47a976249282bb2f71fc773ac2f5325973" },
"vim-visual-multi": { "branch": "master", "commit": "a6975e7c1ee157615bbc80fc25e4392f71c344d4" },
"vim-wakatime": { "branch": "master", "commit": "d7973b157a632d1edeff01818f18d67e584eeaff" },
+1
View File
@@ -30,6 +30,7 @@ return {
['python'] = { 'ruff_fix', 'ruff_format', 'ruff_organize_imports' },
['javascript'] = { 'biome' },
['typescript'] = { 'biome' },
['typescriptreact'] = { 'biome' },
['markdown'] = { 'prettier', 'markdownlint-cli2', 'markdown-toc' },
['markdown.mdx'] = { 'prettier', 'markdownlint-cli2', 'markdown-toc' },
['mdx'] = { 'prettier' },
+132 -121
View File
@@ -1,129 +1,140 @@
return {
-- treesitter
{
"nvim-treesitter/nvim-treesitter",
build = ":TSUpdate",
event = { "BufReadPost", "BufNewFile" },
config = function()
require("nvim-treesitter").setup({
ensure_installed = {
"c",
"markdown",
"python",
"java",
"cpp",
"bash",
"lua",
"make",
"latex",
"json",
"jsonc",
"sql",
"yaml",
"toml",
"javascript",
"ts_ls",
"gitignore",
"go",
"rust",
"html",
"css",
"scss",
"markdown_inline",
},
auto_install = true,
highlight = {
enable = true,
additional_vim_regex_highlighting = true,
},
indent = {
enable = true,
},
})
end,
},
-- treesitter
{
'nvim-treesitter/nvim-treesitter',
build = ':TSUpdate',
event = { 'BufReadPost', 'BufNewFile' },
config = function()
require('nvim-treesitter').setup({
ensure_installed = {
'c',
'markdown',
'python',
'java',
'cpp',
'bash',
'lua',
'make',
'latex',
'json',
'jsonc',
'sql',
'yaml',
'toml',
'javascript',
'ts_ls',
'gitignore',
'go',
'rust',
'html',
'css',
'scss',
'markdown_inline',
},
auto_install = true,
highlight = {
enable = true,
additional_vim_regex_highlighting = true,
},
indent = {
enable = true,
},
})
end,
},
-- rendering for html, latex, md
{
"OXY2DEV/markview.nvim",
lazy = false,
-- to load before treesitter
priority = 45,
config = function()
require("markview").setup({
markdown = {
code_blocks = { sign = false },
},
})
end,
},
-- rendering for html, latex, md
{
'OXY2DEV/markview.nvim',
lazy = false,
-- to load before treesitter
priority = 45,
config = function()
require('markview').setup({
markdown = {
code_blocks = { sign = false },
},
})
end,
},
-- markdown preview
{
"iamcco/markdown-preview.nvim",
build = "cd app && yarn install",
init = function()
vim.g.mkdp_filetypes = { "markdown" }
end,
ft = "markdown",
cmd = { "MarkdownPreviewToggle", "MarkdownPreview" },
},
-- markdown preview
{
'iamcco/markdown-preview.nvim',
build = 'cd app && yarn install',
init = function()
vim.g.mkdp_filetypes = { 'markdown' }
end,
ft = 'markdown',
cmd = { 'MarkdownPreviewToggle', 'MarkdownPreview' },
},
{
"danymat/neogen",
dependencies = { "nvim-treesitter/nvim-treesitter" },
opts = {
snippet_engine = "luasnip",
languages = {
python = {
template = {
annotation_convention = "google_docstrings",
},
},
},
},
},
{
'danymat/neogen',
dependencies = { 'nvim-treesitter/nvim-treesitter' },
opts = {
snippet_engine = 'luasnip',
languages = {
python = {
template = {
annotation_convention = 'google_docstrings',
},
},
},
},
},
-- auto pairs
{
"windwp/nvim-autopairs",
event = "InsertEnter",
config = function()
require("nvim-autopairs").setup()
-- auto pairs
{
'windwp/nvim-autopairs',
event = 'InsertEnter',
config = function()
require('nvim-autopairs').setup()
-- add new rules
local pairs = require("nvim-autopairs")
local rule = require("nvim-autopairs.rule")
local cond = require("nvim-autopairs.conds")
pairs.add_rules({
rule("$", "$", { "tex", "latex", "plaintex" })
-- do not move right when repeat character
:with_move(cond.none()),
})
end,
},
-- add new rules
local pairs = require('nvim-autopairs')
local rule = require('nvim-autopairs.rule')
local cond = require('nvim-autopairs.conds')
pairs.add_rules({
rule('$', '$', { 'tex', 'latex', 'plaintex' })
-- do not move right when repeat character
:with_move(cond.none()),
})
end,
},
{
"windwp/nvim-ts-autotag",
ft = {
"html",
"xml",
"javascript",
"typescript",
"javascriptreact",
"typescriptreact",
"jsx",
"tsx",
"vue",
"svelte",
"markdown",
},
event = "InsertEnter",
lazy = true,
opts = {
enable_close = true,
enable_rename = true,
enable_close_on_slash = true,
},
},
{
'windwp/nvim-ts-autotag',
ft = {
'html',
'xml',
'javascript',
'typescript',
'javascriptreact',
'typescriptreact',
'jsx',
'tsx',
'vue',
'svelte',
'markdown',
},
event = 'InsertEnter',
lazy = true,
config = function()
require('nvim-ts-autotag').setup({
enable_close = true,
enable_rename = true,
enable_close_on_slash = true,
})
end,
},
{
'Wansmer/treesj',
keys = { '<space>m', '<space>j', '<space>s' },
dependencies = { 'nvim-treesitter/nvim-treesitter' }, -- if you install parsers with `nvim-treesitter`
config = function()
require('treesj').setup()
end,
},
}