more reorganizing

This commit is contained in:
wires 2025-03-05 09:36:07 -05:00
parent 3e4b37345d
commit 64530b3b86
Signed by: wires
SSH key fingerprint: SHA256:9GtP+M3O2IivPDlw1UY872UPUuJH2gI0yG6ExBxaaiM
38 changed files with 102 additions and 147 deletions

View file

@ -1,10 +1,10 @@
local cosmic_modules = {
'core.editor',
'core.pluginsInit',
'core.commands',
local modules = {
'editor',
'plugins_init',
'commands',
'lsp',
-- load mappings only after editor configs are loaded
'core.mappings',
'mappings',
}
-- set up lazy.nvim to install plugins
@ -22,7 +22,7 @@ end
vim.opt.runtimepath:prepend(lazypath)
-- set up cosmicnvim
for _, mod in ipairs(cosmic_modules) do
for _, mod in ipairs(modules) do
local ok, err = pcall(require, mod)
-- config files may or may not be present
if not ok then

View file

@ -7,6 +7,5 @@ vim.api.nvim_create_autocmd('VimResized', {
})
vim.cmd([[
command! CosmicUpdate lua require('utils.cosmic').update()
command! CosmicDisableFormatOnSave lua require('utils.lsp').toggle_format_on_save()
]])

View file

@ -1,7 +1,7 @@
local user_config = require('core.user')
local config = require('config')
local found = false
for _, plugin in ipairs(user_config.add_plugins) do
for _, plugin in ipairs(config.add_plugins) do
if plugin[1] == 'pmizio/typescript-tools.nvim' then
found = true
break

View file

@ -1,6 +1,6 @@
local u = require('utils')
local icons = require('utils.icons')
local user_config = require('core.user')
local config = require('config')
local function format_diagnostic(diagnostic)
local icon = icons.error
@ -22,7 +22,7 @@ local function format_diagnostic(diagnostic)
return message .. ' '
end
local config = u.merge({
local diagnostic_config = u.merge({
underline = true,
update_in_insert = false,
severity_sort = true,
@ -41,7 +41,7 @@ local config = u.merge({
},
},
float = {
border = user_config.border,
border = config.border,
focusable = false,
header = { icons.debug .. ' Diagnostics:', 'DiagnosticInfo' },
scope = 'line',
@ -58,7 +58,7 @@ local config = u.merge({
},
format = format_diagnostic,
},
}, user_config.diagnostic or {})
}, config.diagnostic or {})
-- set up diagnostics
vim.diagnostic.config(config)
vim.diagnostic.config(diagnostic_config)

View file

@ -1,5 +1,6 @@
return {
'eslint',
'lua_ls',
'ts_ls'
'eslint',
'ts_ls',
'svelte',
}

View file

@ -1,6 +1,6 @@
local M = {}
local augroup_name = 'CosmicNvimLspFormat'
local user_config = require('core.user')
local config = require('config')
local u = require('utils')
local lsp_utils = require('utils.lsp')
local lsp_mappings = require('lsp.mappings')
@ -17,7 +17,7 @@ function M.on_attach(client, bufnr)
-- Enable completion triggered by <c-x><c-o>
buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
if user_config.lsp.inlay_hint and client.supports_method('textDocument/inlayHint') then
if config.lsp.inlay_hint and client.supports_method('textDocument/inlayHint') then
vim.lsp.inlay_hint.enable(true, { bufnr = bufnr })
end
@ -35,7 +35,7 @@ function M.on_attach(client, bufnr)
vim.api.nvim_create_autocmd('BufWritePre', {
callback = function()
vim.lsp.buf.format({
timeout_ms = user_config.lsp.format_timeout,
timeout_ms = config.lsp.format_timeout,
bufnr = bufnr,
})
end,
@ -48,7 +48,7 @@ function M.on_attach(client, bufnr)
lsp_mappings.init(client, bufnr)
-- set up any additional mappings/overrides from user config
for _, callback in pairs(user_config.lsp.on_attach_mappings) do
for _, callback in pairs(config.lsp.on_attach_mappings) do
callback(client, bufnr)
end
end

View file

@ -1,4 +1,4 @@
local user_config = require('core.user')
local config = require('config')
local u = require('utils')
return {
@ -13,7 +13,7 @@ return {
},
disable_filetype = { 'TelescopePrompt', 'vim' },
fast_wrap = {},
}, user_config.plugins.nvim_autopairs or {}))
}, config.plugins.nvim_autopairs or {}))
end,
enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'autopairs'),
enabled = not vim.tbl_contains(config.disable_builtin_plugins, 'autopairs'),
}

View file

@ -1,4 +1,4 @@
local user_config = require('core.user')
local config = require('config')
local u = require('utils')
local defaults = {
@ -12,10 +12,10 @@ return {
'rmagatti/auto-session',
lazy = false,
config = function()
require('auto-session').setup(u.merge(defaults, user_config.plugins.auto_session or {}))
require('auto-session').setup(u.merge(defaults, config.plugins.auto_session or {}))
end,
init = function()
require('plugins.auto-session.mappings')
end,
enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'auto-session'),
enabled = not vim.tbl_contains(config.disable_builtin_plugins, 'auto-session'),
}

11
lua/plugins/colorizer.lua Normal file
View file

@ -0,0 +1,11 @@
local config = require('config')
local u = require('utils')
return {
'norcalli/nvim-colorizer.lua',
cmd = { 'ColorizerToggle' },
config = function()
require('colorizer').setup(u.merge({}, config.plugins.colorizer or {}))
end,
enabled = not vim.tbl_contains(config.disable_builtin_plugins, 'colorizer'),
}

View file

@ -1,11 +0,0 @@
local user_config = require('core.user')
local u = require('utils')
return {
'norcalli/nvim-colorizer.lua',
cmd = { 'ColorizerToggle' },
config = function()
require('colorizer').setup(u.merge({}, user_config.plugins.colorizer or {}))
end,
enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'colorizer'),
}

View file

@ -1,4 +1,4 @@
local user_config = require('core.user')
local config = require('config')
local u = require('utils')
return {
@ -19,8 +19,8 @@ return {
location = location,
})
end,
}, user_config.plugins.comment_nvim or {}))
}, config.plugins.comment_nvim or {}))
end,
event = 'VeryLazy',
enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'comment-nvim'),
enabled = not vim.tbl_contains(config.disable_builtin_plugins, 'comment-nvim'),
}

View file

@ -1,4 +1,4 @@
local user_config = require('core.user')
local config = require('config')
local utils = require('utils')
local defaults = {
@ -11,7 +11,7 @@ return {
'MunifTanjim/nui.nvim',
},
init = function()
user_config.lsp.add_on_attach_mapping(function(client, bufnr)
config.lsp.add_on_attach_mapping(function(client, bufnr)
local buf_map = utils.create_buf_map(bufnr)
buf_map('n', 'gn', '<cmd>lua require("cosmic-ui").rename()<cr>', { desc = 'Rename' })
@ -25,8 +25,8 @@ return {
end)
end,
config = function()
require('cosmic-ui').setup(utils.merge(defaults, user_config.plugins.cosmic_ui or {}))
require('cosmic-ui').setup(utils.merge(defaults, config.plugins.cosmic_ui or {}))
end,
event = 'VeryLazy',
enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'cosmic-ui'),
enabled = not vim.tbl_contains(config.disable_builtin_plugins, 'cosmic-ui'),
}

View file

@ -1,4 +1,4 @@
local user_config = require('core.user')
local config = require('config')
local icons = require('utils.icons')
local g = vim.g
@ -55,5 +55,5 @@ return {
})
end,
event = 'VimEnter',
enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'dashboard'),
enabled = not vim.tbl_contains(config.disable_builtin_plugins, 'dashboard'),
}

6
lua/plugins/fugitive.lua Normal file
View file

@ -0,0 +1,6 @@
local config = require('config')
return {
'tpope/vim-fugitive',
cmd = 'Git',
enabled = not vim.tbl_contains(config.disable_builtin_plugins, 'fugitive'),
}

View file

@ -1,6 +0,0 @@
local user_config = require('core.user')
return {
'tpope/vim-fugitive',
cmd = 'Git',
enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'fugitive'),
}

View file

@ -1,4 +1,4 @@
local user_config = require('core.user')
local config = require('config')
local u = require('utils')
return {
@ -17,7 +17,7 @@ return {
--[[ }, ]]
preview_config = {
-- Options passed to nvim_open_win
border = user_config.border,
border = config.border,
style = 'minimal',
relative = 'cursor',
row = 0,
@ -84,7 +84,7 @@ return {
--[[ -- Text object ]]
map({ 'o', 'x' }, 'ih', ':<C-U>Gitsigns select_hunk<CR>', { desc = 'Select hunk' })
end,
}, user_config.plugins.gitsigns or {}))
}, config.plugins.gitsigns or {}))
end,
enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'gitsigns'),
enabled = not vim.tbl_contains(config.disable_builtin_plugins, 'gitsigns'),
}

View file

@ -1,4 +1,4 @@
local user_config = require('core.user')
local config = require('config')
return {
'folke/lazydev.nvim',
ft = 'lua', -- only load on lua files
@ -13,6 +13,6 @@ return {
},
},
dependencies = { { 'Bilal2453/luvit-meta', lazy = true } },
enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'lazydev'),
enabled = not vim.tbl_contains(config.disable_builtin_plugins, 'lazydev'),
event = 'VeryLazy',
}

View file

@ -1,4 +1,4 @@
local user_config = require('core.user')
local config = require('config')
local utils = require('utils')
local lsp_utils = require('utils.lsp')
local icons = require('utils.icons')
@ -103,7 +103,7 @@ return {
lualine_z = {},
},
extensions = { 'quickfix', 'fugitive', 'nvim-tree' },
}, user_config.plugins.lualine or {}))
}, config.plugins.lualine or {}))
vim.api.nvim_create_autocmd('RecordingEnter', {
callback = function()
@ -136,5 +136,5 @@ return {
end,
})
end,
enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'lualine'),
enabled = not vim.tbl_contains(config.disable_builtin_plugins, 'lualine'),
}

View file

@ -1,4 +1,4 @@
local user_config = require('core.user')
local config = require('config')
local u = require('utils')
return {
@ -12,9 +12,9 @@ return {
local null_ls = require('null-ls')
local config_opts = u.merge({
default_cosmic_sources = true,
}, user_config.lsp.null_ls or {})
}, config.lsp.null_ls or {})
if config_opts.default_cosmic_sources then
local function get_user_config_sources()
local function get_config_sources()
if not config_opts.add_sources then
return {}
end
@ -32,12 +32,12 @@ return {
extra_filetypes = { 'astro' },
}),
null_ls.builtins.formatting.stylua,
}, get_user_config_sources())
}, get_config_sources())
end
null_ls.setup(u.merge(defaults, config_opts))
end,
--[[ event = 'BufEnter', ]]
lazy = false,
enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'null_ls'),
enabled = not vim.tbl_contains(config.disable_builtin_plugins, 'null_ls'),
}

View file

@ -1,10 +1,10 @@
local cmp = require('cmp')
local u = require('utils')
local user_config = require('core.user')
local config = require('config')
local icons = require('utils.icons')
local cmp_autopairs = require('nvim-autopairs.completion.cmp')
local user_has_luasnip = not vim.tbl_contains(user_config.disable_builtin_plugins, 'luasnip')
local user_has_luasnip = not vim.tbl_contains(config.disable_builtin_plugins, 'luasnip')
local _, luasnip = pcall(require, 'luasnip')
local has_words_before = function()
@ -75,11 +75,11 @@ local default_cmp_opts = {
}),
window = {
completion = {
border = user_config.border,
border = config.border,
winhighlight = 'FloatBorder:FloatBorder,Normal:Normal',
},
documentation = {
border = user_config.border,
border = config.border,
winhighlight = 'FloatBorder:FloatBorder,Normal:Normal',
},
},
@ -111,7 +111,7 @@ local default_cmp_opts = {
-- set up autopairs
cmp.event:on('confirm_done', cmp_autopairs.on_confirm_done())
cmp.setup(u.merge(default_cmp_opts, user_config.plugins.nvim_cmp or {}))
cmp.setup(u.merge(default_cmp_opts, config.plugins.nvim_cmp or {}))
-- Set configuration for specific filetype.
cmp.setup.filetype('gitcommit', {

View file

@ -1,4 +1,4 @@
local user_config = require('core.user')
local config = require('config')
local u = require('utils')
return {
@ -10,7 +10,7 @@ return {
'hrsh7th/cmp-nvim-lsp',
{
'saadparwaiz1/cmp_luasnip',
enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'luasnip'),
enabled = not vim.tbl_contains(config.disable_builtin_plugins, 'luasnip'),
},
'hrsh7th/cmp-buffer',
'hrsh7th/cmp-cmdline',
@ -24,7 +24,7 @@ return {
-- Update more often, :h events for more info.
updateevents = 'TextChanged,TextChangedI',
enable_autosnippets = true,
}, user_config.plugins.luasnip or {}))
}, config.plugins.luasnip or {}))
-- extend html snippets to react files
require('luasnip').filetype_extend('javascriptreact', { 'html' })
@ -36,9 +36,9 @@ return {
dependencies = {
'rafamadriz/friendly-snippets',
},
enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'luasnip'),
enabled = not vim.tbl_contains(config.disable_builtin_plugins, 'luasnip'),
},
},
event = 'InsertEnter',
enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'nvim-cmp'),
enabled = not vim.tbl_contains(config.disable_builtin_plugins, 'nvim-cmp'),
}

View file

@ -1,4 +1,4 @@
local user_config = require('core.user')
local config = require('config')
return {
'neovim/nvim-lspconfig',

View file

@ -1,5 +1,5 @@
local actions = require('telescope.actions')
local user_config = require('core.user')
local config = require('config')
local icons = require('utils.icons')
local u = require('utils')
@ -131,6 +131,6 @@ require('telescope').setup(u.merge({
mappings = default_mappings,
}),
},
}, user_config.plugins.telescope or {}))
}, config.plugins.telescope or {}))
require('telescope').load_extension('fzf')

View file

@ -1,4 +1,4 @@
local user_config = require('core.user')
local config = require('config')
return {
'nvim-telescope/telescope.nvim',
dependencies = {
@ -26,7 +26,7 @@ return {
map('n', '<leader>vc', ':Telescope git_commits<cr>', { desc = 'Git commits' })
map('n', '<leader>vg', ':Telescope git_status<cr>', { desc = 'Git status' })
user_config.lsp.add_on_attach_mapping(function(_, bufnr)
config.lsp.add_on_attach_mapping(function(_, bufnr)
local buf_map = u.create_buf_map(bufnr)
buf_map('n', 'gd', '<cmd>Telescope lsp_definitions<cr>', { desc = 'Go to definition' })

View file

@ -1,4 +1,4 @@
local user_config = require('core.user')
local config = require('config')
local icons = require('utils.icons')
local u = require('utils')
@ -27,8 +27,8 @@ return {
hint = { 'DiagnosticHint', '#10B981' },
default = { 'Identifier', '#7C3AED' },
},
}, user_config.plugins.todo_comments or {}))
}, config.plugins.todo_comments or {}))
end,
event = 'VeryLazy',
enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'todo-comments'),
enabled = not vim.tbl_contains(config.disable_builtin_plugins, 'todo-comments'),
}

View file

@ -1,4 +1,4 @@
local user_config = require('core.user')
local config = require('config')
local map = require('utils').set_keymap
return {
'akinsho/toggleterm.nvim',
@ -6,7 +6,7 @@ return {
require('toggleterm').setup({
direction = 'float',
float_opts = {
border = user_config.border,
border = config.border,
},
highlights = {
FloatBorder = {

View file

@ -1,4 +1,4 @@
local user_config = require('core.user')
local config = require('config')
local u = require('utils')
local config = u.merge({
@ -7,6 +7,6 @@ local config = u.merge({
style = 'night',
light_style = 'moon',
sidebars = { 'qf', 'packer', 'help' },
}, user_config.plugins.tokyonight or {})
}, config.plugins.tokyonight or {})
return config

View file

@ -1,4 +1,4 @@
local user_config = require('core.user')
local config = require('config')
return {
{ -- color scheme
'folke/tokyonight.nvim',
@ -8,6 +8,6 @@ return {
require('tokyonight').setup(config)
vim.cmd('color tokyonight')
end,
enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'tokyonight'),
enabled = not vim.tbl_contains(config.disable_builtin_plugins, 'tokyonight'),
},
}

View file

@ -1,4 +1,4 @@
local user_config = require('core.user')
local config = require('config')
local u = require('utils')
local defaults = {
@ -52,7 +52,7 @@ return {
event = 'BufEnter',
build = ':TSUpdate',
config = function()
require('nvim-treesitter.configs').setup(u.merge(defaults, user_config.plugins.treesitter or {}))
require('nvim-treesitter.configs').setup(u.merge(defaults, config.plugins.treesitter or {}))
end,
enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'treesitter'),
enabled = not vim.tbl_contains(config.disable_builtin_plugins, 'treesitter'),
}

View file

@ -1,2 +0,0 @@
local user_config = require('core.user')
return user_config.add_plugins

View file

@ -1,11 +1,11 @@
local user_config = require('core.user')
local config = require('config')
return {
'folke/which-key.nvim',
config = function()
local wk = require('which-key')
wk.setup({
win = {
border = user_config.border,
border = config.border,
--[[ position = 'bottom', ]]
--[[ margin = { 1, 0, 1, 0 }, ]]
padding = { 3, 2, 3, 2 },
@ -40,5 +40,5 @@ return {
})
end,
event = 'VeryLazy',
enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'which-key'),
enabled = not vim.tbl_contains(config.disable_builtin_plugins, 'which-key'),
}

View file

@ -1,11 +1,10 @@
local u = require('utils.cosmic')
local user_config = require('core.user')
local config = require('config')
require('lazy').setup('plugins', {
lockfile = u.get_install_dir() .. '/lazy-lock.json',
lockfile = vim.fn.stdpath('config') .. '/lazy-lock.json',
defaults = { lazy = true },
ui = {
border = user_config.border,
border = config.border,
size = { width = 0.7, height = 0.7 },
},
performance = {

View file

@ -1,42 +0,0 @@
local M = {}
function M.get_install_dir()
local config_dir = os.getenv('COSMICNVIM_INSTALL_DIR')
if not config_dir then
return vim.fn.stdpath('config')
end
return config_dir
end
-- update instance of CosmicNvim
function M.update()
local Job = require('plenary.job')
local path = M.get_install_dir()
local errors = {}
Job
:new({
command = 'git',
args = { 'pull', '--ff-only' },
cwd = path,
on_start = function()
vim.notify('Updating...')
end,
on_exit = function()
if vim.tbl_isempty(errors) then
vim.notify('Updated! Running CosmicReloadSync...')
M.reload_user_config_sync()
else
table.insert(errors, 1, 'Something went wrong! Please pull changes manually.')
table.insert(errors, 2, '')
vim.notify('Update failed!', vim.log.levels.ERROR)
end
end,
on_stderr = function(_, err)
table.insert(errors, err)
end,
})
:sync()
end
return M

View file

@ -1,4 +1,4 @@
local user_config = require('core.user')
local config = require('config')
local M = {}
M.format_on_save_enabled = true
@ -10,7 +10,7 @@ end
function M.buf_format(bufnr, timeout)
if timeout == '' or timeout == nil then
timeout = user_config.lsp.format_timeout
timeout = config.lsp.format_timeout
else
timeout = timeout * 1000
end
@ -51,7 +51,7 @@ function M.buf_get_active_clients_str()
end
function M.toggle_inlay_hints()
local enabled = user_config.lsp.inlay_hint
local enabled = config.lsp.inlay_hint
return function()
enabled = not enabled
vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled({