diff --git a/lua/pika/lazy.lua b/lua/pika/lazy.lua index 0582fc7..d56a156 100644 --- a/lua/pika/lazy.lua +++ b/lua/pika/lazy.lua @@ -26,10 +26,11 @@ require("lazy").setup({ spec = { -- import your plugins { import = "pika.plugins" }, + { import = "pika.plugins.lsp" }, }, -- Configure any other settings here. See the documentation for more details. -- colorscheme that will be used when installing plugins. - install = { colorscheme = { "eldritch" } }, + install = { colorscheme = { "nord" } }, -- automatically check for plugin updates checker = { enabled = true }, }) diff --git a/lua/pika/plugins/colorschemes.lua b/lua/pika/plugins/colorschemes.lua index 771e0cd..488afc1 100644 --- a/lua/pika/plugins/colorschemes.lua +++ b/lua/pika/plugins/colorschemes.lua @@ -1,37 +1,32 @@ return { - { "rose-pine/neovim" }, - { "sontungexpt/witch" }, + { "folke/tokyonight.nvim" }, + { "rose-pine/neovim" }, + { "sontungexpt/witch" }, { 'AlexvZyl/nordic.nvim' }, - { - "ribru17/bamboo.nvim", - lazy = false, - -- priority = 1000, -- Make sure to load this before all the other start plugins. - config = function() - require("bamboo").setup({ - -- ────────────────────────────< optional configuration here >───────────────────────── - code_style = { - comments = { italic = false, bold = true }, - conditionals = { italic = true }, - keywords = { bold = true }, - functions = {}, - namespaces = { italic = true }, - parameters = { italic = true }, - strings = {}, - variables = { bold = true }, - }, - -- ─< Custom Highlights -- >──────────────────────────────────────────────────────────── - colors = {}, -- Override default colors - highlights = { -- Override highlight groups - ["@comment"] = { fg = "#555653" }, - }, - }) - end, - }, - -{ - "eldritch-theme/eldritch.nvim", - lazy = false, - opts = {}, -} - + { "eldritch-theme/eldritch.nvim" }, + { + "ribru17/bamboo.nvim", + lazy = false, + -- priority = 1000, -- Make sure to load this before all the other start plugins. + config = function() + require("bamboo").setup({ + -- ────────────────────────────< optional configuration here >───────────────────────── + code_style = { + comments = { italic = false, bold = true }, + conditionals = { italic = true }, + keywords = { bold = true }, + functions = {}, + namespaces = { italic = true }, + parameters = { italic = true }, + strings = {}, + variables = { bold = true }, + }, + -- ─< Custom Highlights -- >──────────────────────────────────────────────────────────── + colors = {}, -- Override default colors + highlights = { -- Override highlight groups + ["@comment"] = { fg = "#555653" }, + }, + }) + end, + }, } diff --git a/lua/pika/plugins/dashboard.lua b/lua/pika/plugins/dashboard.lua index 964be0b..2d8640d 100644 --- a/lua/pika/plugins/dashboard.lua +++ b/lua/pika/plugins/dashboard.lua @@ -3,45 +3,80 @@ return{ "nvimdev/dashboard-nvim", lazy = false, -- As https://github.com/nvimdev/dashboard-nvim/pull/450, dashboard-nvim shouldn't be lazy-loaded to properly handle stdin. opts = function() + -- local logo = [[ + -- ▐ ▄ ▄▄▄ . ▌ ▐·▪ • ▌ ▄ ·. + -- •█▌▐█▀▄.▀·▪ ▪█·█▌██ ·██ ▐███▪ + -- ▐█▐▐▌▐▀▀▪▄ ▄█▀▄ ▐█▐█•▐█·▐█ ▌▐▌▐█· + -- ██▐█▌▐█▄▄▌▐█▌.▐▌ ███ ▐█▌██ ██▌▐█▌ + -- ▀▀ █▪ ▀▀▀ ▀█▄▀▪. ▀ ▀▀▀▀▀ █▪▀▀▀ + -- ]] + local logo = [[ - ██╗ █████╗ ███████╗██╗ ██╗██╗ ██╗██╗███╗ ███╗ Z - ██║ ██╔══██╗╚══███╔╝╚██╗ ██╔╝██║ ██║██║████╗ ████║ Z - ██║ ███████║ ███╔╝ ╚████╔╝ ██║ ██║██║██╔████╔██║ z - ██║ ██╔══██║ ███╔╝ ╚██╔╝ ╚██╗ ██╔╝██║██║╚██╔╝██║ z - ███████╗██║ ██║███████╗ ██║ ╚████╔╝ ██║██║ ╚═╝ ██║ - ╚══════╝╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═══╝ ╚═╝╚═╝ ╚═╝ +  + ████ ██████ █████ ██ + ███████████ █████  + █████████ ███████████████████ ███ ███████████ + █████████ ███ █████████████ █████ ██████████████ + █████████ ██████████ █████████ █████ █████ ████ █████ + ███████████ ███ ███ █████████ █████ █████ ████ █████ + ██████ █████████████████████ ████ █████ █████ ████ ██████ ]] logo = string.rep("\n", 8) .. logo .. "\n\n" - local opts = { - theme = "doom", - hide = { - -- this is taken care of by lualine - -- enabling this messes up the actual laststatus setting after loading a file - statusline = false, - }, - config = { - header = vim.split(logo, "\n"), - -- stylua: ignore - center = { - { action = 'lua LazyVim.pick()()', desc = " Find File", icon = " ", key = "f" }, - { action = "ene | startinsert", desc = " New File", icon = " ", key = "n" }, - { action = 'lua LazyVim.pick("oldfiles")()', desc = " Recent Files", icon = " ", key = "r" }, - { action = 'lua LazyVim.pick("live_grep")()', desc = " Find Text", icon = " ", key = "g" }, - { action = 'lua LazyVim.pick.config_files()()', desc = " Config", icon = " ", key = "c" }, - { action = 'lua require("persistence").load()', desc = " Restore Session", icon = " ", key = "s" }, - { action = "LazyExtras", desc = " Lazy Extras", icon = " ", key = "x" }, - { action = "Lazy", desc = " Lazy", icon = "󰒲 ", key = "l" }, - { action = function() vim.api.nvim_input("qa") end, desc = " Quit", icon = " ", key = "q" }, - }, - footer = function() - local stats = require("lazy").stats() - local ms = (math.floor(stats.startuptime * 100 + 0.5) / 100) - return { "⚡ Neovim loaded " .. stats.loaded .. "/" .. stats.count .. " plugins in " .. ms .. "ms" } +local opts = { + theme = "doom", + hide = { + statusline = false, + }, + config = { + header = vim.split(logo, "\n"), + center = { + { + action = function() + require("telescope.builtin").find_files() end, + desc = " Find File", + icon = " ", + key = "f" }, - } + { action = "ene | startinsert", desc = " New File", icon = " ", key = "n" }, + { + action = function() + require("telescope.builtin").oldfiles() + end, + desc = " Recent Files", + icon = " ", + key = "r" + }, + { + action = function() + require("telescope.builtin").live_grep() + end, + desc = " Find Text", + icon = " ", + key = "g" + }, + { + action = function() + require("telescope.builtin").find_files({ cwd = vim.fn.stdpath("config") }) + end, + desc = " Search Neovim files", + icon = " ", + key = "c" + }, + { action = 'lua require("persistence").load()', desc = " Restore Session", icon = " ", key = "s" }, + { action = "LazyExtras", desc = " Lazy Extras", icon = " ", key = "x" }, + { action = "Lazy", desc = " Lazy", icon = "󰒲 ", key = "l" }, + { action = function() vim.api.nvim_input("qa") end, desc = " Quit", icon = " ", key = "q" }, + }, + footer = function() + local stats = require("lazy").stats() + local ms = (math.floor(stats.startuptime * 100 + 0.5) / 100) + return { "⚡ Neovim loaded " .. stats.loaded .. "/" .. stats.count .. " plugins in " .. ms .. "ms" } + end, + }, +} for _, button in ipairs(opts.config.center) do button.desc = button.desc .. string.rep(" ", 43 - #button.desc) @@ -73,6 +108,7 @@ return{ { "qs", function() require("persistence").load() end, desc = "Restore Session" }, { "ql", function() require("persistence").load({ last = true }) end, desc = "Restore Last Session" }, { "qd", function() require("persistence").stop() end, desc = "Don't Save Current Session" }, + { "db", ":Dashboard", desc = "Dashboard"} }, } } diff --git a/lua/pika/plugins/lspconfig.lua b/lua/pika/plugins/lsp/lspconfig.lua similarity index 100% rename from lua/pika/plugins/lspconfig.lua rename to lua/pika/plugins/lsp/lspconfig.lua diff --git a/lua/pika/plugins/mason.lua b/lua/pika/plugins/lsp/mason.lua similarity index 91% rename from lua/pika/plugins/mason.lua rename to lua/pika/plugins/lsp/mason.lua index e15e489..4fa0844 100644 --- a/lua/pika/plugins/mason.lua +++ b/lua/pika/plugins/lsp/mason.lua @@ -34,9 +34,14 @@ return { "svelte", "lua_ls", "graphql", + "typos-lsp", "emmet_ls", "prismals", "pyright", + "lemminx", + "hyprls", + "textlsp", + "yamlls", }, }) @@ -44,8 +49,6 @@ return { ensure_installed = { "prettier", -- prettier formatter "stylua", -- lua formatter - -- "isort", -- python formatter - -- "black", -- python formatter "pylint", "eslint_d", }, diff --git a/lua/pika/plugins/neo-tree.lua b/lua/pika/plugins/neo-tree.lua index 54f7f41..5d6c49e 100644 --- a/lua/pika/plugins/neo-tree.lua +++ b/lua/pika/plugins/neo-tree.lua @@ -47,7 +47,7 @@ return { return { sources = { "filesystem", "buffers", "git_status" }, open_files_do_not_replace_types = { "terminal", "Trouble", "trouble", "qf", "Outline" }, - close_if_last_window = false, + close_if_last_window = true, popup_border_style = "rounded", enable_git_status = true, enable_diagnostics = true, @@ -62,23 +62,17 @@ return { window = { mappings = { ["l"] = "open", + ["o"] = "open", + ["C-v"] = "open_split", ["h"] = "close_node", [""] = "none", - ["Y"] = { - function(state) - local node = state.tree:get_node() - local path = node:get_id() - vim.fn.setreg("+", path, "c") - end, - desc = "Copy Path to Clipboard", - }, ["O"] = { function(state) require("lazy.util").open(state.tree:get_node().path, { system = true }) end, desc = "Open with System Application", }, - ["P"] = { "toggle_preview", config = { use_float = false } }, + ["P"] = { "toggle_preview", config = { use_float = true } }, }, }, default_component_configs = { diff --git a/lua/pika/plugins/notify.lua b/lua/pika/plugins/notify.lua index 071424c..bcf486a 100644 --- a/lua/pika/plugins/notify.lua +++ b/lua/pika/plugins/notify.lua @@ -2,14 +2,14 @@ return { "rcarriga/nvim-notify", config = function() require("notify").setup({ - stages = "fade_in_slide_out", + stages = "slide", background_colour = "FloatShadow", - max_width = 60, + max_width = 120, timeout = 2750, - render = "compact", + render = "wrapped-compact", -- Minimum/Maximum width for notification windows minimum_width = 30, - maximum_width = 60, + maximum_width = 120, -- Function called when a new window is opened, use for changing win settings/config on_open = nil, diff --git a/lua/pika/plugins/treesitter.lua b/lua/pika/plugins/treesitter.lua index b7bc751..fbcbbf5 100644 --- a/lua/pika/plugins/treesitter.lua +++ b/lua/pika/plugins/treesitter.lua @@ -1,65 +1,37 @@ return { - "nvim-treesitter/nvim-treesitter", - event = { "BufReadPre", "BufNewFile" }, - build = ":TSUpdate", - dependencies = { - "windwp/nvim-ts-autotag", - }, - config = function() - -- import nvim-treesitter plugin - local treesitter = require("nvim-treesitter.configs") - - -- configure treesitter - treesitter.setup({ -- enable syntax highlighting - highlight = { - enable = true, - comments = { color = { "#333" }, italic = false }, -- adjust comment color and style - }, - -- enable indentation - indent = { enable = true }, - -- enable autotagging (w/ nvim-ts-autotag plugin) - autotag = { - enable = true, - }, - -- ensure these language parsers are installed - ensure_installed = { - "bash", - "fish", - "http", - "html", - "php", - "css", - "scss", - "gitignore", - "git_config", - "markdown", - "markdown_inline", - "dockerfile", - "yaml", - "json", - "javascript", - "typescript", - "graphql", - "lua", - "query", - "c", - "prisma", - "hyprlang", - "ini", - "passwd", - "vim", - "vimdoc", - }, - incremental_selection = { - enable = true, - keymaps = { - init_selection = "", - node_incremental = "", - scope_incremental = false, - node_decremental = "", - }, - }, - }) - end, + "nvim-treesitter/nvim-treesitter", + event = { "BufReadPre", "BufNewFile" }, + build = ":TSUpdate", + dependencies = { + "windwp/nvim-ts-autotag", + }, + config = function() + require("nvim-treesitter.configs").setup({ + highlight = { + enable = true, + additional_vim_regex_highlighting = false, + }, + indent = { enable = true }, + autotag = { enable = true }, + ensure_installed = { + "bash", "fish", "http", "html", "php", "css", "scss", + "gitignore", "git_config", "markdown", "markdown_inline", + "dockerfile", "yaml", "json", "javascript", "typescript", + "graphql", "lua", "query", "c", "prisma", "hyprlang", + "ini", "passwd", "vim", "vimdoc", + }, + incremental_selection = { + enable = true, + keymaps = { + init_selection = "", + node_incremental = "", + scope_incremental = false, + node_decremental = "", + }, + }, + -- Add these fields to address the error + sync_install = true, + auto_install = true, + }) + end, } - diff --git a/lua/pika/plugins/which-key.lua b/lua/pika/plugins/which-key.lua index 0d22f69..809447f 100644 --- a/lua/pika/plugins/which-key.lua +++ b/lua/pika/plugins/which-key.lua @@ -3,7 +3,7 @@ return { event = "VeryLazy", init = function() vim.o.timeout = true - vim.o.timeoutlen = 500 + vim.o.timeoutlen = 350 end, opts = { -- your configuration comes here