wip
This commit is contained in:
parent
b3d90826a8
commit
221c01e6e3
6 changed files with 298 additions and 124 deletions
2
init.lua
2
init.lua
|
@ -6,7 +6,7 @@ require("pika.lazy")
|
||||||
-- │ themes are under ./lua/pika/plugins/colorschemes.lua │
|
-- │ themes are under ./lua/pika/plugins/colorschemes.lua │
|
||||||
-- ╰──────────────────────────────────────────────────────╯
|
-- ╰──────────────────────────────────────────────────────╯
|
||||||
|
|
||||||
vim.cmd.colorscheme("oldschool")
|
vim.cmd.colorscheme("monet")
|
||||||
|
|
||||||
-- Keybind for saving clipboard screenshot and inserting a Markdown link
|
-- Keybind for saving clipboard screenshot and inserting a Markdown link
|
||||||
vim.api.nvim_set_keymap("n", "<leader>ps", ":lua SaveScreenshotAndInsertLink()<CR>", { noremap = true, silent = true })
|
vim.api.nvim_set_keymap("n", "<leader>ps", ":lua SaveScreenshotAndInsertLink()<CR>", { noremap = true, silent = true })
|
||||||
|
|
|
@ -7,6 +7,7 @@ nomap("n", "<C-k>", "")
|
||||||
nomap("n", "q", "")
|
nomap("n", "q", "")
|
||||||
nomap("v", "q", "")
|
nomap("v", "q", "")
|
||||||
nomap("v", "<leader>S", "")
|
nomap("v", "<leader>S", "")
|
||||||
|
nomap({ "i", "v", "n" }, "<C-q>", "")
|
||||||
|
|
||||||
local map = vim.keymap.set
|
local map = vim.keymap.set
|
||||||
|
|
||||||
|
|
|
@ -49,7 +49,7 @@ return {
|
||||||
name = "cyberdream",
|
name = "cyberdream",
|
||||||
lazy = false,
|
lazy = false,
|
||||||
opts = {
|
opts = {
|
||||||
transparent = true,
|
transparent = false,
|
||||||
hide_fillchars = true,
|
hide_fillchars = true,
|
||||||
terminal_colors = true,
|
terminal_colors = true,
|
||||||
},
|
},
|
||||||
|
|
|
@ -26,16 +26,116 @@ return {
|
||||||
-- C-k: Toggle signature help (if signature.enabled = true)
|
-- C-k: Toggle signature help (if signature.enabled = true)
|
||||||
--
|
--
|
||||||
-- See :h blink-cmp-config-keymap for defining your own keymap
|
-- See :h blink-cmp-config-keymap for defining your own keymap
|
||||||
keymap = { preset = "super-tab" },
|
keymap = {
|
||||||
|
-- set to 'none' to disable the 'default' preset
|
||||||
|
preset = "super-tab",
|
||||||
|
|
||||||
|
["<C-k>"] = { "select_prev", "fallback" },
|
||||||
|
["<C-j>"] = { "select_next", "fallback" },
|
||||||
|
["<C-q>"] = { "hide", "fallback" },
|
||||||
|
|
||||||
|
-- disable a keymap from the preset
|
||||||
|
["<C-e>"] = {},
|
||||||
|
["<C-p>"] = {},
|
||||||
|
["<C-n>"] = {},
|
||||||
|
|
||||||
|
-- show with a list of providers
|
||||||
|
-- ["<C-space>"] = {
|
||||||
|
-- function(cmp)
|
||||||
|
-- cmp.show({ providers = { "snippets" } })
|
||||||
|
-- end,
|
||||||
|
-- },
|
||||||
|
|
||||||
|
-- control whether the next command will be run when using a function
|
||||||
|
-- ["<C-n>"] = {
|
||||||
|
-- function(cmp)
|
||||||
|
-- if some_condition then
|
||||||
|
-- return
|
||||||
|
-- end -- runs the next command
|
||||||
|
-- return true -- doesn't run the next command
|
||||||
|
-- end,
|
||||||
|
-- "select_next",
|
||||||
|
-- },
|
||||||
|
},
|
||||||
|
|
||||||
appearance = {
|
appearance = {
|
||||||
-- 'mono' (default) for 'Nerd Font Mono' or 'normal' for 'Nerd Font'
|
-- 'mono' (default) for 'Nerd Font Mono' or 'normal' for 'Nerd Font'
|
||||||
-- Adjusts spacing to ensure icons are aligned
|
-- Adjusts spacing to ensure icons are aligned
|
||||||
nerd_font_variant = "Nerd Font Mono",
|
nerd_font_variant = "mono",
|
||||||
|
|
||||||
|
highlight_ns = vim.api.nvim_create_namespace("blink_cmp"),
|
||||||
|
-- Sets the fallback highlight groups to nvim-cmp's highlight groups
|
||||||
|
-- Useful for when your theme doesn't support blink.cmp
|
||||||
|
-- Will be removed in a future release
|
||||||
|
|
||||||
|
use_nvim_cmp_as_default = true,
|
||||||
},
|
},
|
||||||
|
|
||||||
-- (Default) Only show the documentation popup when manually triggered
|
-- (Default) Only show the documentation popup when manually triggered
|
||||||
completion = { documentation = { auto_show = false } },
|
completion = {
|
||||||
|
documentation = {
|
||||||
|
auto_show = false,
|
||||||
|
auto_show_delay_ms = 230,
|
||||||
|
update_delay_ms = 50,
|
||||||
|
treesitter_highlighting = false,
|
||||||
|
draw = function(opts)
|
||||||
|
opts.default_implementation()
|
||||||
|
end,
|
||||||
|
window = {
|
||||||
|
min_width = 16,
|
||||||
|
max_width = 80,
|
||||||
|
max_height = 24,
|
||||||
|
border = "padded", -- Defaults to `vim.o.winborder` on nvim 0.11+ or 'padded' when not defined/<=0.10
|
||||||
|
winblend = 0,
|
||||||
|
winhighlight = "Normal:BlinkCmpDoc,FloatBorder:BlinkCmpDocBorder,EndOfBuffer:BlinkCmpDoc",
|
||||||
|
-- Note that the gutter will be disabled when border ~= 'none'
|
||||||
|
scrollbar = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
ghost_text = {
|
||||||
|
enabled = true,
|
||||||
|
show_with_selection = true,
|
||||||
|
show_without_selection = true,
|
||||||
|
show_with_menu = true,
|
||||||
|
show_without_menu = true,
|
||||||
|
},
|
||||||
|
|
||||||
|
-- ─────────────────────────────────< mini-icons config >──────────────────────────────
|
||||||
|
menu = {
|
||||||
|
draw = {
|
||||||
|
columns = { { "kind_icon" }, { "label", gap = 1 } },
|
||||||
|
components = {
|
||||||
|
label = {
|
||||||
|
text = function(ctx)
|
||||||
|
return require("colorful-menu").blink_components_text(ctx)
|
||||||
|
end,
|
||||||
|
highlight = function(ctx)
|
||||||
|
return require("colorful-menu").blink_components_highlight(ctx)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
kind_icon = {
|
||||||
|
text = function(ctx)
|
||||||
|
local kind_icon, _, _ = require("mini.icons").get("lsp", ctx.kind)
|
||||||
|
return kind_icon
|
||||||
|
end,
|
||||||
|
-- (optional) use highlights from mini.icons
|
||||||
|
highlight = function(ctx)
|
||||||
|
local _, hl, _ = require("mini.icons").get("lsp", ctx.kind)
|
||||||
|
return hl
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
-- kind = {
|
||||||
|
-- -- (optional) use highlights from mini.icons
|
||||||
|
-- highlight = function(ctx)
|
||||||
|
-- local _, hl, _ = require("mini.icons").get("lsp", ctx.kind)
|
||||||
|
-- return hl
|
||||||
|
-- end,
|
||||||
|
-- },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
-- Default list of enabled providers defined so that you can extend it
|
-- Default list of enabled providers defined so that you can extend it
|
||||||
-- elsewhere in your config, without redefining it, due to `opts_extend`
|
-- elsewhere in your config, without redefining it, due to `opts_extend`
|
||||||
|
@ -52,4 +152,184 @@ return {
|
||||||
},
|
},
|
||||||
opts_extend = { "sources.default" },
|
opts_extend = { "sources.default" },
|
||||||
},
|
},
|
||||||
|
|
||||||
|
-- ─────────────────────────────────< colorful menu.nvim >─────────────────────────────────
|
||||||
|
{
|
||||||
|
"xzbdmw/colorful-menu.nvim",
|
||||||
|
opts = {
|
||||||
|
{
|
||||||
|
ls = {
|
||||||
|
lua_ls = {
|
||||||
|
-- Maybe you want to dim arguments a bit.
|
||||||
|
arguments_hl = "@comment",
|
||||||
|
},
|
||||||
|
gopls = {
|
||||||
|
-- By default, we render variable/function's type in the right most side,
|
||||||
|
-- to make them not to crowd together with the original label.
|
||||||
|
|
||||||
|
-- when true:
|
||||||
|
-- foo *Foo
|
||||||
|
-- ast "go/ast"
|
||||||
|
|
||||||
|
-- when false:
|
||||||
|
-- foo *Foo
|
||||||
|
-- ast "go/ast"
|
||||||
|
align_type_to_right = true,
|
||||||
|
-- When true, label for field and variable will format like "foo: Foo"
|
||||||
|
-- instead of go's original syntax "foo Foo". If align_type_to_right is
|
||||||
|
-- true, this option has no effect.
|
||||||
|
add_colon_before_type = false,
|
||||||
|
-- See https://github.com/xzbdmw/colorful-menu.nvim/pull/36
|
||||||
|
preserve_type_when_truncate = true,
|
||||||
|
},
|
||||||
|
-- for lsp_config or typescript-tools
|
||||||
|
ts_ls = {
|
||||||
|
-- false means do not include any extra info,
|
||||||
|
-- see https://github.com/xzbdmw/colorful-menu.nvim/issues/42
|
||||||
|
extra_info_hl = "@comment",
|
||||||
|
},
|
||||||
|
vtsls = {
|
||||||
|
-- false means do not include any extra info,
|
||||||
|
-- see https://github.com/xzbdmw/colorful-menu.nvim/issues/42
|
||||||
|
extra_info_hl = "@comment",
|
||||||
|
},
|
||||||
|
["rust-analyzer"] = {
|
||||||
|
-- Such as (as Iterator), (use std::io).
|
||||||
|
extra_info_hl = "@comment",
|
||||||
|
-- Similar to the same setting of gopls.
|
||||||
|
align_type_to_right = true,
|
||||||
|
-- See https://github.com/xzbdmw/colorful-menu.nvim/pull/36
|
||||||
|
preserve_type_when_truncate = true,
|
||||||
|
},
|
||||||
|
clangd = {
|
||||||
|
-- Such as "From <stdio.h>".
|
||||||
|
extra_info_hl = "@comment",
|
||||||
|
-- Similar to the same setting of gopls.
|
||||||
|
align_type_to_right = true,
|
||||||
|
-- the hl group of leading dot of "•std::filesystem::permissions(..)"
|
||||||
|
import_dot_hl = "@comment",
|
||||||
|
-- See https://github.com/xzbdmw/colorful-menu.nvim/pull/36
|
||||||
|
preserve_type_when_truncate = true,
|
||||||
|
},
|
||||||
|
zls = {
|
||||||
|
-- Similar to the same setting of gopls.
|
||||||
|
align_type_to_right = true,
|
||||||
|
},
|
||||||
|
roslyn = {
|
||||||
|
extra_info_hl = "@comment",
|
||||||
|
},
|
||||||
|
dartls = {
|
||||||
|
extra_info_hl = "@comment",
|
||||||
|
},
|
||||||
|
-- The same applies to pyright/pylance
|
||||||
|
basedpyright = {
|
||||||
|
-- It is usually import path such as "os"
|
||||||
|
extra_info_hl = "@comment",
|
||||||
|
},
|
||||||
|
-- If true, try to highlight "not supported" languages.
|
||||||
|
fallback = true,
|
||||||
|
-- this will be applied to label description for unsupport languages
|
||||||
|
fallback_extra_info_hl = "@comment",
|
||||||
|
},
|
||||||
|
-- If the built-in logic fails to find a suitable highlight group for a label,
|
||||||
|
-- this highlight is applied to the label.
|
||||||
|
fallback_highlight = "@variable",
|
||||||
|
-- If provided, the plugin truncates the final displayed text to
|
||||||
|
-- this width (measured in display cells). Any highlights that extend
|
||||||
|
-- beyond the truncation point are ignored. When set to a float
|
||||||
|
-- between 0 and 1, it'll be treated as percentage of the width of
|
||||||
|
-- the window: math.floor(max_width * vim.api.nvim_win_get_width(0))
|
||||||
|
-- Default 60.
|
||||||
|
max_width = 60,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
-- config = function()
|
||||||
|
-- -- You don't need to set these options.
|
||||||
|
-- require("colorful-menu").setup({
|
||||||
|
-- ls = {
|
||||||
|
-- lua_ls = {
|
||||||
|
-- -- Maybe you want to dim arguments a bit.
|
||||||
|
-- arguments_hl = "@comment",
|
||||||
|
-- },
|
||||||
|
-- gopls = {
|
||||||
|
-- -- By default, we render variable/function's type in the right most side,
|
||||||
|
-- -- to make them not to crowd together with the original label.
|
||||||
|
--
|
||||||
|
-- -- when true:
|
||||||
|
-- -- foo *Foo
|
||||||
|
-- -- ast "go/ast"
|
||||||
|
--
|
||||||
|
-- -- when false:
|
||||||
|
-- -- foo *Foo
|
||||||
|
-- -- ast "go/ast"
|
||||||
|
-- align_type_to_right = true,
|
||||||
|
-- -- When true, label for field and variable will format like "foo: Foo"
|
||||||
|
-- -- instead of go's original syntax "foo Foo". If align_type_to_right is
|
||||||
|
-- -- true, this option has no effect.
|
||||||
|
-- add_colon_before_type = false,
|
||||||
|
-- -- See https://github.com/xzbdmw/colorful-menu.nvim/pull/36
|
||||||
|
-- preserve_type_when_truncate = true,
|
||||||
|
-- },
|
||||||
|
-- -- for lsp_config or typescript-tools
|
||||||
|
-- ts_ls = {
|
||||||
|
-- -- false means do not include any extra info,
|
||||||
|
-- -- see https://github.com/xzbdmw/colorful-menu.nvim/issues/42
|
||||||
|
-- extra_info_hl = "@comment",
|
||||||
|
-- },
|
||||||
|
-- vtsls = {
|
||||||
|
-- -- false means do not include any extra info,
|
||||||
|
-- -- see https://github.com/xzbdmw/colorful-menu.nvim/issues/42
|
||||||
|
-- extra_info_hl = "@comment",
|
||||||
|
-- },
|
||||||
|
-- ["rust-analyzer"] = {
|
||||||
|
-- -- Such as (as Iterator), (use std::io).
|
||||||
|
-- extra_info_hl = "@comment",
|
||||||
|
-- -- Similar to the same setting of gopls.
|
||||||
|
-- align_type_to_right = true,
|
||||||
|
-- -- See https://github.com/xzbdmw/colorful-menu.nvim/pull/36
|
||||||
|
-- preserve_type_when_truncate = true,
|
||||||
|
-- },
|
||||||
|
-- clangd = {
|
||||||
|
-- -- Such as "From <stdio.h>".
|
||||||
|
-- extra_info_hl = "@comment",
|
||||||
|
-- -- Similar to the same setting of gopls.
|
||||||
|
-- align_type_to_right = true,
|
||||||
|
-- -- the hl group of leading dot of "•std::filesystem::permissions(..)"
|
||||||
|
-- import_dot_hl = "@comment",
|
||||||
|
-- -- See https://github.com/xzbdmw/colorful-menu.nvim/pull/36
|
||||||
|
-- preserve_type_when_truncate = true,
|
||||||
|
-- },
|
||||||
|
-- zls = {
|
||||||
|
-- -- Similar to the same setting of gopls.
|
||||||
|
-- align_type_to_right = true,
|
||||||
|
-- },
|
||||||
|
-- roslyn = {
|
||||||
|
-- extra_info_hl = "@comment",
|
||||||
|
-- },
|
||||||
|
-- dartls = {
|
||||||
|
-- extra_info_hl = "@comment",
|
||||||
|
-- },
|
||||||
|
-- -- The same applies to pyright/pylance
|
||||||
|
-- basedpyright = {
|
||||||
|
-- -- It is usually import path such as "os"
|
||||||
|
-- extra_info_hl = "@comment",
|
||||||
|
-- },
|
||||||
|
-- -- If true, try to highlight "not supported" languages.
|
||||||
|
-- fallback = true,
|
||||||
|
-- -- this will be applied to label description for unsupport languages
|
||||||
|
-- fallback_extra_info_hl = "@comment",
|
||||||
|
-- },
|
||||||
|
-- -- If the built-in logic fails to find a suitable highlight group for a label,
|
||||||
|
-- -- this highlight is applied to the label.
|
||||||
|
-- fallback_highlight = "@variable",
|
||||||
|
-- -- If provided, the plugin truncates the final displayed text to
|
||||||
|
-- -- this width (measured in display cells). Any highlights that extend
|
||||||
|
-- -- beyond the truncation point are ignored. When set to a float
|
||||||
|
-- -- between 0 and 1, it'll be treated as percentage of the width of
|
||||||
|
-- -- the window: math.floor(max_width * vim.api.nvim_win_get_width(0))
|
||||||
|
-- -- Default 60.
|
||||||
|
-- max_width = 60,
|
||||||
|
-- })
|
||||||
|
-- end,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,110 +0,0 @@
|
||||||
return {
|
|
||||||
"nvim-treesitter/nvim-treesitter-textobjects",
|
|
||||||
lazy = true,
|
|
||||||
config = function()
|
|
||||||
require("nvim-treesitter.configs").setup({
|
|
||||||
textobjects = {
|
|
||||||
select = {
|
|
||||||
enable = true,
|
|
||||||
|
|
||||||
-- Automatically jump forward to textobj, similar to targets.vim
|
|
||||||
lookahead = true,
|
|
||||||
|
|
||||||
keymaps = {
|
|
||||||
-- You can use the capture groups defined in textobjects.scm
|
|
||||||
["a="] = { query = "@assignment.outer", desc = "Select outer part of an assignment" },
|
|
||||||
["i="] = { query = "@assignment.inner", desc = "Select inner part of an assignment" },
|
|
||||||
["l="] = { query = "@assignment.lhs", desc = "Select left hand side of an assignment" },
|
|
||||||
["r="] = { query = "@assignment.rhs", desc = "Select right hand side of an assignment" },
|
|
||||||
|
|
||||||
-- works for javascript/typescript files (custom capture I created in after/queries/ecma/textobjects.scm)
|
|
||||||
["a:"] = { query = "@property.outer", desc = "Select outer part of an object property" },
|
|
||||||
["i:"] = { query = "@property.inner", desc = "Select inner part of an object property" },
|
|
||||||
["l:"] = { query = "@property.lhs", desc = "Select left part of an object property" },
|
|
||||||
["r:"] = { query = "@property.rhs", desc = "Select right part of an object property" },
|
|
||||||
|
|
||||||
["aa"] = { query = "@parameter.outer", desc = "Select outer part of a parameter/argument" },
|
|
||||||
["ia"] = { query = "@parameter.inner", desc = "Select inner part of a parameter/argument" },
|
|
||||||
|
|
||||||
["ai"] = { query = "@conditional.outer", desc = "Select outer part of a conditional" },
|
|
||||||
["ii"] = { query = "@conditional.inner", desc = "Select inner part of a conditional" },
|
|
||||||
|
|
||||||
["al"] = { query = "@loop.outer", desc = "Select outer part of a loop" },
|
|
||||||
["il"] = { query = "@loop.inner", desc = "Select inner part of a loop" },
|
|
||||||
|
|
||||||
["af"] = { query = "@call.outer", desc = "Select outer part of a function call" },
|
|
||||||
["if"] = { query = "@call.inner", desc = "Select inner part of a function call" },
|
|
||||||
|
|
||||||
["am"] = { query = "@function.outer", desc = "Select outer part of a method/function definition" },
|
|
||||||
["im"] = { query = "@function.inner", desc = "Select inner part of a method/function definition" },
|
|
||||||
|
|
||||||
["ac"] = { query = "@class.outer", desc = "Select outer part of a class" },
|
|
||||||
["ic"] = { query = "@class.inner", desc = "Select inner part of a class" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
swap = {
|
|
||||||
enable = true,
|
|
||||||
swap_next = {
|
|
||||||
["<leader>na"] = "@parameter.inner", -- swap parameters/argument with next
|
|
||||||
["<leader>n:"] = "@property.outer", -- swap object property with next
|
|
||||||
["<leader>nm"] = "@function.outer", -- swap function with next
|
|
||||||
},
|
|
||||||
swap_previous = {
|
|
||||||
["<leader>pa"] = "@parameter.inner", -- swap parameters/argument with prev
|
|
||||||
["<leader>p:"] = "@property.outer", -- swap object property with prev
|
|
||||||
["<leader>pm"] = "@function.outer", -- swap function with previous
|
|
||||||
},
|
|
||||||
},
|
|
||||||
move = {
|
|
||||||
enable = true,
|
|
||||||
set_jumps = true, -- whether to set jumps in the jumplist
|
|
||||||
goto_next_start = {
|
|
||||||
["]f"] = { query = "@call.outer", desc = "Next function call start" },
|
|
||||||
["]m"] = { query = "@function.outer", desc = "Next method/function def start" },
|
|
||||||
["]c"] = { query = "@class.outer", desc = "Next class start" },
|
|
||||||
["]i"] = { query = "@conditional.outer", desc = "Next conditional start" },
|
|
||||||
["]l"] = { query = "@loop.outer", desc = "Next loop start" },
|
|
||||||
|
|
||||||
-- You can pass a query group to use query from `queries/<lang>/<query_group>.scm file in your runtime path.
|
|
||||||
-- Below example nvim-treesitter's `locals.scm` and `folds.scm`. They also provide highlights.scm and indent.scm.
|
|
||||||
["]s"] = { query = "@scope", query_group = "locals", desc = "Next scope" },
|
|
||||||
["]z"] = { query = "@fold", query_group = "folds", desc = "Next fold" },
|
|
||||||
},
|
|
||||||
goto_next_end = {
|
|
||||||
["]F"] = { query = "@call.outer", desc = "Next function call end" },
|
|
||||||
["]M"] = { query = "@function.outer", desc = "Next method/function def end" },
|
|
||||||
["]C"] = { query = "@class.outer", desc = "Next class end" },
|
|
||||||
["]I"] = { query = "@conditional.outer", desc = "Next conditional end" },
|
|
||||||
["]L"] = { query = "@loop.outer", desc = "Next loop end" },
|
|
||||||
},
|
|
||||||
goto_previous_start = {
|
|
||||||
["[f"] = { query = "@call.outer", desc = "Prev function call start" },
|
|
||||||
["[m"] = { query = "@function.outer", desc = "Prev method/function def start" },
|
|
||||||
["[c"] = { query = "@class.outer", desc = "Prev class start" },
|
|
||||||
["[i"] = { query = "@conditional.outer", desc = "Prev conditional start" },
|
|
||||||
["[l"] = { query = "@loop.outer", desc = "Prev loop start" },
|
|
||||||
},
|
|
||||||
goto_previous_end = {
|
|
||||||
["[F"] = { query = "@call.outer", desc = "Prev function call end" },
|
|
||||||
["[M"] = { query = "@function.outer", desc = "Prev method/function def end" },
|
|
||||||
["[C"] = { query = "@class.outer", desc = "Prev class end" },
|
|
||||||
["[I"] = { query = "@conditional.outer", desc = "Prev conditional end" },
|
|
||||||
["[L"] = { query = "@loop.outer", desc = "Prev loop end" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
local ts_repeat_move = require("nvim-treesitter.textobjects.repeatable_move")
|
|
||||||
|
|
||||||
-- vim way: ; goes to the direction you were moving.
|
|
||||||
vim.keymap.set({ "n", "x", "o" }, ";", ts_repeat_move.repeat_last_move)
|
|
||||||
vim.keymap.set({ "n", "x", "o" }, ",", ts_repeat_move.repeat_last_move_opposite)
|
|
||||||
|
|
||||||
-- Optionally, make builtin f, F, t, T also repeatable with ; and ,
|
|
||||||
vim.keymap.set({ "n", "x", "o" }, "f", ts_repeat_move.builtin_f)
|
|
||||||
vim.keymap.set({ "n", "x", "o" }, "F", ts_repeat_move.builtin_F)
|
|
||||||
vim.keymap.set({ "n", "x", "o" }, "t", ts_repeat_move.builtin_t)
|
|
||||||
vim.keymap.set({ "n", "x", "o" }, "T", ts_repeat_move.builtin_T)
|
|
||||||
end,
|
|
||||||
}
|
|
|
@ -7,13 +7,22 @@ return {
|
||||||
},
|
},
|
||||||
config = function()
|
config = function()
|
||||||
require("nvim-treesitter.configs").setup({
|
require("nvim-treesitter.configs").setup({
|
||||||
highlight = { enable = true },
|
sync_install = false,
|
||||||
indent = { enable = true },
|
highlight = {
|
||||||
autotag = { enable = true },
|
enable = true,
|
||||||
|
},
|
||||||
|
indent = {
|
||||||
|
enable = true,
|
||||||
|
},
|
||||||
|
autotag = {
|
||||||
|
enable = true,
|
||||||
|
},
|
||||||
ensure_installed = {
|
ensure_installed = {
|
||||||
"bash",
|
"bash",
|
||||||
|
"caddy",
|
||||||
"gitignore",
|
"gitignore",
|
||||||
"git_config",
|
"git_config",
|
||||||
|
"git_rebase",
|
||||||
"markdown",
|
"markdown",
|
||||||
"markdown_inline",
|
"markdown_inline",
|
||||||
"yaml",
|
"yaml",
|
||||||
|
@ -25,12 +34,6 @@ return {
|
||||||
},
|
},
|
||||||
incremental_selection = {
|
incremental_selection = {
|
||||||
enable = true,
|
enable = true,
|
||||||
keymaps = {
|
|
||||||
init_selection = "<C-space>",
|
|
||||||
node_incremental = "<C-space>",
|
|
||||||
scope_incremental = false,
|
|
||||||
node_decremental = "<bs>",
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
end,
|
end,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue