mirror of
https://github.com/jdhao/nvim-config.git
synced 2025-06-08 14:14:33 +02:00
Compare commits
4 Commits
dbb8190a93
...
7ca77538c6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7ca77538c6 | ||
|
|
cb8c9208e1 | ||
|
|
4d289d16b3 | ||
|
|
90a0645d42 |
@ -1,6 +1,2 @@
|
|||||||
" let the initial folding state be that all folds are closed.
|
" let the initial folding state be that all folds are closed.
|
||||||
set foldlevel=0
|
setlocal foldlevel=0
|
||||||
|
|
||||||
" Use nvim-treesitter for folding
|
|
||||||
set foldmethod=expr
|
|
||||||
set foldexpr=nvim_treesitter#foldexpr()
|
|
||||||
|
|||||||
22
lua/config/ufo.lua
Normal file
22
lua/config/ufo.lua
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
local keymap = vim.keymap
|
||||||
|
|
||||||
|
-- disable foldcolumn, see https://github.com/kevinhwang91/nvim-ufo/issues/4
|
||||||
|
vim.o.foldcolumn = '0'
|
||||||
|
vim.o.foldlevel = 99 -- Using ufo provider need a large value, feel free to decrease the value
|
||||||
|
vim.o.foldlevelstart = 99
|
||||||
|
vim.o.foldenable = true -- Don't set nofoldenable in ftplugin
|
||||||
|
|
||||||
|
-- treesitter as a main provider instead
|
||||||
|
-- Only depend on `nvim-treesitter/queries/filetype/folds.scm`,
|
||||||
|
-- performance and stability are better than `foldmethod=nvim_treesitter#foldexpr()`
|
||||||
|
require('ufo').setup({
|
||||||
|
provider_selector = function(bufnr, filetype, buftype)
|
||||||
|
return {'treesitter', 'indent'}
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
local ufo = require('ufo')
|
||||||
|
keymap.set('n', 'zR', ufo.openAllFolds, { desc = 'Open all folds' })
|
||||||
|
keymap.set('n', 'zM', ufo.closeAllFolds, { desc = 'Close all folds' })
|
||||||
|
keymap.set('n', 'zr', ufo.openFoldsExceptKinds, { desc = 'Fold less' })
|
||||||
|
keymap.set('n', 'zm', ufo.closeFoldsWith, { desc = 'Fold more' })
|
||||||
@ -1,60 +1,6 @@
|
|||||||
require("which-key").setup {
|
require("which-key").setup {
|
||||||
plugins = {
|
preset = "modern",
|
||||||
marks = true, -- shows a list of your marks on ' and `
|
|
||||||
registers = true, -- shows your registers on " in NORMAL or <C-r> in INSERT mode
|
|
||||||
spelling = {
|
|
||||||
enabled = true, -- enabling this will show WhichKey when pressing z= to select spelling suggestions
|
|
||||||
suggestions = 9, -- how many suggestions should be shown in the list?
|
|
||||||
},
|
|
||||||
-- the presets plugin, adds help for a bunch of default keybindings in Neovim
|
|
||||||
-- No actual key bindings are created
|
|
||||||
presets = {
|
|
||||||
operators = true, -- adds help for operators like d, y, ... and registers them for motion / text object completion
|
|
||||||
motions = true, -- adds help for motions
|
|
||||||
text_objects = true, -- help for text objects triggered after entering an operator
|
|
||||||
windows = true, -- default bindings on <c-w>
|
|
||||||
nav = true, -- misc bindings to work with windows
|
|
||||||
z = true, -- bindings for folds, spelling and others prefixed with z
|
|
||||||
g = true, -- bindings for prefixed with g
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- add operators that will trigger motion and text object completion
|
|
||||||
-- to enable all native operators, set the preset / operators plugin above
|
|
||||||
operators = { gc = "Comments" },
|
|
||||||
key_labels = {
|
|
||||||
-- override the label used to display some keys. It doesn't effect WK in any other way.
|
|
||||||
-- For example:
|
|
||||||
-- ["<space>"] = "SPC",
|
|
||||||
-- ["<cr>"] = "RET",
|
|
||||||
-- ["<tab>"] = "TAB",
|
|
||||||
},
|
|
||||||
icons = {
|
icons = {
|
||||||
breadcrumb = "»", -- symbol used in the command line area that shows your active key combo
|
mappings = false
|
||||||
separator = "➜", -- symbol used between a key and it's label
|
}
|
||||||
group = "+", -- symbol prepended to a group
|
|
||||||
},
|
|
||||||
window = {
|
|
||||||
border = "none", -- none, single, double, shadow
|
|
||||||
position = "bottom", -- bottom, top
|
|
||||||
margin = { 0, 0, 0, 0 }, -- extra window margin [top, right, bottom, left]
|
|
||||||
padding = { 1, 0, 1, 0 }, -- extra window padding [top, right, bottom, left]
|
|
||||||
},
|
|
||||||
layout = {
|
|
||||||
height = { min = 1, max = 25 }, -- min and max height of the columns
|
|
||||||
width = { min = 20, max = 50 }, -- min and max width of the columns
|
|
||||||
spacing = 1, -- spacing between columns
|
|
||||||
align = "center", -- align columns left, center or right
|
|
||||||
},
|
|
||||||
ignore_missing = false, -- enable this to hide mappings for which you didn't specify a label
|
|
||||||
hidden = { "<silent>", "<cmd>", "<Cmd>", "<CR>", "call", "lua", "^:", "^ " }, -- hide mapping boilerplate
|
|
||||||
show_help = true, -- show help message on the command line when the popup is visible
|
|
||||||
triggers = "auto", -- automatically setup triggers
|
|
||||||
-- triggers = {"<leader>"} -- or specify a list manually
|
|
||||||
|
|
||||||
triggers_blacklist = {
|
|
||||||
-- list of mode / prefixes that should never be hooked by WhichKey
|
|
||||||
-- this is mostly relevant for key maps that start with a native binding
|
|
||||||
-- most people should not need to change this
|
|
||||||
n = { "o", "O" },
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -227,5 +227,7 @@ keymap.set("n", "<leader>cb", function()
|
|||||||
end
|
end
|
||||||
|
|
||||||
cnt = cnt + 1
|
cnt = cnt + 1
|
||||||
end))
|
|
||||||
end)
|
end)
|
||||||
|
)
|
||||||
|
end,
|
||||||
|
{ desc = "show cursor" })
|
||||||
|
|||||||
@ -50,7 +50,7 @@ local plugin_specs = {
|
|||||||
{
|
{
|
||||||
"nvim-treesitter/nvim-treesitter",
|
"nvim-treesitter/nvim-treesitter",
|
||||||
enabled = function()
|
enabled = function()
|
||||||
if vim.g.is_mac then
|
if vim.g.is_mac or vim.g.is_linux then
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
return false
|
return false
|
||||||
@ -492,6 +492,14 @@ local plugin_specs = {
|
|||||||
require("config.fidget-nvim")
|
require("config.fidget-nvim")
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
'kevinhwang91/nvim-ufo',
|
||||||
|
dependencies = {'kevinhwang91/promise-async'},
|
||||||
|
event = { "VeryLazy" },
|
||||||
|
config = function()
|
||||||
|
require("config.ufo")
|
||||||
|
end
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
-- configuration for lazy itself.
|
-- configuration for lazy itself.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user