Download Latest Version CosmicNvim v1.1.0 source code.zip (89.1 kB) Google Add to Preferred Sources
Home / 1.1.0
Name Modified Size InfoDownloads / 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.lua has 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.lua now loads before plugins. Your leader key and options now apply to plugin keymaps too. Plugins aren't loaded yet at that point, though, so require them inside mapping callbacks or autocmds, not at the top of the file.
  • tsc replaces vtsls as the default TypeScript server. To keep vtsls, set lsp.servers = { tsc = false, vtsls = true }.
  • Formatters: prettierd and eslint_d were removed. JS/TS now runs oxlint then oxfmt, and CSS, HTML, JSON and Markdown use oxfmt. Install them with npm 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>lx to <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 :CosmicUpdate restore 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 = false uses a server that's already installed, without Mason;
  • formatting = false stops a server from formatting at all;
  • format_on_save = false stops it from formatting on save only.

Mason installs enabled servers automatically.

  • :checkhealth cosmic reports:
  • missing tools;
  • problems in your config.lua;
  • a missing after/ directory, for installs that link individual files into ~/.config/nvim;
  • whether :CosmicUpdate has a git checkout to update.
  • :CosmicUpdate:
  • runs in the background and lists the incoming commits;
  • asks before discarding local lazy-lock.json changes, and restores them if the update fails;
  • offers to restore plugins to the new lockfile.
  • A broken config.lua or editor.lua no 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 .venv and 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.json and tsconfig.json.
  • LuaSnip is built with jsregexp, so snippet regex transforms work.
  • Colorizer: switched to the maintained catgoose/nvim-colorizer.lua (github.com) fork. :ColorizerToggle works as before.
  • New keymaps: <leader>ktl toggles relative line numbers, and <leader>hb shows 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.json and Rust.
  • Formatters run in their configured order.
  • lsp.format_timeout is respected.

Config

  • A custom leader or winborder in editor.lua now reaches plugin keymaps.
  • LspAttach keymaps and vim.diagnostic.config() in editor.lua override Cosmic's.
  • lsp.servers.NAME = true keeps Cosmic's defaults for that server.
  • Invalid option types are reported clearly.

LSP

  • jsonls gets its schemas.
  • ts_ls attaches when enabled.
  • <leader>lh toggles inlay hints for the current buffer only.
  • A pythonPath you set for basedpyright is kept.

Editor

  • Resizing the terminal keeps the current tab.
  • A clipboard setting in editor.lua is 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, :GBrowse and its other commands work without running :Git first.
  • <leader>cf shows 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

Source: README.md, updated 2026-10-10