drop _full_feature and use custom.lua
* use a global table for custom config * add config for proxy
This commit is contained in:
parent
62de8c72bc
commit
e901a69f28
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -1,2 +1,2 @@
|
||||||
/lazy-lock.json
|
/lazy-lock.json
|
||||||
/_full_feature
|
/custom.lua
|
||||||
|
|
|
@ -12,8 +12,11 @@ git clone <url of this repo> ~/.config/nvim
|
||||||
|
|
||||||
By default, this config will only include a few plugins, which suit for mataining other than editing frequently.
|
By default, this config will only include a few plugins, which suit for mataining other than editing frequently.
|
||||||
|
|
||||||
If you want to use the full feature this config provided, create a file named `_full_feature` under the root of this repo (usually `~/.config/nvim`.
|
A custom config (`custom.lua`) file placed aside with `init.lua` is optional, it's content like below.
|
||||||
|
|
||||||
```
|
```
|
||||||
touch ~/.config/nvim/_full_feature
|
return {
|
||||||
|
full_feature = true, # enable all configured plugins
|
||||||
|
proxy_url = "http://localhost:8888", # setup proxy for some plugins (like treesitter)
|
||||||
|
}
|
||||||
```
|
```
|
||||||
|
|
16
init.lua
16
init.lua
|
@ -26,11 +26,19 @@ vim.keymap.set("n", "<F2>", "<cmd>bnext<CR>", { silent = true })
|
||||||
vim.g.mapleader = " "
|
vim.g.mapleader = " "
|
||||||
vim.g.maplocalleader = " "
|
vim.g.maplocalleader = " "
|
||||||
|
|
||||||
function file_exists(name)
|
-- Load custom config
|
||||||
local f=io.open(name,"r")
|
custom = {
|
||||||
if f~=nil then io.close(f) return true else return false end
|
full_feature = false,
|
||||||
|
proxy_url = "",
|
||||||
|
}
|
||||||
|
|
||||||
|
local custom_config_path = vim.fn.stdpath("config") .. "/custom.lua"
|
||||||
|
local ok, t = pcall(dofile, custom_config_path)
|
||||||
|
if ok then
|
||||||
|
for k, v in pairs(t) do
|
||||||
|
custom[k] = v
|
||||||
|
end
|
||||||
end
|
end
|
||||||
full_feature = file_exists(vim.fn.stdpath("config") .. "/_full_feature")
|
|
||||||
|
|
||||||
-- Use lazy.nvim as plugin manager, and load plugin's config
|
-- Use lazy.nvim as plugin manager, and load plugin's config
|
||||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||||
|
|
|
@ -24,13 +24,13 @@ return {
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"karb94/neoscroll.nvim",
|
"karb94/neoscroll.nvim",
|
||||||
enabled = full_feature,
|
enabled = custom.full_feature,
|
||||||
main = "neoscroll",
|
main = "neoscroll",
|
||||||
opts = { },
|
opts = { },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"akinsho/bufferline.nvim",
|
"akinsho/bufferline.nvim",
|
||||||
enabled = full_feature,
|
enabled = custom.full_feature,
|
||||||
main = "bufferline",
|
main = "bufferline",
|
||||||
opts = {
|
opts = {
|
||||||
options = {
|
options = {
|
||||||
|
@ -54,7 +54,7 @@ return {
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"nvim-lualine/lualine.nvim",
|
"nvim-lualine/lualine.nvim",
|
||||||
enabled = full_feature,
|
enabled = custom.full_feature,
|
||||||
dependencies = {
|
dependencies = {
|
||||||
"nvim-tree/nvim-web-devicons"
|
"nvim-tree/nvim-web-devicons"
|
||||||
},
|
},
|
||||||
|
@ -66,7 +66,7 @@ return {
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"nvim-tree/nvim-tree.lua",
|
"nvim-tree/nvim-tree.lua",
|
||||||
enabled = full_feature,
|
enabled = custom.full_feature,
|
||||||
dependencies = {
|
dependencies = {
|
||||||
"nvim-tree/nvim-web-devicons"
|
"nvim-tree/nvim-web-devicons"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
return {
|
return {
|
||||||
"lewis6991/gitsigns.nvim",
|
"lewis6991/gitsigns.nvim",
|
||||||
main = "gitsigns",
|
main = "gitsigns",
|
||||||
enabled = full_feature,
|
enabled = custom.full_feature,
|
||||||
opts = {
|
opts = {
|
||||||
on_attach = function(bufnr)
|
on_attach = function(bufnr)
|
||||||
local gs = package.loaded.gitsigns
|
local gs = package.loaded.gitsigns
|
||||||
|
|
|
@ -44,7 +44,7 @@ local basic_ensure = {
|
||||||
"yaml",
|
"yaml",
|
||||||
}
|
}
|
||||||
|
|
||||||
if full_feature then
|
if custom.full_feature then
|
||||||
ensure = full_ensure
|
ensure = full_ensure
|
||||||
else
|
else
|
||||||
ensure = basic_ensure
|
ensure = basic_ensure
|
||||||
|
@ -63,6 +63,10 @@ return {
|
||||||
},
|
},
|
||||||
config = function (this, opts)
|
config = function (this, opts)
|
||||||
require(this.name .. ".configs").setup(opts);
|
require(this.name .. ".configs").setup(opts);
|
||||||
require(this.name .. ".install").prefer_git = true;
|
if custom.proxy_url ~= "" then
|
||||||
|
require(this.name .. ".install").command_extra_args = {
|
||||||
|
curl = { "--proxy", custom.proxy_url }
|
||||||
|
}
|
||||||
|
end
|
||||||
end
|
end
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,7 +39,7 @@ end
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"neovim/nvim-lspconfig",
|
"neovim/nvim-lspconfig",
|
||||||
enabled = full_feature,
|
enabled = custom.full_feature,
|
||||||
dependencies = {
|
dependencies = {
|
||||||
"hrsh7th/nvim-cmp",
|
"hrsh7th/nvim-cmp",
|
||||||
"hrsh7th/cmp-nvim-lsp",
|
"hrsh7th/cmp-nvim-lsp",
|
||||||
|
|
Loading…
Reference in a new issue