mirror of
https://github.com/jdhao/nvim-config.git
synced 2025-06-08 14:14:33 +02:00
Compare commits
4 Commits
v0.9.5
...
94e92c2f43
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
94e92c2f43 | ||
|
|
4d289d16b3 | ||
|
|
90a0645d42 | ||
|
|
8416508686 |
@@ -1,6 +1,2 @@
|
||||
" let the initial folding state be that all folds are closed.
|
||||
set foldlevel=0
|
||||
|
||||
" Use nvim-treesitter for folding
|
||||
set foldmethod=expr
|
||||
set foldexpr=nvim_treesitter#foldexpr()
|
||||
setlocal foldlevel=0
|
||||
|
||||
@@ -4,8 +4,8 @@ local nvim_tree = require("nvim-tree")
|
||||
nvim_tree.setup {
|
||||
auto_reload_on_write = true,
|
||||
disable_netrw = false,
|
||||
hijack_cursor = false,
|
||||
hijack_netrw = true,
|
||||
hijack_cursor = false,
|
||||
hijack_unnamed_buffer_when_opening = false,
|
||||
open_on_tab = false,
|
||||
sort_by = "name",
|
||||
|
||||
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' })
|
||||
@@ -83,3 +83,23 @@ api.nvim_create_autocmd("VimResized", {
|
||||
desc = "autoresize windows on resizing operation",
|
||||
command = "wincmd =",
|
||||
})
|
||||
|
||||
local function open_nvim_tree(data)
|
||||
-- check if buffer is a directory
|
||||
local directory = vim.fn.isdirectory(data.file) == 1
|
||||
|
||||
if not directory then
|
||||
return
|
||||
end
|
||||
|
||||
-- create a new, empty buffer
|
||||
vim.cmd.enew()
|
||||
|
||||
-- wipe the directory buffer
|
||||
vim.cmd.bw(data.buf)
|
||||
|
||||
-- open the tree
|
||||
require("nvim-tree.api").tree.open()
|
||||
end
|
||||
|
||||
vim.api.nvim_create_autocmd({ "VimEnter" }, { callback = open_nvim_tree })
|
||||
|
||||
@@ -50,7 +50,7 @@ local plugin_specs = {
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
enabled = function()
|
||||
if vim.g.is_mac then
|
||||
if vim.g.is_mac or vim.g.is_linux then
|
||||
return true
|
||||
end
|
||||
return false
|
||||
@@ -488,6 +488,14 @@ local plugin_specs = {
|
||||
require("config.fidget-nvim")
|
||||
end,
|
||||
},
|
||||
{
|
||||
'kevinhwang91/nvim-ufo',
|
||||
dependencies = {'kevinhwang91/promise-async'},
|
||||
event = { "VeryLazy" },
|
||||
config = function()
|
||||
require("config.ufo")
|
||||
end
|
||||
}
|
||||
}
|
||||
|
||||
-- configuration for lazy itself.
|
||||
|
||||
Reference in New Issue
Block a user