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/linting thanks to null-ls
- Custom rename and code action popups via Cosmic-UI
- Amazing default theme via tokyonight.nvim
- UI enhancements via noice
- Enhanced syntax highlighting via nvim-treesitter
- Dashboard via dashboard-nvim
- Custom statusline via lualine
- Explore files via nvim-tree
- Fuzzy finder via Telescope
- Floating terminal with vim-floaterm
- Auto LSP/formatter/linter installation via mason.nvim
- Autocompletion via nvim-cmp
- Additional TypeScript support via nvim-lsp-ts-utils
- Snippet support via LuaSnip
- Session management via auto-session
- Additional custom highlighting
- 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.8.0)
- Node.js
- prettierd (for prettier formatting w/null_ls, optional)
- eslint_d (for eslint w/null_ls, optional)
# move to config dir
cd ~/.config
# back up current config
cp -r nvim nvim.backup
# clone repository
git clone git@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.
New documentation coming soon!
Updates CosmicNvim to the latest version
:CosmicUpdate