Merge pull request #156 from Akianonymus/main
Major perf improvements | Handle errors | Better configs | Misc
This commit is contained in:
commit
6f2b358d3a
42
init.lua
42
init.lua
@ -1,20 +1,28 @@
|
||||
-- load all plugins
|
||||
require "pluginList"
|
||||
-- load all options
|
||||
require "options"
|
||||
|
||||
local g = vim.g
|
||||
-- only try to load stuff if atleast base16 is initialized
|
||||
-- TODO: Find a better way to trigger PackerSync
|
||||
if require "theme" then
|
||||
local async
|
||||
async =
|
||||
vim.loop.new_async(
|
||||
vim.schedule_wrap(
|
||||
function()
|
||||
require "pluginList"
|
||||
require "plugins.bufferline"
|
||||
require "highlights"
|
||||
require "mappings"
|
||||
require("utils").hideStuff()
|
||||
|
||||
g.mapleader = " "
|
||||
g.auto_save = false
|
||||
|
||||
-- colorscheme related stuff
|
||||
|
||||
g.nvchad_theme = "onedark"
|
||||
local base16 = require "base16"
|
||||
base16(base16.themes["onedark"], true)
|
||||
|
||||
require "highlights"
|
||||
require "mappings"
|
||||
require "plugins.bufferline"
|
||||
|
||||
require("utils").hideStuff()
|
||||
async:close()
|
||||
end
|
||||
)
|
||||
)
|
||||
async:send()
|
||||
else
|
||||
-- otherwise run packer sync
|
||||
require "pluginList"
|
||||
print("Now PackerSync will be executed, after completion, restart neovim.\n")
|
||||
vim.cmd("PackerSync")
|
||||
end
|
||||
|
73
install.sh
73
install.sh
@ -33,36 +33,6 @@ _check_nvim_version() {
|
||||
done
|
||||
}
|
||||
|
||||
_setup_packer() {
|
||||
_clone_packer() {
|
||||
[ -d "${_PACKER_PATH}" ] && rm -rf "${_PACKER_PATH}"
|
||||
|
||||
printf "\n%s\n" "=> Cloning packer.."
|
||||
if "${_GIT}" clone "${_PACKER_REPO_URL}" \
|
||||
"${_PACKER_PATH}" --depth 20; then
|
||||
printf "%s\n" "=> Packer Installed!"
|
||||
else
|
||||
printf "Error: Couldn't clone packer\n"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
if [ "${_UPDATE}" = "true" ]; then
|
||||
printf "%s\n" "Updating packer"
|
||||
{ [ -d "${_PACKER_PATH}" ] \
|
||||
&& "${_GIT}" -C "${_PACKER_PATH}" pull "${_PACKER_REPO_URL}"; } || _clone_packer
|
||||
else
|
||||
printf "%s\n" "Installing packer"
|
||||
if [ -d ~/.local/share/nvim/site/pack/packer ]; then
|
||||
printf "%s\n" "Clearing previous packer installs"
|
||||
rm -rf ~/.local/share/nvim/site/pack
|
||||
fi
|
||||
_clone_packer
|
||||
fi
|
||||
printf "\n"
|
||||
return 0
|
||||
}
|
||||
|
||||
_copy_config() {
|
||||
printf "%s\n" "Linking config"
|
||||
printf "%s\n" "Old nvim config will be changed to nvim.bak if exists! :0"
|
||||
@ -72,6 +42,7 @@ _copy_config() {
|
||||
printf "%s\n" "Nvim Directory exists"
|
||||
if [ "${_NO_BACKUP}" = "true" ]; then
|
||||
printf "%s\n" "Skipping backup as --no-backup flag was passed.."
|
||||
[ "${_UPDATE}" = "false" ] && rm -rf "${_CONFIG_PATH}"
|
||||
else
|
||||
printf "%s\n" "Taking backup of existing config.."
|
||||
mv "${_CONFIG_PATH}" "${_BACKUP_PATH}" || {
|
||||
@ -80,7 +51,6 @@ _copy_config() {
|
||||
exit 1
|
||||
}
|
||||
fi
|
||||
printf "%s\n" "Creating new nvim directory"
|
||||
else
|
||||
printf "%s\n" "Nvim Config doesn't exist so creating one"
|
||||
fi
|
||||
@ -124,8 +94,6 @@ _setup_terminal_shell() {
|
||||
|
||||
_setup_arguments() {
|
||||
# default variables to be used
|
||||
_PACKER_PATH="${HOME}/.local/share/nvim/site/pack/packer/start/packer.nvim"
|
||||
_PACKER_REPO_URL="https://github.com/wbthomason/packer.nvim"
|
||||
_CONFIG_PATH="${HOME}/.config/nvim"
|
||||
_UPDATE=""
|
||||
_BACKUP_PATH="${_CONFIG_PATH}.bak"
|
||||
@ -133,22 +101,22 @@ _setup_arguments() {
|
||||
_CURRENT_SHELL="${SHELL##*/}"
|
||||
|
||||
_check_longoptions() {
|
||||
[ -z "${2}" ] \
|
||||
&& printf '%s: %s: option requires an argument\nTry '"%s -h/--help"' for more information.\n' "${0##*/}" "${1}" "${0##*/}" \
|
||||
&& exit 1
|
||||
[ -z "${2}" ] &&
|
||||
printf '%s: %s: option requires an argument\nTry '"%s -h/--help"' for more information.\n' "${0##*/}" "${1}" "${0##*/}" &&
|
||||
exit 1
|
||||
return 0
|
||||
}
|
||||
|
||||
while [ $# -gt 0 ]; do
|
||||
case "${1}" in
|
||||
-h | --help) _usage ;;
|
||||
-i | --install) _UPDATE="false" ;;
|
||||
-u | --update) _UPDATE="true" ;;
|
||||
-b | --backup)
|
||||
_check_longoptions "${1}" "${2}"
|
||||
_BACKUP_PATH="${2}" && shift
|
||||
;;
|
||||
-nb | --nobackup) _NO_BACKUP="true" ;;
|
||||
-h | --help) _usage ;;
|
||||
-i | --install) _UPDATE="false" ;;
|
||||
-u | --update) _UPDATE="true" ;;
|
||||
-b | --backup)
|
||||
_check_longoptions "${1}" "${2}"
|
||||
_BACKUP_PATH="${2}" && shift
|
||||
;;
|
||||
-nb | --nobackup) _NO_BACKUP="true" ;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
@ -178,22 +146,23 @@ main() {
|
||||
_check_install_dependencies
|
||||
|
||||
_setup_arguments "${@}"
|
||||
_setup_packer
|
||||
_copy_config
|
||||
_setup_terminal_shell
|
||||
[ "${_UPDATE}" = "false" ] && _setup_terminal_shell
|
||||
|
||||
# install all plugins + compile them
|
||||
if _NVIM="$(command -v nvim)"; then
|
||||
if _check_nvim_version; then
|
||||
printf "\n%s\n" "=> Neovim will open with some errors, just press enter" && sleep 1
|
||||
"${_NVIM}" +PackerSync
|
||||
printf "\n%s\n" "=> Neovim will now open." && sleep 1
|
||||
if [ "${_UPDATE}" = "false" ]; then
|
||||
"${_NVIM}" +":lua require 'pluginList' vim.cmd('PackerSync')"
|
||||
else
|
||||
"${_NVIM}"
|
||||
fi
|
||||
else
|
||||
printf "Error: Neovim is installed, but version is lower than 0.5.x, install Neovim >= 5.x and then run the below command.\n"
|
||||
printf " nvim +PackerSync\n"
|
||||
printf "Error: Neovim is installed, but version is lower than 0.5.x, install Neovim >= 5.x and then run nvim & do :PackerSync\n."
|
||||
fi
|
||||
else
|
||||
printf "Error: Neovim is not installed, install Neovim >= 5.x and then run the below command\n"
|
||||
printf " nvim +PackerSync\n"
|
||||
printf "Error: Neovim is not installed, install Neovim >= 5.x and then run neovim & do :PackerSync.\n"
|
||||
fi
|
||||
}
|
||||
|
||||
|
@ -76,7 +76,17 @@ _G.s_tab_complete = function()
|
||||
end
|
||||
|
||||
function _G.completions()
|
||||
local npairs = require("nvim-autopairs")
|
||||
local npairs
|
||||
if
|
||||
not pcall(
|
||||
function()
|
||||
npairs = require "nvim-autopairs"
|
||||
end
|
||||
)
|
||||
then
|
||||
return
|
||||
end
|
||||
|
||||
if vim.fn.pumvisible() == 1 then
|
||||
if vim.fn.complete_info()["selected"] ~= -1 then
|
||||
return vim.fn["compe#confirm"]("<CR>")
|
||||
|
@ -1,4 +1,5 @@
|
||||
local opt = vim.opt
|
||||
local g = vim.g
|
||||
|
||||
opt.ruler = false
|
||||
opt.hidden = true
|
||||
@ -14,6 +15,12 @@ opt.updatetime = 250 -- update interval for gitsigns
|
||||
opt.timeoutlen = 400
|
||||
opt.clipboard = "unnamedplus"
|
||||
|
||||
-- disable nvim intro
|
||||
opt.shortmess:append("sI")
|
||||
|
||||
-- disable tilde on end of buffer: https://github.com/ neovim/neovim/pull/8546#issuecomment-643643758
|
||||
vim.cmd [[let &fcs='eob: ']]
|
||||
|
||||
-- Numbers
|
||||
opt.number = true
|
||||
opt.numberwidth = 2
|
||||
@ -24,17 +31,20 @@ opt.expandtab = true
|
||||
opt.shiftwidth = 2
|
||||
opt.smartindent = true
|
||||
|
||||
g.mapleader = " "
|
||||
g.auto_save = false
|
||||
|
||||
-- disable builtin vim plugins
|
||||
vim.g.loaded_gzip = 0
|
||||
vim.g.loaded_tar = 0
|
||||
vim.g.loaded_tarPlugin = 0
|
||||
vim.g.loaded_zipPlugin = 0
|
||||
vim.g.loaded_2html_plugin = 0
|
||||
vim.g.loaded_netrw = 0
|
||||
vim.g.loaded_netrwPlugin = 0
|
||||
vim.g.loaded_matchit = 0
|
||||
vim.g.loaded_matchparen = 0
|
||||
vim.g.loaded_spec = 0
|
||||
g.loaded_gzip = 0
|
||||
g.loaded_tar = 0
|
||||
g.loaded_tarPlugin = 0
|
||||
g.loaded_zipPlugin = 0
|
||||
g.loaded_2html_plugin = 0
|
||||
g.loaded_netrw = 0
|
||||
g.loaded_netrwPlugin = 0
|
||||
g.loaded_matchit = 0
|
||||
g.loaded_matchparen = 0
|
||||
g.loaded_spec = 0
|
||||
|
||||
local M = {}
|
||||
|
||||
|
45
lua/packerInit.lua
Normal file
45
lua/packerInit.lua
Normal file
@ -0,0 +1,45 @@
|
||||
local packer
|
||||
if
|
||||
not pcall(
|
||||
function()
|
||||
packer = require "packer"
|
||||
end
|
||||
)
|
||||
then
|
||||
local packer_path = vim.fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim"
|
||||
|
||||
print("Cloning packer..")
|
||||
-- remove the dir before cloning
|
||||
vim.fn.delete(packer_path, "rf")
|
||||
vim.fn.system(
|
||||
{
|
||||
"git",
|
||||
"clone",
|
||||
"https://github.com/wbthomason/packer.nvim",
|
||||
"--depth",
|
||||
"20",
|
||||
packer_path
|
||||
}
|
||||
)
|
||||
if pcall(
|
||||
function()
|
||||
packer = require "packer"
|
||||
end
|
||||
)
|
||||
then
|
||||
print("Packer cloned successfully.")
|
||||
else
|
||||
error("Couldn't clone packer !\nPacker path: " .. packer_path)
|
||||
end
|
||||
end
|
||||
|
||||
return packer.init {
|
||||
display = {
|
||||
open_fn = function()
|
||||
return require("packer.util").float {border = "single"}
|
||||
end
|
||||
},
|
||||
git = {
|
||||
clone_timeout = 600 -- Timeout, in seconds, for git clones
|
||||
}
|
||||
}
|
@ -1,16 +1,17 @@
|
||||
local packer = require("packer")
|
||||
local use = packer.use
|
||||
|
||||
packer.init {
|
||||
display = {
|
||||
open_fn = function()
|
||||
return require("packer.util").float {border = "single"}
|
||||
local packer
|
||||
if
|
||||
pcall(
|
||||
function()
|
||||
require "packerInit"
|
||||
end
|
||||
},
|
||||
git = {
|
||||
clone_timeout = 600 -- Timeout, in seconds, for git clones
|
||||
}
|
||||
}
|
||||
)
|
||||
then
|
||||
packer = require "packer"
|
||||
else
|
||||
return false
|
||||
end
|
||||
|
||||
local use = packer.use
|
||||
|
||||
return packer.startup(
|
||||
function()
|
||||
@ -21,7 +22,7 @@ return packer.startup(
|
||||
use {
|
||||
"glepnir/galaxyline.nvim",
|
||||
config = function()
|
||||
require("plugins.statusline").config()
|
||||
require "plugins.statusline"
|
||||
end
|
||||
}
|
||||
|
||||
@ -32,8 +33,7 @@ return packer.startup(
|
||||
"norcalli/nvim-colorizer.lua",
|
||||
event = "BufRead",
|
||||
config = function()
|
||||
require("colorizer").setup()
|
||||
vim.cmd("ColorizerReloadAllBuffers")
|
||||
require "plugins.colorizer"
|
||||
end
|
||||
}
|
||||
|
||||
@ -42,7 +42,7 @@ return packer.startup(
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
event = "BufRead",
|
||||
config = function()
|
||||
require("plugins.treesitter").config()
|
||||
require "plugins.treesitter"
|
||||
end
|
||||
}
|
||||
|
||||
@ -55,7 +55,7 @@ return packer.startup(
|
||||
"neovim/nvim-lspconfig",
|
||||
after = "nvim-lspinstall",
|
||||
config = function()
|
||||
require("plugins.lspconfig").config()
|
||||
require "plugins.lspconfig"
|
||||
end
|
||||
}
|
||||
|
||||
@ -63,7 +63,7 @@ return packer.startup(
|
||||
"onsails/lspkind-nvim",
|
||||
event = "BufRead",
|
||||
config = function()
|
||||
require("lspkind").init()
|
||||
require "plugins.lspkind"
|
||||
end
|
||||
}
|
||||
|
||||
@ -72,7 +72,7 @@ return packer.startup(
|
||||
"hrsh7th/nvim-compe",
|
||||
event = "InsertEnter",
|
||||
config = function()
|
||||
require("plugins.compe").config()
|
||||
require "plugins.compe"
|
||||
end,
|
||||
wants = {"LuaSnip"},
|
||||
requires = {
|
||||
@ -81,7 +81,7 @@ return packer.startup(
|
||||
wants = "friendly-snippets",
|
||||
event = "InsertCharPre",
|
||||
config = function()
|
||||
require("plugins.compe").snippets()
|
||||
require "plugins.luasnip"
|
||||
end
|
||||
},
|
||||
{
|
||||
@ -98,14 +98,14 @@ return packer.startup(
|
||||
"kyazdani42/nvim-tree.lua",
|
||||
cmd = "NvimTreeToggle",
|
||||
config = function()
|
||||
require("plugins.nvimtree").config()
|
||||
require "plugins.nvimtree"
|
||||
end
|
||||
}
|
||||
|
||||
use {
|
||||
"kyazdani42/nvim-web-devicons",
|
||||
config = function()
|
||||
require("plugins.icons").config()
|
||||
require "plugins.icons"
|
||||
end
|
||||
}
|
||||
|
||||
@ -117,7 +117,7 @@ return packer.startup(
|
||||
},
|
||||
cmd = "Telescope",
|
||||
config = function()
|
||||
require("plugins.telescope").config()
|
||||
require "plugins.telescope"
|
||||
end
|
||||
}
|
||||
|
||||
@ -133,7 +133,7 @@ return packer.startup(
|
||||
"lewis6991/gitsigns.nvim",
|
||||
event = "BufRead",
|
||||
config = function()
|
||||
require("plugins.gitsigns").config()
|
||||
require "plugins.gitsigns"
|
||||
end
|
||||
}
|
||||
|
||||
@ -142,13 +142,7 @@ return packer.startup(
|
||||
"windwp/nvim-autopairs",
|
||||
after = "nvim-compe",
|
||||
config = function()
|
||||
require("nvim-autopairs").setup()
|
||||
require("nvim-autopairs.completion.compe").setup(
|
||||
{
|
||||
map_cr = true,
|
||||
map_complete = true -- insert () func completion
|
||||
}
|
||||
)
|
||||
require "plugins.autopairs"
|
||||
end
|
||||
}
|
||||
|
||||
@ -158,7 +152,7 @@ return packer.startup(
|
||||
"terrortylor/nvim-comment",
|
||||
cmd = "CommentToggle",
|
||||
config = function()
|
||||
require("nvim_comment").setup()
|
||||
require "plugins.comment"
|
||||
end
|
||||
}
|
||||
|
||||
@ -172,7 +166,7 @@ return packer.startup(
|
||||
"SessionSave"
|
||||
},
|
||||
setup = function()
|
||||
require("plugins.dashboard").config()
|
||||
require "plugins.dashboard"
|
||||
end
|
||||
}
|
||||
|
||||
@ -182,7 +176,7 @@ return packer.startup(
|
||||
use {
|
||||
"Pocco81/AutoSave.nvim",
|
||||
config = function()
|
||||
require("plugins.zenmode").autoSave()
|
||||
require "plugins.autosave"
|
||||
end,
|
||||
cond = function()
|
||||
return vim.g.auto_save == true
|
||||
@ -194,7 +188,7 @@ return packer.startup(
|
||||
"karb94/neoscroll.nvim",
|
||||
event = "WinScrolled",
|
||||
config = function()
|
||||
require("neoscroll").setup()
|
||||
require "plugins.neoscroll"
|
||||
end
|
||||
}
|
||||
|
||||
@ -202,7 +196,7 @@ return packer.startup(
|
||||
"Pocco81/TrueZen.nvim",
|
||||
cmd = {"TZAtaraxis", "TZMinimalist", "TZFocus"},
|
||||
config = function()
|
||||
require("plugins.zenmode").config()
|
||||
require "plugins.zenmode"
|
||||
end
|
||||
}
|
||||
|
||||
@ -212,7 +206,7 @@ return packer.startup(
|
||||
"lukas-reineke/indent-blankline.nvim",
|
||||
event = "BufRead",
|
||||
setup = function()
|
||||
require("utils").blankline()
|
||||
require "plugins.blankline"
|
||||
end
|
||||
}
|
||||
end
|
||||
|
19
lua/plugins/autopairs.lua
Normal file
19
lua/plugins/autopairs.lua
Normal file
@ -0,0 +1,19 @@
|
||||
local autopairs, autopairs_completion
|
||||
if
|
||||
not pcall(
|
||||
function()
|
||||
autopairs = require "nvim-autopairs"
|
||||
autopairs_completion = require "nvim-autopairs.completion.compe"
|
||||
end
|
||||
)
|
||||
then
|
||||
return
|
||||
end
|
||||
|
||||
autopairs.setup()
|
||||
autopairs_completion.setup(
|
||||
{
|
||||
map_cr = true,
|
||||
map_complete = true -- insert () func completion
|
||||
}
|
||||
)
|
27
lua/plugins/autosave.lua
Normal file
27
lua/plugins/autosave.lua
Normal file
@ -0,0 +1,27 @@
|
||||
-- autosave.nvim plugin disabled by default
|
||||
local autosave
|
||||
if
|
||||
not pcall(
|
||||
function()
|
||||
func = require "autosave"
|
||||
end
|
||||
)
|
||||
then
|
||||
return
|
||||
end
|
||||
|
||||
autosave.setup(
|
||||
{
|
||||
enabled = vim.g.auto_save, -- takes boolean value from init.lua
|
||||
execution_message = "autosaved at : " .. vim.fn.strftime("%H:%M:%S"),
|
||||
events = {"InsertLeave", "TextChanged"},
|
||||
conditions = {
|
||||
exists = true,
|
||||
filetype_is_not = {},
|
||||
modifiable = true
|
||||
},
|
||||
write_all_buffers = true,
|
||||
on_off_commands = true,
|
||||
clean_command_line_interval = 2500
|
||||
}
|
||||
)
|
9
lua/plugins/blankline.lua
Normal file
9
lua/plugins/blankline.lua
Normal file
@ -0,0 +1,9 @@
|
||||
-- blankline config
|
||||
vim.g.indentLine_enabled = 1
|
||||
vim.g.indent_blankline_char = "▏"
|
||||
|
||||
vim.g.indent_blankline_filetype_exclude = {"help", "terminal", "dashboard"}
|
||||
vim.g.indent_blankline_buftype_exclude = {"terminal"}
|
||||
|
||||
vim.g.indent_blankline_show_trailing_blankline_indent = false
|
||||
vim.g.indent_blankline_show_first_indent_level = false
|
@ -1,7 +1,18 @@
|
||||
local global_theme = "themes/" .. vim.g.nvchad_theme
|
||||
local colors = require(global_theme)
|
||||
|
||||
require "bufferline".setup {
|
||||
local bufferline
|
||||
if
|
||||
not pcall(
|
||||
function()
|
||||
bufferline = require "bufferline"
|
||||
end
|
||||
)
|
||||
then
|
||||
return
|
||||
end
|
||||
|
||||
bufferline.setup {
|
||||
options = {
|
||||
offsets = {{filetype = "NvimTree", text = "", padding = 1}},
|
||||
buffer_close_icon = "",
|
||||
|
13
lua/plugins/colorizer.lua
Normal file
13
lua/plugins/colorizer.lua
Normal file
@ -0,0 +1,13 @@
|
||||
local colorizer
|
||||
if
|
||||
not pcall(
|
||||
function()
|
||||
colorizer = require("colorizer")
|
||||
end
|
||||
)
|
||||
then
|
||||
return
|
||||
end
|
||||
|
||||
colorizer.setup()
|
||||
vim.cmd("ColorizerReloadAllBuffers")
|
5
lua/plugins/comment.lua
Normal file
5
lua/plugins/comment.lua
Normal file
@ -0,0 +1,5 @@
|
||||
pcall(
|
||||
function()
|
||||
require("nvim_comment").setup()
|
||||
end
|
||||
)
|
@ -1,38 +1,31 @@
|
||||
local M = {}
|
||||
|
||||
M.config = function()
|
||||
require "compe".setup {
|
||||
enabled = true,
|
||||
autocomplete = true,
|
||||
debug = false,
|
||||
min_length = 1,
|
||||
preselect = "enable",
|
||||
throttle_time = 80,
|
||||
source_timeout = 200,
|
||||
incomplete_delay = 400,
|
||||
max_abbr_width = 100,
|
||||
max_kind_width = 100,
|
||||
max_menu_width = 100,
|
||||
documentation = true,
|
||||
source = {
|
||||
buffer = {kind = "", true},
|
||||
luasnip = {kind = "", true},
|
||||
nvim_lsp = true,
|
||||
nvim_lua = true
|
||||
}
|
||||
}
|
||||
end
|
||||
|
||||
M.snippets = function()
|
||||
local ls = require("luasnip")
|
||||
|
||||
ls.config.set_config(
|
||||
{
|
||||
history = true,
|
||||
updateevents = "TextChanged,TextChangedI"
|
||||
}
|
||||
local compe
|
||||
if
|
||||
not pcall(
|
||||
function()
|
||||
compe = require "compe"
|
||||
end
|
||||
)
|
||||
require("luasnip/loaders/from_vscode").load()
|
||||
then
|
||||
return
|
||||
end
|
||||
|
||||
return M
|
||||
compe.setup {
|
||||
enabled = true,
|
||||
autocomplete = true,
|
||||
debug = false,
|
||||
min_length = 1,
|
||||
preselect = "enable",
|
||||
throttle_time = 80,
|
||||
source_timeout = 200,
|
||||
incomplete_delay = 400,
|
||||
max_abbr_width = 100,
|
||||
max_kind_width = 100,
|
||||
max_menu_width = 100,
|
||||
documentation = true,
|
||||
source = {
|
||||
buffer = {kind = "", true},
|
||||
luasnip = {kind = "", true},
|
||||
nvim_lsp = true,
|
||||
nvim_lua = true
|
||||
}
|
||||
}
|
||||
|
@ -1,46 +1,40 @@
|
||||
local M = {}
|
||||
local g = vim.g
|
||||
local fn = vim.fn
|
||||
|
||||
M.config = function()
|
||||
local g = vim.g
|
||||
local fn = vim.fn
|
||||
local plugins_count = fn.len(fn.globpath("~/.local/share/nvim/site/pack/packer/start", "*", 0, 1))
|
||||
|
||||
local plugins_count = fn.len(fn.globpath("~/.local/share/nvim/site/pack/packer/start", "*", 0, 1))
|
||||
g.dashboard_disable_at_vimenter = 1 -- dashboard is disabled by default
|
||||
g.dashboard_disable_statusline = 1
|
||||
g.dashboard_default_executive = "telescope"
|
||||
g.dashboard_custom_header = {
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ⣴⣶⣤⡤⠦⣤⣀⣤⠆ ⣈⣭⣿⣶⣿⣦⣼⣆ ",
|
||||
" ⠉⠻⢿⣿⠿⣿⣿⣶⣦⠤⠄⡠⢾⣿⣿⡿⠋⠉⠉⠻⣿⣿⡛⣦ ",
|
||||
" ⠈⢿⣿⣟⠦ ⣾⣿⣿⣷ ⠻⠿⢿⣿⣧⣄ ",
|
||||
" ⣸⣿⣿⢧ ⢻⠻⣿⣿⣷⣄⣀⠄⠢⣀⡀⠈⠙⠿⠄ ",
|
||||
" ⢠⣿⣿⣿⠈ ⣻⣿⣿⣿⣿⣿⣿⣿⣛⣳⣤⣀⣀ ",
|
||||
" ⢠⣧⣶⣥⡤⢄ ⣸⣿⣿⠘ ⢀⣴⣿⣿⡿⠛⣿⣿⣧⠈⢿⠿⠟⠛⠻⠿⠄ ",
|
||||
" ⣰⣿⣿⠛⠻⣿⣿⡦⢹⣿⣷ ⢊⣿⣿⡏ ⢸⣿⣿⡇ ⢀⣠⣄⣾⠄ ",
|
||||
" ⣠⣿⠿⠛ ⢀⣿⣿⣷⠘⢿⣿⣦⡀ ⢸⢿⣿⣿⣄ ⣸⣿⣿⡇⣪⣿⡿⠿⣿⣷⡄ ",
|
||||
" ⠙⠃ ⣼⣿⡟ ⠈⠻⣿⣿⣦⣌⡇⠻⣿⣿⣷⣿⣿⣿ ⣿⣿⡇ ⠛⠻⢷⣄ ",
|
||||
" ⢻⣿⣿⣄ ⠈⠻⣿⣿⣿⣷⣿⣿⣿⣿⣿⡟ ⠫⢿⣿⡆ ",
|
||||
" ⠻⣿⣿⣿⣿⣶⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⡟⢀⣀⣤⣾⡿⠃ ",
|
||||
" "
|
||||
}
|
||||
|
||||
g.dashboard_disable_at_vimenter = 1 -- dashboard is disabled by default
|
||||
g.dashboard_disable_statusline = 1
|
||||
g.dashboard_default_executive = "telescope"
|
||||
g.dashboard_custom_header = {
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ⣴⣶⣤⡤⠦⣤⣀⣤⠆ ⣈⣭⣿⣶⣿⣦⣼⣆ ",
|
||||
" ⠉⠻⢿⣿⠿⣿⣿⣶⣦⠤⠄⡠⢾⣿⣿⡿⠋⠉⠉⠻⣿⣿⡛⣦ ",
|
||||
" ⠈⢿⣿⣟⠦ ⣾⣿⣿⣷ ⠻⠿⢿⣿⣧⣄ ",
|
||||
" ⣸⣿⣿⢧ ⢻⠻⣿⣿⣷⣄⣀⠄⠢⣀⡀⠈⠙⠿⠄ ",
|
||||
" ⢠⣿⣿⣿⠈ ⣻⣿⣿⣿⣿⣿⣿⣿⣛⣳⣤⣀⣀ ",
|
||||
" ⢠⣧⣶⣥⡤⢄ ⣸⣿⣿⠘ ⢀⣴⣿⣿⡿⠛⣿⣿⣧⠈⢿⠿⠟⠛⠻⠿⠄ ",
|
||||
" ⣰⣿⣿⠛⠻⣿⣿⡦⢹⣿⣷ ⢊⣿⣿⡏ ⢸⣿⣿⡇ ⢀⣠⣄⣾⠄ ",
|
||||
" ⣠⣿⠿⠛ ⢀⣿⣿⣷⠘⢿⣿⣦⡀ ⢸⢿⣿⣿⣄ ⣸⣿⣿⡇⣪⣿⡿⠿⣿⣷⡄ ",
|
||||
" ⠙⠃ ⣼⣿⡟ ⠈⠻⣿⣿⣦⣌⡇⠻⣿⣿⣷⣿⣿⣿ ⣿⣿⡇ ⠛⠻⢷⣄ ",
|
||||
" ⢻⣿⣿⣄ ⠈⠻⣿⣿⣿⣷⣿⣿⣿⣿⣿⡟ ⠫⢿⣿⡆ ",
|
||||
" ⠻⣿⣿⣿⣿⣶⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⡟⢀⣀⣤⣾⡿⠃ ",
|
||||
" "
|
||||
}
|
||||
g.dashboard_custom_section = {
|
||||
a = {description = {" Find File SPC f f"}, command = "Telescope find_files"},
|
||||
b = {description = {" Recents SPC f o"}, command = "Telescope oldfiles"},
|
||||
c = {description = {" Find Word SPC f w"}, command = "Telescope live_grep"},
|
||||
d = {description = {"洛 New File SPC f n"}, command = "DashboardNewFile"},
|
||||
e = {description = {" Bookmarks SPC b m"}, command = "Telescope marks"},
|
||||
f = {description = {" Load Last Session SPC s l"}, command = "SessionLoad"}
|
||||
}
|
||||
|
||||
g.dashboard_custom_section = {
|
||||
a = {description = {" Find File SPC f f"}, command = "Telescope find_files"},
|
||||
b = {description = {" Recents SPC f o"}, command = "Telescope oldfiles"},
|
||||
c = {description = {" Find Word SPC f w"}, command = "Telescope live_grep"},
|
||||
d = {description = {"洛 New File SPC f n"}, command = "DashboardNewFile"},
|
||||
e = {description = {" Bookmarks SPC b m"}, command = "Telescope marks"},
|
||||
f = {description = {" Load Last Session SPC s l"}, command = "SessionLoad"}
|
||||
}
|
||||
|
||||
g.dashboard_custom_footer = {
|
||||
" ",
|
||||
-- "NvChad Loaded " .. plugins_count .. " plugins",
|
||||
"NvChad v0.5"
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
g.dashboard_custom_footer = {
|
||||
" ",
|
||||
-- "NvChad Loaded " .. plugins_count .. " plugins",
|
||||
"NvChad v0.5"
|
||||
}
|
||||
|
@ -1,33 +1,38 @@
|
||||
local M = {}
|
||||
|
||||
M.config = function()
|
||||
require("gitsigns").setup {
|
||||
signs = {
|
||||
add = {hl = "DiffAdd", text = "│", numhl = "GitSignsAddNr"},
|
||||
change = {hl = "DiffChange", text = "│", numhl = "GitSignsChangeNr"},
|
||||
delete = {hl = "DiffDelete", text = "_", numhl = "GitSignsDeleteNr"},
|
||||
topdelete = {hl = "DiffDelete", text = "‾", numhl = "GitSignsDeleteNr"},
|
||||
changedelete = {hl = "DiffChange", text = "~", numhl = "GitSignsChangeNr"}
|
||||
},
|
||||
numhl = false,
|
||||
keymaps = {
|
||||
-- Default keymap options
|
||||
noremap = true,
|
||||
buffer = true,
|
||||
["n ]c"] = {expr = true, '&diff ? \']c\' : \'<cmd>lua require"gitsigns".next_hunk()<CR>\''},
|
||||
["n [c"] = {expr = true, '&diff ? \'[c\' : \'<cmd>lua require"gitsigns".prev_hunk()<CR>\''},
|
||||
["n <leader>hs"] = '<cmd>lua require"gitsigns".stage_hunk()<CR>',
|
||||
["n <leader>hu"] = '<cmd>lua require"gitsigns".undo_stage_hunk()<CR>',
|
||||
["n <leader>hr"] = '<cmd>lua require"gitsigns".reset_hunk()<CR>',
|
||||
["n <leader>hp"] = '<cmd>lua require"gitsigns".preview_hunk()<CR>',
|
||||
["n <leader>hb"] = '<cmd>lua require"gitsigns".blame_line()<CR>'
|
||||
},
|
||||
watch_index = {
|
||||
interval = 100
|
||||
},
|
||||
sign_priority = 5,
|
||||
status_formatter = nil -- Use default
|
||||
}
|
||||
local gitsigns
|
||||
if
|
||||
not pcall(
|
||||
function()
|
||||
gitsigns = require "gitsigns"
|
||||
end
|
||||
)
|
||||
then
|
||||
return
|
||||
end
|
||||
|
||||
return M
|
||||
gitsigns.setup {
|
||||
signs = {
|
||||
add = {hl = "DiffAdd", text = "│", numhl = "GitSignsAddNr"},
|
||||
change = {hl = "DiffChange", text = "│", numhl = "GitSignsChangeNr"},
|
||||
delete = {hl = "DiffDelete", text = "_", numhl = "GitSignsDeleteNr"},
|
||||
topdelete = {hl = "DiffDelete", text = "‾", numhl = "GitSignsDeleteNr"},
|
||||
changedelete = {hl = "DiffChange", text = "~", numhl = "GitSignsChangeNr"}
|
||||
},
|
||||
numhl = false,
|
||||
keymaps = {
|
||||
-- Default keymap options
|
||||
noremap = true,
|
||||
buffer = true,
|
||||
["n ]c"] = {expr = true, '&diff ? \']c\' : \'<cmd>lua require"gitsigns".next_hunk()<CR>\''},
|
||||
["n [c"] = {expr = true, '&diff ? \'[c\' : \'<cmd>lua require"gitsigns".prev_hunk()<CR>\''},
|
||||
["n <leader>hs"] = '<cmd>lua require"gitsigns".stage_hunk()<CR>',
|
||||
["n <leader>hu"] = '<cmd>lua require"gitsigns".undo_stage_hunk()<CR>',
|
||||
["n <leader>hr"] = '<cmd>lua require"gitsigns".reset_hunk()<CR>',
|
||||
["n <leader>hp"] = '<cmd>lua require"gitsigns".preview_hunk()<CR>',
|
||||
["n <leader>hb"] = '<cmd>lua require"gitsigns".blame_line()<CR>'
|
||||
},
|
||||
watch_index = {
|
||||
interval = 100
|
||||
},
|
||||
sign_priority = 5,
|
||||
status_formatter = nil -- Use default
|
||||
}
|
||||
|
@ -1,123 +1,128 @@
|
||||
local M = {}
|
||||
|
||||
M.config = function()
|
||||
local global_theme = "themes/" .. vim.g.nvchad_theme
|
||||
local colors = require(global_theme)
|
||||
|
||||
require "nvim-web-devicons".setup {
|
||||
override = {
|
||||
html = {
|
||||
icon = "",
|
||||
color = colors.baby_pink,
|
||||
name = "html"
|
||||
},
|
||||
css = {
|
||||
icon = "",
|
||||
color = colors.blue,
|
||||
name = "css"
|
||||
},
|
||||
js = {
|
||||
icon = "",
|
||||
color = colors.sun,
|
||||
name = "js"
|
||||
},
|
||||
ts = {
|
||||
icon = "ﯤ",
|
||||
color = colors.teal,
|
||||
name = "ts"
|
||||
},
|
||||
kt = {
|
||||
icon = "",
|
||||
color = colors.orange,
|
||||
name = "kt"
|
||||
},
|
||||
png = {
|
||||
icon = "",
|
||||
color = colors.dark_purple,
|
||||
name = "png"
|
||||
},
|
||||
jpg = {
|
||||
icon = "",
|
||||
color = colors.dark_purple,
|
||||
name = "jpg"
|
||||
},
|
||||
jpeg = {
|
||||
icon = "",
|
||||
color = colors.dark_purple,
|
||||
name = "jpeg"
|
||||
},
|
||||
mp3 = {
|
||||
icon = "",
|
||||
color = colors.white,
|
||||
name = "mp3"
|
||||
},
|
||||
mp4 = {
|
||||
icon = "",
|
||||
color = colors.white,
|
||||
name = "mp4"
|
||||
},
|
||||
out = {
|
||||
icon = "",
|
||||
color = colors.white,
|
||||
name = "out"
|
||||
},
|
||||
Dockerfile = {
|
||||
icon = "",
|
||||
color = colors.cyan,
|
||||
name = "Dockerfile"
|
||||
},
|
||||
rb = {
|
||||
icon = "",
|
||||
color = colors.pink,
|
||||
name = "rb"
|
||||
},
|
||||
vue = {
|
||||
icon = "﵂",
|
||||
color = colors.vibrant_green,
|
||||
name = "vue"
|
||||
},
|
||||
py = {
|
||||
icon = "",
|
||||
color = colors.cyan,
|
||||
name = "py"
|
||||
},
|
||||
toml = {
|
||||
icon = "",
|
||||
color = colors.blue,
|
||||
name = "toml"
|
||||
},
|
||||
lock = {
|
||||
icon = "",
|
||||
color = colors.red,
|
||||
name = "lock"
|
||||
},
|
||||
zip = {
|
||||
icon = "",
|
||||
color = colors.sun,
|
||||
name = "zip"
|
||||
},
|
||||
xz = {
|
||||
icon = "",
|
||||
color = colors.sun,
|
||||
name = "xz"
|
||||
},
|
||||
deb = {
|
||||
icon = "",
|
||||
color = colors.cyan,
|
||||
name = "deb"
|
||||
},
|
||||
rpm = {
|
||||
icon = "",
|
||||
color = colors.orange,
|
||||
name = "rpm"
|
||||
},
|
||||
lua = {
|
||||
icon = "",
|
||||
color = colors.blue,
|
||||
name = "lua"
|
||||
}
|
||||
}
|
||||
}
|
||||
local icons
|
||||
if
|
||||
not pcall(
|
||||
function()
|
||||
icons = require "nvim-web-devicons"
|
||||
end
|
||||
)
|
||||
then
|
||||
return
|
||||
end
|
||||
|
||||
return M
|
||||
local global_theme = "themes/" .. vim.g.nvchad_theme
|
||||
local colors = require(global_theme)
|
||||
|
||||
icons.setup {
|
||||
override = {
|
||||
html = {
|
||||
icon = "",
|
||||
color = colors.baby_pink,
|
||||
name = "html"
|
||||
},
|
||||
css = {
|
||||
icon = "",
|
||||
color = colors.blue,
|
||||
name = "css"
|
||||
},
|
||||
js = {
|
||||
icon = "",
|
||||
color = colors.sun,
|
||||
name = "js"
|
||||
},
|
||||
ts = {
|
||||
icon = "ﯤ",
|
||||
color = colors.teal,
|
||||
name = "ts"
|
||||
},
|
||||
kt = {
|
||||
icon = "",
|
||||
color = colors.orange,
|
||||
name = "kt"
|
||||
},
|
||||
png = {
|
||||
icon = "",
|
||||
color = colors.dark_purple,
|
||||
name = "png"
|
||||
},
|
||||
jpg = {
|
||||
icon = "",
|
||||
color = colors.dark_purple,
|
||||
name = "jpg"
|
||||
},
|
||||
jpeg = {
|
||||
icon = "",
|
||||
color = colors.dark_purple,
|
||||
name = "jpeg"
|
||||
},
|
||||
mp3 = {
|
||||
icon = "",
|
||||
color = colors.white,
|
||||
name = "mp3"
|
||||
},
|
||||
mp4 = {
|
||||
icon = "",
|
||||
color = colors.white,
|
||||
name = "mp4"
|
||||
},
|
||||
out = {
|
||||
icon = "",
|
||||
color = colors.white,
|
||||
name = "out"
|
||||
},
|
||||
Dockerfile = {
|
||||
icon = "",
|
||||
color = colors.cyan,
|
||||
name = "Dockerfile"
|
||||
},
|
||||
rb = {
|
||||
icon = "",
|
||||
color = colors.pink,
|
||||
name = "rb"
|
||||
},
|
||||
vue = {
|
||||
icon = "﵂",
|
||||
color = colors.vibrant_green,
|
||||
name = "vue"
|
||||
},
|
||||
py = {
|
||||
icon = "",
|
||||
color = colors.cyan,
|
||||
name = "py"
|
||||
},
|
||||
toml = {
|
||||
icon = "",
|
||||
color = colors.blue,
|
||||
name = "toml"
|
||||
},
|
||||
lock = {
|
||||
icon = "",
|
||||
color = colors.red,
|
||||
name = "lock"
|
||||
},
|
||||
zip = {
|
||||
icon = "",
|
||||
color = colors.sun,
|
||||
name = "zip"
|
||||
},
|
||||
xz = {
|
||||
icon = "",
|
||||
color = colors.sun,
|
||||
name = "xz"
|
||||
},
|
||||
deb = {
|
||||
icon = "",
|
||||
color = colors.cyan,
|
||||
name = "deb"
|
||||
},
|
||||
rpm = {
|
||||
icon = "",
|
||||
color = colors.orange,
|
||||
name = "rpm"
|
||||
},
|
||||
lua = {
|
||||
icon = "",
|
||||
color = colors.blue,
|
||||
name = "lua"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,98 +1,102 @@
|
||||
local M = {}
|
||||
|
||||
M.config = function()
|
||||
local lspconf = require("lspconfig")
|
||||
|
||||
local function on_attach(client, bufnr)
|
||||
vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc")
|
||||
|
||||
local opts = {noremap = true, silent = true}
|
||||
|
||||
local function buf_set_keymap(...)
|
||||
vim.api.nvim_buf_set_keymap(bufnr, ...)
|
||||
local lspconfig, lspinstall
|
||||
if
|
||||
not pcall(
|
||||
function()
|
||||
lspconfig = require "lspconfig"
|
||||
lspinstall = require "lspinstall"
|
||||
end
|
||||
)
|
||||
then
|
||||
return
|
||||
end
|
||||
|
||||
-- Mappings.
|
||||
local function on_attach(client, bufnr)
|
||||
vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc")
|
||||
|
||||
buf_set_keymap("n", "gD", "<Cmd>lua vim.lsp.buf.declaration()<CR>", opts)
|
||||
buf_set_keymap("n", "gd", "<Cmd>lua vim.lsp.buf.definition()<CR>", opts)
|
||||
buf_set_keymap("n", "K", "<Cmd>lua vim.lsp.buf.hover()<CR>", opts)
|
||||
buf_set_keymap("n", "gi", "<cmd>lua vim.lsp.buf.implementation()<CR>", opts)
|
||||
buf_set_keymap("n", "<C-k>", "<cmd>lua vim.lsp.buf.signature_help()<CR>", opts)
|
||||
buf_set_keymap("n", "<space>wa", "<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>", opts)
|
||||
buf_set_keymap("n", "<space>wr", "<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>", opts)
|
||||
buf_set_keymap("n", "<space>wl", "<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>", opts)
|
||||
buf_set_keymap("n", "<space>D", "<cmd>lua vim.lsp.buf.type_definition()<CR>", opts)
|
||||
buf_set_keymap("n", "<space>rn", "<cmd>lua vim.lsp.buf.rename()<CR>", opts)
|
||||
buf_set_keymap("n", "gr", "<cmd>lua vim.lsp.buf.references()<CR>", opts)
|
||||
buf_set_keymap("n", "<space>e", "<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>", opts)
|
||||
buf_set_keymap("n", "[d", "<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>", opts)
|
||||
buf_set_keymap("n", "]d", "<cmd>lua vim.lsp.diagnostic.goto_next()<CR>", opts)
|
||||
buf_set_keymap("n", "<space>q", "<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>", opts)
|
||||
local opts = {noremap = true, silent = true}
|
||||
|
||||
-- Set some keybinds conditional on server capabilities
|
||||
if client.resolved_capabilities.document_formatting then
|
||||
buf_set_keymap("n", "<space>f", "<cmd>lua vim.lsp.buf.formatting()<CR>", opts)
|
||||
elseif client.resolved_capabilities.document_range_formatting then
|
||||
buf_set_keymap("n", "<space>f", "<cmd>lua vim.lsp.buf.range_formatting()<CR>", opts)
|
||||
end
|
||||
local function buf_set_keymap(...)
|
||||
vim.api.nvim_buf_set_keymap(bufnr, ...)
|
||||
end
|
||||
|
||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||
capabilities.textDocument.completion.completionItem.snippetSupport = true
|
||||
-- Mappings.
|
||||
|
||||
-- lspInstall + lspconfig stuff
|
||||
buf_set_keymap("n", "gD", "<Cmd>lua vim.lsp.buf.declaration()<CR>", opts)
|
||||
buf_set_keymap("n", "gd", "<Cmd>lua vim.lsp.buf.definition()<CR>", opts)
|
||||
buf_set_keymap("n", "K", "<Cmd>lua vim.lsp.buf.hover()<CR>", opts)
|
||||
buf_set_keymap("n", "gi", "<cmd>lua vim.lsp.buf.implementation()<CR>", opts)
|
||||
buf_set_keymap("n", "<C-k>", "<cmd>lua vim.lsp.buf.signature_help()<CR>", opts)
|
||||
buf_set_keymap("n", "<space>wa", "<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>", opts)
|
||||
buf_set_keymap("n", "<space>wr", "<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>", opts)
|
||||
buf_set_keymap("n", "<space>wl", "<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>", opts)
|
||||
buf_set_keymap("n", "<space>D", "<cmd>lua vim.lsp.buf.type_definition()<CR>", opts)
|
||||
buf_set_keymap("n", "<space>rn", "<cmd>lua vim.lsp.buf.rename()<CR>", opts)
|
||||
buf_set_keymap("n", "gr", "<cmd>lua vim.lsp.buf.references()<CR>", opts)
|
||||
buf_set_keymap("n", "<space>e", "<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>", opts)
|
||||
buf_set_keymap("n", "[d", "<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>", opts)
|
||||
buf_set_keymap("n", "]d", "<cmd>lua vim.lsp.diagnostic.goto_next()<CR>", opts)
|
||||
buf_set_keymap("n", "<space>q", "<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>", opts)
|
||||
|
||||
local function setup_servers()
|
||||
require "lspinstall".setup()
|
||||
local servers = require "lspinstall".installed_servers()
|
||||
-- Set some keybinds conditional on server capabilities
|
||||
if client.resolved_capabilities.document_formatting then
|
||||
buf_set_keymap("n", "<space>f", "<cmd>lua vim.lsp.buf.formatting()<CR>", opts)
|
||||
elseif client.resolved_capabilities.document_range_formatting then
|
||||
buf_set_keymap("n", "<space>f", "<cmd>lua vim.lsp.buf.range_formatting()<CR>", opts)
|
||||
end
|
||||
end
|
||||
|
||||
for _, lang in pairs(servers) do
|
||||
if lang ~= "lua" then
|
||||
lspconf[lang].setup {
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
root_dir = vim.loop.cwd
|
||||
}
|
||||
elseif lang == "lua" then
|
||||
lspconf[lang].setup {
|
||||
root_dir = vim.loop.cwd,
|
||||
settings = {
|
||||
Lua = {
|
||||
diagnostics = {
|
||||
globals = {"vim"}
|
||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||
capabilities.textDocument.completion.completionItem.snippetSupport = true
|
||||
|
||||
-- lspInstall + lspconfig stuff
|
||||
|
||||
local function setup_servers()
|
||||
lspinstall.setup()
|
||||
local servers = lspinstall.installed_servers()
|
||||
|
||||
for _, lang in pairs(servers) do
|
||||
if lang ~= "lua" then
|
||||
lspconfig[lang].setup {
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
root_dir = vim.loop.cwd
|
||||
}
|
||||
elseif lang == "lua" then
|
||||
lspconfig[lang].setup {
|
||||
root_dir = vim.loop.cwd,
|
||||
settings = {
|
||||
Lua = {
|
||||
diagnostics = {
|
||||
globals = {"vim"}
|
||||
},
|
||||
workspace = {
|
||||
library = {
|
||||
[vim.fn.expand("$VIMRUNTIME/lua")] = true,
|
||||
[vim.fn.expand("$VIMRUNTIME/lua/vim/lsp")] = true
|
||||
},
|
||||
workspace = {
|
||||
library = {
|
||||
[vim.fn.expand("$VIMRUNTIME/lua")] = true,
|
||||
[vim.fn.expand("$VIMRUNTIME/lua/vim/lsp")] = true
|
||||
},
|
||||
maxPreload = 100000,
|
||||
preloadFileSize = 10000
|
||||
},
|
||||
telemetry = {
|
||||
enable = false
|
||||
}
|
||||
maxPreload = 100000,
|
||||
preloadFileSize = 10000
|
||||
},
|
||||
telemetry = {
|
||||
enable = false
|
||||
}
|
||||
}
|
||||
}
|
||||
end
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
setup_servers()
|
||||
|
||||
-- Automatically reload after `:LspInstall <server>` so we don't have to restart neovim
|
||||
require "lspinstall".post_install_hook = function()
|
||||
setup_servers() -- reload installed servers
|
||||
vim.cmd("bufdo e") -- triggers FileType autocmd that starts the server
|
||||
end
|
||||
|
||||
-- replace the default lsp diagnostic letters with prettier symbols
|
||||
vim.fn.sign_define("LspDiagnosticsSignError", {text = "", numhl = "LspDiagnosticsDefaultError"})
|
||||
vim.fn.sign_define("LspDiagnosticsSignWarning", {text = "", numhl = "LspDiagnosticsDefaultWarning"})
|
||||
vim.fn.sign_define("LspDiagnosticsSignInformation", {text = "", numhl = "LspDiagnosticsDefaultInformation"})
|
||||
vim.fn.sign_define("LspDiagnosticsSignHint", {text = "", numhl = "LspDiagnosticsDefaultHint"})
|
||||
end
|
||||
|
||||
return M
|
||||
setup_servers()
|
||||
|
||||
-- Automatically reload after `:LspInstall <server>` so we don't have to restart neovim
|
||||
lspinstall.post_install_hook = function()
|
||||
setup_servers() -- reload installed servers
|
||||
vim.cmd("bufdo e") -- triggers FileType autocmd that starts the server
|
||||
end
|
||||
|
||||
-- replace the default lsp diagnostic letters with prettier symbols
|
||||
vim.fn.sign_define("LspDiagnosticsSignError", {text = "", numhl = "LspDiagnosticsDefaultError"})
|
||||
vim.fn.sign_define("LspDiagnosticsSignWarning", {text = "", numhl = "LspDiagnosticsDefaultWarning"})
|
||||
vim.fn.sign_define("LspDiagnosticsSignInformation", {text = "", numhl = "LspDiagnosticsDefaultInformation"})
|
||||
vim.fn.sign_define("LspDiagnosticsSignHint", {text = "", numhl = "LspDiagnosticsDefaultHint"})
|
||||
|
5
lua/plugins/lspkind.lua
Normal file
5
lua/plugins/lspkind.lua
Normal file
@ -0,0 +1,5 @@
|
||||
pcall(
|
||||
function()
|
||||
require("lspkind").init()
|
||||
end
|
||||
)
|
18
lua/plugins/luasnip.lua
Normal file
18
lua/plugins/luasnip.lua
Normal file
@ -0,0 +1,18 @@
|
||||
local luasnip
|
||||
if
|
||||
not pcall(
|
||||
function()
|
||||
luasnip = require "luasnip"
|
||||
end
|
||||
)
|
||||
then
|
||||
return
|
||||
end
|
||||
|
||||
luasnip.config.set_config(
|
||||
{
|
||||
history = true,
|
||||
updateevents = "TextChanged,TextChangedI"
|
||||
}
|
||||
)
|
||||
require("luasnip/loaders/from_vscode").load()
|
5
lua/plugins/neoscroll.lua
Normal file
5
lua/plugins/neoscroll.lua
Normal file
@ -0,0 +1,5 @@
|
||||
pcall(
|
||||
function()
|
||||
require("neoscroll").setup()
|
||||
end
|
||||
)
|
@ -1,97 +1,100 @@
|
||||
local M = {}
|
||||
|
||||
M.config = function()
|
||||
local g = vim.g
|
||||
|
||||
vim.o.termguicolors = true
|
||||
|
||||
g.nvim_tree_side = "left"
|
||||
g.nvim_tree_width = 25
|
||||
g.nvim_tree_ignore = {".git", "node_modules", ".cache"}
|
||||
g.nvim_tree_gitignore = 1
|
||||
g.nvim_tree_auto_ignore_ft = {"dashboard"} -- don't open tree on specific fiypes.
|
||||
g.nvim_tree_auto_open = 0
|
||||
g.nvim_tree_auto_close = 0 -- closes tree when it's the last window
|
||||
g.nvim_tree_quit_on_open = 0 -- closes tree when file's opened
|
||||
g.nvim_tree_follow = 1
|
||||
g.nvim_tree_indent_markers = 1
|
||||
g.nvim_tree_hide_dotfiles = 1
|
||||
g.nvim_tree_git_hl = 1
|
||||
g.nvim_tree_highlight_opened_files = 0
|
||||
g.nvim_tree_root_folder_modifier = ":t"
|
||||
g.nvim_tree_tab_open = 0
|
||||
g.nvim_tree_allow_resize = 1
|
||||
g.nvim_tree_add_trailing = 0 -- append a trailing slash to folder names
|
||||
g.nvim_tree_disable_netrw = 1
|
||||
g.nvim_tree_hijack_netrw = 0
|
||||
g.nvim_tree_update_cwd = 1
|
||||
|
||||
g.nvim_tree_show_icons = {
|
||||
git = 1,
|
||||
folders = 1,
|
||||
files = 1
|
||||
-- folder_arrows= 1
|
||||
}
|
||||
g.nvim_tree_icons = {
|
||||
default = "",
|
||||
symlink = "",
|
||||
git = {
|
||||
unstaged = "✗",
|
||||
staged = "✓",
|
||||
unmerged = "",
|
||||
renamed = "➜",
|
||||
untracked = "★",
|
||||
deleted = "",
|
||||
ignored = "◌"
|
||||
},
|
||||
folder = {
|
||||
-- disable indent_markers option to get arrows working or if you want both arrows and indent then just add the arrow icons in front ofthe default and opened folders below!
|
||||
-- arrow_open = "",
|
||||
-- arrow_closed = "",
|
||||
default = "",
|
||||
open = "",
|
||||
empty = "", --
|
||||
empty_open = "",
|
||||
symlink = "",
|
||||
symlink_open = ""
|
||||
}
|
||||
}
|
||||
|
||||
local tree_cb = require "nvim-tree.config".nvim_tree_callback
|
||||
|
||||
g.nvim_tree_bindings = {
|
||||
{key = {"<CR>", "o", "<2-LeftMouse>"}, cb = tree_cb("edit")},
|
||||
{key = {"<2-RightMouse>", "<C-}>"}, cb = tree_cb("cd")},
|
||||
{key = "<C-v>", cb = tree_cb("vsplit")},
|
||||
{key = "<C-x>", cb = tree_cb("split")},
|
||||
{key = "<C-t>", cb = tree_cb("tabnew")},
|
||||
{key = "<", cb = tree_cb("prev_sibling")},
|
||||
{key = ">", cb = tree_cb("next_sibling")},
|
||||
{key = "P", cb = tree_cb("parent_node")},
|
||||
{key = "<BS>", cb = tree_cb("close_node")},
|
||||
{key = "<S-CR>", cb = tree_cb("close_node")},
|
||||
{key = "<Tab>", cb = tree_cb("preview")},
|
||||
{key = "K", cb = tree_cb("first_sibling")},
|
||||
{key = "J", cb = tree_cb("last_sibling")},
|
||||
{key = "I", cb = tree_cb("toggle_ignored")},
|
||||
{key = "H", cb = tree_cb("toggle_dotfiles")},
|
||||
{key = "R", cb = tree_cb("refresh")},
|
||||
{key = "a", cb = tree_cb("create")},
|
||||
{key = "d", cb = tree_cb("remove")},
|
||||
{key = "r", cb = tree_cb("rename")},
|
||||
{key = "<C->", cb = tree_cb("full_rename")},
|
||||
{key = "x", cb = tree_cb("cut")},
|
||||
{key = "c", cb = tree_cb("copy")},
|
||||
{key = "p", cb = tree_cb("paste")},
|
||||
{key = "y", cb = tree_cb("copy_name")},
|
||||
{key = "Y", cb = tree_cb("copy_path")},
|
||||
{key = "gy", cb = tree_cb("copy_absolute_path")},
|
||||
{key = "[c", cb = tree_cb("prev_git_item")},
|
||||
{key = "}c", cb = tree_cb("next_git_item")},
|
||||
{key = "-", cb = tree_cb("dir_up")},
|
||||
{key = "q", cb = tree_cb("close")},
|
||||
{key = "g?", cb = tree_cb("toggle_help")}
|
||||
}
|
||||
local tree_cb
|
||||
if
|
||||
not pcall(
|
||||
function()
|
||||
tree_cb = require "nvim-tree.config".nvim_tree_callback
|
||||
end
|
||||
)
|
||||
then
|
||||
return
|
||||
end
|
||||
|
||||
return M
|
||||
local g = vim.g
|
||||
|
||||
vim.o.termguicolors = true
|
||||
|
||||
g.nvim_tree_side = "left"
|
||||
g.nvim_tree_width = 25
|
||||
g.nvim_tree_ignore = {".git", "node_modules", ".cache"}
|
||||
g.nvim_tree_gitignore = 1
|
||||
g.nvim_tree_auto_ignore_ft = {"dashboard"} -- don't open tree on specific fiypes.
|
||||
g.nvim_tree_auto_open = 0
|
||||
g.nvim_tree_auto_close = 0 -- closes tree when it's the last window
|
||||
g.nvim_tree_quit_on_open = 0 -- closes tree when file's opened
|
||||
g.nvim_tree_follow = 1
|
||||
g.nvim_tree_indent_markers = 1
|
||||
g.nvim_tree_hide_dotfiles = 1
|
||||
g.nvim_tree_git_hl = 1
|
||||
g.nvim_tree_highlight_opened_files = 0
|
||||
g.nvim_tree_root_folder_modifier = ":t"
|
||||
g.nvim_tree_tab_open = 0
|
||||
g.nvim_tree_allow_resize = 1
|
||||
g.nvim_tree_add_trailing = 0 -- append a trailing slash to folder names
|
||||
g.nvim_tree_disable_netrw = 1
|
||||
g.nvim_tree_hijack_netrw = 0
|
||||
g.nvim_tree_update_cwd = 1
|
||||
|
||||
g.nvim_tree_show_icons = {
|
||||
git = 1,
|
||||
folders = 1,
|
||||
files = 1
|
||||
-- folder_arrows= 1
|
||||
}
|
||||
g.nvim_tree_icons = {
|
||||
default = "",
|
||||
symlink = "",
|
||||
git = {
|
||||
unstaged = "✗",
|
||||
staged = "✓",
|
||||
unmerged = "",
|
||||
renamed = "➜",
|
||||
untracked = "★",
|
||||
deleted = "",
|
||||
ignored = "◌"
|
||||
},
|
||||
folder = {
|
||||
-- disable indent_markers option to get arrows working or if you want both arrows and indent then just add the arrow icons in front ofthe default and opened folders below!
|
||||
-- arrow_open = "",
|
||||
-- arrow_closed = "",
|
||||
default = "",
|
||||
open = "",
|
||||
empty = "", --
|
||||
empty_open = "",
|
||||
symlink = "",
|
||||
symlink_open = ""
|
||||
}
|
||||
}
|
||||
|
||||
g.nvim_tree_bindings = {
|
||||
{key = {"<CR>", "o", "<2-LeftMouse>"}, cb = tree_cb("edit")},
|
||||
{key = {"<2-RightMouse>", "<C-}>"}, cb = tree_cb("cd")},
|
||||
{key = "<C-v>", cb = tree_cb("vsplit")},
|
||||
{key = "<C-x>", cb = tree_cb("split")},
|
||||
{key = "<C-t>", cb = tree_cb("tabnew")},
|
||||
{key = "<", cb = tree_cb("prev_sibling")},
|
||||
{key = ">", cb = tree_cb("next_sibling")},
|
||||
{key = "P", cb = tree_cb("parent_node")},
|
||||
{key = "<BS>", cb = tree_cb("close_node")},
|
||||
{key = "<S-CR>", cb = tree_cb("close_node")},
|
||||
{key = "<Tab>", cb = tree_cb("preview")},
|
||||
{key = "K", cb = tree_cb("first_sibling")},
|
||||
{key = "J", cb = tree_cb("last_sibling")},
|
||||
{key = "I", cb = tree_cb("toggle_ignored")},
|
||||
{key = "H", cb = tree_cb("toggle_dotfiles")},
|
||||
{key = "R", cb = tree_cb("refresh")},
|
||||
{key = "a", cb = tree_cb("create")},
|
||||
{key = "d", cb = tree_cb("remove")},
|
||||
{key = "r", cb = tree_cb("rename")},
|
||||
{key = "<C->", cb = tree_cb("full_rename")},
|
||||
{key = "x", cb = tree_cb("cut")},
|
||||
{key = "c", cb = tree_cb("copy")},
|
||||
{key = "p", cb = tree_cb("paste")},
|
||||
{key = "y", cb = tree_cb("copy_name")},
|
||||
{key = "Y", cb = tree_cb("copy_path")},
|
||||
{key = "gy", cb = tree_cb("copy_absolute_path")},
|
||||
{key = "[c", cb = tree_cb("prev_git_item")},
|
||||
{key = "}c", cb = tree_cb("next_git_item")},
|
||||
{key = "-", cb = tree_cb("dir_up")},
|
||||
{key = "q", cb = tree_cb("close")},
|
||||
{key = "g?", cb = tree_cb("toggle_help")}
|
||||
}
|
||||
|
@ -1,212 +1,217 @@
|
||||
local M = {}
|
||||
|
||||
M.config = function()
|
||||
local gl = require("galaxyline")
|
||||
local gls = gl.section
|
||||
local condition = require("galaxyline.condition")
|
||||
|
||||
gl.short_line_list = {" "}
|
||||
|
||||
local global_theme = "themes/" .. vim.g.nvchad_theme
|
||||
local colors = require(global_theme)
|
||||
|
||||
gls.left[1] = {
|
||||
FirstElement = {
|
||||
provider = function()
|
||||
return "▋"
|
||||
end,
|
||||
highlight = {colors.nord_blue, colors.nord_blue}
|
||||
}
|
||||
}
|
||||
|
||||
gls.left[2] = {
|
||||
statusIcon = {
|
||||
provider = function()
|
||||
return " "
|
||||
end,
|
||||
highlight = {colors.statusline_bg, colors.nord_blue},
|
||||
separator = " ",
|
||||
separator_highlight = {colors.nord_blue, colors.lightbg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.left[3] = {
|
||||
FileIcon = {
|
||||
provider = "FileIcon",
|
||||
condition = condition.buffer_not_empty,
|
||||
highlight = {colors.white, colors.lightbg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.left[4] = {
|
||||
FileName = {
|
||||
provider = {"FileName"},
|
||||
condition = condition.buffer_not_empty,
|
||||
highlight = {colors.white, colors.lightbg},
|
||||
separator = " ",
|
||||
separator_highlight = {colors.lightbg, colors.lightbg2}
|
||||
}
|
||||
}
|
||||
|
||||
gls.left[5] = {
|
||||
current_dir = {
|
||||
provider = function()
|
||||
local dir_name = vim.fn.fnamemodify(vim.fn.getcwd(), ":t")
|
||||
return " " .. dir_name .. " "
|
||||
end,
|
||||
highlight = {colors.grey_fg2, colors.lightbg2},
|
||||
separator = " ",
|
||||
separator_highlight = {colors.lightbg2, colors.statusline_bg}
|
||||
}
|
||||
}
|
||||
|
||||
local checkwidth = function()
|
||||
local squeeze_width = vim.fn.winwidth(0) / 2
|
||||
if squeeze_width > 30 then
|
||||
return true
|
||||
local gl, condition
|
||||
if
|
||||
not pcall(
|
||||
function()
|
||||
gl = require "galaxyline"
|
||||
condition = require "galaxyline.condition"
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
gls.left[6] = {
|
||||
DiffAdd = {
|
||||
provider = "DiffAdd",
|
||||
condition = checkwidth,
|
||||
icon = " ",
|
||||
highlight = {colors.white, colors.statusline_bg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.left[7] = {
|
||||
DiffModified = {
|
||||
provider = "DiffModified",
|
||||
condition = checkwidth,
|
||||
icon = " ",
|
||||
highlight = {colors.grey_fg2, colors.statusline_bg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.left[8] = {
|
||||
DiffRemove = {
|
||||
provider = "DiffRemove",
|
||||
condition = checkwidth,
|
||||
icon = " ",
|
||||
highlight = {colors.grey_fg2, colors.statusline_bg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.left[9] = {
|
||||
DiagnosticError = {
|
||||
provider = "DiagnosticError",
|
||||
icon = " ",
|
||||
highlight = {colors.red, colors.statusline_bg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.left[10] = {
|
||||
DiagnosticWarn = {
|
||||
provider = "DiagnosticWarn",
|
||||
icon = " ",
|
||||
highlight = {colors.yellow, colors.statusline_bg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.right[1] = {
|
||||
lsp_status = {
|
||||
provider = function()
|
||||
local clients = vim.lsp.get_active_clients()
|
||||
if next(clients) ~= nil then
|
||||
return " " .. " " .. " LSP "
|
||||
else
|
||||
return ""
|
||||
end
|
||||
end,
|
||||
highlight = {colors.grey_fg2, colors.statusline_bg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.right[2] = {
|
||||
GitIcon = {
|
||||
provider = function()
|
||||
return " "
|
||||
end,
|
||||
condition = require("galaxyline.condition").check_git_workspace,
|
||||
highlight = {colors.grey_fg2, colors.statusline_bg},
|
||||
separator = " ",
|
||||
separator_highlight = {colors.statusline_bg, colors.statusline_bg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.right[3] = {
|
||||
GitBranch = {
|
||||
provider = "GitBranch",
|
||||
condition = require("galaxyline.condition").check_git_workspace,
|
||||
highlight = {colors.grey_fg2, colors.statusline_bg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.right[4] = {
|
||||
viMode_icon = {
|
||||
provider = function()
|
||||
return " "
|
||||
end,
|
||||
highlight = {colors.statusline_bg, colors.red},
|
||||
separator = " ",
|
||||
separator_highlight = {colors.red, colors.statusline_bg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.right[5] = {
|
||||
ViMode = {
|
||||
provider = function()
|
||||
local alias = {
|
||||
n = "Normal",
|
||||
i = "Insert",
|
||||
c = "Command",
|
||||
V = "Visual",
|
||||
[""] = "Visual",
|
||||
v = "Visual",
|
||||
R = "Replace"
|
||||
}
|
||||
local current_Mode = alias[vim.fn.mode()]
|
||||
|
||||
if current_Mode == nil then
|
||||
return " Terminal "
|
||||
else
|
||||
return " " .. current_Mode .. " "
|
||||
end
|
||||
end,
|
||||
highlight = {colors.red, colors.lightbg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.right[6] = {
|
||||
some_icon = {
|
||||
provider = function()
|
||||
return " "
|
||||
end,
|
||||
separator = "",
|
||||
separator_highlight = {colors.green, colors.lightbg},
|
||||
highlight = {colors.lightbg, colors.green}
|
||||
}
|
||||
}
|
||||
|
||||
gls.right[7] = {
|
||||
line_percentage = {
|
||||
provider = function()
|
||||
local current_line = vim.fn.line(".")
|
||||
local total_line = vim.fn.line("$")
|
||||
|
||||
if current_line == 1 then
|
||||
return " Top "
|
||||
elseif current_line == vim.fn.line("$") then
|
||||
return " Bot "
|
||||
end
|
||||
local result, _ = math.modf((current_line / total_line) * 100)
|
||||
return " " .. result .. "% "
|
||||
end,
|
||||
highlight = {colors.green, colors.lightbg}
|
||||
}
|
||||
}
|
||||
)
|
||||
then
|
||||
return
|
||||
end
|
||||
return M
|
||||
|
||||
local gls = gl.section
|
||||
|
||||
gl.short_line_list = {" "}
|
||||
|
||||
local global_theme = "themes/" .. vim.g.nvchad_theme
|
||||
local colors = require(global_theme)
|
||||
|
||||
gls.left[1] = {
|
||||
FirstElement = {
|
||||
provider = function()
|
||||
return "▋"
|
||||
end,
|
||||
highlight = {colors.nord_blue, colors.nord_blue}
|
||||
}
|
||||
}
|
||||
|
||||
gls.left[2] = {
|
||||
statusIcon = {
|
||||
provider = function()
|
||||
return " "
|
||||
end,
|
||||
highlight = {colors.statusline_bg, colors.nord_blue},
|
||||
separator = " ",
|
||||
separator_highlight = {colors.nord_blue, colors.lightbg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.left[3] = {
|
||||
FileIcon = {
|
||||
provider = "FileIcon",
|
||||
condition = condition.buffer_not_empty,
|
||||
highlight = {colors.white, colors.lightbg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.left[4] = {
|
||||
FileName = {
|
||||
provider = {"FileName"},
|
||||
condition = condition.buffer_not_empty,
|
||||
highlight = {colors.white, colors.lightbg},
|
||||
separator = " ",
|
||||
separator_highlight = {colors.lightbg, colors.lightbg2}
|
||||
}
|
||||
}
|
||||
|
||||
gls.left[5] = {
|
||||
current_dir = {
|
||||
provider = function()
|
||||
local dir_name = vim.fn.fnamemodify(vim.fn.getcwd(), ":t")
|
||||
return " " .. dir_name .. " "
|
||||
end,
|
||||
highlight = {colors.grey_fg2, colors.lightbg2},
|
||||
separator = " ",
|
||||
separator_highlight = {colors.lightbg2, colors.statusline_bg}
|
||||
}
|
||||
}
|
||||
|
||||
local checkwidth = function()
|
||||
local squeeze_width = vim.fn.winwidth(0) / 2
|
||||
if squeeze_width > 30 then
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
gls.left[6] = {
|
||||
DiffAdd = {
|
||||
provider = "DiffAdd",
|
||||
condition = checkwidth,
|
||||
icon = " ",
|
||||
highlight = {colors.white, colors.statusline_bg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.left[7] = {
|
||||
DiffModified = {
|
||||
provider = "DiffModified",
|
||||
condition = checkwidth,
|
||||
icon = " ",
|
||||
highlight = {colors.grey_fg2, colors.statusline_bg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.left[8] = {
|
||||
DiffRemove = {
|
||||
provider = "DiffRemove",
|
||||
condition = checkwidth,
|
||||
icon = " ",
|
||||
highlight = {colors.grey_fg2, colors.statusline_bg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.left[9] = {
|
||||
DiagnosticError = {
|
||||
provider = "DiagnosticError",
|
||||
icon = " ",
|
||||
highlight = {colors.red, colors.statusline_bg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.left[10] = {
|
||||
DiagnosticWarn = {
|
||||
provider = "DiagnosticWarn",
|
||||
icon = " ",
|
||||
highlight = {colors.yellow, colors.statusline_bg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.right[1] = {
|
||||
lsp_status = {
|
||||
provider = function()
|
||||
local clients = vim.lsp.get_active_clients()
|
||||
if next(clients) ~= nil then
|
||||
return " " .. " " .. " LSP "
|
||||
else
|
||||
return ""
|
||||
end
|
||||
end,
|
||||
highlight = {colors.grey_fg2, colors.statusline_bg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.right[2] = {
|
||||
GitIcon = {
|
||||
provider = function()
|
||||
return " "
|
||||
end,
|
||||
condition = require("galaxyline.condition").check_git_workspace,
|
||||
highlight = {colors.grey_fg2, colors.statusline_bg},
|
||||
separator = " ",
|
||||
separator_highlight = {colors.statusline_bg, colors.statusline_bg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.right[3] = {
|
||||
GitBranch = {
|
||||
provider = "GitBranch",
|
||||
condition = require("galaxyline.condition").check_git_workspace,
|
||||
highlight = {colors.grey_fg2, colors.statusline_bg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.right[4] = {
|
||||
viMode_icon = {
|
||||
provider = function()
|
||||
return " "
|
||||
end,
|
||||
highlight = {colors.statusline_bg, colors.red},
|
||||
separator = " ",
|
||||
separator_highlight = {colors.red, colors.statusline_bg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.right[5] = {
|
||||
ViMode = {
|
||||
provider = function()
|
||||
local alias = {
|
||||
n = "Normal",
|
||||
i = "Insert",
|
||||
c = "Command",
|
||||
V = "Visual",
|
||||
[""] = "Visual",
|
||||
v = "Visual",
|
||||
R = "Replace"
|
||||
}
|
||||
local current_Mode = alias[vim.fn.mode()]
|
||||
|
||||
if current_Mode == nil then
|
||||
return " Terminal "
|
||||
else
|
||||
return " " .. current_Mode .. " "
|
||||
end
|
||||
end,
|
||||
highlight = {colors.red, colors.lightbg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.right[6] = {
|
||||
some_icon = {
|
||||
provider = function()
|
||||
return " "
|
||||
end,
|
||||
separator = "",
|
||||
separator_highlight = {colors.green, colors.lightbg},
|
||||
highlight = {colors.lightbg, colors.green}
|
||||
}
|
||||
}
|
||||
|
||||
gls.right[7] = {
|
||||
line_percentage = {
|
||||
provider = function()
|
||||
local current_line = vim.fn.line(".")
|
||||
local total_line = vim.fn.line("$")
|
||||
|
||||
if current_line == 1 then
|
||||
return " Top "
|
||||
elseif current_line == vim.fn.line("$") then
|
||||
return " Bot "
|
||||
end
|
||||
local result, _ = math.modf((current_line / total_line) * 100)
|
||||
return " " .. result .. "% "
|
||||
end,
|
||||
highlight = {colors.green, colors.lightbg}
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,16 @@
|
||||
local M = {}
|
||||
local telescope
|
||||
if
|
||||
not pcall(
|
||||
function()
|
||||
telescope = require("telescope")
|
||||
end
|
||||
)
|
||||
then
|
||||
return
|
||||
end
|
||||
|
||||
M.config = function()
|
||||
require("telescope").setup {
|
||||
telescope.setup(
|
||||
{
|
||||
defaults = {
|
||||
vimgrep_arguments = {
|
||||
"rg",
|
||||
@ -32,9 +41,9 @@ M.config = function()
|
||||
height = 0.80,
|
||||
preview_cutoff = 120
|
||||
},
|
||||
file_sorter = require "telescope.sorters".get_fuzzy_file,
|
||||
file_sorter = require("telescope.sorters").get_fuzzy_file,
|
||||
file_ignore_patterns = {},
|
||||
generic_sorter = require "telescope.sorters".get_generic_fuzzy_sorter,
|
||||
generic_sorter = require("telescope.sorters").get_generic_fuzzy_sorter,
|
||||
path_display = shorten,
|
||||
winblend = 0,
|
||||
border = {},
|
||||
@ -42,11 +51,11 @@ M.config = function()
|
||||
color_devicons = true,
|
||||
use_less = true,
|
||||
set_env = {["COLORTERM"] = "truecolor"}, -- default = nil,
|
||||
file_previewer = require "telescope.previewers".vim_buffer_cat.new,
|
||||
grep_previewer = require "telescope.previewers".vim_buffer_vimgrep.new,
|
||||
qflist_previewer = require "telescope.previewers".vim_buffer_qflist.new,
|
||||
file_previewer = require("telescope.previewers").vim_buffer_cat.new,
|
||||
grep_previewer = require("telescope.previewers").vim_buffer_vimgrep.new,
|
||||
qflist_previewer = require("telescope.previewers").vim_buffer_qflist.new,
|
||||
-- Developer configurations: Not meant for general override
|
||||
buffer_previewer_maker = require "telescope.previewers".buffer_previewer_maker
|
||||
buffer_previewer_maker = require("telescope.previewers").buffer_previewer_maker
|
||||
},
|
||||
extensions = {
|
||||
fzf = {
|
||||
@ -62,9 +71,16 @@ M.config = function()
|
||||
}
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
require("telescope").load_extension("fzf")
|
||||
require("telescope").load_extension("media_files")
|
||||
if
|
||||
not pcall(
|
||||
function()
|
||||
telescope.load_extension("fzf")
|
||||
telescope.load_extension("media_files")
|
||||
end
|
||||
)
|
||||
then
|
||||
-- This should only trigger when in need of PackerSync, so better do it
|
||||
vim.cmd("PackerSync")
|
||||
end
|
||||
|
||||
return M
|
||||
|
@ -1,25 +1,28 @@
|
||||
local M = {}
|
||||
|
||||
M.config = function()
|
||||
local ts_config = require("nvim-treesitter.configs")
|
||||
|
||||
ts_config.setup {
|
||||
ensure_installed = {
|
||||
"javascript",
|
||||
"html",
|
||||
"css",
|
||||
"bash",
|
||||
"lua",
|
||||
"json",
|
||||
"python"
|
||||
-- "rust",
|
||||
-- "go"
|
||||
},
|
||||
highlight = {
|
||||
enable = true,
|
||||
use_languagetree = true
|
||||
}
|
||||
}
|
||||
local ts_config
|
||||
if
|
||||
not pcall(
|
||||
function()
|
||||
ts_config = require "nvim-treesitter.configs"
|
||||
end
|
||||
)
|
||||
then
|
||||
return
|
||||
end
|
||||
|
||||
return M
|
||||
ts_config.setup {
|
||||
ensure_installed = {
|
||||
"javascript",
|
||||
"html",
|
||||
"css",
|
||||
"bash",
|
||||
"lua",
|
||||
"json",
|
||||
"python"
|
||||
-- "rust",
|
||||
-- "go"
|
||||
},
|
||||
highlight = {
|
||||
enable = true,
|
||||
use_languagetree = true
|
||||
}
|
||||
}
|
||||
|
@ -1,81 +1,63 @@
|
||||
-- plugins made by @Pocco81 =)
|
||||
|
||||
local M = {}
|
||||
local true_zen
|
||||
if
|
||||
not pcall(
|
||||
function()
|
||||
true_zen = require "true-zen"
|
||||
end
|
||||
)
|
||||
then
|
||||
return
|
||||
end
|
||||
|
||||
M.config = function()
|
||||
local true_zen = require("true-zen")
|
||||
|
||||
true_zen.setup(
|
||||
{
|
||||
misc = {
|
||||
on_off_commands = false,
|
||||
ui_elements_commands = false,
|
||||
cursor_by_mode = false,
|
||||
before_minimalist_mode_shown = true,
|
||||
before_minimalist_mode_hidden = true,
|
||||
after_minimalist_mode_shown = true,
|
||||
after_minimalist_mode_hidden = true
|
||||
true_zen.setup(
|
||||
{
|
||||
misc = {
|
||||
on_off_commands = false,
|
||||
ui_elements_commands = false,
|
||||
cursor_by_mode = false,
|
||||
before_minimalist_mode_shown = true,
|
||||
before_minimalist_mode_hidden = true,
|
||||
after_minimalist_mode_shown = true,
|
||||
after_minimalist_mode_hidden = true
|
||||
},
|
||||
ui = {
|
||||
bottom = {
|
||||
laststatus = 0,
|
||||
ruler = false,
|
||||
showmode = false,
|
||||
showcmd = false,
|
||||
cmdheight = 1
|
||||
},
|
||||
ui = {
|
||||
bottom = {
|
||||
laststatus = 0,
|
||||
ruler = false,
|
||||
showmode = false,
|
||||
showcmd = false,
|
||||
cmdheight = 1
|
||||
},
|
||||
top = {
|
||||
showtabline = 0
|
||||
},
|
||||
left = {
|
||||
number = false,
|
||||
relativenumber = false,
|
||||
signcolumn = "no"
|
||||
}
|
||||
top = {
|
||||
showtabline = 0
|
||||
},
|
||||
modes = {
|
||||
ataraxis = {
|
||||
left_padding = 37,
|
||||
right_padding = 37,
|
||||
top_padding = 2,
|
||||
bottom_padding = 2,
|
||||
just_do_it_for_me = false,
|
||||
ideal_writing_area_width = 0,
|
||||
keep_default_fold_fillchars = true,
|
||||
custome_bg = "#1e222a"
|
||||
},
|
||||
focus = {
|
||||
margin_of_error = 5,
|
||||
focus_method = "experimental"
|
||||
}
|
||||
},
|
||||
integrations = {
|
||||
galaxyline = true,
|
||||
nvim_bufferline = true
|
||||
left = {
|
||||
number = false,
|
||||
relativenumber = false,
|
||||
signcolumn = "no"
|
||||
}
|
||||
}
|
||||
)
|
||||
end
|
||||
|
||||
-- autosave.nvim plugin disabled by default
|
||||
M.autoSave = function()
|
||||
local autosave = require("autosave")
|
||||
|
||||
autosave.setup(
|
||||
{
|
||||
enabled = vim.g.auto_save, -- takes boolean value from init.lua
|
||||
execution_message = "autosaved at : " .. vim.fn.strftime("%H:%M:%S"),
|
||||
events = {"InsertLeave", "TextChanged"},
|
||||
conditions = {
|
||||
exists = true,
|
||||
filetype_is_not = {},
|
||||
modifiable = true
|
||||
},
|
||||
modes = {
|
||||
ataraxis = {
|
||||
left_padding = 37,
|
||||
right_padding = 37,
|
||||
top_padding = 2,
|
||||
bottom_padding = 2,
|
||||
just_do_it_for_me = false,
|
||||
ideal_writing_area_width = 0,
|
||||
keep_default_fold_fillchars = true,
|
||||
custome_bg = "#1e222a"
|
||||
},
|
||||
write_all_buffers = true,
|
||||
on_off_commands = true,
|
||||
clean_command_line_interval = 2500
|
||||
focus = {
|
||||
margin_of_error = 5,
|
||||
focus_method = "experimental"
|
||||
}
|
||||
},
|
||||
integrations = {
|
||||
galaxyline = true,
|
||||
nvim_bufferline = true
|
||||
}
|
||||
)
|
||||
end
|
||||
|
||||
return M
|
||||
}
|
||||
)
|
||||
|
21
lua/theme.lua
Normal file
21
lua/theme.lua
Normal file
@ -0,0 +1,21 @@
|
||||
-- colorscheme related stuff
|
||||
vim.g.nvchad_theme = "onedark"
|
||||
|
||||
local base16
|
||||
if
|
||||
not pcall(
|
||||
function()
|
||||
base16 = require "base16"
|
||||
end
|
||||
)
|
||||
then
|
||||
return false
|
||||
else
|
||||
base16(base16.themes["onedark"], true)
|
||||
local cmd = vim.cmd
|
||||
|
||||
-- load bg color before async for smooth transition
|
||||
local background = require("themes/" .. vim.g.nvchad_theme).black
|
||||
vim.cmd("hi Normal guibg=" .. background)
|
||||
return true
|
||||
end
|
@ -1,17 +1,5 @@
|
||||
local M = {}
|
||||
|
||||
-- blankline config
|
||||
M.blankline = function()
|
||||
vim.g.indentLine_enabled = 1
|
||||
vim.g.indent_blankline_char = "▏"
|
||||
|
||||
vim.g.indent_blankline_filetype_exclude = {"help", "terminal", "dashboard"}
|
||||
vim.g.indent_blankline_buftype_exclude = {"terminal"}
|
||||
|
||||
vim.g.indent_blankline_show_trailing_blankline_indent = false
|
||||
vim.g.indent_blankline_show_first_indent_level = false
|
||||
end
|
||||
|
||||
-- hide line numbers , statusline in specific buffers!
|
||||
M.hideStuff = function()
|
||||
vim.api.nvim_exec(
|
||||
|
Loading…
Reference in New Issue
Block a user