diff --git a/.stylua.toml b/.stylua.toml new file mode 100644 index 0000000..e9bf648 --- /dev/null +++ b/.stylua.toml @@ -0,0 +1,6 @@ +column_width = 120 +line_endings = "Unix" +indent_type = "Spaces" +indent_width = 3 +quote_style = "AutoPreferDouble" +no_call_parentheses = true diff --git a/init.lua b/init.lua index 54610ae..b65c997 100644 --- a/init.lua +++ b/init.lua @@ -1,8 +1,8 @@ local chad_modules = { - "options", - "mappings" + "options", + "mappings", } for i = 1, #chad_modules, 1 do - pcall(require, chad_modules[i]) + pcall(require, chad_modules[i]) end diff --git a/lua/chadrc.lua b/lua/chadrc.lua index 241dd43..5ec40d8 100644 --- a/lua/chadrc.lua +++ b/lua/chadrc.lua @@ -1,127 +1,127 @@ local M = { - ui = { - theme = "onedark", - fav_themes = {"onedark", "gruvchad"}, -- for theme toggle - theme_toggler = false, - hidden_statusline = { - -- these are filetypes, not pattern matched - "NvimTree", - "toggleterm" - } - }, - options = { - permanent_undo = true, - ruler = false, - hidden = true, - ignorecase = true, - mouse = "a", - cmdheight = 1, - updatetime = 250, - timeoutlen = 400, - clipboard = "unnamedplus", - number = true, - numberwidth = 2, - expandtab = true, - shiftwidth = 2, - smartindent = true, - mapleader = " ", - autosave = false, - enable_insertNav = true -- navigation in insertmode - }, - -- enable and disable plugins (true for disable) - plugin_status = { - -- UI - nvim_bufferline = true, - galaxyline = true, - nvim_colorizer = true, - dashboard_nvim = true, - blankline = true, - truezen_nvim = true, - better_esc = true, - -- lsp stuff - lspkind = true, - lspsignature = true, - -- git stuff - gitsigns = true, - vim_fugitive = true, - -- misc - neoformat = true, - vim_matchup = true, - autosave_nvim = true, - nvim_comment = true, - neoscroll_nvim = true, - telescope_media = true - }, - -- make sure you dont use same keys twice - mappings = { - truezen = { - ataraxisMode = "zz", - minimalisticmode = "zm", - focusmode = "zf" - }, - comment_nvim = { - comment_toggle = "/" - }, - nvimtree = { - treetoggle = "" - }, - neoformat = { - format = "fm" - }, - dashboard = { - open = "db", - newfile = "fn", - bookmarks = "bm", - sessionload = "l", - sessionsave = "s" - }, - telescope = { - live_grep = "fw", - git_status = "gt", - git_commits = "cm", - find_files = "ff", - buffers = "fb", - help_tags = "fh", - oldfiles = "fo", - themes = "th" - }, - telescope_media = { - media_files = "fp" - }, - bufferline = { - new_buffer = "", - newtab = "b", - close = "", - cycleNext = "", - cyclePrev = "" - }, - fugitive = { - Git = "gs", - diffget_2 = "gh", - diffget_3 = "gl", - git_blame = "gb" - }, - toggleterm = { - toggle_window = "w", - toggle_vert = "v", - toggle_hori = "h", - hide_term = "JK" - }, - insert_nav = { - forward = "", - backward = "", - top_of_line = "", - end_of_line = "", - prev_line = "", - next_line = "" - }, - misc = { - esc_Termmode = "jk", - copywhole_file = "", - toggle_linenr = "n", - theme_toggle = "x" - } - } + ui = { + theme = "onedark", + fav_themes = { "onedark", "gruvchad" }, -- for theme toggle + theme_toggler = false, + hidden_statusline = { + -- these are filetypes, not pattern matched + "NvimTree", + "toggleterm", + }, + }, + options = { + permanent_undo = true, + ruler = false, + hidden = true, + ignorecase = true, + mouse = "a", + cmdheight = 1, + updatetime = 250, + timeoutlen = 400, + clipboard = "unnamedplus", + number = true, + numberwidth = 2, + expandtab = true, + shiftwidth = 2, + smartindent = true, + mapleader = " ", + autosave = false, + enable_insertNav = true, -- navigation in insertmode + }, + -- enable and disable plugins (true for disable) + plugin_status = { + -- UI + nvim_bufferline = true, + galaxyline = true, + nvim_colorizer = true, + dashboard_nvim = true, + blankline = true, + truezen_nvim = true, + better_esc = true, + -- lsp stuff + lspkind = true, + lspsignature = true, + -- git stuff + gitsigns = true, + vim_fugitive = true, + -- misc + neoformat = true, + vim_matchup = true, + autosave_nvim = true, + nvim_comment = true, + neoscroll_nvim = true, + telescope_media = true, + }, + -- make sure you dont use same keys twice + mappings = { + truezen = { + ataraxisMode = "zz", + minimalisticmode = "zm", + focusmode = "zf", + }, + comment_nvim = { + comment_toggle = "/", + }, + nvimtree = { + treetoggle = "", + }, + neoformat = { + format = "fm", + }, + dashboard = { + open = "db", + newfile = "fn", + bookmarks = "bm", + sessionload = "l", + sessionsave = "s", + }, + telescope = { + live_grep = "fw", + git_status = "gt", + git_commits = "cm", + find_files = "ff", + buffers = "fb", + help_tags = "fh", + oldfiles = "fo", + themes = "th", + }, + telescope_media = { + media_files = "fp", + }, + bufferline = { + new_buffer = "", + newtab = "b", + close = "", + cycleNext = "", + cyclePrev = "", + }, + fugitive = { + Git = "gs", + diffget_2 = "gh", + diffget_3 = "gl", + git_blame = "gb", + }, + toggleterm = { + toggle_window = "w", + toggle_vert = "v", + toggle_hori = "h", + hide_term = "JK", + }, + insert_nav = { + forward = "", + backward = "", + top_of_line = "", + end_of_line = "", + prev_line = "", + next_line = "", + }, + misc = { + esc_Termmode = "jk", + copywhole_file = "", + toggle_linenr = "n", + theme_toggle = "x", + }, + }, } return M diff --git a/lua/highlights.lua b/lua/highlights.lua index a9bd1bd..02e70c2 100644 --- a/lua/highlights.lua +++ b/lua/highlights.lua @@ -25,15 +25,15 @@ local purple = colors.purple -- for guifg , bg local function fg(group, color) - cmd("hi " .. group .. " guifg=" .. color) + cmd("hi " .. group .. " guifg=" .. color) end local function bg(group, color) - cmd("hi " .. group .. " guibg=" .. color) + cmd("hi " .. group .. " guibg=" .. color) end local function fg_bg(group, fgcol, bgcol) - cmd("hi " .. group .. " guifg=" .. fgcol .. " guibg=" .. bgcol) + cmd("hi " .. group .. " guifg=" .. fgcol .. " guibg=" .. bgcol) end -- blankline diff --git a/lua/mappings.lua b/lua/mappings.lua index 16940c1..329e5dd 100644 --- a/lua/mappings.lua +++ b/lua/mappings.lua @@ -5,11 +5,11 @@ local M = {} local cmd = vim.cmd local function map(mode, lhs, rhs, opts) - local options = {noremap = true, silent = true} - if opts then - options = vim.tbl_extend("force", options, opts) - end - vim.api.nvim_set_keymap(mode, lhs, rhs, options) + local options = { noremap = true, silent = true } + if opts then + options = vim.tbl_extend("force", options, opts) + end + vim.api.nvim_set_keymap(mode, lhs, rhs, options) end local opt = {} @@ -30,10 +30,10 @@ map("v", "p", '"_dP', opt) -- Allow moving the cursor through wrapped lines with j, k, and -- http://www.reddit.com/r/vim/comments/2k4cbr/problem_with_gj_and_gk/ -- empty mode is same as using :map -map("", "j", 'v:count ? "j" : "gj"', {expr = true}) -map("", "k", 'v:count ? "k" : "gk"', {expr = true}) -map("", "", 'v:count ? "j" : "gj"', {expr = true}) -map("", "", 'v:count ? "k" : "gk"', {expr = true}) +map("", "j", 'v:count ? "j" : "gj"', { expr = true }) +map("", "k", 'v:count ? "k" : "gk"', { expr = true }) +map("", "", 'v:count ? "j" : "gj"', { expr = true }) +map("", "", 'v:count ? "k" : "gk"', { expr = true }) -- copy whole file content map("n", miscMap.copywhole_file, ":%y+", opt) @@ -46,125 +46,125 @@ map("n", miscMap.toggle_linenr, ":set nu!", opt) map("t", miscMap.esc_Termmode, "", opt) M.toggleterm = function() - local m = user_map.toggleterm + local m = user_map.toggleterm - -- Open terminals - map("n", m.toggle_window, ":lua termW:toggle() ", opt) - map("n", m.toggle_vert, ":lua termV:toggle() ", opt) - map("n", m.toggle_hori, ":lua termH:toggle() ", opt) + -- Open terminals + map("n", m.toggle_window, ":lua termW:toggle() ", opt) + map("n", m.toggle_vert, ":lua termV:toggle() ", opt) + map("n", m.toggle_hori, ":lua termH:toggle() ", opt) - -- toggle(HIDE) a term from within terminal edit mode - map("t", m.hide_term, " :ToggleTerm ", opt) - map("t", m.hide_term, " :ToggleTerm ", opt) - map("t", m.hide_term, " :ToggleTerm ", opt) + -- toggle(HIDE) a term from within terminal edit mode + map("t", m.hide_term, " :ToggleTerm ", opt) + map("t", m.hide_term, " :ToggleTerm ", opt) + map("t", m.hide_term, " :ToggleTerm ", opt) end M.truezen = function() - local m = user_map.truezen + local m = user_map.truezen - map("n", m.ataraxisMode, ":TZAtaraxis", opt) - map("n", m.minimalisticmode, ":TZMinimalist", opt) - map("n", m.focusmode, ":TZFocus", opt) + map("n", m.ataraxisMode, ":TZAtaraxis", opt) + map("n", m.minimalisticmode, ":TZMinimalist", opt) + map("n", m.focusmode, ":TZFocus", opt) end map("n", "", ":w ", opt) M.comment_nvim = function() - local m = user_map.comment_nvim.comment_toggle - map("n", m, ":CommentToggle", opt) - map("v", m, ":CommentToggle", opt) + local m = user_map.comment_nvim.comment_toggle + map("n", m, ":CommentToggle", opt) + map("v", m, ":CommentToggle", opt) end M.nvimtree = function() - local m = user_map.nvimtree.treetoggle + local m = user_map.nvimtree.treetoggle - map("n", m, ":NvimTreeToggle", opt) + map("n", m, ":NvimTreeToggle", opt) end M.neoformat = function() - local m = user_map.neoformat.format - map("n", m, ":Neoformat", opt) + local m = user_map.neoformat.format + map("n", m, ":Neoformat", opt) end M.dashboard = function() - local m = user_map.dashboard + local m = user_map.dashboard - map("n", m.open, ":Dashboard", opt) - map("n", m.newfile, ":DashboardNewFile", opt) - map("n", m.bookmarks, ":DashboardJumpMarks", opt) - map("n", m.sessionload, ":SessionLoad", opt) - map("n", m.sessionsave, ":SessionSave", opt) + map("n", m.open, ":Dashboard", opt) + map("n", m.newfile, ":DashboardNewFile", opt) + map("n", m.bookmarks, ":DashboardJumpMarks", opt) + map("n", m.sessionload, ":SessionLoad", opt) + map("n", m.sessionsave, ":SessionSave", opt) end M.telescope = function() - local m = user_map.telescope - - map("n", m.live_grep, ":Telescope live_grep", opt) - map("n", m.git_status, ":Telescope git_status ", opt) - map("n", m.git_commits, ":Telescope git_commits ", opt) - map("n", m.find_files, ":Telescope find_files ", opt) - map("n", m.buffers, ":Telescope buffers", opt) - map("n", m.help_tags, ":Telescope help_tags", opt) - map("n", m.oldfiles, ":Telescope oldfiles", opt) - map("n", m.themes, ":Telescope themes", opt) + local m = user_map.telescope + + map("n", m.live_grep, ":Telescope live_grep", opt) + map("n", m.git_status, ":Telescope git_status ", opt) + map("n", m.git_commits, ":Telescope git_commits ", opt) + map("n", m.find_files, ":Telescope find_files ", opt) + map("n", m.buffers, ":Telescope buffers", opt) + map("n", m.help_tags, ":Telescope help_tags", opt) + map("n", m.oldfiles, ":Telescope oldfiles", opt) + map("n", m.themes, ":Telescope themes", opt) end M.telescope_media = function() - local m = user_map.telescope_media - map("n", m.media_files, ":Telescope media_files ", opt) + local m = user_map.telescope_media + map("n", m.media_files, ":Telescope media_files ", opt) end M.bufferline = function() - local m = user_map.bufferline + local m = user_map.bufferline - map("n", m.new_buffer, ":enew", opt) -- new buffer - map("n", m.newtab, ":tabnew", opt) -- new tab - map("n", m.close, ":bd!", opt) -- close buffer + map("n", m.new_buffer, ":enew", opt) -- new buffer + map("n", m.newtab, ":tabnew", opt) -- new tab + map("n", m.close, ":bd!", opt) -- close buffer - -- move between tabs + -- move between tabs - map("n", m.cycleNext, ":BufferLineCycleNext", opt) - map("n", m.cyclePrev, ":BufferLineCyclePrev", opt) + map("n", m.cycleNext, ":BufferLineCycleNext", opt) + map("n", m.cyclePrev, ":BufferLineCyclePrev", opt) end -- use ESC to turn off search highlighting map("n", "", ":noh", opt) -- Packer commands till because we are not loading it at startup -cmd("silent! command PackerCompile lua require 'pluginList' require('packer').compile()") -cmd("silent! command PackerInstall lua require 'pluginList' require('packer').install()") -cmd("silent! command PackerStatus lua require 'pluginList' require('packer').status()") -cmd("silent! command PackerSync lua require 'pluginList' require('packer').sync()") -cmd("silent! command PackerUpdate lua require 'pluginList' require('packer').update()") +cmd "silent! command PackerCompile lua require 'pluginList' require('packer').compile()" +cmd "silent! command PackerInstall lua require 'pluginList' require('packer').install()" +cmd "silent! command PackerStatus lua require 'pluginList' require('packer').status()" +cmd "silent! command PackerSync lua require 'pluginList' require('packer').sync()" +cmd "silent! command PackerUpdate lua require 'pluginList' require('packer').update()" M.fugitive = function() - local m = user_map.fugitive + local m = user_map.fugitive - map("n", m.Git, ":Git", opt) - map("n", m.diffget_2, ":diffget //2", opt) - map("n", m.diffget_3, ":diffget //3", opt) - map("n", m.git_blame, ":Git blame", opt) + map("n", m.Git, ":Git", opt) + map("n", m.diffget_2, ":diffget //2", opt) + map("n", m.diffget_3, ":diffget //3", opt) + map("n", m.git_blame, ":Git blame", opt) end -- navigation within insert mode local check_insertNav = require("chadrc").options.enable_insertNav if check_insertNav == true then - local m = user_map.insert_nav - - map("i", m.forward, "", opt) - map("i", m.backward, "", opt) - map("i", m.top_of_line, "^i", opt) - map("i", m.end_of_line, "", opt) - map("i", m.next_line, "", opt) - map("i", m.prev_line, "", opt) + local m = user_map.insert_nav + + map("i", m.forward, "", opt) + map("i", m.backward, "", opt) + map("i", m.top_of_line, "^i", opt) + map("i", m.end_of_line, "", opt) + map("i", m.next_line, "", opt) + map("i", m.prev_line, "", opt) end local theme_toggler = require("chadrc").ui.theme_toggler if theme_toggler == true then - local m = user_map.misc.theme_toggle + local m = user_map.misc.theme_toggle - map("n", m, ":lua require('utils').toggle_theme(require('chadrc').ui.fav_themes)", opt) + map("n", m, ":lua require('utils').toggle_theme(require('chadrc').ui.fav_themes)", opt) end return M diff --git a/lua/options.lua b/lua/options.lua index df485ce..96016ec 100644 --- a/lua/options.lua +++ b/lua/options.lua @@ -2,7 +2,7 @@ local options = require("chadrc").options local opt = vim.opt local g = vim.g -opt.completeopt = {"menuone", "noselect"} +opt.completeopt = { "menuone", "noselect" } opt.undofile = options.permanent_undo opt.ruler = options.ruler opt.hidden = options.hidden @@ -19,10 +19,10 @@ opt.timeoutlen = options.timeoutlen opt.clipboard = options.clipboard -- disable nvim intro -opt.shortmess:append("sI") +opt.shortmess:append "sI" -- disable tilde on end of buffer: https://github.com/ neovim/neovim/pull/8546#issuecomment-643643758 -opt.fillchars = {eob = " "} +opt.fillchars = { eob = " " } -- Numbers opt.number = options.number @@ -36,35 +36,35 @@ opt.smartindent = options.smartindent -- go to previous/next line with h,l,left arrow and right arrow -- when cursor reaches end/beginning of line -opt.whichwrap:append("<>hl") +opt.whichwrap:append "<>hl" g.mapleader = options.mapleader g.auto_save = options.autosave -- disable builtin vim plugins local disabled_built_ins = { - "netrw", - "netrwPlugin", - "netrwSettings", - "netrwFileHandlers", - "gzip", - "zip", - "zipPlugin", - "tar", - "tarPlugin", - "getscript", - "getscriptPlugin", - "vimball", - "vimballPlugin", - "2html_plugin", - "logipat", - "rrhelper", - "spellfile_plugin", - "matchit" + "netrw", + "netrwPlugin", + "netrwSettings", + "netrwFileHandlers", + "gzip", + "zip", + "zipPlugin", + "tar", + "tarPlugin", + "getscript", + "getscriptPlugin", + "vimball", + "vimballPlugin", + "2html_plugin", + "logipat", + "rrhelper", + "spellfile_plugin", + "matchit", } for _, plugin in pairs(disabled_built_ins) do - g["loaded_" .. plugin] = 1 + g["loaded_" .. plugin] = 1 end -- Don't show status line on certain windows diff --git a/lua/packerInit.lua b/lua/packerInit.lua index 73975bb..8b0561c 100644 --- a/lua/packerInit.lua +++ b/lua/packerInit.lua @@ -1,47 +1,45 @@ local cmd = vim.cmd -cmd("packadd packer.nvim") +cmd "packadd packer.nvim" local present, packer = pcall(require, "packer") if not present then - local packer_path = vim.fn.stdpath("data") .. "/site/pack/packer/opt/packer.nvim" + local packer_path = vim.fn.stdpath "data" .. "/site/pack/packer/opt/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 - } - ) + 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, + } - cmd("packadd packer.nvim") - present, packer = pcall(require, "packer") + cmd "packadd packer.nvim" + present, packer = pcall(require, "packer") - if present then - print("Packer cloned successfully.") - else - error("Couldn't clone packer !\nPacker path: " .. packer_path) - end + if present 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, - prompt_border = "single" - }, - git = { - clone_timeout = 600 -- Timeout, in seconds, for git clones - }, - auto_clean = true, - compile_on_sync = true - -- auto_reload_compiled = true + display = { + open_fn = function() + return require("packer.util").float { border = "single" } + end, + prompt_border = "single", + }, + git = { + clone_timeout = 600, -- Timeout, in seconds, for git clones + }, + auto_clean = true, + compile_on_sync = true, + -- auto_reload_compiled = true } diff --git a/lua/pluginList.lua b/lua/pluginList.lua index d67e7aa..06acb47 100644 --- a/lua/pluginList.lua +++ b/lua/pluginList.lua @@ -4,315 +4,313 @@ local present, _ = pcall(require, "packerInit") local packer if present then - packer = require "packer" + packer = require "packer" else - return false + return false end local use = packer.use -return packer.startup( - function() - use { - "wbthomason/packer.nvim", - event = "VimEnter" - } +return packer.startup(function() + use { + "wbthomason/packer.nvim", + event = "VimEnter", + } - use { - "jdhao/better-escape.vim", - disable = not plugin_status.better_esc, - event = "InsertEnter", - config = function() - require "plugins.others".escape() - end - } + use { + "jdhao/better-escape.vim", + disable = not plugin_status.better_esc, + event = "InsertEnter", + config = function() + require("plugins.others").escape() + end, + } - use { - "akinsho/nvim-bufferline.lua", - disable = not plugin_status.nvim_bufferline, - after = "nvim-base16.lua", - config = function() - require "plugins.bufferline" - end, - setup = function() - require "mappings".bufferline() - end - } + use { + "akinsho/nvim-bufferline.lua", + disable = not plugin_status.nvim_bufferline, + after = "nvim-base16.lua", + config = function() + require "plugins.bufferline" + end, + setup = function() + require("mappings").bufferline() + end, + } - use { - "glepnir/galaxyline.nvim", - disable = not plugin_status.galaxyline, - after = "nvim-base16.lua", - config = function() - require "plugins.statusline" - end - } + use { + "glepnir/galaxyline.nvim", + disable = not plugin_status.galaxyline, + after = "nvim-base16.lua", + config = function() + require "plugins.statusline" + end, + } - -- color related stuff - use { - "NvChad/nvim-base16.lua", - after = "packer.nvim", - config = function() - require "theme" - end - } + -- color related stuff + use { + "NvChad/nvim-base16.lua", + after = "packer.nvim", + config = function() + require "theme" + end, + } - use { - "norcalli/nvim-colorizer.lua", - disable = not plugin_status.nvim_colorizer, - event = "BufRead", - config = function() - require("plugins.others").colorizer() - end - } + use { + "norcalli/nvim-colorizer.lua", + disable = not plugin_status.nvim_colorizer, + event = "BufRead", + config = function() + require("plugins.others").colorizer() + end, + } - -- lsp stuff - use { - "nvim-treesitter/nvim-treesitter", - event = "BufRead", - config = function() - require "plugins.treesitter" - end - } + -- lsp stuff + use { + "nvim-treesitter/nvim-treesitter", + event = "BufRead", + config = function() + require "plugins.treesitter" + end, + } - use { - "kabouzeid/nvim-lspinstall", - event = "BufRead" - } + use { + "kabouzeid/nvim-lspinstall", + event = "BufRead", + } - use { - "neovim/nvim-lspconfig", - after = "nvim-lspinstall", - config = function() - require "plugins.lspconfig" - end - } + use { + "neovim/nvim-lspconfig", + after = "nvim-lspinstall", + config = function() + require "plugins.lspconfig" + end, + } - use { - "onsails/lspkind-nvim", - disable = not plugin_status.lspkind, - event = "BufEnter", - config = function() - require("plugins.others").lspkind() - end - } + use { + "onsails/lspkind-nvim", + disable = not plugin_status.lspkind, + event = "BufEnter", + config = function() + require("plugins.others").lspkind() + end, + } - use { - "ray-x/lsp_signature.nvim", - disable = not plugin_status.lspsignature, - after = "nvim-lspconfig", - config = function() - require("plugins.others").signature() - end - } + use { + "ray-x/lsp_signature.nvim", + disable = not plugin_status.lspsignature, + after = "nvim-lspconfig", + config = function() + require("plugins.others").signature() + end, + } - -- load compe in insert mode only - use { - "hrsh7th/nvim-compe", - event = "InsertEnter", + -- load compe in insert mode only + use { + "hrsh7th/nvim-compe", + event = "InsertEnter", + config = function() + require "plugins.compe" + end, + wants = "LuaSnip", + requires = { + { + "L3MON4D3/LuaSnip", + wants = "friendly-snippets", + event = "InsertCharPre", config = function() - require "plugins.compe" + require "plugins.luasnip" end, - wants = "LuaSnip", - requires = { - { - "L3MON4D3/LuaSnip", - wants = "friendly-snippets", - event = "InsertCharPre", - config = function() - require "plugins.luasnip" - end - }, - { - "rafamadriz/friendly-snippets", - event = "InsertCharPre" - } - } - } + }, + { + "rafamadriz/friendly-snippets", + event = "InsertCharPre", + }, + }, + } - use { - "sbdchd/neoformat", - disable = not plugin_status.neoformat, - cmd = "Neoformat", - setup = function() - require "mappings".neoformat() - end - } + use { + "sbdchd/neoformat", + disable = not plugin_status.neoformat, + cmd = "Neoformat", + setup = function() + require("mappings").neoformat() + end, + } - -- file managing , picker etc - use { - "kyazdani42/nvim-tree.lua", - cmd = "NvimTreeToggle", - config = function() - require "plugins.nvimtree" - end, - setup = function() - require "mappings".nvimtree() - end - } + -- file managing , picker etc + use { + "kyazdani42/nvim-tree.lua", + cmd = "NvimTreeToggle", + config = function() + require "plugins.nvimtree" + end, + setup = function() + require("mappings").nvimtree() + end, + } - use { - "kyazdani42/nvim-web-devicons", - after = "nvim-base16.lua", - config = function() - require "plugins.icons" - end - } + use { + "kyazdani42/nvim-web-devicons", + after = "nvim-base16.lua", + config = function() + require "plugins.icons" + end, + } - use { - "nvim-lua/plenary.nvim", - event = "BufRead" - } - use { - "nvim-lua/popup.nvim", - after = "plenary.nvim" - } + use { + "nvim-lua/plenary.nvim", + event = "BufRead", + } + use { + "nvim-lua/popup.nvim", + after = "plenary.nvim", + } - use { - "nvim-telescope/telescope.nvim", - cmd = "Telescope", - requires = { - { - "nvim-telescope/telescope-fzf-native.nvim", - run = "make" - }, - { - "nvim-telescope/telescope-media-files.nvim", - disable = not plugin_status.telescope_media, - setup = function() - require "mappings".telescope_media() - end - } - }, - config = function() - require "plugins.telescope" - end, + use { + "nvim-telescope/telescope.nvim", + cmd = "Telescope", + requires = { + { + "nvim-telescope/telescope-fzf-native.nvim", + run = "make", + }, + { + "nvim-telescope/telescope-media-files.nvim", + disable = not plugin_status.telescope_media, setup = function() - require "mappings".telescope() - end - } + require("mappings").telescope_media() + end, + }, + }, + config = function() + require "plugins.telescope" + end, + setup = function() + require("mappings").telescope() + end, + } - -- git stuff - use { - "lewis6991/gitsigns.nvim", - disable = not plugin_status.gitsigns, - after = "plenary.nvim", - config = function() - require "plugins.gitsigns" - end - } + -- git stuff + use { + "lewis6991/gitsigns.nvim", + disable = not plugin_status.gitsigns, + after = "plenary.nvim", + config = function() + require "plugins.gitsigns" + end, + } - -- misc plugins - use { - "akinsho/nvim-toggleterm.lua", - event = "BufWinEnter", - config = function() - require "plugins.toggleterm" - end, - setup = function() - require "mappings".toggleterm() - end - } - use { - "windwp/nvim-autopairs", - after = "nvim-compe", - config = function() - require "plugins.autopairs" - end - } + -- misc plugins + use { + "akinsho/nvim-toggleterm.lua", + event = "BufWinEnter", + config = function() + require "plugins.toggleterm" + end, + setup = function() + require("mappings").toggleterm() + end, + } + use { + "windwp/nvim-autopairs", + after = "nvim-compe", + config = function() + require "plugins.autopairs" + end, + } - use { - "andymass/vim-matchup", - disable = not plugin_status.vim_matchup, - event = "CursorMoved" - } + use { + "andymass/vim-matchup", + disable = not plugin_status.vim_matchup, + event = "CursorMoved", + } - use { - "terrortylor/nvim-comment", - disable = not plugin_status.nvim_comment, - cmd = "CommentToggle", - config = function() - require("plugins.others").comment() - end, - setup = function() - require "mappings".comment_nvim() - end - } + use { + "terrortylor/nvim-comment", + disable = not plugin_status.nvim_comment, + cmd = "CommentToggle", + config = function() + require("plugins.others").comment() + end, + setup = function() + require("mappings").comment_nvim() + end, + } - use { - "glepnir/dashboard-nvim", - disable = not plugin_status.dashboard_nvim, - cmd = { - "Dashboard", - "DashboardNewFile", - "DashboardJumpMarks", - "SessionLoad", - "SessionSave" - }, - setup = function() - require "plugins.dashboard" - require "mappings".dashboard() - end - } + use { + "glepnir/dashboard-nvim", + disable = not plugin_status.dashboard_nvim, + cmd = { + "Dashboard", + "DashboardNewFile", + "DashboardJumpMarks", + "SessionLoad", + "SessionSave", + }, + setup = function() + require "plugins.dashboard" + require("mappings").dashboard() + end, + } - -- load autosave only if its globally enabled - use { - disable = not plugin_status.autosave_nvim, - "Pocco81/AutoSave.nvim", - config = function() - require "plugins.autosave" - end, - cond = function() - return vim.g.auto_save == true - end - } + -- load autosave only if its globally enabled + use { + disable = not plugin_status.autosave_nvim, + "Pocco81/AutoSave.nvim", + config = function() + require "plugins.autosave" + end, + cond = function() + return vim.g.auto_save == true + end, + } - -- smooth scroll - use { - "karb94/neoscroll.nvim", - disable = not plugin_status.neoscroll_nvim, - event = "WinScrolled", - config = function() - require("plugins.others").neoscroll() - end - } + -- smooth scroll + use { + "karb94/neoscroll.nvim", + disable = not plugin_status.neoscroll_nvim, + event = "WinScrolled", + config = function() + require("plugins.others").neoscroll() + end, + } - use { - "Pocco81/TrueZen.nvim", - disable = not plugin_status.truezen_nvim, - cmd = { - "TZAtaraxis", - "TZMinimalist", - "TZFocus" - }, - config = function() - require "plugins.zenmode" - end, - setup = function() - require "mappings".truezen() - end - } + use { + "Pocco81/TrueZen.nvim", + disable = not plugin_status.truezen_nvim, + cmd = { + "TZAtaraxis", + "TZMinimalist", + "TZFocus", + }, + config = function() + require "plugins.zenmode" + end, + setup = function() + require("mappings").truezen() + end, + } - -- use "alvan/vim-closetag" -- for html autoclosing tag + -- use "alvan/vim-closetag" -- for html autoclosing tag - use { - "lukas-reineke/indent-blankline.nvim", - disable = not plugin_status.blankline, - event = "BufRead", - setup = function() - require("plugins.others").blankline() - end - } + use { + "lukas-reineke/indent-blankline.nvim", + disable = not plugin_status.blankline, + event = "BufRead", + setup = function() + require("plugins.others").blankline() + end, + } - use { - "tpope/vim-fugitive", - disable = not plugin_status.vim_fugitive, - cmd = { - "Git" - }, - setup = function() - require "mappings".fugitive() - end - } - end -) + use { + "tpope/vim-fugitive", + disable = not plugin_status.vim_fugitive, + cmd = { + "Git", + }, + setup = function() + require("mappings").fugitive() + end, + } +end) diff --git a/lua/plugins/autopairs.lua b/lua/plugins/autopairs.lua index 4d035e6..333a852 100644 --- a/lua/plugins/autopairs.lua +++ b/lua/plugins/autopairs.lua @@ -2,13 +2,11 @@ local present1, autopairs = pcall(require, "nvim-autopairs") local present2, autopairs_completion = pcall(require, "nvim-autopairs.completion.compe") if not (present1 or present2) then - return + return end autopairs.setup() -autopairs_completion.setup( - { - map_cr = true, - map_complete = true -- insert () func completion - } -) +autopairs_completion.setup { + map_cr = true, + map_complete = true, -- insert () func completion +} diff --git a/lua/plugins/autosave.lua b/lua/plugins/autosave.lua index 559ce3f..4041401 100644 --- a/lua/plugins/autosave.lua +++ b/lua/plugins/autosave.lua @@ -1,21 +1,19 @@ -- autosave.nvim plugin disabled by default local present, autosave = pcall(require, "autosave") if not present then - return + 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 = false, - on_off_commands = true, - clean_command_line_interval = 2500 - } -) +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 = false, + on_off_commands = true, + clean_command_line_interval = 2500, +} diff --git a/lua/plugins/bufferline.lua b/lua/plugins/bufferline.lua index ed01a76..06236d5 100644 --- a/lua/plugins/bufferline.lua +++ b/lua/plugins/bufferline.lua @@ -3,103 +3,103 @@ local colors = require(global_theme) local present, bufferline = pcall(require, "bufferline") if not present then - return + return end bufferline.setup { - options = { - offsets = {{filetype = "NvimTree", text = "", padding = 1}}, - buffer_close_icon = "", - modified_icon = "", - close_icon = "", - left_trunc_marker = "", - right_trunc_marker = "", - max_name_length = 14, - max_prefix_length = 13, - tab_size = 20, - show_tab_indicators = true, - enforce_regular_tabs = false, - view = "multiwindow", - show_buffer_close_icons = true, - separator_style = "thin", - mappings = true, - always_show_bufferline = true - }, - highlights = { - fill = { - guifg = colors.grey_fg, - guibg = colors.black2 - }, - background = { - guifg = colors.grey_fg, - guibg = colors.black2 - }, - -- buffers - buffer_visible = { - guifg = colors.light_grey, - guibg = colors.black2 - }, - buffer_selected = { - guifg = colors.white, - guibg = colors.black, - gui = "bold" - }, - -- tabs - tab = { - guifg = colors.light_grey, - guibg = colors.one_bg3 - }, - tab_selected = { - guifg = colors.black2, - guibg = colors.nord_blue - }, - tab_close = { - guifg = colors.red, - guibg = colors.black - }, - indicator_selected = { - guifg = colors.black, - guibg = colors.black - }, - -- separators - separator = { - guifg = colors.black2, - guibg = colors.black2 - }, - separator_visible = { - guifg = colors.black2, - guibg = colors.black2 - }, - separator_selected = { - guifg = colors.black2, - guibg = colors.black2 - }, - -- modified - modified = { - guifg = colors.red, - guibg = colors.black2 - }, - modified_visible = { - guifg = colors.red, - guibg = colors.black2 - }, - modified_selected = { - guifg = colors.green, - guibg = colors.black - }, - -- close buttons + options = { + offsets = { { filetype = "NvimTree", text = "", padding = 1 } }, + buffer_close_icon = "", + modified_icon = "", + close_icon = "", + left_trunc_marker = "", + right_trunc_marker = "", + max_name_length = 14, + max_prefix_length = 13, + tab_size = 20, + show_tab_indicators = true, + enforce_regular_tabs = false, + view = "multiwindow", + show_buffer_close_icons = true, + separator_style = "thin", + mappings = true, + always_show_bufferline = true, + }, + highlights = { + fill = { + guifg = colors.grey_fg, + guibg = colors.black2, + }, + background = { + guifg = colors.grey_fg, + guibg = colors.black2, + }, + -- buffers + buffer_visible = { + guifg = colors.light_grey, + guibg = colors.black2, + }, + buffer_selected = { + guifg = colors.white, + guibg = colors.black, + gui = "bold", + }, + -- tabs + tab = { + guifg = colors.light_grey, + guibg = colors.one_bg3, + }, + tab_selected = { + guifg = colors.black2, + guibg = colors.nord_blue, + }, + tab_close = { + guifg = colors.red, + guibg = colors.black, + }, + indicator_selected = { + guifg = colors.black, + guibg = colors.black, + }, + -- separators + separator = { + guifg = colors.black2, + guibg = colors.black2, + }, + separator_visible = { + guifg = colors.black2, + guibg = colors.black2, + }, + separator_selected = { + guifg = colors.black2, + guibg = colors.black2, + }, + -- modified + modified = { + guifg = colors.red, + guibg = colors.black2, + }, + modified_visible = { + guifg = colors.red, + guibg = colors.black2, + }, + modified_selected = { + guifg = colors.green, + guibg = colors.black, + }, + -- close buttons - close_button = { - guifg = colors.light_grey, - guibg = colors.black2 - }, - close_button_visible = { - guifg = colors.light_grey, - guibg = colors.black2 - }, - close_button_selected = { - guifg = colors.red, - guibg = colors.black - } - } + close_button = { + guifg = colors.light_grey, + guibg = colors.black2, + }, + close_button_visible = { + guifg = colors.light_grey, + guibg = colors.black2, + }, + close_button_selected = { + guifg = colors.red, + guibg = colors.black, + }, + }, } diff --git a/lua/plugins/compe.lua b/lua/plugins/compe.lua index 238ca7c..0fa4d0f 100644 --- a/lua/plugins/compe.lua +++ b/lua/plugins/compe.lua @@ -1,25 +1,25 @@ local present, compe = pcall(require, "compe") if not present then - return + return end 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 - } + 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, + }, } diff --git a/lua/plugins/dashboard.lua b/lua/plugins/dashboard.lua index 54d317e..d7296c8 100644 --- a/lua/plugins/dashboard.lua +++ b/lua/plugins/dashboard.lua @@ -7,34 +7,34 @@ 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"} + 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" + " ", + -- "NvChad Loaded " .. plugins_count .. " plugins", + "NvChad v0.5", } diff --git a/lua/plugins/gitsigns.lua b/lua/plugins/gitsigns.lua index e2309ec..e1fa6c8 100644 --- a/lua/plugins/gitsigns.lua +++ b/lua/plugins/gitsigns.lua @@ -1,32 +1,32 @@ local present, gitsigns = pcall(require, "gitsigns") if not present then - return + return end 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\' : \'lua require"gitsigns".next_hunk()\''}, - ["n [c"] = {expr = true, '&diff ? \'[c\' : \'lua require"gitsigns".prev_hunk()\''}, - ["n hs"] = 'lua require"gitsigns".stage_hunk()', - ["n hu"] = 'lua require"gitsigns".undo_stage_hunk()', - ["n hr"] = 'lua require"gitsigns".reset_hunk()', - ["n hp"] = 'lua require"gitsigns".preview_hunk()', - ["n hb"] = 'lua require"gitsigns".blame_line()' - }, - watch_index = { - interval = 100 - }, - sign_priority = 5, - status_formatter = nil -- Use default + 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' : 'lua require\"gitsigns\".next_hunk()'" }, + ["n [c"] = { expr = true, "&diff ? '[c' : 'lua require\"gitsigns\".prev_hunk()'" }, + ["n hs"] = 'lua require"gitsigns".stage_hunk()', + ["n hu"] = 'lua require"gitsigns".undo_stage_hunk()', + ["n hr"] = 'lua require"gitsigns".reset_hunk()', + ["n hp"] = 'lua require"gitsigns".preview_hunk()', + ["n hb"] = 'lua require"gitsigns".blame_line()', + }, + watch_index = { + interval = 100, + }, + sign_priority = 5, + status_formatter = nil, -- Use default } diff --git a/lua/plugins/icons.lua b/lua/plugins/icons.lua index 3425fde..47fa00f 100644 --- a/lua/plugins/icons.lua +++ b/lua/plugins/icons.lua @@ -1,122 +1,122 @@ local present, icons = pcall(require, "nvim-web-devicons") if not present then - return + return end 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" - } - } + 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", + }, + }, } diff --git a/lua/plugins/lspconfig.lua b/lua/plugins/lspconfig.lua index 2799e05..8e67559 100644 --- a/lua/plugins/lspconfig.lua +++ b/lua/plugins/lspconfig.lua @@ -1,42 +1,42 @@ local present1, lspconfig = pcall(require, "lspconfig") local present2, lspinstall = pcall(require, "lspinstall") if not (present1 or present2) then - return + return end 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, ...) - end - - -- Mappings. - - buf_set_keymap("n", "gD", "lua vim.lsp.buf.declaration()", opts) - buf_set_keymap("n", "gd", "lua vim.lsp.buf.definition()", opts) - buf_set_keymap("n", "K", "lua vim.lsp.buf.hover()", opts) - buf_set_keymap("n", "gi", "lua vim.lsp.buf.implementation()", opts) - buf_set_keymap("n", "", "lua vim.lsp.buf.signature_help()", opts) - buf_set_keymap("n", "wa", "lua vim.lsp.buf.add_workspace_folder()", opts) - buf_set_keymap("n", "wr", "lua vim.lsp.buf.remove_workspace_folder()", opts) - buf_set_keymap("n", "wl", "lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))", opts) - buf_set_keymap("n", "D", "lua vim.lsp.buf.type_definition()", opts) - buf_set_keymap("n", "rn", "lua vim.lsp.buf.rename()", opts) - buf_set_keymap("n", "gr", "lua vim.lsp.buf.references()", opts) - buf_set_keymap("n", "e", "lua vim.lsp.diagnostic.show_line_diagnostics()", opts) - buf_set_keymap("n", "[d", "lua vim.lsp.diagnostic.goto_prev()", opts) - buf_set_keymap("n", "]d", "lua vim.lsp.diagnostic.goto_next()", opts) - buf_set_keymap("n", "q", "lua vim.lsp.diagnostic.set_loclist()", opts) - - -- Set some keybinds conditional on server capabilities - if client.resolved_capabilities.document_formatting then - buf_set_keymap("n", "f", "lua vim.lsp.buf.formatting()", opts) - elseif client.resolved_capabilities.document_range_formatting then - buf_set_keymap("n", "f", "lua vim.lsp.buf.range_formatting()", opts) - end + 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, ...) + end + + -- Mappings. + + buf_set_keymap("n", "gD", "lua vim.lsp.buf.declaration()", opts) + buf_set_keymap("n", "gd", "lua vim.lsp.buf.definition()", opts) + buf_set_keymap("n", "K", "lua vim.lsp.buf.hover()", opts) + buf_set_keymap("n", "gi", "lua vim.lsp.buf.implementation()", opts) + buf_set_keymap("n", "", "lua vim.lsp.buf.signature_help()", opts) + buf_set_keymap("n", "wa", "lua vim.lsp.buf.add_workspace_folder()", opts) + buf_set_keymap("n", "wr", "lua vim.lsp.buf.remove_workspace_folder()", opts) + buf_set_keymap("n", "wl", "lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))", opts) + buf_set_keymap("n", "D", "lua vim.lsp.buf.type_definition()", opts) + buf_set_keymap("n", "rn", "lua vim.lsp.buf.rename()", opts) + buf_set_keymap("n", "gr", "lua vim.lsp.buf.references()", opts) + buf_set_keymap("n", "e", "lua vim.lsp.diagnostic.show_line_diagnostics()", opts) + buf_set_keymap("n", "[d", "lua vim.lsp.diagnostic.goto_prev()", opts) + buf_set_keymap("n", "]d", "lua vim.lsp.diagnostic.goto_next()", opts) + buf_set_keymap("n", "q", "lua vim.lsp.diagnostic.set_loclist()", opts) + + -- Set some keybinds conditional on server capabilities + if client.resolved_capabilities.document_formatting then + buf_set_keymap("n", "f", "lua vim.lsp.buf.formatting()", opts) + elseif client.resolved_capabilities.document_range_formatting then + buf_set_keymap("n", "f", "lua vim.lsp.buf.range_formatting()", opts) + end end local capabilities = vim.lsp.protocol.make_client_capabilities() @@ -45,53 +45,53 @@ 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 - }, - maxPreload = 100000, - preloadFileSize = 10000 - }, - telemetry = { - enable = false - } - } - } - } - end - end + 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, + }, + maxPreload = 100000, + preloadFileSize = 10000, + }, + telemetry = { + enable = false, + }, + }, + }, + } + end + end end setup_servers() -- Automatically reload after `:LspInstall ` 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 + setup_servers() -- reload installed servers + vim.cmd "bufdo e" end -- replace the default lsp diagnostic symbols function lspSymbol(name, icon) - vim.fn.sign_define("LspDiagnosticsSign" .. name, {text = icon, numhl = "LspDiagnosticsDefaul" .. name}) + vim.fn.sign_define("LspDiagnosticsSign" .. name, { text = icon, numhl = "LspDiagnosticsDefaul" .. name }) end lspSymbol("Error", "") @@ -99,29 +99,25 @@ lspSymbol("Warning", "") lspSymbol("Information", "") lspSymbol("Hint", "") -vim.lsp.handlers["textDocument/publishDiagnostics"] = - vim.lsp.with( - vim.lsp.diagnostic.on_publish_diagnostics, - { - virtual_text = { - prefix = "", - spacing = 0 - }, - signs = true, - underline = true, - -- set this to true if you want diagnostics to show in insert mode - update_in_insert = false - } -) +vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, { + virtual_text = { + prefix = "", + spacing = 0, + }, + signs = true, + underline = true, + -- set this to true if you want diagnostics to show in insert mode + update_in_insert = false, +}) -- suppress error messages from lang servers vim.notify = function(msg, log_level, _opts) - if msg:match("exit code") then - return - end - if log_level == vim.log.levels.ERROR then - vim.api.nvim_err_writeln(msg) - else - vim.api.nvim_echo({{msg}}, true, {}) - end + if msg:match "exit code" then + return + end + if log_level == vim.log.levels.ERROR then + vim.api.nvim_err_writeln(msg) + else + vim.api.nvim_echo({ { msg } }, true, {}) + end end diff --git a/lua/plugins/luasnip.lua b/lua/plugins/luasnip.lua index d15cd79..ef67a1c 100644 --- a/lua/plugins/luasnip.lua +++ b/lua/plugins/luasnip.lua @@ -1,72 +1,66 @@ local present, luasnip = pcall(require, "luasnip") if not present then - return + return end local t = function(str) - return vim.api.nvim_replace_termcodes(str, true, true, true) + return vim.api.nvim_replace_termcodes(str, true, true, true) end local check_back_space = function() - local col = vim.fn.col(".") - 1 - if col == 0 or vim.fn.getline("."):sub(col, col):match("%s") then - return true - else - return false - end + local col = vim.fn.col "." - 1 + if col == 0 or vim.fn.getline("."):sub(col, col):match "%s" then + return true + else + return false + end end _G.tab_complete = function() - if vim.fn.pumvisible() == 1 then - return t "" - elseif luasnip and luasnip.expand_or_jumpable() then - return t "luasnip-expand-or-jump" - elseif check_back_space() then - return t "" - else - return vim.fn["compe#complete"]() - end + if vim.fn.pumvisible() == 1 then + return t "" + elseif luasnip and luasnip.expand_or_jumpable() then + return t "luasnip-expand-or-jump" + elseif check_back_space() then + return t "" + else + return vim.fn["compe#complete"]() + end end _G.s_tab_complete = function() - if vim.fn.pumvisible() == 1 then - return t "" - elseif luasnip and luasnip.jumpable(-1) then - return t "luasnip-jump-prev" - else - return t "" - end + if vim.fn.pumvisible() == 1 then + return t "" + elseif luasnip and luasnip.jumpable(-1) then + return t "luasnip-jump-prev" + else + return t "" + end end _G.completions = function() - local npairs - if - not pcall( - function() - npairs = require "nvim-autopairs" - end - ) - then - return - end + 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"]("") - end - end - return npairs.check_break_line_char() + if vim.fn.pumvisible() == 1 then + if vim.fn.complete_info()["selected"] ~= -1 then + return vim.fn["compe#confirm"] "" + end + end + return npairs.check_break_line_char() end -vim.api.nvim_set_keymap("i", "", "v:lua.tab_complete()", {expr = true}) -vim.api.nvim_set_keymap("s", "", "v:lua.tab_complete()", {expr = true}) -vim.api.nvim_set_keymap("i", "", "v:lua.s_tab_complete()", {expr = true}) -vim.api.nvim_set_keymap("s", "", "v:lua.s_tab_complete()", {expr = true}) -vim.api.nvim_set_keymap("i", "", "v:lua.completions()", {expr = true}) +vim.api.nvim_set_keymap("i", "", "v:lua.tab_complete()", { expr = true }) +vim.api.nvim_set_keymap("s", "", "v:lua.tab_complete()", { expr = true }) +vim.api.nvim_set_keymap("i", "", "v:lua.s_tab_complete()", { expr = true }) +vim.api.nvim_set_keymap("s", "", "v:lua.s_tab_complete()", { expr = true }) +vim.api.nvim_set_keymap("i", "", "v:lua.completions()", { expr = true }) -luasnip.config.set_config( - { - history = true, - updateevents = "TextChanged,TextChangedI" - } -) +luasnip.config.set_config { + history = true, + updateevents = "TextChanged,TextChangedI", +} require("luasnip/loaders/from_vscode").load() diff --git a/lua/plugins/nvimtree.lua b/lua/plugins/nvimtree.lua index 4444755..cd5c735 100644 --- a/lua/plugins/nvimtree.lua +++ b/lua/plugins/nvimtree.lua @@ -1,6 +1,6 @@ local present, tree_c = pcall(require, "nvim-tree.config") if not present then - return + return end local tree_cb = tree_c.nvim_tree_callback @@ -10,9 +10,9 @@ 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_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_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 @@ -21,7 +21,7 @@ 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 = table.concat {":t:gs?$?/..", string.rep(" ", 1000), "?:gs?^??"} +g.nvim_tree_root_folder_modifier = table.concat { ":t:gs?$?/..", string.rep(" ", 1000), "?:gs?^??" } 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 @@ -30,66 +30,66 @@ 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 + 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 = "" - } + 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 = {"", "o", "<2-LeftMouse>"}, cb = tree_cb("edit")}, - {key = {"<2-RightMouse>", ""}, cb = tree_cb("cd")}, - {key = "", cb = tree_cb("vsplit")}, - {key = "", cb = tree_cb("split")}, - {key = "", cb = tree_cb("tabnew")}, - {key = "<", cb = tree_cb("prev_sibling")}, - {key = ">", cb = tree_cb("next_sibling")}, - {key = "P", cb = tree_cb("parent_node")}, - {key = "", cb = tree_cb("close_node")}, - {key = "", cb = tree_cb("close_node")}, - {key = "", 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 = "", 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")} + { key = { "", "o", "<2-LeftMouse>" }, cb = tree_cb "edit" }, + { key = { "<2-RightMouse>", "" }, cb = tree_cb "cd" }, + { key = "", cb = tree_cb "vsplit" }, + { key = "", cb = tree_cb "split" }, + { key = "", cb = tree_cb "tabnew" }, + { key = "<", cb = tree_cb "prev_sibling" }, + { key = ">", cb = tree_cb "next_sibling" }, + { key = "P", cb = tree_cb "parent_node" }, + { key = "", cb = tree_cb "close_node" }, + { key = "", cb = tree_cb "close_node" }, + { key = "", 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 = "", 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" }, } diff --git a/lua/plugins/others.lua b/lua/plugins/others.lua index 761b0ff..3236721 100644 --- a/lua/plugins/others.lua +++ b/lua/plugins/others.lua @@ -1,75 +1,71 @@ local M = {} M.colorizer = function() - local present, colorizer = pcall(require, "colorizer") - if present then - colorizer.setup() - vim.cmd("ColorizerReloadAllBuffers") - end + local present, colorizer = pcall(require, "colorizer") + if present then + colorizer.setup() + vim.cmd "ColorizerReloadAllBuffers" + end end M.comment = function() - local present, nvim_comment = pcall(require, "nvim_comment") - if present then - nvim_comment.setup() - end + local present, nvim_comment = pcall(require, "nvim_comment") + if present then + nvim_comment.setup() + end end M.escape = function() - vim.g.better_escape_interval = 300 - vim.g.better_escape_shortcut = {"jk"} + vim.g.better_escape_interval = 300 + vim.g.better_escape_shortcut = { "jk" } end M.lspkind = function() - local present, lspkind = pcall(require, "lspkind") - if present then - lspkind.init() - end + local present, lspkind = pcall(require, "lspkind") + if present then + lspkind.init() + end end M.neoscroll = function() - pcall( - function() - require("neoscroll").setup() - end - ) + pcall(function() + require("neoscroll").setup() + end) end M.blankline = function() - vim.g.indentLine_enabled = 1 - vim.g.indent_blankline_char = "▏" + vim.g.indentLine_enabled = 1 + vim.g.indent_blankline_char = "▏" - vim.g.indent_blankline_filetype_exclude = {"help", "terminal", "dashboard", "packer"} - vim.g.indent_blankline_buftype_exclude = {"terminal"} + vim.g.indent_blankline_filetype_exclude = { "help", "terminal", "dashboard", "packer" } + 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 + vim.g.indent_blankline_show_trailing_blankline_indent = false + vim.g.indent_blankline_show_first_indent_level = false end M.signature = function() - local present, lspsignature = pcall(require, "lsp_signature") - if present then - lspsignature.setup( - { - bind = true, - doc_lines = 2, - floating_window = true, - fix_pos = true, - hint_enable = true, - hint_prefix = " ", - hint_scheme = "String", - use_lspsaga = false, - hi_parameter = "Search", - max_height = 22, - max_width = 120, -- max_width of signature floating_window, line will be wrapped if exceed max_width - handler_opts = { - border = "single" -- double, single, shadow, none - }, - zindex = 200, -- by default it will be on top of all floating windows, set to 50 send it to bottom - padding = "" -- character to pad on left and right of signature can be ' ', or '|' etc - } - ) - end + local present, lspsignature = pcall(require, "lsp_signature") + if present then + lspsignature.setup { + bind = true, + doc_lines = 2, + floating_window = true, + fix_pos = true, + hint_enable = true, + hint_prefix = " ", + hint_scheme = "String", + use_lspsaga = false, + hi_parameter = "Search", + max_height = 22, + max_width = 120, -- max_width of signature floating_window, line will be wrapped if exceed max_width + handler_opts = { + border = "single", -- double, single, shadow, none + }, + zindex = 200, -- by default it will be on top of all floating windows, set to 50 send it to bottom + padding = "", -- character to pad on left and right of signature can be ' ', or '|' etc + } + end end return M diff --git a/lua/plugins/statusline.lua b/lua/plugins/statusline.lua index 5e0a282..0cea604 100644 --- a/lua/plugins/statusline.lua +++ b/lua/plugins/statusline.lua @@ -1,12 +1,12 @@ local present1, gl = pcall(require, "galaxyline") local present2, condition = pcall(require, "galaxyline.condition") if not (present1 or present2) then - return + return end local gls = gl.section -gl.short_line_list = {" "} +gl.short_line_list = { " " } local left_separator = "" -- or " " local right_separator = " " -- or "" @@ -15,224 +15,224 @@ 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} - } + 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 = right_separator .. " ", - separator_highlight = {colors.nord_blue, colors.lightbg} - } + statusIcon = { + provider = function() + return "  " + end, + highlight = { colors.statusline_bg, colors.nord_blue }, + separator = right_separator .. " ", + separator_highlight = { colors.nord_blue, colors.lightbg }, + }, } gls.left[3] = { - FileIcon = { - provider = "FileIcon", - condition = condition.buffer_not_empty, - highlight = {colors.white, colors.lightbg} - } + FileIcon = { + provider = "FileIcon", + condition = condition.buffer_not_empty, + highlight = { colors.white, colors.lightbg }, + }, } gls.left[4] = { - FileName = { - provider = function() - local fileinfo = require('galaxyline.provider_fileinfo') - return fileinfo.get_current_file_name("", "") - end, - condition = condition.buffer_not_empty, - highlight = {colors.white, colors.lightbg}, - separator = right_separator, - separator_highlight = {colors.lightbg, colors.lightbg2} - } + FileName = { + provider = function() + local fileinfo = require "galaxyline.provider_fileinfo" + return fileinfo.get_current_file_name("", "") + end, + condition = condition.buffer_not_empty, + highlight = { colors.white, colors.lightbg }, + separator = right_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 = right_separator, - separator_highlight = {colors.lightbg2, colors.statusline_bg} - } + 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 = right_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 + 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} - } + 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} - } + 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} - } + 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} - } + DiagnosticError = { + provider = "DiagnosticError", + icon = "  ", + highlight = { colors.red, colors.statusline_bg }, + }, } gls.left[10] = { - DiagnosticWarn = { - provider = "DiagnosticWarn", - icon = "  ", - highlight = {colors.yellow, colors.statusline_bg} - } + 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 - local buf_ft = vim.api.nvim_buf_get_option(0, "filetype") - for _, client in ipairs(clients) do - local filetypes = client.config.filetypes - if filetypes and vim.fn.index(filetypes, buf_ft) ~= -1 then - return " " .. "  " .. " LSP" - end - end - return "" - else - return "" + lsp_status = { + provider = function() + local clients = vim.lsp.get_active_clients() + if next(clients) ~= nil then + local buf_ft = vim.api.nvim_buf_get_option(0, "filetype") + for _, client in ipairs(clients) do + local filetypes = client.config.filetypes + if filetypes and vim.fn.index(filetypes, buf_ft) ~= -1 then + return " " .. "  " .. " LSP" + end end - end, - highlight = {colors.grey_fg2, colors.statusline_bg} - } + return "" + 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} - } + 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} - } + GitBranch = { + provider = "GitBranch", + condition = require("galaxyline.condition").check_git_workspace, + highlight = { colors.grey_fg2, colors.statusline_bg }, + }, } local mode_colors = { - [110] = {"NORMAL", colors.red}, - [105] = {"INSERT", colors.dark_purple}, - [99] = {"COMMAND", colors.pink}, - [116] = {"TERMINAL", colors.green}, - [118] = {"VISUAL", colors.cyan}, - [22] = {"V-BLOCK", colors.cyan}, - [86] = {"V_LINE", colors.cyan}, - [82] = {"REPLACE", colors.orange}, - [115] = {"SELECT", colors.nord_blue}, - [83] = {"S-LINE", colors.nord_blue} + [110] = { "NORMAL", colors.red }, + [105] = { "INSERT", colors.dark_purple }, + [99] = { "COMMAND", colors.pink }, + [116] = { "TERMINAL", colors.green }, + [118] = { "VISUAL", colors.cyan }, + [22] = { "V-BLOCK", colors.cyan }, + [86] = { "V_LINE", colors.cyan }, + [82] = { "REPLACE", colors.orange }, + [115] = { "SELECT", colors.nord_blue }, + [83] = { "S-LINE", colors.nord_blue }, } local mode = function(n) - return mode_colors[vim.fn.mode():byte()][n] + return mode_colors[vim.fn.mode():byte()][n] end gls.right[4] = { - left_round = { - provider = function() - vim.cmd("hi Galaxyleft_round guifg=" .. mode(2)) - return left_separator - end, - separator = " ", - separator_highlight = {colors.statusline_bg, colors.statusline_bg}, - highlight = {"GalaxyViMode", colors.statusline_bg} - } + left_round = { + provider = function() + vim.cmd("hi Galaxyleft_round guifg=" .. mode(2)) + return left_separator + end, + separator = " ", + separator_highlight = { colors.statusline_bg, colors.statusline_bg }, + highlight = { "GalaxyViMode", colors.statusline_bg }, + }, } gls.right[5] = { - viMode_icon = { - provider = function() - vim.cmd("hi GalaxyviMode_icon guibg=" .. mode(2)) - return " " - end, - highlight = {colors.statusline_bg, colors.red} - } + viMode_icon = { + provider = function() + vim.cmd("hi GalaxyviMode_icon guibg=" .. mode(2)) + return " " + end, + highlight = { colors.statusline_bg, colors.red }, + }, } gls.right[6] = { - ViMode = { - provider = function() - vim.cmd("hi GalaxyViMode guifg=" .. mode(2)) - return " " .. mode(1) .. " " - end, - highlight = {"GalaxyViMode", colors.lightbg} - } + ViMode = { + provider = function() + vim.cmd("hi GalaxyViMode guifg=" .. mode(2)) + return " " .. mode(1) .. " " + end, + highlight = { "GalaxyViMode", colors.lightbg }, + }, } gls.right[7] = { - some_RoundIcon = { - provider = function() - return " " - end, - separator = left_separator, - separator_highlight = {colors.green, colors.lightbg}, - highlight = {colors.lightbg, colors.green} - } + some_RoundIcon = { + provider = function() + return " " + end, + separator = left_separator, + separator_highlight = { colors.green, colors.lightbg }, + highlight = { colors.lightbg, colors.green }, + }, } gls.right[8] = { - 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} - } + 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 }, + }, } diff --git a/lua/plugins/telescope.lua b/lua/plugins/telescope.lua index d3a9447..46f91ae 100644 --- a/lua/plugins/telescope.lua +++ b/lua/plugins/telescope.lua @@ -1,88 +1,82 @@ local present, telescope = pcall(require, "telescope") if not present then - return + return end -telescope.setup( - { - defaults = { - vimgrep_arguments = { - "rg", - "--color=never", - "--no-heading", - "--with-filename", - "--line-number", - "--column", - "--smart-case" - }, - prompt_prefix = "  ", - selection_caret = " ", - entry_prefix = " ", - initial_mode = "insert", - selection_strategy = "reset", - sorting_strategy = "descending", - layout_strategy = "horizontal", - layout_config = { - horizontal = { - prompt_position = "top", - preview_width = 0.55, - results_width = 0.8 - }, - vertical = { - mirror = false - }, - width = 0.87, - height = 0.80, - preview_cutoff = 120 - }, - file_sorter = require("telescope.sorters").get_fuzzy_file, - file_ignore_patterns = {}, - generic_sorter = require("telescope.sorters").get_generic_fuzzy_sorter, - path_display = {"absolute"}, - winblend = 0, - border = {}, - borderchars = {"─", "│", "─", "│", "╭", "╮", "╯", "╰"}, - 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, - -- Developer configurations: Not meant for general override - buffer_previewer_maker = require("telescope.previewers").buffer_previewer_maker - }, - extensions = { - fzf = { - fuzzy = true, -- false will only do exact matching - override_generic_sorter = false, -- override the generic sorter - override_file_sorter = true, -- override the file sorter - case_mode = "smart_case" -- or "ignore_case" or "respect_case" - -- the default case_mode is "smart_case" - }, - media_files = { - filetypes = {"png", "webp", "jpg", "jpeg"}, - find_cmd = "rg" -- find command (defaults to `fd`) - } - } - } -) +telescope.setup { + defaults = { + vimgrep_arguments = { + "rg", + "--color=never", + "--no-heading", + "--with-filename", + "--line-number", + "--column", + "--smart-case", + }, + prompt_prefix = "  ", + selection_caret = " ", + entry_prefix = " ", + initial_mode = "insert", + selection_strategy = "reset", + sorting_strategy = "descending", + layout_strategy = "horizontal", + layout_config = { + horizontal = { + prompt_position = "top", + preview_width = 0.55, + results_width = 0.8, + }, + vertical = { + mirror = false, + }, + width = 0.87, + height = 0.80, + preview_cutoff = 120, + }, + file_sorter = require("telescope.sorters").get_fuzzy_file, + file_ignore_patterns = {}, + generic_sorter = require("telescope.sorters").get_generic_fuzzy_sorter, + path_display = { "absolute" }, + winblend = 0, + border = {}, + borderchars = { "─", "│", "─", "│", "╭", "╮", "╯", "╰" }, + 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, + -- Developer configurations: Not meant for general override + buffer_previewer_maker = require("telescope.previewers").buffer_previewer_maker, + }, + extensions = { + fzf = { + fuzzy = true, -- false will only do exact matching + override_generic_sorter = false, -- override the generic sorter + override_file_sorter = true, -- override the file sorter + case_mode = "smart_case", -- or "ignore_case" or "respect_case" + -- the default case_mode is "smart_case" + }, + media_files = { + filetypes = { "png", "webp", "jpg", "jpeg" }, + find_cmd = "rg", -- find command (defaults to `fd`) + }, + }, +} -- load the theme_switcher extension -require("telescope").load_extension("themes") +require("telescope").load_extension "themes" -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 - print("After completion of PackerCompile, restart neovim.") - -- Trigger packer compile on PackerComplete, so it properly waits for PackerSync - vim.cmd 'autocmd User PackerComplete ++once lua print "Waiting for PackerCompile.." require("packer").compile()' - vim.cmd 'autocmd User PackerCompileDone ++once echo "Packer Compile done, restart neovim."' - require "pluginList" - require("packer").update("telescope-fzf-native.nvim", "telescope-media-files.nvim") +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 + print "After completion of PackerCompile, restart neovim." + -- Trigger packer compile on PackerComplete, so it properly waits for PackerSync + vim.cmd 'autocmd User PackerComplete ++once lua print "Waiting for PackerCompile.." require("packer").compile()' + vim.cmd 'autocmd User PackerCompileDone ++once echo "Packer Compile done, restart neovim."' + require "pluginList" + require("packer").update("telescope-fzf-native.nvim", "telescope-media-files.nvim") end diff --git a/lua/plugins/toggleterm.lua b/lua/plugins/toggleterm.lua index a3f7722..7baaa64 100644 --- a/lua/plugins/toggleterm.lua +++ b/lua/plugins/toggleterm.lua @@ -1,47 +1,47 @@ local present, toggleterm = pcall(require, "toggleterm") if not present then - return + return end toggleterm.setup { - -- size can be a number or function which is passed the current terminal - size = function(term) - if term.direction == "horizontal" then - return 15 - elseif term.direction == "vertical" then - return vim.o.columns * 0.4 - end - end, - -- open_mapping = [[]], -- mapping set in mappings.lua - hide_numbers = true, -- hide the number column in toggleterm buffers - shade_terminals = false, - start_in_insert = true, - -- insert_mappings = true, -- see 'open_mapping', not set on purpose - -- whether or not the open mapping applies in insert mode - persist_size = true, - direction = 'vertical', - close_on_exit = true, -- close the terminal window when the process exits - -- This field is only relevant if direction is set to 'float' - float_opts = { - border = 'single', - winblend = 0, - highlights = { - border = "Normal", - background = "Normal", - } - } + -- size can be a number or function which is passed the current terminal + size = function(term) + if term.direction == "horizontal" then + return 15 + elseif term.direction == "vertical" then + return vim.o.columns * 0.4 + end + end, + -- open_mapping = [[]], -- mapping set in mappings.lua + hide_numbers = true, -- hide the number column in toggleterm buffers + shade_terminals = false, + start_in_insert = true, + -- insert_mappings = true, -- see 'open_mapping', not set on purpose + -- whether or not the open mapping applies in insert mode + persist_size = true, + direction = "vertical", + close_on_exit = true, -- close the terminal window when the process exits + -- This field is only relevant if direction is set to 'float' + float_opts = { + border = "single", + winblend = 0, + highlights = { + border = "Normal", + background = "Normal", + }, + }, } local Terminal = require("toggleterm.terminal").Terminal _G.termW = Terminal:new { - direction = "window", + direction = "window", } _G.termV = Terminal:new { - direction = "vertical", + direction = "vertical", } _G.termH = Terminal:new { - direction = "horizontal", + direction = "horizontal", } diff --git a/lua/plugins/treesitter.lua b/lua/plugins/treesitter.lua index c1ca2ef..39c9a75 100644 --- a/lua/plugins/treesitter.lua +++ b/lua/plugins/treesitter.lua @@ -1,15 +1,15 @@ local present, ts_config = pcall(require, "nvim-treesitter.configs") if not present then - return + return end ts_config.setup { - ensure_installed = { - "bash", - "lua" - }, - highlight = { - enable = true, - use_languagetree = true - } + ensure_installed = { + "bash", + "lua", + }, + highlight = { + enable = true, + use_languagetree = true, + }, } diff --git a/lua/plugins/zenmode.lua b/lua/plugins/zenmode.lua index 3990559..16b5b62 100644 --- a/lua/plugins/zenmode.lua +++ b/lua/plugins/zenmode.lua @@ -1,70 +1,68 @@ local present, true_zen = pcall(require, "true-zen") if not present then - return + return end -true_zen.setup( - { - ui = { - bottom = { - laststatus = 0, - ruler = false, - showmode = false, - showcmd = false, - cmdheight = 1 - }, - top = { - showtabline = 0 - }, - left = { - number = false, - relativenumber = false, - signcolumn = "no" - } - }, - modes = { - ataraxis = { - left_padding = 32, - right_padding = 32, - top_padding = 1, - bottom_padding = 1, - ideal_writing_area_width = {0}, - auto_padding = true, - keep_default_fold_fillchars = true, - custome_bg = "", - bg_configuration = true, - affected_higroups = { - NonText = {}, - FoldColumn = {}, - ColorColumn = {}, - VertSplit = {}, - StatusLine = {}, - StatusLineNC = {}, - SignColumn = {} - } - }, - focus = { - margin_of_error = 5, - focus_method = "experimental" - } - }, - integrations = { - vim_gitgutter = false, - galaxyline = true, - tmux = false, - gitsigns = false, - nvim_bufferline = true, - limelight = false, - vim_airline = false, - vim_powerline = false, - vim_signify = false, - express_line = false, - lualine = false - }, - misc = { - on_off_commands = false, - ui_elements_commands = false, - cursor_by_mode = false - } - } -) +true_zen.setup { + ui = { + bottom = { + laststatus = 0, + ruler = false, + showmode = false, + showcmd = false, + cmdheight = 1, + }, + top = { + showtabline = 0, + }, + left = { + number = false, + relativenumber = false, + signcolumn = "no", + }, + }, + modes = { + ataraxis = { + left_padding = 32, + right_padding = 32, + top_padding = 1, + bottom_padding = 1, + ideal_writing_area_width = { 0 }, + auto_padding = true, + keep_default_fold_fillchars = true, + custome_bg = "", + bg_configuration = true, + affected_higroups = { + NonText = {}, + FoldColumn = {}, + ColorColumn = {}, + VertSplit = {}, + StatusLine = {}, + StatusLineNC = {}, + SignColumn = {}, + }, + }, + focus = { + margin_of_error = 5, + focus_method = "experimental", + }, + }, + integrations = { + vim_gitgutter = false, + galaxyline = true, + tmux = false, + gitsigns = false, + nvim_bufferline = true, + limelight = false, + vim_airline = false, + vim_powerline = false, + vim_signify = false, + express_line = false, + lualine = false, + }, + misc = { + on_off_commands = false, + ui_elements_commands = false, + cursor_by_mode = false, + }, +} diff --git a/lua/telescope/_extensions/themes.lua b/lua/telescope/_extensions/themes.lua index ba3ed95..e0aed13 100644 --- a/lua/telescope/_extensions/themes.lua +++ b/lua/telescope/_extensions/themes.lua @@ -4,144 +4,139 @@ local M = {} -- Custom theme picker -- Most of the code is copied from telescope colorscheme plugin, mostly for preview creation M.theme_switcher = function(opts) - local pickers, finders, previewers, actions, action_state, utils, conf - if pcall(require, "telescope") then - pickers = require "telescope.pickers" - finders = require "telescope.finders" - previewers = require "telescope.previewers" + local pickers, finders, previewers, actions, action_state, utils, conf + if pcall(require, "telescope") then + pickers = require "telescope.pickers" + finders = require "telescope.finders" + previewers = require "telescope.previewers" - actions = require "telescope.actions" - action_state = require "telescope.actions.state" - utils = require "telescope.utils" - conf = require("telescope.config").values - else - error "Cannot find telescope!" - end + actions = require "telescope.actions" + action_state = require "telescope.actions.state" + utils = require "telescope.utils" + conf = require("telescope.config").values + else + error "Cannot find telescope!" + end - local local_utils = require "utils" - local reload_theme = local_utils.reload_theme + local local_utils = require "utils" + local reload_theme = local_utils.reload_theme - -- get a table of available themes - local themes = local_utils.list_themes() - if next(themes) ~= nil then - -- save this to use it for later to restore if theme not changed - local current_theme = vim.g.nvchad_theme - local new_theme = "" - local change = false + -- get a table of available themes + local themes = local_utils.list_themes() + if next(themes) ~= nil then + -- save this to use it for later to restore if theme not changed + local current_theme = vim.g.nvchad_theme + local new_theme = "" + local change = false - -- buffer number and name - local bufnr = vim.api.nvim_get_current_buf() - local bufname = vim.api.nvim_buf_get_name(bufnr) + -- buffer number and name + local bufnr = vim.api.nvim_get_current_buf() + local bufname = vim.api.nvim_buf_get_name(bufnr) - local previewer + local previewer - -- in case its not a normal buffer - if vim.fn.buflisted(bufnr) ~= 1 then - local deleted = false - local function del_win(win_id) - if win_id and vim.api.nvim_win_is_valid(win_id) then - utils.buf_delete(vim.api.nvim_win_get_buf(win_id)) - pcall(vim.api.nvim_win_close, win_id, true) - end + -- in case its not a normal buffer + if vim.fn.buflisted(bufnr) ~= 1 then + local deleted = false + local function del_win(win_id) + if win_id and vim.api.nvim_win_is_valid(win_id) then + utils.buf_delete(vim.api.nvim_win_get_buf(win_id)) + pcall(vim.api.nvim_win_close, win_id, true) end + end - previewer = - previewers.new { - preview_fn = function(_, entry, status) - if not deleted then - deleted = true - del_win(status.preview_win) - del_win(status.preview_border_win) - end - reload_theme(entry.value) - end - } - else - -- show current buffer content in previewer - previewer = - previewers.new_buffer_previewer { - get_buffer_by_name = function() - return bufname - end, - define_preview = function(self, entry) - if vim.loop.fs_stat(bufname) then - conf.buffer_previewer_maker(bufname, self.state.bufnr, {bufname = self.state.bufname}) - else - local lines = vim.api.nvim_buf_get_lines(bufnr, 0, -1, false) - vim.api.nvim_buf_set_lines(self.state.bufnr, 0, -1, false, lines) - end - reload_theme(entry.value) - end - } - end + previewer = previewers.new { + preview_fn = function(_, entry, status) + if not deleted then + deleted = true + del_win(status.preview_win) + del_win(status.preview_border_win) + end + reload_theme(entry.value) + end, + } + else + -- show current buffer content in previewer + previewer = previewers.new_buffer_previewer { + get_buffer_by_name = function() + return bufname + end, + define_preview = function(self, entry) + if vim.loop.fs_stat(bufname) then + conf.buffer_previewer_maker(bufname, self.state.bufnr, { bufname = self.state.bufname }) + else + local lines = vim.api.nvim_buf_get_lines(bufnr, 0, -1, false) + vim.api.nvim_buf_set_lines(self.state.bufnr, 0, -1, false, lines) + end + reload_theme(entry.value) + end, + } + end - local picker = - pickers.new( - { - prompt_title = "Set NvChad color", - finder = finders.new_table(themes), - previewer = previewer, - sorter = conf.generic_sorter(opts), - attach_mappings = function() - actions.select_default:replace( - -- if a entry is selected, change current_theme to that - function(prompt_bufnr) - local selection = action_state.get_selected_entry() - new_theme = selection.value - change = true - actions.close(prompt_bufnr) - end - ) - return true - end - } - ) + local picker = pickers.new { + prompt_title = "Set NvChad color", + finder = finders.new_table(themes), + previewer = previewer, + sorter = conf.generic_sorter(opts), + attach_mappings = function() + actions.select_default:replace( + -- if a entry is selected, change current_theme to that + function(prompt_bufnr) + local selection = action_state.get_selected_entry() + new_theme = selection.value + change = true + actions.close(prompt_bufnr) + end + ) + return true + end, + } - -- rewrite picker.close_windows - local close_windows = picker.close_windows - picker.close_windows = function(status) - close_windows(status) - -- now apply the theme, if success, then ask for default theme change - local final_theme - if change then - final_theme = new_theme - else - final_theme = current_theme - end + -- rewrite picker.close_windows + local close_windows = picker.close_windows + picker.close_windows = function(status) + close_windows(status) + -- now apply the theme, if success, then ask for default theme change + local final_theme + if change then + final_theme = new_theme + else + final_theme = current_theme + end - if reload_theme(final_theme) then - if change then - -- ask for confirmation to set as default theme - local ans = string.lower(vim.fn.input("Set " .. new_theme .. " as default theme ? [y/N] ")) == "y" - local_utils.clear_cmdline() - if ans then - local_utils.change_theme(current_theme, final_theme) - else - -- will be used in restoring nvchad theme var - final_theme = current_theme - end - end - else - final_theme = current_theme + if reload_theme(final_theme) then + if change then + -- ask for confirmation to set as default theme + local ans = string.lower(vim.fn.input("Set " .. new_theme .. " as default theme ? [y/N] ")) == "y" + local_utils.clear_cmdline() + if ans then + local_utils.change_theme(current_theme, final_theme) + else + -- will be used in restoring nvchad theme var + final_theme = current_theme + end end - -- set nvchad_theme global var - vim.g.nvchad_theme = final_theme - end - -- launch the telescope picker - picker:find() - else - print("No themes found in " .. vim.fn.stdpath("config") .. "/lua/themes") - end + else + final_theme = current_theme + end + -- set nvchad_theme global var + vim.g.nvchad_theme = final_theme + end + -- launch the telescope picker + picker:find() + else + print("No themes found in " .. vim.fn.stdpath "config" .. "/lua/themes") + end end -- register theme swticher as themes to telescope local present, telescope = pcall(require, "telescope") if present then - return telescope.register_extension { - exports = { - themes = M.theme_switcher - } - } + return telescope.register_extension { + exports = { + themes = M.theme_switcher, + }, + } else - error "Cannot find telescope!" + error "Cannot find telescope!" end diff --git a/lua/theme.lua b/lua/theme.lua index b2ce61b..04f0871 100644 --- a/lua/theme.lua +++ b/lua/theme.lua @@ -4,9 +4,9 @@ vim.g.nvchad_theme = chad_theme local present, base16 = pcall(require, "base16") if present then - base16(base16.themes(chad_theme), true) - require "highlights" - return true + base16(base16.themes(chad_theme), true) + require "highlights" + return true else - return false + return false end diff --git a/lua/themes/chadracula.lua b/lua/themes/chadracula.lua index 8a01a59..63af494 100644 --- a/lua/themes/chadracula.lua +++ b/lua/themes/chadracula.lua @@ -1,33 +1,33 @@ local colors = { - white = "#F8F8F2", - darker_black = "#232531", - black = "#282A36", -- nvim bg - black2 = "#303341", - one_bg = "#373844", -- real bg of onedark - one_bg2 = "#44475a", - one_bg3 = "#565761", - grey = "#41434f", - grey_fg = "#5a5c68", - grey_fg2 = "#5a5c68", - light_grey = "#636571", - red = "#FF5555", - baby_pink = "#DE8C92", - pink = "#FF79C6", - line = "#373844", -- for lines like vertsplit - green = "#50FA7B", - vibrant_green = "#69FF94", - nord_blue = "#b389ef", - blue = "#BD93F9", - yellow = "#F1FA8C", - sun = "#FFFFA5", - purple = "#BD93F9", - dark_purple = "#BD93F9", - teal = "#0088cc", - orange = "#FFB86C", - cyan = "#8BE9FD", - statusline_bg = "#2b2d39", - lightbg = "#343642", - lightbg2 = "#2f313d" + white = "#F8F8F2", + darker_black = "#232531", + black = "#282A36", -- nvim bg + black2 = "#303341", + one_bg = "#373844", -- real bg of onedark + one_bg2 = "#44475a", + one_bg3 = "#565761", + grey = "#41434f", + grey_fg = "#5a5c68", + grey_fg2 = "#5a5c68", + light_grey = "#636571", + red = "#FF5555", + baby_pink = "#DE8C92", + pink = "#FF79C6", + line = "#373844", -- for lines like vertsplit + green = "#50FA7B", + vibrant_green = "#69FF94", + nord_blue = "#b389ef", + blue = "#BD93F9", + yellow = "#F1FA8C", + sun = "#FFFFA5", + purple = "#BD93F9", + dark_purple = "#BD93F9", + teal = "#0088cc", + orange = "#FFB86C", + cyan = "#8BE9FD", + statusline_bg = "#2b2d39", + lightbg = "#343642", + lightbg2 = "#2f313d", } return colors diff --git a/lua/themes/everforest.lua b/lua/themes/everforest.lua index 1ae64c3..37ba4b6 100644 --- a/lua/themes/everforest.lua +++ b/lua/themes/everforest.lua @@ -1,33 +1,33 @@ local colors = { - white = "#fff9e8", - darker_black = "#272f35", - black = "#2b3339", -- nvim bg - black2 = "#323a40", - one_bg = "#333b41", - one_bg2 = "#363e44", - one_bg3 = "#3a4248", - grey = "#4a5258", - grey_fg = "#50585e", - grey_fg2 = "#545c62", - light_grey = "#586066", - red = "#e67e80", - baby_pink = "#ce8196", - pink = "#ff75a0", - line = "#3a4248", -- for lines like vertsplit - green = "#83c092", - vibrant_green = "#a7c080", - nord_blue = "#78b4ac", - blue = "#7fbbb3", - yellow = "#dbbc7f", - sun = "#d1b171", - purple = "#b4bbc8", - dark_purple = "#d699b6", - teal = "#69a59d", - orange = "#e69875", - cyan = "#95d1c9", - statusline_bg = "#2e363c", - lightbg = "#3d454b", - lightbg2 = "#333b41" + white = "#fff9e8", + darker_black = "#272f35", + black = "#2b3339", -- nvim bg + black2 = "#323a40", + one_bg = "#333b41", + one_bg2 = "#363e44", + one_bg3 = "#3a4248", + grey = "#4a5258", + grey_fg = "#50585e", + grey_fg2 = "#545c62", + light_grey = "#586066", + red = "#e67e80", + baby_pink = "#ce8196", + pink = "#ff75a0", + line = "#3a4248", -- for lines like vertsplit + green = "#83c092", + vibrant_green = "#a7c080", + nord_blue = "#78b4ac", + blue = "#7fbbb3", + yellow = "#dbbc7f", + sun = "#d1b171", + purple = "#b4bbc8", + dark_purple = "#d699b6", + teal = "#69a59d", + orange = "#e69875", + cyan = "#95d1c9", + statusline_bg = "#2e363c", + lightbg = "#3d454b", + lightbg2 = "#333b41", } return colors diff --git a/lua/themes/gruvchad.lua b/lua/themes/gruvchad.lua index 415e858..4c1ee5a 100644 --- a/lua/themes/gruvchad.lua +++ b/lua/themes/gruvchad.lua @@ -1,33 +1,33 @@ local colors = { - white = "#c7b89d", - darker_black = "#1e2122", - black = "#222526", -- nvim bg - black2 = "#26292a", - one_bg = "#2b2e2f", - one_bg2 = "#2f3233", - one_bg3 = "#313435", - grey = "#46494a", - grey_fg = "#5d6061", - grey_fg2 = "#5b5e5f", - light_grey = "#585b5c", - red = "#ec6b64", - baby_pink = "#ce8196", - pink = "#ff75a0", - line = "#2c2f30", -- for lines like vertsplit - green = "#89b482", - vibrant_green = "#a9b665", - nord_blue = "#6f8faf", - blue = "#6d8dad", - yellow = "#d6b676", - sun = "#d1b171", - purple = "#b4bbc8", - dark_purple = "#cc7f94", - teal = "#749689", - orange = "#e78a4e", - cyan = "#82b3a8", - statusline_bg = "#252829", - lightbg = "#2d3139", - lightbg2 = "#262a32" + white = "#c7b89d", + darker_black = "#1e2122", + black = "#222526", -- nvim bg + black2 = "#26292a", + one_bg = "#2b2e2f", + one_bg2 = "#2f3233", + one_bg3 = "#313435", + grey = "#46494a", + grey_fg = "#5d6061", + grey_fg2 = "#5b5e5f", + light_grey = "#585b5c", + red = "#ec6b64", + baby_pink = "#ce8196", + pink = "#ff75a0", + line = "#2c2f30", -- for lines like vertsplit + green = "#89b482", + vibrant_green = "#a9b665", + nord_blue = "#6f8faf", + blue = "#6d8dad", + yellow = "#d6b676", + sun = "#d1b171", + purple = "#b4bbc8", + dark_purple = "#cc7f94", + teal = "#749689", + orange = "#e78a4e", + cyan = "#82b3a8", + statusline_bg = "#252829", + lightbg = "#2d3139", + lightbg2 = "#262a32", } return colors diff --git a/lua/themes/javacafe.lua b/lua/themes/javacafe.lua index 5785290..227b9a4 100644 --- a/lua/themes/javacafe.lua +++ b/lua/themes/javacafe.lua @@ -1,33 +1,33 @@ local colors = { - white = "#b5bcc9", - darker_black = "#10171e", - black = "#131a21", -- nvim bg - black2 = "#1a2128", - one_bg = "#1e252c", - one_bg2 = "#272e35", - one_bg3 = "#2a3138", - grey = "#363d44", - grey_fg = "#4e555c", - grey_fg2 = "#51585f", - light_grey = "#545b62", - red = "#ef8891", - baby_pink = "#fca2aa", - pink = "#fca2af", - line = "#20272e", -- for lines like vertsplit - green = "#9ce5c0", - vibrant_green = "#a5d4af", - blue = "#99aee5", - nord_blue = "#9aa8cf", - yellow = "#fbdf90", - sun = "#fbdf9a", - purple = "#d7c1ed", - dark_purple = "#ccaced", - teal = "#92dbb6", - orange = "#EDA685", - cyan = "#b5c3ea", - statusline_bg = "#181f26", - lightbg = "#222930", - lightbg2 = "#1d242b" + white = "#b5bcc9", + darker_black = "#10171e", + black = "#131a21", -- nvim bg + black2 = "#1a2128", + one_bg = "#1e252c", + one_bg2 = "#272e35", + one_bg3 = "#2a3138", + grey = "#363d44", + grey_fg = "#4e555c", + grey_fg2 = "#51585f", + light_grey = "#545b62", + red = "#ef8891", + baby_pink = "#fca2aa", + pink = "#fca2af", + line = "#20272e", -- for lines like vertsplit + green = "#9ce5c0", + vibrant_green = "#a5d4af", + blue = "#99aee5", + nord_blue = "#9aa8cf", + yellow = "#fbdf90", + sun = "#fbdf9a", + purple = "#d7c1ed", + dark_purple = "#ccaced", + teal = "#92dbb6", + orange = "#EDA685", + cyan = "#b5c3ea", + statusline_bg = "#181f26", + lightbg = "#222930", + lightbg2 = "#1d242b", } return colors diff --git a/lua/themes/mountaineer.lua b/lua/themes/mountaineer.lua index 29268f1..af85873 100644 --- a/lua/themes/mountaineer.lua +++ b/lua/themes/mountaineer.lua @@ -1,33 +1,33 @@ local colors = { - white = "#b0b0b0", - darker_black = "#171d23", - black = "#1a2026", -- nvim bg - black2 = "#20262c", - one_bg = "#242a30", - one_bg2 = "#292f35", - one_bg3 = "#2e343a", - grey = "#42484e", - grey_fg = "#474d53", - grey_fg2 = "#50565c", - light_grey = "#565c62", - red = "#ac8a8c", - baby_pink = "#de878f", - pink = "#e89199", - line = "#2d3339", -- for lines like vertsplit - green = "#8aac8b", - vibrant_green = "#9ec49f", - blue = "#6b8bab", - nord_blue = "#7797b7", - yellow = "#c4c19e", - sun = "#aca98a", - purple = "#a39ec4", - dark_purple = "#8f8aac", - teal = "#7c9cbc", - orange = "#e39a83", - cyan = "#9aafe6", - statusline_bg = "#1e242a", - lightbg = "#2d3339", - lightbg2 = "#252b31" + white = "#b0b0b0", + darker_black = "#171d23", + black = "#1a2026", -- nvim bg + black2 = "#20262c", + one_bg = "#242a30", + one_bg2 = "#292f35", + one_bg3 = "#2e343a", + grey = "#42484e", + grey_fg = "#474d53", + grey_fg2 = "#50565c", + light_grey = "#565c62", + red = "#ac8a8c", + baby_pink = "#de878f", + pink = "#e89199", + line = "#2d3339", -- for lines like vertsplit + green = "#8aac8b", + vibrant_green = "#9ec49f", + blue = "#6b8bab", + nord_blue = "#7797b7", + yellow = "#c4c19e", + sun = "#aca98a", + purple = "#a39ec4", + dark_purple = "#8f8aac", + teal = "#7c9cbc", + orange = "#e39a83", + cyan = "#9aafe6", + statusline_bg = "#1e242a", + lightbg = "#2d3339", + lightbg2 = "#252b31", } return colors diff --git a/lua/themes/norchad.lua b/lua/themes/norchad.lua index f3e3e8d..47d723a 100644 --- a/lua/themes/norchad.lua +++ b/lua/themes/norchad.lua @@ -1,33 +1,33 @@ local colors = { - white = "#abb2bf", - darker_black = "#2a303c", - black = "#2E3440", -- nvim bg - black2 = "#343a46", - one_bg = "#373d49", - one_bg2 = "#3a404c", - one_bg3 = "#3d434f", - grey = "#474d59", - grey_fg = "#565c68", - grey_fg2 = "#606672", - light_grey = "#646a76", - red = "#BF616A", - baby_pink = "#de878f", - pink = "#d57780", - line = "#3a404c", -- for lines like vertsplit - green = "#A3BE8C", - vibrant_green = "#afca98", - blue = "#7797b7", - nord_blue = "#81A1C1", - yellow = "#EBCB8B", - sun = "#e1c181", - purple = "#aab1be", - dark_purple = "#B48EAD", - teal = "#6484a4", - orange = "#e39a83", - cyan = "#9aafe6", - statusline_bg = "#333945", - lightbg = "#3f4551", - lightbg2 = "#393f4b" + white = "#abb2bf", + darker_black = "#2a303c", + black = "#2E3440", -- nvim bg + black2 = "#343a46", + one_bg = "#373d49", + one_bg2 = "#3a404c", + one_bg3 = "#3d434f", + grey = "#474d59", + grey_fg = "#565c68", + grey_fg2 = "#606672", + light_grey = "#646a76", + red = "#BF616A", + baby_pink = "#de878f", + pink = "#d57780", + line = "#3a404c", -- for lines like vertsplit + green = "#A3BE8C", + vibrant_green = "#afca98", + blue = "#7797b7", + nord_blue = "#81A1C1", + yellow = "#EBCB8B", + sun = "#e1c181", + purple = "#aab1be", + dark_purple = "#B48EAD", + teal = "#6484a4", + orange = "#e39a83", + cyan = "#9aafe6", + statusline_bg = "#333945", + lightbg = "#3f4551", + lightbg2 = "#393f4b", } return colors diff --git a/lua/themes/onedark.lua b/lua/themes/onedark.lua index 02d7d43..c9f2432 100644 --- a/lua/themes/onedark.lua +++ b/lua/themes/onedark.lua @@ -1,33 +1,33 @@ local colors = { - white = "#abb2bf", - darker_black = "#1b1f27", - black = "#1e222a", -- nvim bg - black2 = "#252931", - one_bg = "#282c34", -- real bg of onedark - one_bg2 = "#353b45", - one_bg3 = "#30343c", - grey = "#42464e", - grey_fg = "#565c64", - grey_fg2 = "#6f737b", - light_grey = "#6f737b", - red = "#d47d85", - baby_pink = "#DE8C92", - pink = "#ff75a0", - line = "#2a2e36", -- for lines like vertsplit - green = "#A3BE8C", - vibrant_green = "#7eca9c", - nord_blue = "#81A1C1", - blue = "#61afef", - yellow = "#e7c787", - sun = "#EBCB8B", - purple = "#b4bbc8", - dark_purple = "#c882e7", - teal = "#519ABA", - orange = "#fca2aa", - cyan = "#a3b8ef", - statusline_bg = "#22262e", - lightbg = "#2d3139", - lightbg2 = "#262a32" + white = "#abb2bf", + darker_black = "#1b1f27", + black = "#1e222a", -- nvim bg + black2 = "#252931", + one_bg = "#282c34", -- real bg of onedark + one_bg2 = "#353b45", + one_bg3 = "#30343c", + grey = "#42464e", + grey_fg = "#565c64", + grey_fg2 = "#6f737b", + light_grey = "#6f737b", + red = "#d47d85", + baby_pink = "#DE8C92", + pink = "#ff75a0", + line = "#2a2e36", -- for lines like vertsplit + green = "#A3BE8C", + vibrant_green = "#7eca9c", + nord_blue = "#81A1C1", + blue = "#61afef", + yellow = "#e7c787", + sun = "#EBCB8B", + purple = "#b4bbc8", + dark_purple = "#c882e7", + teal = "#519ABA", + orange = "#fca2aa", + cyan = "#a3b8ef", + statusline_bg = "#22262e", + lightbg = "#2d3139", + lightbg2 = "#262a32", } return colors diff --git a/lua/themes/tokyonight.lua b/lua/themes/tokyonight.lua index 67e635e..b241eb5 100644 --- a/lua/themes/tokyonight.lua +++ b/lua/themes/tokyonight.lua @@ -1,33 +1,33 @@ local colors = { - white = "#c0caf5", - darker_black = "#151621", - black = "#171823", -- nvim bg - black2 = "#20212c", - one_bg = "#242530", - one_bg2 = "#292a35", - one_bg3 = "#353b45", - grey = "#40486a", - grey_fg = "#4a5274", - grey_fg2 = "#4f5779", - light_grey = "#545c7e", - red = "#f7768e", - baby_pink = "#DE8C92", - pink = "#ff75a0", - line = "#242530", -- for lines like vertsplit - green = "#9ece6a", - vibrant_green = "#73daca", - nord_blue = "#80a8fd", - blue = "#7aa2f7", - yellow = "#e7c787", - sun = "#EBCB8B", - purple = "#bb9af7", - dark_purple = "#9d7cd8", - teal = "#0db9d7", - orange = "#ff9e64", - cyan = "#7dcfff", - statusline_bg = "#1d1e29", - lightbg = "#252631", - lightbg2 = "#22232e" + white = "#c0caf5", + darker_black = "#151621", + black = "#171823", -- nvim bg + black2 = "#20212c", + one_bg = "#242530", + one_bg2 = "#292a35", + one_bg3 = "#353b45", + grey = "#40486a", + grey_fg = "#4a5274", + grey_fg2 = "#4f5779", + light_grey = "#545c7e", + red = "#f7768e", + baby_pink = "#DE8C92", + pink = "#ff75a0", + line = "#242530", -- for lines like vertsplit + green = "#9ece6a", + vibrant_green = "#73daca", + nord_blue = "#80a8fd", + blue = "#7aa2f7", + yellow = "#e7c787", + sun = "#EBCB8B", + purple = "#bb9af7", + dark_purple = "#9d7cd8", + teal = "#0db9d7", + orange = "#ff9e64", + cyan = "#7dcfff", + statusline_bg = "#1d1e29", + lightbg = "#252631", + lightbg2 = "#22232e", } return colors diff --git a/lua/themes/tomorrow-night.lua b/lua/themes/tomorrow-night.lua index 7d721c7..be64656 100644 --- a/lua/themes/tomorrow-night.lua +++ b/lua/themes/tomorrow-night.lua @@ -1,33 +1,33 @@ local colors = { - white = "#C5C8C2", - darker_black = "#191b1d", - black = "#1d1f21", -- nvim bg - black2 = "#232527", - one_bg = "#363a41", - one_bg2 = "#353b45", - one_bg3 = "#30343c", - grey = "#434547", - grey_fg = "#545B68", - grey_fg2 = "#616875", - light_grey = "#676e7b", - red = "#cc6666", - baby_pink = "#FF6E79", - pink = "#ff9ca3", - line = "#27292b", -- for lines like vertsplit - green = "#a4b595", - vibrant_green = "#a3b991", - nord_blue = "#728da8", - blue = "#6f8dab", - yellow = "#d7bd8d", - sun = "#e4c180", - purple = "#b4bbc8", - dark_purple = "#b290ac", - teal = "#8abdb6", - orange = "#DE935F", - cyan = "#70c0b1", - statusline_bg = "#212326", - lightbg = "#373B41", - lightbg2 = "#2D3035" + white = "#C5C8C2", + darker_black = "#191b1d", + black = "#1d1f21", -- nvim bg + black2 = "#232527", + one_bg = "#363a41", + one_bg2 = "#353b45", + one_bg3 = "#30343c", + grey = "#434547", + grey_fg = "#545B68", + grey_fg2 = "#616875", + light_grey = "#676e7b", + red = "#cc6666", + baby_pink = "#FF6E79", + pink = "#ff9ca3", + line = "#27292b", -- for lines like vertsplit + green = "#a4b595", + vibrant_green = "#a3b991", + nord_blue = "#728da8", + blue = "#6f8dab", + yellow = "#d7bd8d", + sun = "#e4c180", + purple = "#b4bbc8", + dark_purple = "#b290ac", + teal = "#8abdb6", + orange = "#DE935F", + cyan = "#70c0b1", + statusline_bg = "#212326", + lightbg = "#373B41", + lightbg2 = "#2D3035", } return colors diff --git a/lua/utils.lua b/lua/utils.lua index 7301689..2709988 100644 --- a/lua/utils.lua +++ b/lua/utils.lua @@ -2,39 +2,36 @@ local M = {} -- 1st arg as current theme, 2nd as new theme M.change_theme = function(current_theme, new_theme) - if current_theme == nil or new_theme == nil then - print "Error: Provide current and new theme name" - return false - end - if current_theme == new_theme then - return - end - - local file = vim.fn.stdpath("config") .. "/lua/chadrc.lua" - -- store in data variable - local data = assert(M.file("r", file)) - -- escape characters which can be parsed as magic chars - current_theme = current_theme:gsub("%p", "%%%0") - new_theme = new_theme:gsub("%p", "%%%0") - local find = "theme = .?" .. current_theme .. ".?" - local replace = 'theme = "' .. new_theme .. '"' - local content = string.gsub(data, find, replace) - -- see if the find string exists in file - if content == data then - print("Error: Cannot change default theme with " .. new_theme .. ", edit " .. file .. " manually") - return false - else - assert(M.file("w", file, content)) - end + if current_theme == nil or new_theme == nil then + print "Error: Provide current and new theme name" + return false + end + if current_theme == new_theme then + return + end + + local file = vim.fn.stdpath "config" .. "/lua/chadrc.lua" + -- store in data variable + local data = assert(M.file("r", file)) + -- escape characters which can be parsed as magic chars + current_theme = current_theme:gsub("%p", "%%%0") + new_theme = new_theme:gsub("%p", "%%%0") + local find = "theme = .?" .. current_theme .. ".?" + local replace = 'theme = "' .. new_theme .. '"' + local content = string.gsub(data, find, replace) + -- see if the find string exists in file + if content == data then + print("Error: Cannot change default theme with " .. new_theme .. ", edit " .. file .. " manually") + return false + else + assert(M.file("w", file, content)) + end end M.clear_cmdline = function() - vim.defer_fn( - function() - vim.cmd("echo") - end, - 0 - ) + vim.defer_fn(function() + vim.cmd "echo" + end, 0) end -- 1st arg - r or w @@ -42,167 +39,167 @@ end -- 3rd arg - content if 1st arg is w -- return file data on read, nothing on write M.file = function(mode, filepath, content) - local data - local fd = assert(vim.loop.fs_open(filepath, mode, 438)) - local stat = assert(vim.loop.fs_fstat(fd)) - if stat.type ~= "file" then - data = false - else - if mode == "r" then - data = assert(vim.loop.fs_read(fd, stat.size, 0)) - else - assert(vim.loop.fs_write(fd, content, 0)) - data = true - end - end - assert(vim.loop.fs_close(fd)) - return data + local data + local fd = assert(vim.loop.fs_open(filepath, mode, 438)) + local stat = assert(vim.loop.fs_fstat(fd)) + if stat.type ~= "file" then + data = false + else + if mode == "r" then + data = assert(vim.loop.fs_read(fd, stat.size, 0)) + else + assert(vim.loop.fs_write(fd, content, 0)) + data = true + end + end + assert(vim.loop.fs_close(fd)) + return data end -- return a table of available themes M.list_themes = function(return_type) - local themes = {} - -- folder where theme files are stored - local themes_folder = vim.fn.stdpath("config") .. "/lua/themes" - -- list all the contents of the folder and filter out files with .lua extension, then append to themes table - local fd = vim.loop.fs_scandir(themes_folder) - if fd then - while true do - local name, typ = vim.loop.fs_scandir_next(fd) - if name == nil then - break + local themes = {} + -- folder where theme files are stored + local themes_folder = vim.fn.stdpath "config" .. "/lua/themes" + -- list all the contents of the folder and filter out files with .lua extension, then append to themes table + local fd = vim.loop.fs_scandir(themes_folder) + if fd then + while true do + local name, typ = vim.loop.fs_scandir_next(fd) + if name == nil then + break + end + if typ ~= "directory" and string.find(name, ".lua") then + -- return the table values as keys if specified + if return_type == "keys_as_value" then + themes[vim.fn.fnamemodify(name, ":r")] = true + else + table.insert(themes, vim.fn.fnamemodify(name, ":r")) end - if typ ~= "directory" and string.find(name, ".lua") then - -- return the table values as keys if specified - if return_type == "keys_as_value" then - themes[vim.fn.fnamemodify(name, ":r")] = true - else - table.insert(themes, vim.fn.fnamemodify(name, ":r")) - end - end - end - end - return themes + end + end + end + return themes end -- reload a plugin ( will try to load even if not loaded) -- can take a string or list ( table ) -- return true or false M.reload_plugin = function(plugins) - local status = true - local function _reload_plugin(plugin) - local loaded = package.loaded[plugin] - if loaded then - package.loaded[plugin] = nil - end - if not pcall(require, plugin) then - print("Error: Cannot load " .. plugin .. " plugin!") - status = false - end - end - - if type(plugins) == "string" then - _reload_plugin(plugins) - elseif type(plugins) == "table" then - for _, plugin in ipairs(plugins) do - _reload_plugin(plugin) - end - end - return status + local status = true + local function _reload_plugin(plugin) + local loaded = package.loaded[plugin] + if loaded then + package.loaded[plugin] = nil + end + if not pcall(require, plugin) then + print("Error: Cannot load " .. plugin .. " plugin!") + status = false + end + end + + if type(plugins) == "string" then + _reload_plugin(plugins) + elseif type(plugins) == "table" then + for _, plugin in ipairs(plugins) do + _reload_plugin(plugin) + end + end + return status end -- reload themes without restarting vim -- if no theme name given then reload the current theme M.reload_theme = function(theme_name) - local reload_plugin = require("utils").reload_plugin - - -- if theme name is empty or nil, then reload the current theme - if (theme_name == nil or theme_name == "") then - theme_name = vim.g.nvchad_theme - end - - if not pcall(require, "themes/" .. theme_name) then - print("No such theme ( " .. theme_name .. " )") - return false - end - - vim.g.nvchad_theme = theme_name - - -- reload the base16 theme - local ok, base16 = pcall(require, "base16") - if not ok then - print("Error: Cannot load base16 plugin!") - return false - end - base16(base16.themes(theme_name), true) - - if - not reload_plugin { - "highlights", - "plugins.bufferline", - "galaxyline", - "plugins.statusline" - } - then - print "Error: Not able to reload all plugins." - return false - end - - -- yes, this is very hacky, but due to new_async in - -- https://github.com/glepnir/galaxyline.nvim/blob/main/lua/galaxyline/provider.lua#L5-L36 - -- it doesn't work properly and some statusline stuff dissapears - local vcs = require("galaxyline.provider_vcs") - local fileinfo = require("galaxyline.provider_fileinfo") - local buffer = require("galaxyline.provider_buffer") - local extension = require("galaxyline.provider_extensions") - local whitespace = require("galaxyline.provider_whitespace") - local lspclient = require("galaxyline.provider_lsp") - _G.galaxyline_providers = { - BufferIcon = buffer.get_buffer_type_icon, - BufferNumber = buffer.get_buffer_number, - FileTypeName = buffer.get_buffer_filetype, - GitBranch = vcs.get_git_branch, - DiffAdd = vcs.diff_add, - DiffModified = vcs.diff_modified, - DiffRemove = vcs.diff_remove, - LineColumn = fileinfo.line_column, - FileFormat = fileinfo.get_file_format, - FileEncode = fileinfo.get_file_encode, - FileSize = fileinfo.get_file_size, - FileIcon = fileinfo.get_file_icon, - FileName = fileinfo.get_current_file_name, - SFileName = fileinfo.filename_in_special_buffer, - LinePercent = fileinfo.current_line_percent, - ScrollBar = extension.scrollbar_instance, - VistaPlugin = extension.vista_nearest, - WhiteSpace = whitespace.get_item, - GetLspClient = lspclient.get_lsp_client - } - local diagnostic = require("galaxyline.provider_diagnostic") - _G.galaxyline_providers.DiagnosticError = diagnostic.get_diagnostic_error - _G.galaxyline_providers.DiagnosticWarn = diagnostic.get_diagnostic_warn - _G.galaxyline_providers.DiagnosticHint = diagnostic.get_diagnostic_hint - _G.galaxyline_providers.DiagnosticInfo = diagnostic.get_diagnostic_info - - return true + local reload_plugin = require("utils").reload_plugin + + -- if theme name is empty or nil, then reload the current theme + if theme_name == nil or theme_name == "" then + theme_name = vim.g.nvchad_theme + end + + if not pcall(require, "themes/" .. theme_name) then + print("No such theme ( " .. theme_name .. " )") + return false + end + + vim.g.nvchad_theme = theme_name + + -- reload the base16 theme + local ok, base16 = pcall(require, "base16") + if not ok then + print "Error: Cannot load base16 plugin!" + return false + end + base16(base16.themes(theme_name), true) + + if + not reload_plugin { + "highlights", + "plugins.bufferline", + "galaxyline", + "plugins.statusline", + } + then + print "Error: Not able to reload all plugins." + return false + end + + -- yes, this is very hacky, but due to new_async in + -- https://github.com/glepnir/galaxyline.nvim/blob/main/lua/galaxyline/provider.lua#L5-L36 + -- it doesn't work properly and some statusline stuff dissapears + local vcs = require "galaxyline.provider_vcs" + local fileinfo = require "galaxyline.provider_fileinfo" + local buffer = require "galaxyline.provider_buffer" + local extension = require "galaxyline.provider_extensions" + local whitespace = require "galaxyline.provider_whitespace" + local lspclient = require "galaxyline.provider_lsp" + _G.galaxyline_providers = { + BufferIcon = buffer.get_buffer_type_icon, + BufferNumber = buffer.get_buffer_number, + FileTypeName = buffer.get_buffer_filetype, + GitBranch = vcs.get_git_branch, + DiffAdd = vcs.diff_add, + DiffModified = vcs.diff_modified, + DiffRemove = vcs.diff_remove, + LineColumn = fileinfo.line_column, + FileFormat = fileinfo.get_file_format, + FileEncode = fileinfo.get_file_encode, + FileSize = fileinfo.get_file_size, + FileIcon = fileinfo.get_file_icon, + FileName = fileinfo.get_current_file_name, + SFileName = fileinfo.filename_in_special_buffer, + LinePercent = fileinfo.current_line_percent, + ScrollBar = extension.scrollbar_instance, + VistaPlugin = extension.vista_nearest, + WhiteSpace = whitespace.get_item, + GetLspClient = lspclient.get_lsp_client, + } + local diagnostic = require "galaxyline.provider_diagnostic" + _G.galaxyline_providers.DiagnosticError = diagnostic.get_diagnostic_error + _G.galaxyline_providers.DiagnosticWarn = diagnostic.get_diagnostic_warn + _G.galaxyline_providers.DiagnosticHint = diagnostic.get_diagnostic_hint + _G.galaxyline_providers.DiagnosticInfo = diagnostic.get_diagnostic_info + + return true end -- toggle between 2 themes -- argument should be a table with 2 theme names M.toggle_theme = function(themes) - local current_theme = vim.g.current_nvchad_theme or vim.g.nvchad_theme - for _, name in ipairs(themes) do - if name ~= current_theme then - if require("utils").reload_theme(name) then - -- open a buffer and close it to reload the statusline - vim.cmd("new|bwipeout") - vim.g.current_nvchad_theme = name - if M.change_theme(vim.g.nvchad_theme, name) then - vim.g.nvchad_theme = name - end + local current_theme = vim.g.current_nvchad_theme or vim.g.nvchad_theme + for _, name in ipairs(themes) do + if name ~= current_theme then + if require("utils").reload_theme(name) then + -- open a buffer and close it to reload the statusline + vim.cmd "new|bwipeout" + vim.g.current_nvchad_theme = name + if M.change_theme(vim.g.nvchad_theme, name) then + vim.g.nvchad_theme = name end - end - end + end + end + end end return M