Skip to content

Cosmic-UI is a simple wrapper around specific vim functionality. Built in order to provide a quick and easy way to create a Cosmic UI experience with Neovim!

License

Notifications You must be signed in to change notification settings

CosmicNvim/cosmic-ui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ab7de38 Β· Jan 27, 2025

History

55 Commits
Jan 27, 2025
Dec 13, 2021
Dec 7, 2021
Dec 5, 2021
Jan 9, 2022

Repository files navigation

πŸ’« Cosmic-UI

Neovim Minimum Version GitHub last commit Discord

πŸš€ Stellar Features

Warning: Under heavy development

Cosmic-UI is a simple wrapper around specific vim functionality. Built in order to provide a quick and easy way to create a Cosmic UI experience with Neovim!

  • Rename floating popup & file change notification
  • Code Actions

πŸ“· Screenshots

Code Actions

Screen Shot 2021-12-10 at 3 37 38 PM

Rename Floating Popup

Screen Shot 2021-12-10 at 4 22 28 PM

πŸ›  Installation

  use({
    'CosmicNvim/cosmic-ui',
    requires = { 'MunifTanjim/nui.nvim', 'nvim-lua/plenary.nvim' },
    config = function()
      require('cosmic-ui').setup()
    end,
  })

βš™οΈ Configuration

You may override any of the settings below by passing a config object to .setup

{
  -- default border to use
  -- 'single', 'double', 'rounded', 'solid', 'shadow'
  border_style = 'single',

  -- rename popup settings
  rename = {
    border = {
      highlight = 'FloatBorder',
      style = 'single',
      title = ' Rename ',
      title_align = 'left',
      title_hl = 'FloatBorder',
    },
    prompt = '> ',
    prompt_hl = 'Comment',
  },

  code_actions = {
    min_width = nil,
    border = {
      bottom_hl = 'FloatBorder',
      highlight = 'FloatBorder',
      style = 'single',
      title = 'Code Actions',
      title_align = 'center',
      title_hl = 'FloatBorder',
    },
  }
}

✨ Usage

Rename

function map(mode, lhs, rhs, opts)
  local options = { noremap = true, silent = true }
  if opts then
    options = vim.tbl_extend('force', options, opts)
  end
  vim.api.nvim_set_keymap(mode, lhs, rhs, options)
end

map('n', 'gn', '<cmd>lua require("cosmic-ui").rename()<cr>')

Code Actions

map('n', '<leader>ga', '<cmd>lua require("cosmic-ui").code_actions()<cr>')
map('v', '<leader>ga', '<cmd>lua require("cosmic-ui").range_code_actions()<cr>')

More coming soon...