diff --git a/lua/cosmic/config/examples/config.lua b/lua/cosmic/config/examples/config.lua index edbb54c..aa8d936 100644 --- a/lua/cosmic/config/examples/config.lua +++ b/lua/cosmic/config/examples/config.lua @@ -4,9 +4,6 @@ -- local null_ls = require('null-ls') local config = { - -- See :h cmp-usage - autocomplete = {}, - -- See https://github.com/rmagatti/auto-session#%EF%B8%8F-configuration auto_session = {}, @@ -14,7 +11,7 @@ local config = { border = 'rounded', -- https://github.com/numToStr/Comment.nvim#configuration-optional - comments = {}, + comment_nvim = {}, -- See https://github.com/CosmicNvim/cosmic-ui#%EF%B8%8F-configuration cosmic_ui = {}, @@ -53,11 +50,12 @@ local config = { }, -- See Cosmic defaults lsp/providers/null_ls.lua + -- and https://github.com/jose-elias-alvarez/null-ls.nvim/ + -- If adding additional sources, be sure to also copy the defaults that you would like to preserve from lsp/providers/null_ls.lua null_ls = {}, }, -- See Cosmic defaults lsp/providers/tsserver.lua - -- If adding additional sources, be sure to also copy the defaults that you would like to preserve from lsp/providers/null_ls.lua ts_utils = {}, }, @@ -96,9 +94,39 @@ local config = { -- See :h notify.setup notify = {}, + -- + -- See :h cmp-usage + nvim_cmp = {}, -- See :h nvim-tree.setup nvim_tree = {}, + + add_plugins = { + 'ggandor/lightspeed.nvim', + { + 'romgrk/barbar.nvim', + requires = { 'kyazdani42/nvim-web-devicons' }, + }, + }, + + disable_builtin_plugins = { + --[[ + 'auto-session', + 'nvim-cmp', + 'colorizer', + 'dashboard', + 'fugitive', + 'gitsigns', + 'comment-nvim', + 'nvim-tree', + 'galaxyline', + 'telescope', + 'terminal', + 'theme', + 'todo-comments', + 'treesitter', + ]] + }, } return config diff --git a/lua/cosmic/config/examples/editor.lua b/lua/cosmic/config/examples/editor.lua index 2d14e31..2a5a49f 100644 --- a/lua/cosmic/config/examples/editor.lua +++ b/lua/cosmic/config/examples/editor.lua @@ -1,12 +1,30 @@ -- Override Cosmic editor options -local opt = vim.opt local g = vim.g +local map = require('cosmic.utils').map +local opt = vim.opt -- Default leader is g.mapleader = ',' -- Default indent = 2 -opt.tabstop = 4 -opt.softtabstop = 4 opt.shiftwidth = 4 +opt.softtabstop = 4 +opt.tabstop = 4 + +-- Add additional keymaps or disable existing ones +-- To view maps set, use `:Telescope keymaps` +-- or `:map`, `:map ` + +-- Example: Additional insert mapping: +map('i', 'jj', '', { noremap = true, silent = true }) + +-- Mapping options: +-- map('n', ...) +-- map('v', ...) +-- map('i', ...) +-- map('t', ...) + +-- Example: Disable find files keymap +-- local cmd = vim.cmd +-- cmd('unmap f') diff --git a/lua/cosmic/config/examples/mappings.lua b/lua/cosmic/config/examples/mappings.lua deleted file mode 100644 index 47d8bfe..0000000 --- a/lua/cosmic/config/examples/mappings.lua +++ /dev/null @@ -1,18 +0,0 @@ --- Add additional keymaps or disable existing ones --- To view maps set, use `:Telescope keymaps` --- or `:map`, `:map ` - -local cmd = vim.cmd -local map = require('cosmic.utils').map - --- Example: Additional insert mapping: -map('i', 'jj', '', { noremap = true, silent = true }) - --- Mapping options: --- map('n', ...) --- map('v', ...) --- map('i', ...) --- map('t', ...) - --- Example: Disable find files keymap --- cmd('unmap f') diff --git a/lua/cosmic/config/examples/plugins.lua b/lua/cosmic/config/examples/plugins.lua deleted file mode 100644 index 87be64c..0000000 --- a/lua/cosmic/config/examples/plugins.lua +++ /dev/null @@ -1,31 +0,0 @@ --- Add additional plugins as well as disable some core plugins - -local plugins = { - add = { - 'ggandor/lightspeed.nvim', - { - 'romgrk/barbar.nvim', - requires = { 'kyazdani42/nvim-web-devicons' }, - }, - }, - disable = { -- disabling some core plugins may mean you'll have to remap some keybindings - --[[ - 'auto-session', - 'autocomplete', - 'colorizer', - 'dashboard', - 'fugitive', - 'gitsigns', - 'kommentary', - 'nvim-tree', - 'statusline', - 'telescope', - 'terminal', - 'theme', - 'todo-comments', - 'treesitter', - ]] - }, -} - -return plugins diff --git a/lua/cosmic/config/examples/readme.md b/lua/cosmic/config/examples/readme.md index 6bebf1d..4babfe9 100644 --- a/lua/cosmic/config/examples/readme.md +++ b/lua/cosmic/config/examples/readme.md @@ -4,8 +4,6 @@ There are five main configuraiton files that you may want to create. - cosmic/config/config.lua - cosmic/config/editor.lua -- cosmic/config/mappings.lua -- cosmic/config/plugins.lua - cosmic/config/utils.lua Please look at the examples in this directory in order to get started. @@ -16,7 +14,5 @@ Please look at the examples in this directory in order to get started. # from project root cp ./lua/cosmic/config/examples/config.lua ./lua/cosmic/config/config.lua cp ./lua/cosmic/config/examples/editor.lua ./lua/cosmic/config/editor.lua -cp ./lua/cosmic/config/examples/mappings.lua ./lua/cosmic/config/mappings.lua -cp ./lua/cosmic/config/examples/plugins.lua ./lua/cosmic/config/plugins.lua cp ./lua/cosmic/config/examples/utils.lua ./lua/cosmic/config/utils.lua ``` diff --git a/lua/cosmic/core/init.lua b/lua/cosmic/core/init.lua index 73936b5..9493140 100644 --- a/lua/cosmic/core/init.lua +++ b/lua/cosmic/core/init.lua @@ -3,9 +3,8 @@ local cosmic_modules = { 'cosmic.core.pluginsInit', 'cosmic.core.commands', 'cosmic.core.editor', - 'cosmic.config.editor', 'cosmic.core.mappings', - 'cosmic.config.mappings', + 'cosmic.config.editor', } for _, mod in ipairs(cosmic_modules) do diff --git a/lua/cosmic/core/pluginsInit.lua b/lua/cosmic/core/pluginsInit.lua index d2cb850..6dd998e 100644 --- a/lua/cosmic/core/pluginsInit.lua +++ b/lua/cosmic/core/pluginsInit.lua @@ -7,19 +7,19 @@ end local packer = cosmic_packer.packer local use = packer.use -local ok, user_plugins = pcall(require, 'cosmic.config.plugins') +local ok, user_config = pcall(require, 'cosmic.config') if not ok then - user_plugins = { + user_config = { add = {}, disable = {}, } end -if not vim.tbl_islist(user_plugins.add) then - user_plugins.add = {} +if not vim.tbl_islist(user_config.add) then + user_config.add_plugins = {} end -if not vim.tbl_islist(user_plugins.disable) then - user_plugins.disable = {} +if not vim.tbl_islist(user_config.disable) then + user_config.disable_builtin_plugins = {} end local config = require('cosmic.config') @@ -41,7 +41,7 @@ return packer.startup(function() require('cosmic.plugins.notify') end, after = config.theme, - disable = vim.tbl_contains(user_plugins.disable, 'notify'), + disable = vim.tbl_contains(user_config.disable_builtin_plugins, 'notify'), }) -- theme stuff @@ -53,7 +53,7 @@ return packer.startup(function() require('cosmic.plugins.galaxyline') end, after = config.theme, - disable = vim.tbl_contains(user_plugins.disable, 'statusline'), + disable = vim.tbl_contains(user_config.disable_builtin_plugins, 'galaxyline'), }) -- file explorer @@ -71,7 +71,7 @@ return packer.startup(function() 'NvimTreeRefresh', 'NvimTreeToggle', }, - disable = vim.tbl_contains(user_plugins.disable, 'nvim-tree'), + disable = vim.tbl_contains(user_config.disable_builtin_plugins, 'nvim-tree'), }) use({ @@ -98,7 +98,7 @@ return packer.startup(function() config = function() require('cosmic.lsp.providers.null_ls') end, - disable = vim.tbl_contains(user_plugins.disable, 'null-ls'), + disable = vim.tbl_contains(user_config.disable_builtin_plugins, 'null-ls'), after = 'nvim-lspconfig', }, { @@ -107,7 +107,7 @@ return packer.startup(function() require('cosmic.plugins.lsp-signature') end, after = 'nvim-lspconfig', - disable = vim.tbl_contains(user_plugins.disable, 'lsp_signature'), + disable = vim.tbl_contains(user_config.disable_builtin_plugins, 'lsp_signature'), }, }, }) @@ -142,7 +142,7 @@ return packer.startup(function() }, }, event = 'InsertEnter', - disable = vim.tbl_contains(user_plugins.disable, 'autocomplete'), + disable = vim.tbl_contains(user_config.disable_builtin_plugins, 'nvim-cmp'), }) -- git commands @@ -150,7 +150,7 @@ return packer.startup(function() 'tpope/vim-fugitive', opt = true, cmd = 'Git', - disable = vim.tbl_contains(user_plugins.disable, 'fugitive'), + disable = vim.tbl_contains(user_config.disable_builtin_plugins, 'fugitive'), }) -- git column signs @@ -162,7 +162,7 @@ return packer.startup(function() config = function() require('cosmic.plugins.gitsigns') end, - disable = vim.tbl_contains(user_plugins.disable, 'gitsigns'), + disable = vim.tbl_contains(user_config.disable_builtin_plugins, 'gitsigns'), }) -- floating terminal @@ -173,7 +173,7 @@ return packer.startup(function() config = function() require('cosmic.plugins.terminal') end, - disable = vim.tbl_contains(user_plugins.disable, 'terminal'), + disable = vim.tbl_contains(user_config.disable_builtin_plugins, 'terminal'), }) -- file navigation @@ -192,7 +192,7 @@ return packer.startup(function() require('cosmic.plugins.telescope') end, event = 'BufWinEnter', - disable = vim.tbl_contains(user_plugins.disable, 'telescope'), + disable = vim.tbl_contains(user_config.disable_builtin_plugins, 'telescope'), }) -- session/project management @@ -201,7 +201,7 @@ return packer.startup(function() config = function() require('cosmic.plugins.dashboard') end, - disable = vim.tbl_contains(user_plugins.disable, 'dashboard'), + disable = vim.tbl_contains(user_config.disable_builtin_plugins, 'dashboard'), }) use({ @@ -209,7 +209,7 @@ return packer.startup(function() config = function() require('cosmic.plugins.auto-session') end, - disable = vim.tbl_contains(user_plugins.disable, 'auto-session'), + disable = vim.tbl_contains(user_config.disable_builtin_plugins, 'auto-session'), }) -- lang/syntax stuff @@ -224,7 +224,7 @@ return packer.startup(function() config = function() require('cosmic.plugins.treesitter') end, - disable = vim.tbl_contains(user_plugins.disable, 'treesitter'), + disable = vim.tbl_contains(user_config.disable_builtin_plugins, 'treesitter'), }) -- comments and stuff @@ -234,6 +234,7 @@ return packer.startup(function() require('cosmic.plugins.comments') end, event = 'BufWinEnter', + disable = vim.tbl_contains(user_config.disable_builtin_plugins, 'comment-nvim'), }) -- todo highlights @@ -244,7 +245,7 @@ return packer.startup(function() require('cosmic.plugins.todo-comments') end, event = 'BufWinEnter', - disable = vim.tbl_contains(user_plugins.disable, 'todo-comments'), + disable = vim.tbl_contains(user_config.disable_builtin_plugins, 'todo-comments'), }) -- colorized hex codes use({ @@ -254,11 +255,11 @@ return packer.startup(function() config = function() require('colorizer').setup() end, - disable = vim.tbl_contains(user_plugins.disable, 'colorizer'), + disable = vim.tbl_contains(user_config.disable_builtin_plugins, 'colorizer'), }) - if user_plugins.add and not vim.tbl_isempty(user_plugins.add) then - for _, plugin in pairs(user_plugins.add) do + if user_config.add_plugins and not vim.tbl_isempty(user_config.add_plugins) then + for _, plugin in pairs(user_config.add_plugins) do use(plugin) end end diff --git a/lua/cosmic/lsp/providers/null_ls.lua b/lua/cosmic/lsp/providers/null_ls.lua index eaa4351..d0514e9 100644 --- a/lua/cosmic/lsp/providers/null_ls.lua +++ b/lua/cosmic/lsp/providers/null_ls.lua @@ -31,6 +31,11 @@ require('null-ls').setup(utils.merge({ null_ls.builtins.formatting.prettier.with({ prefer_local = 'node_modules/.bin', }), + -- null_ls.builtins.formatting.prettierd.with({ + -- env = { + -- PRETTIERD_DEFAULT_CONFIG = vim.fn.getcwd() .. '/.prettierrc', + -- }, + -- }), null_ls.builtins.formatting.stylua, null_ls.builtins.code_actions.gitsigns, }, diff --git a/lua/cosmic/plugins/comments/init.lua b/lua/cosmic/plugins/comments/init.lua index 97ab44f..883d71f 100644 --- a/lua/cosmic/plugins/comments/init.lua +++ b/lua/cosmic/plugins/comments/init.lua @@ -16,4 +16,4 @@ require('Comment').setup(utils.merge({ location = location, }) end, -}, config.comments or {})) +}, config.comment_nvim or {})) diff --git a/lua/cosmic/plugins/nvim-cmp/init.lua b/lua/cosmic/plugins/nvim-cmp/init.lua index 67c7e8b..6536462 100644 --- a/lua/cosmic/plugins/nvim-cmp/init.lua +++ b/lua/cosmic/plugins/nvim-cmp/init.lua @@ -1,7 +1,7 @@ local cmp = require('cmp') local utils = require('cosmic.utils') local luasnip = require('luasnip') -local config = require('cosmic.config') +local user_config = require('cosmic.config') local icons = require('cosmic.theme.icons') local has_words_before = function() @@ -56,7 +56,7 @@ local default_cmp_opts = { }), }, documentation = { - border = config.border, + border = user_config.border, winhighlight = 'FloatBorder:FloatBorder,Normal:Normal', }, experimental = { @@ -89,7 +89,7 @@ vim.cmd([[ autocmd FileType TelescopePrompt lua require('cmp').setup.buffer { enabled = false } ]]) -local opts = utils.merge(default_cmp_opts, config.autocomplete or {}) +local opts = utils.merge(default_cmp_opts, user_config.nvim_cmp or {}) cmp.setup(opts) diff --git a/readme.md b/readme.md index dfd7bdb..b29916c 100644 --- a/readme.md +++ b/readme.md @@ -97,10 +97,6 @@ CosmicNvim comes with first-class support for the following themes: [Cosmic configurations](./lua/cosmic/config/examples/config.lua) -[Plugin configurations](./lua/cosmic/config/examples/plugins.lua) - -[Add additional mappings](./lua/cosmic/config/examples/mappings.lua) - [Add additional vim options](./lua/cosmic/config/examples/editor.lua) ## ✨ Cosmic Commands