Compare commits
10 Commits
609000db5b
...
df1af847b2
Author | SHA1 | Date | |
---|---|---|---|
df1af847b2 | |||
1c0a2345e0 | |||
|
a5906e48fb | ||
|
8ec2cb3b76 | ||
|
800d066aab | ||
|
ffdb4fc5e5 | ||
|
c77c086365 | ||
|
55de4b9c85 | ||
|
d7f91016a8 | ||
|
79805b7fea |
38
init.lua
38
init.lua
@ -1,4 +1,5 @@
|
||||
require "core"
|
||||
vim.api.nvim_set_var('mapleader', ';')
|
||||
|
||||
local custom_init_path = vim.api.nvim_get_runtime_file("lua/custom/init.lua", false)[1]
|
||||
|
||||
@ -12,7 +13,6 @@ local lazypath = vim.fn.stdpath "data" .. "/lazy/lazy.nvim"
|
||||
|
||||
-- bootstrap lazy.nvim!
|
||||
if not vim.loop.fs_stat(lazypath) then
|
||||
require("core.bootstrap").base46()
|
||||
require("core.bootstrap").gen_chadrc_template()
|
||||
require("core.bootstrap").lazy(lazypath)
|
||||
end
|
||||
@ -20,3 +20,39 @@ end
|
||||
dofile(vim.g.base46_cache .. "defaults")
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
require "plugins"
|
||||
|
||||
-- Configure Telescope to scroll files with ctrl+j/k
|
||||
local actions = require('telescope.actions')
|
||||
local sorters = require('telescope.sorters')
|
||||
|
||||
require('telescope').setup {
|
||||
defaults = {
|
||||
mappings = {
|
||||
i = {
|
||||
["<C-j>"] = actions.move_selection_next,
|
||||
["<C-k>"] = actions.move_selection_previous,
|
||||
},
|
||||
},
|
||||
file_sorter = sorters.get_fzy_sorter,
|
||||
file_ignore_patterns = { '.git/*', 'node_modules/*', 'vendor/*' },
|
||||
generic_sorter = sorters.get_generic_fuzzy_sorter,
|
||||
},
|
||||
extensions = {
|
||||
fzf = {
|
||||
fuzzy = true,
|
||||
override_generic_sorter = true,
|
||||
override_file_sorter = true,
|
||||
case_mode = "smart_case",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
vim.api.nvim_set_keymap('n', '<leader>e', ':NvimTreeToggle<CR>', {noremap = true, silent = true})
|
||||
|
||||
-- Cycle through open buffers with leader+a
|
||||
vim.api.nvim_set_keymap('n', '<leader>a', ':bprevious<CR>', {noremap = true, silent = true})
|
||||
vim.api.nvim_set_keymap('n', '<leader>f', ':bnext<CR>', {noremap = true, silent = true})
|
||||
|
||||
local builtin = require('telescope.builtin')
|
||||
vim.keymap.set('n', '<leader>ff', builtin.find_files, {})
|
||||
|
@ -1,31 +1,33 @@
|
||||
local M = {}
|
||||
|
||||
M.base46 = function()
|
||||
vim.notify " Compiling base46 theme to bytecode ..."
|
||||
|
||||
local repo = "https://github.com/NvChad/base46"
|
||||
local tmp_path = vim.fn.stdpath "config" .. "/tmp_base46"
|
||||
|
||||
vim.fn.system { "git", "clone", "--depth", "1", "-b", "v2.0", repo, tmp_path }
|
||||
vim.opt.rtp:prepend(tmp_path)
|
||||
require("base46").compile()
|
||||
|
||||
vim.fn.delete(tmp_path, "rf")
|
||||
M.echo = function(str)
|
||||
vim.cmd "redraw"
|
||||
vim.api.nvim_echo({ { str, "Bold" } }, true, {})
|
||||
end
|
||||
|
||||
M.lazy = function(install_path)
|
||||
vim.cmd "redraw|echo '' | echo ' Installing lazy.nvim & plugins ..'"
|
||||
------------- base46 ---------------
|
||||
local lazy_path = vim.fn.stdpath "data" .. "/lazy/base46"
|
||||
|
||||
M.echo " Compiling base46 theme to bytecode ..."
|
||||
|
||||
local base46_repo = "https://github.com/NvChad/base46"
|
||||
vim.fn.system { "git", "clone", "--depth", "1", "-b", "v2.0", base46_repo, lazy_path }
|
||||
vim.opt.rtp:prepend(lazy_path)
|
||||
|
||||
require("base46").compile()
|
||||
|
||||
--------- lazy.nvim ---------------
|
||||
M.echo " Installing lazy.nvim & plugins ..."
|
||||
local repo = "https://github.com/folke/lazy.nvim.git"
|
||||
vim.fn.system { "git", "clone", "--filter=blob:none", "--branch=stable", repo, install_path }
|
||||
|
||||
vim.opt.rtp:prepend(install_path)
|
||||
|
||||
-- install plugins + compile their configs
|
||||
-- install plugins
|
||||
require "plugins"
|
||||
vim.api.nvim_buf_delete(0, { force = true }) -- close lazy window
|
||||
|
||||
-- install mason packages
|
||||
---------- mason packages -------------
|
||||
vim.schedule(function()
|
||||
vim.cmd "MasonInstallAll"
|
||||
local packages = table.concat(vim.g.mason_binaries_list, " ")
|
||||
@ -36,7 +38,7 @@ M.lazy = function(install_path)
|
||||
if packages:match "%S" == nil then
|
||||
vim.schedule(function()
|
||||
vim.api.nvim_buf_delete(0, { force = true })
|
||||
vim.api.nvim_echo({ { "Now please read the docs at nvchad.com!! ", "NvimInternalError" } }, true, {})
|
||||
M.echo "Now please read the docs at nvchad.com!! "
|
||||
end)
|
||||
end
|
||||
end)
|
||||
@ -45,24 +47,19 @@ end
|
||||
|
||||
M.gen_chadrc_template = function()
|
||||
if not vim.api.nvim_get_runtime_file("lua/custom/chadrc.lua", false)[1] then
|
||||
local input = vim.fn.input "Do you want to install chadrc template? (y/n) : "
|
||||
local path = vim.fn.stdpath "config" .. "/lua/custom/"
|
||||
local input = vim.fn.input "Do you want to install example custom config? (y/N) : "
|
||||
|
||||
if input == "y" then
|
||||
vim.cmd "redraw|echo '' | echo 'cloning chadrc starter template repo..'"
|
||||
|
||||
local repo = "https://github.com/NvChad/example_config"
|
||||
local install_path = vim.fn.stdpath "config" .. "/lua/custom"
|
||||
vim.fn.system { "git", "clone", "--depth", "1", repo, install_path }
|
||||
|
||||
-- delete .git from that repo
|
||||
vim.fn.delete(vim.fn.stdpath "config" .. "/lua/custom/.git", "rf")
|
||||
vim.cmd "redraw|echo '' | echo 'successfully installed chadrc template!'"
|
||||
M.echo "cloning example custom config repo ..."
|
||||
vim.fn.system { "git", "clone", "--depth", "1", "https://github.com/NvChad/example_config", path }
|
||||
vim.fn.delete(path .. ".git", "rf")
|
||||
else
|
||||
local custom_dir = vim.fn.stdpath "config" .. "/lua/custom/"
|
||||
vim.fn.mkdir(custom_dir, "p")
|
||||
vim.fn.mkdir(path, "p")
|
||||
|
||||
local file = io.open(custom_dir .. "chadrc.lua", "w")
|
||||
file:write("local M = {}\n M.ui = {theme = 'onedark'}\n return M"):close()
|
||||
local file = io.open(path .. "chadrc.lua", "w")
|
||||
file:write "local M = {}\n M.ui = {theme = 'onedark'}\n return M"
|
||||
file:close()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -43,6 +43,7 @@ M.ui = {
|
||||
|
||||
-- lazyload it when there are 1+ buffers
|
||||
tabufline = {
|
||||
show_numbers = false,
|
||||
enabled = true,
|
||||
lazyload = true,
|
||||
overriden_modules = nil,
|
||||
@ -89,7 +90,7 @@ M.ui = {
|
||||
|
||||
M.plugins = "" -- path i.e "custom.plugins" -> custom/plugins.lua only and not custom/plugins/init.lua!!!!
|
||||
|
||||
M.lazy_nvim = {} -- config for lazy.nvim startup options
|
||||
M.lazy_nvim = require "plugins.configs.lazy_nvim" -- config for lazy.nvim startup options
|
||||
|
||||
-- these are default mappings, check core.mappings for table structure
|
||||
M.mappings = {}
|
||||
|
@ -186,7 +186,7 @@ M.lspconfig = {
|
||||
|
||||
["<leader>f"] = {
|
||||
function()
|
||||
vim.diagnostic.open_float()
|
||||
vim.diagnostic.open_float { border = "rounded" }
|
||||
end,
|
||||
"floating diagnostic",
|
||||
},
|
||||
@ -329,7 +329,6 @@ M.nvterm = {
|
||||
},
|
||||
|
||||
-- new
|
||||
|
||||
["<leader>h"] = {
|
||||
function()
|
||||
require("nvterm.terminal").new "horizontal"
|
||||
|
@ -105,8 +105,8 @@ local options = {
|
||||
}),
|
||||
},
|
||||
sources = {
|
||||
{ name = "luasnip" },
|
||||
{ name = "nvim_lsp" },
|
||||
{ name = "luasnip" },
|
||||
{ name = "buffer" },
|
||||
{ name = "nvim_lua" },
|
||||
{ name = "path" },
|
||||
|
@ -1,5 +1,5 @@
|
||||
local options = {
|
||||
ensure_installed = { "lua-language-server", "stylua" }, -- not an option from mason.nvim
|
||||
ensure_installed = { "lua-language-server" }, -- not an option from mason.nvim
|
||||
|
||||
PATH = "skip",
|
||||
|
||||
|
@ -19,8 +19,8 @@ local options = {
|
||||
hide_root_folder = true,
|
||||
},
|
||||
git = {
|
||||
enable = false,
|
||||
ignore = true,
|
||||
enable = true,
|
||||
ignore = false,
|
||||
},
|
||||
filesystem_watchers = {
|
||||
enable = true,
|
||||
@ -73,6 +73,4 @@ local options = {
|
||||
},
|
||||
}
|
||||
|
||||
vim.g.nvimtree_side = options.view.side
|
||||
|
||||
return options
|
||||
|
@ -26,7 +26,9 @@ local default_plugins = {
|
||||
|
||||
{
|
||||
"NvChad/nvterm",
|
||||
init = require("core.utils").load_mappings "nvterm",
|
||||
init = function()
|
||||
require("core.utils").load_mappings "nvterm"
|
||||
end,
|
||||
config = function(_, opts)
|
||||
require "base46.term"
|
||||
require("nvterm").setup(opts)
|
||||
@ -35,7 +37,9 @@ local default_plugins = {
|
||||
|
||||
{
|
||||
"NvChad/nvim-colorizer.lua",
|
||||
init = require("core.utils").lazy_load "nvim-colorizer.lua",
|
||||
init = function()
|
||||
require("core.utils").lazy_load "nvim-colorizer.lua"
|
||||
end,
|
||||
config = function(_, opts)
|
||||
require("colorizer").setup(opts)
|
||||
|
||||
@ -74,7 +78,9 @@ local default_plugins = {
|
||||
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
init = require("core.utils").lazy_load "nvim-treesitter",
|
||||
init = function()
|
||||
require("core.utils").lazy_load "nvim-treesitter"
|
||||
end,
|
||||
cmd = { "TSInstall", "TSBufEnable", "TSBufDisable", "TSModuleInfo" },
|
||||
build = ":TSUpdate",
|
||||
opts = function()
|
||||
@ -136,7 +142,9 @@ local default_plugins = {
|
||||
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
init = require("core.utils").lazy_load "nvim-lspconfig",
|
||||
init = function()
|
||||
require("core.utils").lazy_load "nvim-lspconfig"
|
||||
end,
|
||||
config = function()
|
||||
require "plugins.configs.lspconfig"
|
||||
end,
|
||||
@ -194,7 +202,9 @@ local default_plugins = {
|
||||
{
|
||||
"numToStr/Comment.nvim",
|
||||
-- keys = { "gc", "gb" },
|
||||
init = require("core.utils").load_mappings "comment",
|
||||
init = function()
|
||||
require("core.utils").load_mappings "comment"
|
||||
end,
|
||||
config = function()
|
||||
require("Comment").setup()
|
||||
end,
|
||||
@ -204,20 +214,25 @@ local default_plugins = {
|
||||
{
|
||||
"nvim-tree/nvim-tree.lua",
|
||||
cmd = { "NvimTreeToggle", "NvimTreeFocus" },
|
||||
init = require("core.utils").load_mappings "nvimtree",
|
||||
init = function()
|
||||
require("core.utils").load_mappings "nvimtree"
|
||||
end,
|
||||
opts = function()
|
||||
return require "plugins.configs.nvimtree"
|
||||
end,
|
||||
config = function(_, opts)
|
||||
dofile(vim.g.base46_cache .. "nvimtree")
|
||||
require("nvim-tree").setup(opts)
|
||||
vim.g.nvimtree_side = opts.view.side
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
"nvim-telescope/telescope.nvim",
|
||||
cmd = "Telescope",
|
||||
init = require("core.utils").load_mappings "telescope",
|
||||
init = function()
|
||||
require("core.utils").load_mappings "telescope"
|
||||
end,
|
||||
|
||||
opts = function()
|
||||
return require "plugins.configs.telescope"
|
||||
@ -239,7 +254,9 @@ local default_plugins = {
|
||||
{
|
||||
"folke/which-key.nvim",
|
||||
keys = { "<leader>", '"', "'", "`" },
|
||||
init = require("core.utils").load_mappings "whichkey",
|
||||
init = function()
|
||||
require("core.utils").load_mappings "whichkey"
|
||||
end,
|
||||
opts = function()
|
||||
return require "plugins.configs.whichkey"
|
||||
end,
|
||||
@ -256,7 +273,4 @@ if #config.plugins > 0 then
|
||||
table.insert(default_plugins, { import = config.plugins })
|
||||
end
|
||||
|
||||
-- lazy_nvim startup opts
|
||||
local lazy_config = vim.tbl_deep_extend("force", require "plugins.configs.lazy_nvim", config.lazy_nvim)
|
||||
|
||||
require("lazy").setup(default_plugins, lazy_config)
|
||||
require("lazy").setup(default_plugins, config.lazy_nvim)
|
||||
|
Loading…
Reference in New Issue
Block a user