mirror of
https://github.com/jdhao/nvim-config.git
synced 2025-06-08 14:14:33 +02:00
Compare commits
7 Commits
v0.10.0
...
c577779e6a
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c577779e6a | ||
|
|
6e137fe9a3 | ||
|
|
719fbfc1ab | ||
|
|
e815de294f | ||
|
|
ca7430056c | ||
|
|
4d289d16b3 | ||
|
|
90a0645d42 |
10
README.md
10
README.md
@@ -13,7 +13,7 @@
|
|||||||
<img alt="Latest release" src="https://img.shields.io/github/v/release/jdhao/nvim-config" />
|
<img alt="Latest release" src="https://img.shields.io/github/v/release/jdhao/nvim-config" />
|
||||||
</a>
|
</a>
|
||||||
<a href="https://github.com/neovim/neovim/releases/tag/stable">
|
<a href="https://github.com/neovim/neovim/releases/tag/stable">
|
||||||
<img src="https://img.shields.io/badge/Neovim-0.9.5-blueviolet.svg?style=flat-square&logo=Neovim&logoColor=green" alt="Neovim minimum version"/>
|
<img src="https://img.shields.io/badge/Neovim-0.10.1-blueviolet.svg?style=flat-square&logo=Neovim&logoColor=green" alt="Neovim minimum version"/>
|
||||||
</a>
|
</a>
|
||||||
<a href="https://github.com/jdhao/nvim-config/search?l=vim-script">
|
<a href="https://github.com/jdhao/nvim-config/search?l=vim-script">
|
||||||
<img src="https://img.shields.io/github/languages/top/jdhao/nvim-config" alt="Top languages"/>
|
<img src="https://img.shields.io/github/languages/top/jdhao/nvim-config" alt="Top languages"/>
|
||||||
@@ -21,8 +21,8 @@
|
|||||||
<a href="https://github.com/jdhao/nvim-config/graphs/commit-activity">
|
<a href="https://github.com/jdhao/nvim-config/graphs/commit-activity">
|
||||||
<img src="https://img.shields.io/github/commit-activity/m/jdhao/nvim-config?style=flat-square" />
|
<img src="https://img.shields.io/github/commit-activity/m/jdhao/nvim-config?style=flat-square" />
|
||||||
</a>
|
</a>
|
||||||
<a href="https://github.com/jdhao/nvim-config/releases/tag/v0.9.5">
|
<a href="https://github.com/jdhao/nvim-config/releases/tag/v0.10.0">
|
||||||
<img src="https://img.shields.io/github/commits-since/jdhao/nvim-config/v0.9.5?style=flat-square" />
|
<img src="https://img.shields.io/github/commits-since/jdhao/nvim-config/v0.10.0?style=flat-square" />
|
||||||
</a>
|
</a>
|
||||||
<a href="https://github.com/jdhao/nvim-config/graphs/contributors">
|
<a href="https://github.com/jdhao/nvim-config/graphs/contributors">
|
||||||
<img src="https://img.shields.io/github/contributors/jdhao/nvim-config?style=flat-square" />
|
<img src="https://img.shields.io/github/contributors/jdhao/nvim-config?style=flat-square" />
|
||||||
@@ -169,8 +169,8 @@ Some of the shortcuts I use frequently are listed here. In the following shortcu
|
|||||||
| `<leader>gc` | Normal | Linux/macOS/Win | Run git commit |
|
| `<leader>gc` | Normal | Linux/macOS/Win | Run git commit |
|
||||||
| `<leader>gpl` | Normal | Linux/macOS/Win | Run git pull |
|
| `<leader>gpl` | Normal | Linux/macOS/Win | Run git pull |
|
||||||
| `<leader>gpu` | Normal | Linux/macOS/Win | Run git push |
|
| `<leader>gpu` | Normal | Linux/macOS/Win | Run git push |
|
||||||
| `<leader>gl` | Normal/Visual | Linux/macOS/Win | Get perm link for current/visually-select lines
|
| `<leader>gl` | Normal/Visual | Linux/macOS/Win | Get perm link for current/visually-select lines |
|
||||||
| `<leader>gb` | Normal | macOS | Browse current git repo in browser
|
| `<leader>gb` | Normal | macOS | Browse current git repo in browser |
|
||||||
| `<F9>` | Normal | Linux/macOS/Win | Compile&run current source file (for C++, LaTeX, Lua, Python) |
|
| `<F9>` | Normal | Linux/macOS/Win | Compile&run current source file (for C++, LaTeX, Lua, Python) |
|
||||||
| `<F11>` | Normal | Linux/macOS/Win | Toggle spell checking |
|
| `<F11>` | Normal | Linux/macOS/Win | Toggle spell checking |
|
||||||
| `<F12>` | Normal | Linux/macOS/Win | Toggle paste mode |
|
| `<F12>` | Normal | Linux/macOS/Win | Toggle paste mode |
|
||||||
|
|||||||
@@ -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()
|
|
||||||
|
|||||||
6
init.lua
6
init.lua
@@ -14,11 +14,11 @@ vim.loader.enable()
|
|||||||
local version = vim.version
|
local version = vim.version
|
||||||
|
|
||||||
-- check if we have the latest stable version of nvim
|
-- check if we have the latest stable version of nvim
|
||||||
local expected_ver = "0.10.0"
|
local expected_ver = "0.10.1"
|
||||||
local ev = version.parse(expected_ver)
|
local expect_ver = version.parse(expected_ver)
|
||||||
local actual_ver = version()
|
local actual_ver = version()
|
||||||
|
|
||||||
local result = version.cmp(ev, {actual_ver.major, actual_ver.minor, actual_ver.patch})
|
local result = version.cmp(expect_ver, actual_ver)
|
||||||
|
|
||||||
if result ~= 0 then
|
if result ~= 0 then
|
||||||
local _ver = string.format("%s.%s.%s", actual_ver.major, actual_ver.minor, actual_ver.patch)
|
local _ver = string.format("%s.%s.%s", actual_ver.major, actual_ver.minor, actual_ver.patch)
|
||||||
|
|||||||
@@ -231,11 +231,12 @@ if utils.executable("lua-language-server") then
|
|||||||
},
|
},
|
||||||
workspace = {
|
workspace = {
|
||||||
-- Make the server aware of Neovim runtime files,
|
-- Make the server aware of Neovim runtime files,
|
||||||
-- see also https://github.com/LuaLS/lua-language-server/wiki/Libraries#link-to-workspace .
|
-- see also https://luals.github.io/wiki/settings/#workspacelibrary
|
||||||
-- Lua-dev.nvim also has similar settings for lua ls, https://github.com/folke/neodev.nvim/blob/main/lua/neodev/luals.lua .
|
|
||||||
library = {
|
library = {
|
||||||
vim.env.VIMRUNTIME,
|
vim.env.VIMRUNTIME,
|
||||||
fn.stdpath("config"),
|
fn.stdpath("config"),
|
||||||
|
-- make lua_ls aware of functions under vim.uv
|
||||||
|
"${3rd}/luv/library"
|
||||||
},
|
},
|
||||||
maxPreload = 2000,
|
maxPreload = 2000,
|
||||||
preloadFileSize = 50000,
|
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)
|
vim.opt.rtp:prepend(lazypath)
|
||||||
|
|
||||||
-- check if firenvim is active
|
-- 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()
|
local firenvim_not_active = function()
|
||||||
return not vim.g.started_by_firenvim
|
return not vim.g.started_by_firenvim
|
||||||
end
|
end
|
||||||
@@ -50,7 +56,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
|
||||||
@@ -122,9 +128,10 @@ local plugin_specs = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"lukas-reineke/headlines.nvim",
|
'MeanderingProgrammer/markdown.nvim',
|
||||||
dependencies = "nvim-treesitter/nvim-treesitter",
|
main = "render-markdown",
|
||||||
config = true, -- or `opts = {}`
|
opts = {},
|
||||||
|
dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-tree/nvim-web-devicons' },
|
||||||
},
|
},
|
||||||
-- A list of colorscheme plugin you may want to try. Find what suits you.
|
-- A list of colorscheme plugin you may want to try. Find what suits you.
|
||||||
{ "navarasu/onedark.nvim", lazy = true },
|
{ "navarasu/onedark.nvim", lazy = true },
|
||||||
@@ -418,17 +425,13 @@ local plugin_specs = {
|
|||||||
{
|
{
|
||||||
"glacambre/firenvim",
|
"glacambre/firenvim",
|
||||||
enabled = function()
|
enabled = function()
|
||||||
if vim.g.is_win or vim.g.is_mac then
|
local result = vim.g.is_win or vim.g.is_mac
|
||||||
return true
|
return result
|
||||||
end
|
|
||||||
return false
|
|
||||||
end,
|
end,
|
||||||
build = function()
|
-- it seems that we can only call the firenvim function directly.
|
||||||
vim.fn["firenvim#install"](0)
|
-- Using vim.fn or vim.cmd to call this function will fail.
|
||||||
end,
|
build = string.format(":call firenvim#install(0, '%s')", prologue)
|
||||||
lazy = true,
|
|
||||||
},
|
},
|
||||||
|
|
||||||
-- Debugger plugin
|
-- Debugger plugin
|
||||||
{
|
{
|
||||||
"sakhnik/nvim-gdb",
|
"sakhnik/nvim-gdb",
|
||||||
@@ -492,6 +495,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.
|
||||||
|
|||||||
Reference in New Issue
Block a user