CosmicNvim is a lightweight and opinionated Neovim config for web development, specifically designed to provide a π« COSMIC programming experience!
Full featured native LSP functionality!
- π Go-to definition
- π Find references/type def/declaration
- π‘ Code actions
- π¨ Statusline diagnostics
- π§ Formatting thanks to conform.nvim
- Custom rename and code action popups via Cosmic-UI
- Amazing default theme via tokyonight.nvim
- UI enhancements via snacks.nvim and noice.nvim
- Enhanced syntax highlighting via nvim-treesitter
- Custom statusline via lualine
- File editor via oil.nvim
- Floating terminal with toggleterm.nvim
- LSP server management via mason.nvim
- Autocompletion via blink.cmp
- Snippet support via LuaSnip
- Session management via auto-session
- Easy to find keybindings via which-key.nvim
- Floating windows for references, renaming, diagnostics, code actions and more!
While CosmicNvim is geared specifically toward TypeScript/JavaScript development, it should be able to provide a great experience with any LSP supported language.
- Neovim 0.11.0+
- Node.js (recommended for JS/TS tooling)
- prettierd (required for default JS/TS/CSS/HTML/JSON formatting)
# 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
nvimBy 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.
Plugin customization in lua/cosmic/config/config.lua uses:
plugins.addto add pluginsplugins.disableto disable plugins by repository ID (for examplenvim-lualine/lualine.nvim)plugins.optsto mergeoptsplugins.overridefor full lazy.nvim spec overrides
disable_builtin_plugins has been removed.
Updates CosmicNvim to the latest version
:CosmicUpdate
