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
- Amazing default theme thanks to tokyonight.nvim
- Enhanced syntax highlighting with nvim-treesitter
- Dashboard via dashboard-nvim
- Hand-built statusline with galaxyline
- Explore files with nvim-tree
- Fuzzy finder and some LSP actions with Telescope
- Floating terminal with vim-floaterm
- Auto LSP installation with nvim-lsp-installer
- Autocompletion provided by nvim-cmp
- Additional TypeScript support with nvim-lsp-ts-utils
- Snippet support via LuaSnip
- Session management with auto-session
- Notifications via nvim-notify
- 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.6.0)
- Node.js
- prettierd (for prettier formatting w/null-ls, optional)
- eslint_d (for eslint w/null-ls, optional)
$ cd ~/.config
$ git clone [email protected]:mattleong/CosmicNvim.git nvim
$ nvim .
Additional CosmicNvim installation details.
Additional LSP server installation details.
CosmicNvim uninstallation details.
CosmicNvim comes with first-class support for the following themes:
:CosmicUpdate
By default, this will assume the Cosmic git directory is placed at vim.fn.stdpath('config')
, i.e. ~/.config/nvim
. Otherwise, you may define the shell environment variable COSMICNVIM_INSTALL_DIR
.
:CosmicReloadSync
Useful for changing themes or updating plugins on the fly!
:CosmicReload
Useful for non-plugin related changes such as editor settings or mappings.
Enter :TSInstall
followed by to see your options for additional language support.