diff --git a/lua/cosmic/config/plugins.lua b/lua/cosmic/config/plugins.lua index ca0b00d..ce114e0 100644 --- a/lua/cosmic/config/plugins.lua +++ b/lua/cosmic/config/plugins.lua @@ -14,6 +14,7 @@ local plugins = { 'auto-session', 'autocomplete', 'colorizer', + 'dashboard', 'fugitive', 'gitsigns', 'kommentary', diff --git a/lua/cosmic/core/dashboard/init.lua b/lua/cosmic/core/dashboard/init.lua new file mode 100644 index 0000000..d86e257 --- /dev/null +++ b/lua/cosmic/core/dashboard/init.lua @@ -0,0 +1,45 @@ +local icons = require('cosmic.core.theme.icons') +local g = vim.g + +g.dashboard_custom_header = { + '', + '', + '', + '', + '', + '', + ' ██████╗ ██████╗ ███████╗███╗ ███╗██╗ ██████╗███╗ ██╗██╗ ██╗██╗███╗ ███╗', + '██╔════╝██╔═══██╗██╔════╝████╗ ████║██║██╔════╝████╗ ██║██║ ██║██║████╗ ████║', + '██║ ██║ ██║███████╗██╔████╔██║██║██║ ██╔██╗ ██║██║ ██║██║██╔████╔██║', + '██║ ██║ ██║╚════██║██║╚██╔╝██║██║██║ ██║╚██╗██║╚██╗ ██╔╝██║██║╚██╔╝██║', + '╚██████╗╚██████╔╝███████║██║ ╚═╝ ██║██║╚██████╗██║ ╚████║ ╚████╔╝ ██║██║ ╚═╝ ██║', + ' ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═════╝╚═╝ ╚═══╝ ╚═══╝ ╚═╝╚═╝ ╚═╝', + '', + '', + '', +} + +g.dashboard_default_executive = 'telescope' + +g.dashboard_session_directory = vim.fn.stdpath('data') .. '/sessions' + +g.dashboard_custom_section = { + find_file = { + description = { icons.file .. ' Find File ff' }, + command = 'Telescope find_files', + }, + file_explorer = { + description = { ' File Manager ' }, + command = 'NvimTreeToggle', + }, + find_string = { + description = { ' Grep String fs' }, + command = 'NvimTreeToggle', + }, + last_session = { + description = { ' Load session sl' }, + command = 'lua vim.cmd(":silent RestoreSession")', + }, +} + +g.dashboard_custom_footer = { '💫' } diff --git a/lua/cosmic/core/session/init.lua b/lua/cosmic/core/session/init.lua new file mode 100644 index 0000000..5737408 --- /dev/null +++ b/lua/cosmic/core/session/init.lua @@ -0,0 +1,6 @@ +require('auto-session').setup({ + pre_save_cmds = { 'NvimTreeClose', 'cclose', 'lua vim.notify.dismiss()' }, + auto_session_enabled = false, + auto_save_enabled = true, + auto_restore_enabled = false, +}) diff --git a/lua/cosmic/core/session/mappings.lua b/lua/cosmic/core/session/mappings.lua new file mode 100644 index 0000000..5b3f18c --- /dev/null +++ b/lua/cosmic/core/session/mappings.lua @@ -0,0 +1,5 @@ +local map = require('cosmic.utils').map + +-- session +map('n', 'sl', ':silent RestoreSession') +map('n', 'ss', ':SaveSession') diff --git a/lua/cosmic/mappings.lua b/lua/cosmic/mappings.lua index 8dd9a59..fce68a2 100644 --- a/lua/cosmic/mappings.lua +++ b/lua/cosmic/mappings.lua @@ -9,6 +9,7 @@ map('n', 'cf', ':cfdo %s/') -- make Y behave like others map('n', 'Y', 'y$') +require('cosmic.core.session.mappings') require('cosmic.core.navigation.mappings').init() require('cosmic.core.file-explorer.mappings') require('cosmic.core.terminal.mappings') diff --git a/lua/cosmic/pluginsInit.lua b/lua/cosmic/pluginsInit.lua index aec6b52..a61c6d3 100644 --- a/lua/cosmic/pluginsInit.lua +++ b/lua/cosmic/pluginsInit.lua @@ -73,7 +73,6 @@ return packer.startup(function() end, after = 'tokyonight.nvim', disable = vim.tbl_contains(user_plugins.disable, 'notify'), - event = 'BufEnter', }) -- theme stuff @@ -198,13 +197,19 @@ return packer.startup(function() }) -- session management + use({ + 'glepnir/dashboard-nvim', + config = function() + require('cosmic.core.dashboard') + end, + disable = vim.tbl_contains(user_plugins.disable, 'dashboard'), + }) + use({ 'rmagatti/auto-session', event = 'VimEnter', config = function() - require('auto-session').setup({ - pre_save_cmds = { 'NvimTreeClose', 'cclose', 'lua vim.notify.dismiss()' }, - }) + require('cosmic.core.session') end, disable = vim.tbl_contains(user_plugins.disable, 'auto-session'), }) @@ -228,7 +233,7 @@ return packer.startup(function() -- comments and stuff use({ 'b3nj5m1n/kommentary', - event = 'BufRead', + event = 'BufWinEnter', disable = vim.tbl_contains(user_plugins.disable, 'kommentary'), }) @@ -261,7 +266,7 @@ return packer.startup(function() }, }) end, - event = 'BufRead', + event = 'BufWinEnter', disable = vim.tbl_contains(user_plugins.disable, 'todo-comments'), }) -- colorized hex codes