CosmicNvim/CosmicNvim

website github github
preconfigured-configuration
stars 1,148
issues 2
subscribers 17
forks 64
CREATED

UPDATED


CosmicNvim is a lightweight and opinionated Neovim config for web development, specifically designed to provide a 💫 COSMIC programming experience!

🚀 Stellar Features

Native LSP

Full featured native LSP functionality!

  • 📘 Go-to definition
  • 🔍 Find references/type def/declaration
  • 💡 Code actions
  • 🚨 Statusline diagnostics
  • 🔧 Formatting thanks to conform.nvim

Additional features

While CosmicNvim is geared specifically toward TypeScript/JavaScript development, it should be able to provide a great experience with any LSP supported language.

🛠 Installation

Quick guide

Prerequisites

  • Neovim 0.11.0+
  • Node.js (recommended for JS/TS tooling)
  • prettierd (required for default JS/TS/CSS/HTML/JSON formatting)

Install

  # move to config dir
  cd ~/.config
  # back up current config
  cp -r nvim nvim.backup
  # clone repository
  git clone https://github.com/CosmicNvim/CosmicNvim.git nvim
  # open nvim and install plugins
  nvim

By default, this will assume the Cosmic git directory is placed at vim.fn.stdpath('config'), i.e. ~/.config/nvim. If you are symlinking your pulled repo to ~/.config/nvim, you must define the shell environment variable COSMICNVIM_INSTALL_DIR that points to your installation.

Additional CosmicNvim installation details.

Additional LSP server installation details.

CosmicNvim uninstallation details.

⚙️ Configuration

General Info

Cosmic configurations

Add additional vim options

Plugin customization in lua/cosmic/config/config.lua uses:

  • plugins.add to add plugins
  • plugins.disable to disable plugins by repository ID (for example nvim-lualine/lualine.nvim)
  • plugins.opts to merge opts
  • plugins.override for full lazy.nvim spec overrides

disable_builtin_plugins has been removed.

✨ Cosmic Commands

Update CosmicNvim

Updates CosmicNvim to the latest version

:CosmicUpdate

📷 Screenshots

See more