SkillAgentSearch skills...

Codesettings.nvim

⚙️ Load project-local settings (like .vscode/settings.json) into Neovim 0.11+ native LSP settings easily.

Install / Use

/learn @mrjones2014/Codesettings.nvim
About this skill

Quality Score

0/100

Supported Platforms

GitHub Copilot

README

⚙️ codesettings.nvim

Easily read your project's local settings files and merge them into your Neovim 0.11+ native LSP configuration.

This plugin makes it easy to reuse settings your team already committed to version control for VS Code by providing an API to merge the relevant settings from VS Code's settings schema into the LSP settings table you pass to vim.lsp.config() (or any way you configure LSP).

Requirements

  • Neovim 0.11+ (uses the new vim.lsp.config() API)
  • A JSON(C) file in your project root with LSP settings (optional; if missing, your config is returned unchanged). Paths are configurable, but by default, the plugin looks for any of:
    • .vscode/settings.json
    • codesettings.json
    • lspsettings.json

Supported LSP Servers

<details> <summary>Click to expand list</summary> <!-- GENERATED:SERVERS:START --> <!-- GENERATED:SERVERS:END --> </details>

Installation

You do not need to call .setup() unless you want to use non-default options. The defaults are shown below.

You do not need to lazy load codesettings.nvim since the plugin already lazy loads all of its consituent parts via the plugin/* and ftplugin/* mechanisms. It should have a sub-5ms impact on your startup time.

  • lazy.nvim (recommended)
<!-- GENERATED:CONFIG:START -->
return {
  'mrjones2014/codesettings.nvim',
  -- You don't need to lazy load this plugin since it already
  -- lazy loads its constituent parts via `plugin/*` and `ftplugin/*` files
  lazy = false,
  -- these are the default settings just set `opts = {}` to use defaults
  opts = {
    --- Look for these config files
    config_file_paths = { '.vscode/settings.json', 'codesettings.json', 'lspsettings.json' },
    --- Set filetype to jsonc when opening a file specified by `config_file_paths`,
    --- make sure you have the json tree-sitter parser installed for highlighting
    jsonc_filetype = true,
    --- Integrate with jsonls to provide LSP completion for LSP settings based on schemas
    jsonls_integration = true,
    --- Enable live reloading of settings when config files change
    --- via the `workspace/didChangeConfiguration` notification; after notifying,
    --- an autocmd `User CodesettingsFilesChanged` will be emitted. You
    --- can use this autocmd to handle edge cases like restarting servers
    --- that don't respond to `workspace/didChangeConfiguration` by
    --- restarting it.
    live_reload = false,
    --- List of loader extensions to use when loading settings; `string` values will be `require`d
    loader_extensions = { 'codesettings.extensions.vscode' },
    --- Set up library paths for `lua_ls` automatically to pick up the generated type
    --- annotations provided by codesettings.nvim; to enable for only your nvim config,
    --- you can also do something like:
    --- lua_ls_integration = function()
    ---   return vim.uv.cwd() == ('%s/.config/nvim'):format(vim.env.HOME)
    --- end,
    --- This integration 

Related Skills

View on GitHub
GitHub Stars62
CategoryDevelopment
Updated20h ago
Forks6

Languages

Lua

Security Score

100/100

Audited on Mar 25, 2026

No findings