mirror of
https://github.com/jdhao/nvim-config.git
synced 2025-06-08 14:14:33 +02:00
Compare commits
5 Commits
9791d6b2c3
...
c577779e6a
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c577779e6a | ||
|
|
6e137fe9a3 | ||
|
|
719fbfc1ab | ||
|
|
4d289d16b3 | ||
|
|
90a0645d42 |
@ -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
|
||||
|
||||
@ -231,11 +231,12 @@ if utils.executable("lua-language-server") then
|
||||
},
|
||||
workspace = {
|
||||
-- Make the server aware of Neovim runtime files,
|
||||
-- see also https://github.com/LuaLS/lua-language-server/wiki/Libraries#link-to-workspace .
|
||||
-- Lua-dev.nvim also has similar settings for lua ls, https://github.com/folke/neodev.nvim/blob/main/lua/neodev/luals.lua .
|
||||
-- see also https://luals.github.io/wiki/settings/#workspacelibrary
|
||||
library = {
|
||||
vim.env.VIMRUNTIME,
|
||||
fn.stdpath("config"),
|
||||
-- make lua_ls aware of functions under vim.uv
|
||||
"${3rd}/luv/library"
|
||||
},
|
||||
maxPreload = 2000,
|
||||
preloadFileSize = 50000,
|
||||
|
||||
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' })
|
||||
@ -15,6 +15,12 @@ end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
-- check if firenvim is active
|
||||
-- macOS will reset the PATH when firenvim starts a nvim process, causing the PATH variable to change unexpectedly.
|
||||
-- Here we are trying to get the correct PATH and use it for firenvim.
|
||||
-- See also https://github.com/glacambre/firenvim/blob/master/TROUBLESHOOTING.md#make-sure-firenvims-path-is-the-same-as-neovims
|
||||
local path_env = vim.env.PATH
|
||||
local prologue = string.format('export PATH="%s"', path_env)
|
||||
|
||||
local firenvim_not_active = function()
|
||||
return not vim.g.started_by_firenvim
|
||||
end
|
||||
@ -50,7 +56,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
|
||||
@ -419,17 +425,13 @@ local plugin_specs = {
|
||||
{
|
||||
"glacambre/firenvim",
|
||||
enabled = function()
|
||||
if vim.g.is_win or vim.g.is_mac then
|
||||
return true
|
||||
end
|
||||
return false
|
||||
local result = vim.g.is_win or vim.g.is_mac
|
||||
return result
|
||||
end,
|
||||
build = function()
|
||||
vim.fn["firenvim#install"](0)
|
||||
end,
|
||||
lazy = true,
|
||||
-- it seems that we can only call the firenvim function directly.
|
||||
-- Using vim.fn or vim.cmd to call this function will fail.
|
||||
build = string.format(":call firenvim#install(0, '%s')", prologue)
|
||||
},
|
||||
|
||||
-- Debugger plugin
|
||||
{
|
||||
"sakhnik/nvim-gdb",
|
||||
@ -493,6 +495,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.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user