diff --git a/init.lua b/init.lua index 42cebbf..c976e32 100644 --- a/init.lua +++ b/init.lua @@ -1,9 +1,31 @@ -if vim.fn.has('nvim-0.11') == 0 then - error('Need Neovim v0.11+ (Nightly) in order to run Cosmic!') -end +local cosmic_modules = { + 'core.editor', + 'core.pluginsInit', + 'core.commands', + 'lsp', + -- load mappings only after editor configs are loaded + 'core.mappings', +} -local ok, err = pcall(require, 'cosmic') - -if not ok then - error(('Error loading core...\n\n%s'):format(err)) +-- set up lazy.nvim to install plugins +local lazypath = vim.fn.stdpath('data') .. '/lazy/lazy.nvim' +if not vim.uv.fs_stat(lazypath) then + vim.fn.system({ + 'git', + 'clone', + '--filter=blob:none', + '--single-branch', + 'https://github.com/folke/lazy.nvim.git', + lazypath, + }) +end +vim.opt.runtimepath:prepend(lazypath) + +-- set up cosmicnvim +for _, mod in ipairs(cosmic_modules) do + local ok, err = pcall(require, mod) + -- config files may or may not be present + if not ok then + error(('Error loading %s...\n\n%s'):format(mod, err)) + end end diff --git a/lua/cosmic/core/commands.lua b/lua/core/commands.lua similarity index 57% rename from lua/cosmic/core/commands.lua rename to lua/core/commands.lua index 7001a03..d7f5699 100644 --- a/lua/cosmic/core/commands.lua +++ b/lua/core/commands.lua @@ -7,6 +7,6 @@ vim.api.nvim_create_autocmd('VimResized', { }) vim.cmd([[ - command! CosmicUpdate lua require('cosmic.utils.cosmic').update() - command! CosmicDisableFormatOnSave lua require('cosmic.utils.lsp').toggle_format_on_save() + command! CosmicUpdate lua require('utils.cosmic').update() + command! CosmicDisableFormatOnSave lua require('utils.lsp').toggle_format_on_save() ]]) diff --git a/lua/cosmic/core/editor.lua b/lua/core/editor.lua similarity index 100% rename from lua/cosmic/core/editor.lua rename to lua/core/editor.lua diff --git a/lua/cosmic/core/mappings.lua b/lua/core/mappings.lua similarity index 97% rename from lua/cosmic/core/mappings.lua rename to lua/core/mappings.lua index c83fdcf..5bfbf39 100644 --- a/lua/cosmic/core/mappings.lua +++ b/lua/core/mappings.lua @@ -1,4 +1,4 @@ -local map = require('cosmic.utils').set_keymap +local map = require('utils').set_keymap -- Quickfix mappings map('n', 'ck', ':cexpr []', { desc = 'Clear list' }) diff --git a/lua/cosmic/core/pluginsInit.lua b/lua/core/pluginsInit.lua similarity index 83% rename from lua/cosmic/core/pluginsInit.lua rename to lua/core/pluginsInit.lua index a77f48e..613f4d3 100644 --- a/lua/cosmic/core/pluginsInit.lua +++ b/lua/core/pluginsInit.lua @@ -1,7 +1,7 @@ -local u = require('cosmic.utils.cosmic') -local user_config = require('cosmic.core.user') +local u = require('utils.cosmic') +local user_config = require('core.user') -require('lazy').setup('cosmic.plugins', { +require('lazy').setup('plugins', { lockfile = u.get_install_dir() .. '/lazy-lock.json', defaults = { lazy = true }, ui = { diff --git a/lua/core/user.lua b/lua/core/user.lua new file mode 100644 index 0000000..70c3cad --- /dev/null +++ b/lua/core/user.lua @@ -0,0 +1,19 @@ +local config = { + border = 'none', + disable_builtin_plugins = {}, + add_plugins = {}, + plugins = {}, + lsp = { + inlay_hint = false, + format_timeout = 500, + rename_notification = true, + -- table of callbacks pushed via plugins + on_attach_mappings = {}, + }, +} + +function config.lsp.add_on_attach_mapping(callback) + table.insert(config.lsp.on_attach_mappings, callback) +end + +return config diff --git a/lua/cosmic/config/examples/config.lua b/lua/cosmic/config/examples/config.lua deleted file mode 100644 index 1c5045d..0000000 --- a/lua/cosmic/config/examples/config.lua +++ /dev/null @@ -1,124 +0,0 @@ --- Override Cosmic configuration options - -local config = { - -- See :h nvim_open_win for possible border options - border = 'rounded', - -- LSP settings - lsp = { - -- Enable/disable inlay hints - inlay_hint = false, - -- Time in MS before format timeout - format_timeout = 3000, - -- Set to false to disable rename notification - rename_notification = true, - -- Enable non-default servers, use default lsp config - -- Check here for configs that will be used by default: https://github.com/williamboman/nvim-lsp-installer/tree/main/lua/nvim-lsp-installer/servers - - -- lsp servers that should be installed - ensure_installed = { - 'rust_analyzer', - }, - - -- See Cosmic defaults cosmic/plugins/null-ls/init.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 cosmic/plugins/null-ls/init.lua - null_ls = { - -- Disable default list of sources provided by CosmicNvim - default_cosmic_sources = false, - --disable formatting - format_on_save = false, - -- Add additional sources here - get_sources = function() - local null_ls = require('null-ls') - return { - null_ls.builtins.diagnostics.shellcheck, - null_ls.builtins.diagnostics.actionlint.with({ - condition = function() - local cwd = vim.fn.expand('%:p:.') - return cwd:find('.github/workflows') - end, - }), - } - end, - }, - - -- lsp servers that should be enabled - servers = { - -- Enable rust_analyzer - rust_analyzer = true, - - -- Enable ts_ls w/custom settings - ts_ls = { - -- Disable formatting (defaults to true) - format_on_save = false, - -- OR add/override server options - opts = { - on_attach = function(client, bufnr) end, - flags = { - debounce_text_changes = 150, - }, - settings = {}, - }, - }, - }, - }, - - -- adjust default plugin settings - plugins = { - -- See https://github.com/rmagatti/auto-session#%EF%B8%8F-configuration - auto_session = {}, - -- https://github.com/numToStr/Comment.nvim#configuration-optional - comment_nvim = {}, - -- See https://github.com/CosmicNvim/cosmic-ui#%EF%B8%8F-configuration - cosmic_ui = {}, - -- See :h vim.diagnostic.config for all diagnostic configuration options - diagnostic = {}, - -- See :h gitsigns-usage - gitsigns = {}, - -- See https://github.com/nvim-lualine/lualine.nvim#default-configuration - lualine = {}, - -- See https://github.com/L3MON4D3/LuaSnip/blob/577045e9adf325e58f690f4d4b4a293f3dcec1b3/README.md#config - luasnip = {}, - -- See :h telescope.setup - telescope = {}, - -- See https://github.com/folke/todo-comments.nvim#%EF%B8%8F-configuration - todo_comments = {}, - -- See :h nvim-treesitter-quickstart - treesitter = {}, - -- See :h cmp-usage - nvim_cmp = {}, - -- See :h nvim-tree.setup - nvim_tree = {}, - }, - - -- Disable plugins default enabled by CosmicNvim - disable_builtin_plugins = { - --[[ - 'auto-session', - 'colorizer', - 'comment-nvim', - 'dashboard', - 'fugitive', - 'gitsigns', - 'lualine', - 'noice', - 'nvim-cmp', - 'nvim-tree', - 'telescope', - 'terminal', - 'theme', - 'todo-comments', - 'treesitter', - ]] - }, - - -- Add additional plugins (lazy.nvim) - add_plugins = { - 'ggandor/lightspeed.nvim', - { - 'romgrk/barbar.nvim', - dependencies = { 'nvim-tree/nvim-web-devicons' }, - }, - }, -} - -return config diff --git a/lua/cosmic/config/examples/editor.lua b/lua/cosmic/config/examples/editor.lua deleted file mode 100644 index 6604db6..0000000 --- a/lua/cosmic/config/examples/editor.lua +++ /dev/null @@ -1,31 +0,0 @@ --- Override Cosmic editor options - -local g = vim.g -local map = require('cosmic.utils').set_keymap -local opt = vim.opt - --- Default leader is -g.mapleader = ',' - --- Default indent = 2 -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', '') - --- Mapping options: --- map('n', ...) --- map('v', ...) --- map('i', ...) --- map('t', ...) - --- Example: Disable find files keymap --- vim.keymap.del('n', 'f') - --- See :h vim.keymap for more info diff --git a/lua/cosmic/config/examples/readme.md b/lua/cosmic/config/examples/readme.md deleted file mode 100644 index c1d62de..0000000 --- a/lua/cosmic/config/examples/readme.md +++ /dev/null @@ -1,16 +0,0 @@ -# Configuration - -There are two main configuration files that you may want to create. - -- cosmic/config/config.lua -- cosmic/config/editor.lua - -Please look at the examples in this directory in order to get started. - -## Quick Start - -```bash -# 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 -``` diff --git a/lua/cosmic/core/init.lua b/lua/cosmic/core/init.lua deleted file mode 100644 index 82d3609..0000000 --- a/lua/cosmic/core/init.lua +++ /dev/null @@ -1,32 +0,0 @@ -local cosmic_modules = { - 'cosmic.core.editor', - 'cosmic.core.pluginsInit', - 'cosmic.core.commands', - 'cosmic.lsp', - 'cosmic.config.editor', - -- load mappings only after editor configs are loaded - 'cosmic.core.mappings', -} - --- set up lazy.nvim to install plugins -local lazypath = vim.fn.stdpath('data') .. '/lazy/lazy.nvim' -if not vim.uv.fs_stat(lazypath) then - vim.fn.system({ - 'git', - 'clone', - '--filter=blob:none', - '--single-branch', - 'https://github.com/folke/lazy.nvim.git', - lazypath, - }) -end -vim.opt.runtimepath:prepend(lazypath) - --- set up cosmicnvim -for _, mod in ipairs(cosmic_modules) do - local ok, err = pcall(require, mod) - -- cosmic.config files may or may not be present - if not ok and not mod:find('cosmic.config') then - error(('Error loading %s...\n\n%s'):format(mod, err)) - end -end diff --git a/lua/cosmic/core/user.lua b/lua/cosmic/core/user.lua deleted file mode 100644 index 5e938dc..0000000 --- a/lua/cosmic/core/user.lua +++ /dev/null @@ -1,65 +0,0 @@ --- DEFAULT USER SETTINGS -local ok, user_config = pcall(require, 'cosmic.config.config') - -if not ok then - user_config = {} -end - -local default_config = { - border = 'rounded', - disable_builtin_plugins = {}, - add_plugins = {}, - plugins = {}, - lsp = { - inlay_hint = false, - format_timeout = 500, - rename_notification = true, - -- table of callbacks pushed via plugins - on_attach_mappings = {}, - -- lsp servers that should be installed - ensure_installed = { - 'astro', - 'cssls', - 'eslint', - 'eslint', - 'gopls', - 'graphql', - 'html', - 'jsonls', - 'lua_ls', - 'prettierd', - 'pyright', - 'svelte', - 'tailwindcss', - 'ts_ls', - 'yamlls', - }, - -- lsp servers that should be enabled - servers = { - astro = true, - tailwindcss = true, - eslint = true, - jsonls = { - format_on_save = false, - }, - pyright = true, - lua_ls = { - format_on_save = false, - }, - gopls = true, - html = true, - ts_ls = { - format_on_save = false, - }, - }, - }, -} - -local u = require('cosmic.utils') -local config = u.merge(default_config, user_config) - -function config.lsp.add_on_attach_mapping(callback) - table.insert(config.lsp.on_attach_mappings, callback) -end - -return config diff --git a/lua/cosmic/init.lua b/lua/cosmic/init.lua deleted file mode 100644 index b94a217..0000000 --- a/lua/cosmic/init.lua +++ /dev/null @@ -1 +0,0 @@ -require('cosmic.core') diff --git a/lua/cosmic/lsp/servers/eslint.lua b/lua/cosmic/lsp/servers/eslint.lua deleted file mode 100644 index 9a304a8..0000000 --- a/lua/cosmic/lsp/servers/eslint.lua +++ /dev/null @@ -1,14 +0,0 @@ -local defaults = require('cosmic.lsp.servers.defaults') -local can_format_on_save = require('cosmic.utils.lsp').can_client_format_on_save -return { - on_attach = function(client, bufnr) - defaults.on_attach(client, bufnr) - if can_format_on_save(client) then - vim.api.nvim_create_autocmd('BufWritePre', { - buffer = bufnr, - command = 'EslintFixAll', - group = defaults.augroup, - }) - end - end, -} diff --git a/lua/cosmic/lsp/servers/pyright.lua b/lua/cosmic/lsp/servers/pyright.lua deleted file mode 100644 index 686dca2..0000000 --- a/lua/cosmic/lsp/servers/pyright.lua +++ /dev/null @@ -1,34 +0,0 @@ -local path = require('lspconfig/util').path - -local function get_python_path(workspace) - -- Use activated virtualenv. - if vim.env.VIRTUAL_ENV then - return path.join(vim.env.VIRTUAL_ENV, 'bin', 'python') - end - - -- Find and use virtualenv in workspace directory. - for _, pattern in ipairs({ '*', '.*' }) do - local match = vim.fn.glob(path.join(workspace, pattern, 'pyvenv.cfg')) - if match ~= '' then - return path.join(path.dirname(match), 'bin', 'python') - end - end - - -- Fallback to system Python. - return exepath('python3') or exepath('python') or 'python' -end - -return { - settings = { - python = { - analysis = { - typeCheckingMode = 'off', - useLibraryCodeForTypes = true, - completeFunctionParens = true, - }, - }, - }, - before_init = function(_, config) - config.settings.python.pythonPath = get_python_path(config.root_dir) - end, -} diff --git a/lua/cosmic/plugins/mason-lspconfig/init.lua b/lua/cosmic/plugins/mason-lspconfig/init.lua deleted file mode 100644 index a682cce..0000000 --- a/lua/cosmic/plugins/mason-lspconfig/init.lua +++ /dev/null @@ -1,47 +0,0 @@ -return { - 'williamboman/mason-lspconfig.nvim', - config = function() - local user_config = require('cosmic.core.user') - require('mason').setup({ - ui = { - border = user_config.border, - }, - }) - require('mason-lspconfig').setup({ - ensure_installed = user_config.lsp.ensure_installed, - }) - - -- set up lsp servers - local u = require('cosmic.utils') - local default_config = require('cosmic.lsp.servers.defaults') - local lspconfig = require('lspconfig') - - local start_server = function(server) - local server_config = default_config - - -- set up default cosmic options - local ok, cosmic_server_config = pcall(require, 'cosmic.lsp.servers.' .. server) - if ok then - server_config = u.merge(server_config, cosmic_server_config) - end - - -- override options if user defines them - if type(user_config.lsp.servers[server]) == 'table' and user_config.lsp.servers[server].opts ~= nil then - server_config = u.merge(server_config, user_config.lsp.servers[server].opts) - end - - lspconfig[server].setup(server_config) - end - - for config_server, config_opt in pairs(user_config.lsp.servers) do - if not config_opt == false then - start_server(config_server) - end - end - end, - dependencies = { - 'williamboman/mason.nvim', - }, - lazy = false, - --[[ event = 'BufEnter', ]] -} diff --git a/lua/cosmic/plugins/noice/init.lua b/lua/cosmic/plugins/noice/init.lua deleted file mode 100644 index 7b1178c..0000000 --- a/lua/cosmic/plugins/noice/init.lua +++ /dev/null @@ -1,72 +0,0 @@ -local user_config = require('cosmic.core.user') -local u = require('cosmic.utils') -local map = require('cosmic.utils').set_keymap - -return { - 'folke/noice.nvim', - config = function() - local config = u.merge({ - presets = { - lsp_doc_border = true, - long_message_to_split = true, - }, - views = { - notify = { - merge = true, - }, - }, - messages = { - -- NOTE: If you enable messages, then the cmdline is enabled automatically. - -- This is a current Neovim limitation. - enabled = true, -- enables the Noice messages UI - view = 'mini', -- default view for messages - view_error = 'notify', -- view for errors - view_warn = 'notify', -- view for warnings - view_history = 'messages', -- view for :messages - view_search = 'virtualtext', -- view for search count messages. Set to `false` to disable - }, - lsp = { - -- override markdown rendering so that **cmp** and other plugins use **Treesitter** - hover = { - enabled = true, - }, - signature = { - enabled = true, - }, - message = { - -- Messages shown by lsp servers - enabled = true, - view = 'mini', - opts = {}, - }, - override = { - ['vim.lsp.util.convert_input_to_markdown_lines'] = true, - ['vim.lsp.util.stylize_markdown'] = true, - ['cmp.entry.get_documentation'] = true, - }, - }, - }, user_config.plugins.noice or {}) - - require('noice').setup(config) - - map('n', '', function() - if not require('noice.lsp').scroll(4) then - return '' - end - end) - - map('n', '', function() - if not require('noice.lsp').scroll(-4) then - return '' - end - end) - end, - event = 'VeryLazy', - dependencies = { - 'MunifTanjim/nui.nvim', - { 'rcarriga/nvim-notify', opts = { - timeout = 1000, - fps = 60, - } }, - }, -} diff --git a/lua/cosmic/plugins/nvim-lspconfig/init.lua b/lua/cosmic/plugins/nvim-lspconfig/init.lua deleted file mode 100644 index 139e082..0000000 --- a/lua/cosmic/plugins/nvim-lspconfig/init.lua +++ /dev/null @@ -1,6 +0,0 @@ -local user_config = require('cosmic.core.user') - -return { - 'neovim/nvim-lspconfig', - enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'nvim-lspconfig'), -} diff --git a/lua/cosmic/plugins/nvim-tree/init.lua b/lua/cosmic/plugins/nvim-tree/init.lua deleted file mode 100644 index 2703be3..0000000 --- a/lua/cosmic/plugins/nvim-tree/init.lua +++ /dev/null @@ -1,63 +0,0 @@ -local user_config = require('cosmic.core.user') -local icons = require('cosmic.utils.icons') -local u = require('cosmic.utils') - --- set up args -local args = { - respect_buf_cwd = true, - diagnostics = { - enable = true, - show_on_dirs = true, - icons = { - hint = icons.hint, - info = icons.info, - warning = icons.warn, - error = icons.error, - }, - }, - update_focused_file = { - enable = true, - }, - view = { - width = 40, - number = true, - relativenumber = true, - }, - git = { - ignore = true, - }, - renderer = { - highlight_git = true, - special_files = {}, - icons = { - glyphs = { - default = '', - symlink = icons.symlink, - git = icons.git, - folder = icons.folder, - }, - }, - }, -} - -return { - 'kyazdani42/nvim-tree.lua', - config = function() - require('nvim-tree').setup(u.merge(args, user_config.plugins.nvim_tree or {})) - end, - init = function() - local map = require('cosmic.utils').set_keymap - - map('n', '', ':NvimTreeToggle', { desc = 'Toggle Tree' }) - map('n', 'nt', ':NvimTreeToggle', { desc = 'Toggle Tree' }) - map('n', 'nr', ':NvimTreeRefresh', { desc = 'Refresh Tree' }) - end, - cmd = { - 'NvimTreeClipboard', - 'NvimTreeFindFile', - 'NvimTreeOpen', - 'NvimTreeRefresh', - 'NvimTreeToggle', - }, - enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'nvim-tree'), -} diff --git a/lua/cosmic/plugins/nx/init.lua b/lua/cosmic/plugins/nx/init.lua deleted file mode 100644 index c15e6e2..0000000 --- a/lua/cosmic/plugins/nx/init.lua +++ /dev/null @@ -1,18 +0,0 @@ -local user_config = require('cosmic.core.user') -local u = require('cosmic.utils') - -return { - 'Equilibris/nx.nvim', - dependencies = { - 'nvim-telescope/telescope.nvim', - }, - opts = u.merge({ - -- See below for config options - nx_cmd_root = 'yarn nx', - }, user_config.plugins.nx or {}), - -- Plugin will load when you use these keys - keys = { - { 'nx', 'Telescope nx actions', desc = 'nx actions' }, - }, - enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'nx'), -} diff --git a/lua/cosmic/plugins/telescope/utils.lua b/lua/cosmic/plugins/telescope/utils.lua deleted file mode 100644 index 4aee25b..0000000 --- a/lua/cosmic/plugins/telescope/utils.lua +++ /dev/null @@ -1,11 +0,0 @@ -local M = {} - -M.project_files = function() - local opts = {} -- define here if you want to define something - local ok = pcall(require('telescope.builtin').git_files, opts) - if not ok then - require('telescope.builtin').find_files(opts) - end -end - -return M diff --git a/lua/cosmic/plugins/user/init.lua b/lua/cosmic/plugins/user/init.lua deleted file mode 100644 index e3661fa..0000000 --- a/lua/cosmic/plugins/user/init.lua +++ /dev/null @@ -1,2 +0,0 @@ -local user_config = require('cosmic.core.user') -return user_config.add_plugins diff --git a/lua/cosmic/utils/icons.lua b/lua/cosmic/utils/icons.lua deleted file mode 100644 index 3eaeb6a..0000000 --- a/lua/cosmic/utils/icons.lua +++ /dev/null @@ -1,84 +0,0 @@ -local icons = { - rounded_left_filled = '', - rounded_right_filled = '', - arrow_left_filled = '', -- e0b2 - arrow_right_filled = '', -- e0b0 - arrow_left = '', -- e0b3 - arrow_right = '', -- e0b1 - ghost = '', - cosmic = '💫', - star = '★', - scorpio = '♏︎', - rocket = '🚀', - warn = '', - info = '', - error = '', - hint = '', - perf = ' ', - note = '', - branch = '', - file = '', - dotdotdot = '…', - information = '', - symlink = '', - line_number = '', - debug = ' ', - flame = ' ', - check = ' ', - trace = '✎', - file1 = '', - file2 = '', - clock = '', - word = '', - diff_add = '', - diff_modified = '', - diff_remove = '', - git = { - unstaged = '✗', - staged = '✓', - unmerged = '', - renamed = '➜', - untracked = '★', - deleted = '', - ignored = '◌', - }, - folder = { - arrow_open = '', - arrow_closed = '', - default = '', - open = '', - empty = '', - empty_open = '', - symlink = '', - symlink_open = '', - }, - kind_icons = { - Text = '', - Method = 'm', - Function = '', - Constructor = '', - Field = '', - Variable = '', - Class = '', - Interface = '', - Module = '', - Property = '', - Unit = '', - Value = '', - Enum = '', - Keyword = '', - Snippet = '', - Color = '', - File = '', - Reference = '', - Folder = '', - EnumMember = '', - Constant = '', - Struct = '', - Event = '', - Operator = '', - TypeParameter = '', - }, -} - -return icons diff --git a/lua/cosmic/lsp/commands.lua b/lua/lsp/commands.lua similarity index 98% rename from lua/cosmic/lsp/commands.lua rename to lua/lsp/commands.lua index 62733bc..117b036 100644 --- a/lua/cosmic/lsp/commands.lua +++ b/lua/lsp/commands.lua @@ -1,4 +1,4 @@ -local user_config = require('cosmic.core.user') +local user_config = require('core.user') local found = false for _, plugin in ipairs(user_config.add_plugins) do diff --git a/lua/cosmic/lsp/diagnostics/init.lua b/lua/lsp/diagnostics/init.lua similarity index 93% rename from lua/cosmic/lsp/diagnostics/init.lua rename to lua/lsp/diagnostics/init.lua index 9f58b34..73e3642 100644 --- a/lua/cosmic/lsp/diagnostics/init.lua +++ b/lua/lsp/diagnostics/init.lua @@ -1,6 +1,6 @@ -local u = require('cosmic.utils') -local icons = require('cosmic.utils.icons') -local user_config = require('cosmic.core.user') +local u = require('utils') +local icons = require('utils.icons') +local user_config = require('core.user') local function format_diagnostic(diagnostic) local icon = icons.error diff --git a/lua/cosmic/lsp/init.lua b/lua/lsp/init.lua similarity index 51% rename from lua/cosmic/lsp/init.lua rename to lua/lsp/init.lua index 0666bb2..823f391 100644 --- a/lua/cosmic/lsp/init.lua +++ b/lua/lsp/init.lua @@ -1,4 +1,4 @@ -require('cosmic.lsp.diagnostics') -require('cosmic.lsp.commands') +require('lsp.diagnostics') +require('lsp.commands') -- LSP server initialization can be found in mason-lspconfig setup diff --git a/lua/cosmic/lsp/mappings.lua b/lua/lsp/mappings.lua similarity index 92% rename from lua/cosmic/lsp/mappings.lua rename to lua/lsp/mappings.lua index 0b04d23..c62392e 100644 --- a/lua/cosmic/lsp/mappings.lua +++ b/lua/lsp/mappings.lua @@ -1,5 +1,5 @@ -local utils = require('cosmic.utils') -local lsp_utils = require('cosmic.utils.lsp') +local utils = require('utils') +local lsp_utils = require('utils.lsp') local M = {} -- Mappings. @@ -57,7 +57,7 @@ function M.init(client, bufnr) buf_map( 'n', 'lwl', - 'lua require("cosmic.utils.logger"):log(vim.inspect(vim.lsp.buf.list_workspace_folders()))', + 'lua require("utils.logger"):log(vim.inspect(vim.lsp.buf.list_workspace_folders()))', { desc = 'Show workspace folders' } ) end diff --git a/lua/lsp/servers.lua b/lua/lsp/servers.lua new file mode 100644 index 0000000..7c7c665 --- /dev/null +++ b/lua/lsp/servers.lua @@ -0,0 +1,5 @@ +return { + 'eslint', + 'lua_ls', + 'ts_ls' +} diff --git a/lua/cosmic/lsp/servers/defaults.lua b/lua/lsp/servers/defaults.lua similarity index 70% rename from lua/cosmic/lsp/servers/defaults.lua rename to lua/lsp/servers/defaults.lua index 082f2f8..db02dbc 100644 --- a/lua/cosmic/lsp/servers/defaults.lua +++ b/lua/lsp/servers/defaults.lua @@ -1,9 +1,9 @@ local M = {} local augroup_name = 'CosmicNvimLspFormat' -local user_config = require('cosmic.core.user') -local u = require('cosmic.utils') -local lsp_utils = require('cosmic.utils.lsp') -local lsp_mappings = require('cosmic.lsp.mappings') +local user_config = require('core.user') +local u = require('utils') +local lsp_utils = require('utils.lsp') +local lsp_mappings = require('lsp.mappings') M.augroup = vim.api.nvim_create_augroup(augroup_name, { clear = true }) @@ -24,7 +24,7 @@ function M.on_attach(client, bufnr) if client.supports_method('textDocument/formatting') then -- set up :LspFormat for clients that are capable vim.cmd( - string.format("command! -nargs=? LspFormat lua require('cosmic.utils.lsp').buf_format(%s, )", bufnr) + string.format("command! -nargs=? LspFormat lua require('utils.lsp').buf_format(%s, )", bufnr) ) -- set up auto format on save @@ -34,15 +34,10 @@ function M.on_attach(client, bufnr) }) vim.api.nvim_create_autocmd('BufWritePre', { callback = function() - if lsp_utils.format_on_save_enabled then - vim.lsp.buf.format({ - timeout_ms = user_config.lsp.format_timeout, - bufnr = bufnr, - filter = function() - return lsp_utils.can_client_format_on_save(client) - end, - }) - end + vim.lsp.buf.format({ + timeout_ms = user_config.lsp.format_timeout, + bufnr = bufnr, + }) end, buffer = bufnr, group = M.augroup, diff --git a/lua/lsp/servers/eslint.lua b/lua/lsp/servers/eslint.lua new file mode 100644 index 0000000..bef13da --- /dev/null +++ b/lua/lsp/servers/eslint.lua @@ -0,0 +1,12 @@ +local defaults = require('lsp.servers.defaults') + +return { + on_attach = function(client, bufnr) + defaults.on_attach(client, bufnr) + vim.api.nvim_create_autocmd('BufWritePre', { + buffer = bufnr, + command = 'EslintFixAll', + group = defaults.augroup, + }) + end, +} diff --git a/lua/cosmic/lsp/servers/jsonls.lua b/lua/lsp/servers/jsonls.lua similarity index 100% rename from lua/cosmic/lsp/servers/jsonls.lua rename to lua/lsp/servers/jsonls.lua diff --git a/lua/cosmic/lsp/servers/lua_ls.lua b/lua/lsp/servers/lua_ls.lua similarity index 100% rename from lua/cosmic/lsp/servers/lua_ls.lua rename to lua/lsp/servers/lua_ls.lua diff --git a/lua/cosmic/lsp/servers/tsserver.lua b/lua/lsp/servers/tsserver.lua similarity index 100% rename from lua/cosmic/lsp/servers/tsserver.lua rename to lua/lsp/servers/tsserver.lua diff --git a/lua/cosmic/plugins/auto-pairs/init.lua b/lua/plugins/auto-pairs/init.lua similarity index 85% rename from lua/cosmic/plugins/auto-pairs/init.lua rename to lua/plugins/auto-pairs/init.lua index 9624fc2..334f3ee 100644 --- a/lua/cosmic/plugins/auto-pairs/init.lua +++ b/lua/plugins/auto-pairs/init.lua @@ -1,5 +1,5 @@ -local user_config = require('cosmic.core.user') -local u = require('cosmic.utils') +local user_config = require('core.user') +local u = require('utils') return { 'windwp/nvim-autopairs', diff --git a/lua/cosmic/plugins/auto-session/init.lua b/lua/plugins/auto-session/init.lua similarity index 78% rename from lua/cosmic/plugins/auto-session/init.lua rename to lua/plugins/auto-session/init.lua index 69dfdcf..e117d37 100644 --- a/lua/cosmic/plugins/auto-session/init.lua +++ b/lua/plugins/auto-session/init.lua @@ -1,5 +1,5 @@ -local user_config = require('cosmic.core.user') -local u = require('cosmic.utils') +local user_config = require('core.user') +local u = require('utils') local defaults = { pre_save_cmds = { 'NvimTreeClose', 'cclose', 'lua vim.notify.dismiss()' }, @@ -15,7 +15,7 @@ return { require('auto-session').setup(u.merge(defaults, user_config.plugins.auto_session or {})) end, init = function() - require('cosmic.plugins.auto-session.mappings') + require('plugins.auto-session.mappings') end, enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'auto-session'), } diff --git a/lua/cosmic/plugins/auto-session/mappings.lua b/lua/plugins/auto-session/mappings.lua similarity index 56% rename from lua/cosmic/plugins/auto-session/mappings.lua rename to lua/plugins/auto-session/mappings.lua index 1b7ef87..d5e36f1 100644 --- a/lua/cosmic/plugins/auto-session/mappings.lua +++ b/lua/plugins/auto-session/mappings.lua @@ -1,4 +1,4 @@ -local map = require('cosmic.utils').set_keymap +local map = require('utils').set_keymap -- session map('n', 'sl', 'silent RestoreSession', { desc = 'Restore session' }) @@ -6,6 +6,6 @@ map('n', 'ss', 'SaveSession', { desc = 'Save session' }) map( 'n', 'si', - 'lua require("cosmic.utils.logger"):log("Session name: " .. require("auto-session-library").current_session_name())', + 'lua require("utils.logger"):log("Session name: " .. require("auto-session-library").current_session_name())', { desc = 'Print session' } ) diff --git a/lua/cosmic/plugins/colorizer/init.lua b/lua/plugins/colorizer/init.lua similarity index 76% rename from lua/cosmic/plugins/colorizer/init.lua rename to lua/plugins/colorizer/init.lua index f11740f..8019ceb 100644 --- a/lua/cosmic/plugins/colorizer/init.lua +++ b/lua/plugins/colorizer/init.lua @@ -1,5 +1,5 @@ -local user_config = require('cosmic.core.user') -local u = require('cosmic.utils') +local user_config = require('core.user') +local u = require('utils') return { 'norcalli/nvim-colorizer.lua', diff --git a/lua/cosmic/plugins/comments/init.lua b/lua/plugins/comments/init.lua similarity index 91% rename from lua/cosmic/plugins/comments/init.lua rename to lua/plugins/comments/init.lua index e6d2d70..1362060 100644 --- a/lua/cosmic/plugins/comments/init.lua +++ b/lua/plugins/comments/init.lua @@ -1,5 +1,5 @@ -local user_config = require('cosmic.core.user') -local u = require('cosmic.utils') +local user_config = require('core.user') +local u = require('utils') return { 'numToStr/Comment.nvim', diff --git a/lua/cosmic/plugins/cosmic-ui/init.lua b/lua/plugins/cosmic-ui/init.lua similarity index 91% rename from lua/cosmic/plugins/cosmic-ui/init.lua rename to lua/plugins/cosmic-ui/init.lua index 4578779..134d2c1 100644 --- a/lua/cosmic/plugins/cosmic-ui/init.lua +++ b/lua/plugins/cosmic-ui/init.lua @@ -1,5 +1,5 @@ -local user_config = require('cosmic.core.user') -local utils = require('cosmic.utils') +local user_config = require('core.user') +local utils = require('utils') local defaults = { border_style = 'rounded', diff --git a/lua/cosmic/plugins/dashboard/init.lua b/lua/plugins/dashboard/init.lua similarity index 93% rename from lua/cosmic/plugins/dashboard/init.lua rename to lua/plugins/dashboard/init.lua index 6e47459..e37abca 100644 --- a/lua/cosmic/plugins/dashboard/init.lua +++ b/lua/plugins/dashboard/init.lua @@ -1,5 +1,5 @@ -local user_config = require('cosmic.core.user') -local icons = require('cosmic.utils.icons') +local user_config = require('core.user') +local icons = require('utils.icons') local g = vim.g return { @@ -12,7 +12,7 @@ return { g.dashboard_custom_section = { find_file = { description = { icons.file1 .. ' Find File ff' }, - command = 'lua require("cosmic.plugins.telescope.mappings").project_files()', + command = 'lua require("plugins.telescope.mappings").project_files()', }, file_explorer = { description = { icons.file2 .. ' File Manager ' }, diff --git a/lua/cosmic/plugins/fugitive/init.lua b/lua/plugins/fugitive/init.lua similarity index 73% rename from lua/cosmic/plugins/fugitive/init.lua rename to lua/plugins/fugitive/init.lua index b1e81e8..e9cab77 100644 --- a/lua/cosmic/plugins/fugitive/init.lua +++ b/lua/plugins/fugitive/init.lua @@ -1,4 +1,4 @@ -local user_config = require('cosmic.core.user') +local user_config = require('core.user') return { 'tpope/vim-fugitive', cmd = 'Git', diff --git a/lua/cosmic/plugins/gitsigns/init.lua b/lua/plugins/gitsigns/init.lua similarity index 97% rename from lua/cosmic/plugins/gitsigns/init.lua rename to lua/plugins/gitsigns/init.lua index 99f507e..12b96d6 100644 --- a/lua/cosmic/plugins/gitsigns/init.lua +++ b/lua/plugins/gitsigns/init.lua @@ -1,5 +1,5 @@ -local user_config = require('cosmic.core.user') -local u = require('cosmic.utils') +local user_config = require('core.user') +local u = require('utils') return { 'lewis6991/gitsigns.nvim', diff --git a/lua/cosmic/plugins/lazydev/init.lua b/lua/plugins/lazydev/init.lua similarity index 92% rename from lua/cosmic/plugins/lazydev/init.lua rename to lua/plugins/lazydev/init.lua index d94937f..a85967a 100644 --- a/lua/cosmic/plugins/lazydev/init.lua +++ b/lua/plugins/lazydev/init.lua @@ -1,4 +1,4 @@ -local user_config = require('cosmic.core.user') +local user_config = require('core.user') return { 'folke/lazydev.nvim', ft = 'lua', -- only load on lua files diff --git a/lua/cosmic/plugins/lualine/init.lua b/lua/plugins/lualine/init.lua similarity index 94% rename from lua/cosmic/plugins/lualine/init.lua rename to lua/plugins/lualine/init.lua index 8a63fe1..c3f1bb2 100644 --- a/lua/cosmic/plugins/lualine/init.lua +++ b/lua/plugins/lualine/init.lua @@ -1,7 +1,7 @@ -local user_config = require('cosmic.core.user') -local utils = require('cosmic.utils') -local lsp_utils = require('cosmic.utils.lsp') -local icons = require('cosmic.utils.icons') +local user_config = require('core.user') +local utils = require('utils') +local lsp_utils = require('utils.lsp') +local icons = require('utils.icons') local custom_sections = { branch = { 'b:gitsigns_head', icon = icons.branch }, @@ -136,6 +136,5 @@ return { end, }) end, - dependencies = { 'nvim-tree/nvim-web-devicons' }, enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'lualine'), } diff --git a/lua/cosmic/plugins/null-ls/init.lua b/lua/plugins/null-ls/init.lua similarity index 88% rename from lua/cosmic/plugins/null-ls/init.lua rename to lua/plugins/null-ls/init.lua index 8260039..ea6ec0c 100644 --- a/lua/cosmic/plugins/null-ls/init.lua +++ b/lua/plugins/null-ls/init.lua @@ -1,5 +1,5 @@ -local user_config = require('cosmic.core.user') -local u = require('cosmic.utils') +local user_config = require('core.user') +local u = require('utils') return { 'nvimtools/none-ls.nvim', @@ -8,7 +8,7 @@ return { 'gbprod/none-ls-shellcheck.nvim', }, config = function() - local defaults = require('cosmic.lsp.servers.defaults') + local defaults = require('lsp.servers.defaults') local null_ls = require('null-ls') local config_opts = u.merge({ default_cosmic_sources = true, diff --git a/lua/cosmic/plugins/nvim-cmp/config.lua b/lua/plugins/nvim-cmp/config.lua similarity index 96% rename from lua/cosmic/plugins/nvim-cmp/config.lua rename to lua/plugins/nvim-cmp/config.lua index 17209b5..4d446b2 100644 --- a/lua/cosmic/plugins/nvim-cmp/config.lua +++ b/lua/plugins/nvim-cmp/config.lua @@ -1,7 +1,7 @@ local cmp = require('cmp') -local u = require('cosmic.utils') -local user_config = require('cosmic.core.user') -local icons = require('cosmic.utils.icons') +local u = require('utils') +local user_config = require('core.user') +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') diff --git a/lua/cosmic/plugins/nvim-cmp/init.lua b/lua/plugins/nvim-cmp/init.lua similarity index 90% rename from lua/cosmic/plugins/nvim-cmp/init.lua rename to lua/plugins/nvim-cmp/init.lua index 78cfe79..f896eca 100644 --- a/lua/cosmic/plugins/nvim-cmp/init.lua +++ b/lua/plugins/nvim-cmp/init.lua @@ -1,10 +1,10 @@ -local user_config = require('cosmic.core.user') -local u = require('cosmic.utils') +local user_config = require('core.user') +local u = require('utils') return { 'hrsh7th/nvim-cmp', config = function() - require('cosmic.plugins.nvim-cmp.config') + require('plugins.nvim-cmp.config') end, dependencies = { 'hrsh7th/cmp-nvim-lsp', diff --git a/lua/plugins/nvim-lspconfig/init.lua b/lua/plugins/nvim-lspconfig/init.lua new file mode 100644 index 0000000..f3611ae --- /dev/null +++ b/lua/plugins/nvim-lspconfig/init.lua @@ -0,0 +1,26 @@ +local user_config = require('core.user') + +return { + 'neovim/nvim-lspconfig', + config = function() + local u = require('utils') + local default_config = require('lsp.servers.defaults') + local lspconfig = require('lspconfig') + + local start_server = function(server) + local server_config = default_config + + local ok, cosmic_server_config = pcall(require, 'lsp.servers.' .. server) + if ok then + server_config = u.merge(server_config, cosmic_server_config) + end + + lspconfig[server].setup(server_config) + end + + for _, server in pairs(require('lsp.servers')) do + start_server(server) + end + end, + lazy = false, +} diff --git a/lua/cosmic/plugins/schemastore/init.lua b/lua/plugins/schemastore/init.lua similarity index 100% rename from lua/cosmic/plugins/schemastore/init.lua rename to lua/plugins/schemastore/init.lua diff --git a/lua/cosmic/plugins/telescope/config.lua b/lua/plugins/telescope/config.lua similarity index 84% rename from lua/cosmic/plugins/telescope/config.lua rename to lua/plugins/telescope/config.lua index 2c73f2b..5ad5eb9 100644 --- a/lua/cosmic/plugins/telescope/config.lua +++ b/lua/plugins/telescope/config.lua @@ -1,7 +1,7 @@ local actions = require('telescope.actions') -local user_config = require('cosmic.core.user') -local icons = require('cosmic.utils.icons') -local u = require('cosmic.utils') +local user_config = require('core.user') +local icons = require('utils.icons') +local u = require('utils') local default_mappings = { n = { @@ -49,7 +49,6 @@ local opts_flex = { require('telescope').setup(u.merge({ defaults = { - prompt_prefix = '🔍 ', selection_caret = icons.folder.arrow_closed, file_ignore_patterns = { '.git/', @@ -70,16 +69,16 @@ require('telescope').setup(u.merge({ }, extensions = { fzf = { - fuzzy = true, -- false will only do exact matching + fuzzy = true, -- false will only do exact matching override_generic_sorter = true, -- override the generic sorter - override_file_sorter = true, -- override the file sorter - case_mode = 'smart_case', -- or "ignore_case" or "respect_case" + 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" }, }, pickers = { buffers = u.merge(opts_flex, { - prompt_title = '✨ Search Buffers ✨', + prompt_title = 'Search Buffers', mappings = u.merge({ n = { ['d'] = actions.delete_buffer, @@ -111,7 +110,7 @@ require('telescope').setup(u.merge({ mappings = default_mappings, }), find_files = u.merge(opts_flex, { - prompt_title = '✨ Search Project ✨', + prompt_title = 'Search Project', mappings = default_mappings, hidden = true, }), @@ -119,16 +118,16 @@ require('telescope').setup(u.merge({ mappings = default_mappings, }), git_files = u.merge(opts_flex, { - prompt_title = '✨ Search Git Project ✨', + prompt_title = 'Search Git Project', mappings = default_mappings, hidden = true, }), live_grep = u.merge(opts_flex, { - prompt_title = '✨ Live Grep ✨', + prompt_title = 'Live Grep', mappings = default_mappings, }), grep_string = u.merge(opts_vertical, { - prompt_title = '✨ Grep String ✨', + prompt_title = 'Grep String', mappings = default_mappings, }), }, diff --git a/lua/cosmic/plugins/telescope/init.lua b/lua/plugins/telescope/init.lua similarity index 69% rename from lua/cosmic/plugins/telescope/init.lua rename to lua/plugins/telescope/init.lua index 85bc515..e7d8369 100644 --- a/lua/cosmic/plugins/telescope/init.lua +++ b/lua/plugins/telescope/init.lua @@ -1,4 +1,4 @@ -local user_config = require('cosmic.core.user') +local user_config = require('core.user') return { 'nvim-telescope/telescope.nvim', dependencies = { @@ -10,18 +10,14 @@ return { }, }, config = function() - require('cosmic.plugins.telescope.config') + require('plugins.telescope.config') end, init = function() -- normal mappings - local u = require('cosmic.utils') + local u = require('utils') local map = u.set_keymap - map('n', 'ff', '', { - callback = require('cosmic.plugins.telescope.utils').project_files, - desc = 'Find file', - }) - map('n', 'fp', ':Telescope find_files', { desc = 'Find project file' }) + map('n', 'ff', ':Telescope find_files', { desc = 'Find project file' }) map('n', 'fk', ':Telescope buffers', { desc = 'Find buffer' }) map('n', 'fs', ':Telescope live_grep', { desc = 'Grep string' }) map('n', 'fw', ':Telescope grep_string', { desc = 'Grep current word' }) @@ -30,7 +26,7 @@ return { map('n', 'vc', ':Telescope git_commits', { desc = 'Git commits' }) map('n', 'vg', ':Telescope git_status', { desc = 'Git status' }) - user_config.lsp.add_on_attach_mapping(function(client, bufnr) + user_config.lsp.add_on_attach_mapping(function(_, bufnr) local buf_map = u.create_buf_map(bufnr) buf_map('n', 'gd', 'Telescope lsp_definitions', { desc = 'Go to definition' }) @@ -43,12 +39,4 @@ return { end) end, cmd = { 'Telescope' }, - keys = { - { - 'ff', - 'lua require("cosmic.plugins.telescope.utils").project_files()', - desc = 'Find project file', - }, - }, - enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'telescope'), } diff --git a/lua/cosmic/plugins/todo-comments/init.lua b/lua/plugins/todo-comments/init.lua similarity index 91% rename from lua/cosmic/plugins/todo-comments/init.lua rename to lua/plugins/todo-comments/init.lua index 6fdc1db..67004b4 100644 --- a/lua/cosmic/plugins/todo-comments/init.lua +++ b/lua/plugins/todo-comments/init.lua @@ -1,6 +1,6 @@ -local user_config = require('cosmic.core.user') -local icons = require('cosmic.utils.icons') -local u = require('cosmic.utils') +local user_config = require('core.user') +local icons = require('utils.icons') +local u = require('utils') return { 'folke/todo-comments.nvim', diff --git a/lua/cosmic/plugins/toggleterm/init.lua b/lua/plugins/toggleterm/init.lua similarity index 73% rename from lua/cosmic/plugins/toggleterm/init.lua rename to lua/plugins/toggleterm/init.lua index 475c055..53596f1 100644 --- a/lua/cosmic/plugins/toggleterm/init.lua +++ b/lua/plugins/toggleterm/init.lua @@ -1,5 +1,5 @@ -local user_config = require('cosmic.core.user') -local map = require('cosmic.utils').set_keymap +local user_config = require('core.user') +local map = require('utils').set_keymap return { 'akinsho/toggleterm.nvim', config = function() @@ -14,7 +14,7 @@ return { }, }, }) - local terminal_utils = require('cosmic.plugins.toggleterm.utils') + local terminal_utils = require('plugins.toggleterm.utils') -- toggle terminals map('n', 'xx', ':ToggleTerm', { desc = 'Toggle Terminal' }) @@ -29,7 +29,7 @@ return { map('n', 'xr', ':ToggleTermSetName', { desc = 'Rename terminal', buffer = 0 }) -- terminal only mappings - vim.cmd("autocmd! TermOpen term://* lua require('cosmic.plugins.toggleterm.utils').set_terminal_keymaps()") + vim.cmd("autocmd! TermOpen term://* lua require('plugins.toggleterm.utils').set_terminal_keymaps()") end, lazy = false, } diff --git a/lua/cosmic/plugins/toggleterm/utils.lua b/lua/plugins/toggleterm/utils.lua similarity index 93% rename from lua/cosmic/plugins/toggleterm/utils.lua rename to lua/plugins/toggleterm/utils.lua index 9a5b8d9..196ee54 100644 --- a/lua/cosmic/plugins/toggleterm/utils.lua +++ b/lua/plugins/toggleterm/utils.lua @@ -1,5 +1,5 @@ local M = {} -local map = require('cosmic.utils').set_keymap +local map = require('utils').set_keymap local Terminal = require('toggleterm.terminal').Terminal function M.new_terminal() diff --git a/lua/cosmic/plugins/tokyonight/config.lua b/lua/plugins/tokyonight/config.lua similarity index 70% rename from lua/cosmic/plugins/tokyonight/config.lua rename to lua/plugins/tokyonight/config.lua index 39ee864..7fa3772 100644 --- a/lua/cosmic/plugins/tokyonight/config.lua +++ b/lua/plugins/tokyonight/config.lua @@ -1,5 +1,5 @@ -local user_config = require('cosmic.core.user') -local u = require('cosmic.utils') +local user_config = require('core.user') +local u = require('utils') local config = u.merge({ diff --git a/lua/cosmic/plugins/tokyonight/init.lua b/lua/plugins/tokyonight/init.lua similarity index 71% rename from lua/cosmic/plugins/tokyonight/init.lua rename to lua/plugins/tokyonight/init.lua index 61debd2..f837f21 100644 --- a/lua/cosmic/plugins/tokyonight/init.lua +++ b/lua/plugins/tokyonight/init.lua @@ -1,10 +1,10 @@ -local user_config = require('cosmic.core.user') +local user_config = require('core.user') return { { -- color scheme 'folke/tokyonight.nvim', lazy = false, config = function() - local config = require('cosmic.plugins.tokyonight.config') + local config = require('plugins.tokyonight.config') require('tokyonight').setup(config) vim.cmd('color tokyonight') end, diff --git a/lua/cosmic/plugins/treesitter/init.lua b/lua/plugins/treesitter/init.lua similarity index 93% rename from lua/cosmic/plugins/treesitter/init.lua rename to lua/plugins/treesitter/init.lua index 3b0276c..e6518a3 100644 --- a/lua/cosmic/plugins/treesitter/init.lua +++ b/lua/plugins/treesitter/init.lua @@ -1,5 +1,5 @@ -local user_config = require('cosmic.core.user') -local u = require('cosmic.utils') +local user_config = require('core.user') +local u = require('utils') local defaults = { ensure_installed = { diff --git a/lua/plugins/user/init.lua b/lua/plugins/user/init.lua new file mode 100644 index 0000000..6acd461 --- /dev/null +++ b/lua/plugins/user/init.lua @@ -0,0 +1,2 @@ +local user_config = require('core.user') +return user_config.add_plugins diff --git a/lua/cosmic/plugins/which-key/init.lua b/lua/plugins/which-key/init.lua similarity index 96% rename from lua/cosmic/plugins/which-key/init.lua rename to lua/plugins/which-key/init.lua index 0d0b85e..41fe82b 100644 --- a/lua/cosmic/plugins/which-key/init.lua +++ b/lua/plugins/which-key/init.lua @@ -1,4 +1,4 @@ -local user_config = require('cosmic.core.user') +local user_config = require('core.user') return { 'folke/which-key.nvim', config = function() diff --git a/lua/cosmic/utils/cosmic.lua b/lua/utils/cosmic.lua similarity index 100% rename from lua/cosmic/utils/cosmic.lua rename to lua/utils/cosmic.lua diff --git a/lua/utils/icons.lua b/lua/utils/icons.lua new file mode 100644 index 0000000..80802c4 --- /dev/null +++ b/lua/utils/icons.lua @@ -0,0 +1,81 @@ +local icons = { + rounded_left_filled = "", + rounded_right_filled = "", + arrow_left_filled = "", -- e0b2 + arrow_right_filled = "", -- e0b0 + arrow_left = "", -- e0b3 + arrow_right = "", -- e0b1 + ghost = "", + rocket = "🚀", + warn = "", + info = "", + error = "", + hint = "󰌵", + perf = "󰄭", + note = "󰎚", + branch = "", + file = "", + dotdotdot = "…", + information = "", + symlink = "", + line_number = "", + debug = " ", + flame = " ", + check = " ", + trace = "✎", + file1 = "", + file2 = "", + clock = "", + word = "", + diff_add = "", + diff_modified = "", + diff_remove = "", + git = { + unstaged = "✗", + staged = "✓", + unmerged = "", + renamed = "➜", + untracked = "★", + deleted = "", + ignored = "◌", + }, + folder = { + arrow_open = "", + arrow_closed = "", + default = "", + open = "", + empty = "", + empty_open = "", + symlink = "", + symlink_open = "", + }, + kind_icons = { + Text = "", + Method = "m", + Function = "󰊕", + Constructor = "", + Field = "", + Variable = "", + Class = "", + Interface = "", + Module = "", + Property = "", + Unit = "", + Value = "󱨉", + Enum = "", + Keyword = "", + Snippet = "", + Color = "", + File = "", + Reference = "", + Folder = "", + EnumMember = "", + Constant = "", + Struct = "", + Event = "", + Operator = "", + TypeParameter = "󰫧", + }, +} + +return icons diff --git a/lua/cosmic/utils/init.lua b/lua/utils/init.lua similarity index 100% rename from lua/cosmic/utils/init.lua rename to lua/utils/init.lua diff --git a/lua/cosmic/utils/lsp.lua b/lua/utils/lsp.lua similarity index 69% rename from lua/cosmic/utils/lsp.lua rename to lua/utils/lsp.lua index ea70737..324a0f3 100644 --- a/lua/cosmic/utils/lsp.lua +++ b/lua/utils/lsp.lua @@ -1,28 +1,8 @@ -local user_config = require('cosmic.core.user') +local user_config = require('core.user') local M = {} M.format_on_save_enabled = true -function M.can_client_format_on_save(client) - local user_server_config = user_config.lsp.servers[client.name] - -- formatting enabled by default if server=true - if user_server_config == true then - return true - end - - -- check config server settings - if user_server_config then - -- default to true if no format flag on server settings is set - if user_server_config.format_on_save == nil then - return true - end - -- check format flag on server settings - return user_server_config.format_on_save == true - end - - return true -end - function M.toggle_format_on_save() M.format_on_save_enabled = not M.format_on_save_enabled vim.notify(string.format('Format on save: %s', M.format_on_save_enabled)) diff --git a/lua/cosmic/utils/theme.lua b/lua/utils/theme.lua similarity index 100% rename from lua/cosmic/utils/theme.lua rename to lua/utils/theme.lua