| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| CosmicNvim v1.1.0 source code.tar.gz | 2026-10-10 | 58.7 kB | |
| CosmicNvim v1.1.0 source code.zip | 2026-10-10 | 89.1 kB | |
| README.md | 2026-10-10 | 5.7 kB | |
| Totals: 3 Items | 153.5 kB | 0 | |
CosmicNvim 1.1.0 moves Cosmic onto Neovim 0.13's built-in LSP configuration. It also adds a simpler config format, a lockfile-aware :CosmicUpdate, setup checks in :checkhealth cosmic, and a large batch of fixes.
⚠️ Before you update
- Neovim 0.13 (nightly) is now required.
config.luahas a new format. The old keys are no longer read:
| 1.0.x | 1.1.0 |
|---|---|
border = 'rounded' |
vim.opt.winborder = 'rounded' in editor.lua |
lsp.servers.NAME.opts = { ... } |
put the fields directly under lsp.servers.NAME |
plugins.add = { ... } |
plugins = { ... } (plain lazy.nvim specs) |
plugins.disable = { 'repo' } |
plugins = { { 'repo', enabled = false } } |
plugins.opts / plugins.override |
add another spec for the same repo to plugins |
See lua/cosmic/config/examples/config.lua (github.com) and the LSP config docs.
editor.luanow loads before plugins. Your leader key and options now apply to plugin keymaps too. Plugins aren't loaded yet at that point, though, sorequirethem inside mapping callbacks or autocmds, not at the top of the file.tscreplacesvtslsas the default TypeScript server. To keep vtsls, setlsp.servers = { tsc = false, vtsls = true }.- Formatters: prettierd and eslint_d were removed. JS/TS now runs
oxlintthenoxfmt, and CSS, HTML, JSON and Markdown useoxfmt. Install them withnpm install -g oxlint oxfmt. Without them, those files fall back to a language server's formatter where one is available. - Keymaps:
- The formatter toggle moved from
<leader>lxto<leader>ltx. - Oil's preview scrolling moved from
<C-j>/<C-k>to<C-d>/<C-u>, matching the Snacks pickers. - Neovim's Python, Node, Perl and Ruby providers are disabled. No Cosmic plugin uses them. If one of your plugins does, re-enable it in
editor.lua, e.g.vim.g.loaded_python3_provider = nil. - After updating, let
:CosmicUpdaterestore plugins (or run:Lazy restore), restart, and run:checkhealth cosmic.
✨ New
- LSP on
vim.lsp.config():lsp.servers.NAME = true | false | { ... }enables, disables or overrides a server. Three per-server flags control the rest: mason = falseuses a server that's already installed, without Mason;formatting = falsestops a server from formatting at all;format_on_save = falsestops it from formatting on save only.
Mason installs enabled servers automatically.
:checkhealth cosmicreports:- missing tools;
- problems in your
config.lua; - a missing
after/directory, for installs that link individual files into~/.config/nvim; - whether
:CosmicUpdatehas a git checkout to update. :CosmicUpdate:- runs in the background and lists the incoming commits;
- asks before discarding local
lazy-lock.jsonchanges, and restores them if the update fails; - offers to restore plugins to the new lockfile.
- A broken
config.luaoreditor.luano longer takes Cosmic down. You get one error notification, and Cosmic keeps running on its defaults until the file is fixed. - Python: basedpyright finds a project's
.venvand Poetry environments even when they aren't activated, and the Poetry lookup no longer freezes the editor. - JSON files get SchemaStore schemas, for example
package.jsonandtsconfig.json. - LuaSnip is built with jsregexp, so snippet regex transforms work.
- Colorizer: switched to the maintained catgoose/nvim-colorizer.lua (github.com) fork.
:ColorizerToggleworks as before. - New keymaps:
<leader>ktltoggles relative line numbers, and<leader>hbshows git blame for the current line. - Faster startup.
🐛 Fixes
Format on save
- Files without a configured formatter now fall back to their language server, e.g.
tsconfig.jsonand Rust. - Formatters run in their configured order.
lsp.format_timeoutis respected.
Config
- A custom leader or
winborderineditor.luanow reaches plugin keymaps. LspAttachkeymaps andvim.diagnostic.config()ineditor.luaoverride Cosmic's.lsp.servers.NAME = truekeeps Cosmic's defaults for that server.- Invalid option types are reported clearly.
LSP
- jsonls gets its schemas.
ts_lsattaches when enabled.<leader>lhtoggles inlay hints for the current buffer only.- A
pythonPathyou set for basedpyright is kept.
Editor
- Resizing the terminal keeps the current tab.
- A
clipboardsetting ineditor.luais respected. - Saving no longer strips Markdown hard line breaks or diff context lines.
Highlighting and indent
- Hint and info diagnostics highlight the line number.
- Vimscript and other languages without Tree-sitter indent queries keep their own indentation.
- A mismatched indent query no longer errors on every file open.
Plugins
- fugitive's
:Gdiffsplit,:Gwrite,:GBrowseand its other commands work without running:Gitfirst. <leader>cfshows the:cfdo %s/it types.- The Snacks explorer sidebar no longer shows lualine's winbar.
🧰 Under the hood
- Tests: a headless test suite (
nvim -l tests/run.lua), and CI running stylua, markdownlint and the tests. - Mason: now referenced as
mason-org/*. lazy.nvim re-clones both Mason plugins once; installed servers are unaffected. - Cleanup: removed debug logging and unused code, and dropped options that duplicate Neovim's defaults.
Full Changelog: https://github.com/CosmicNvim/CosmicNvim/compare/1.0.1...1.1.0