Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions bench/report.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# Benchmark Results

*Generated: 2026-09-17 16:49:28*
*Generated: 2026-09-18 12:35:40*

## Summary

| Benchmark | Iterations | Time/Op | Ops/Sec |
|-----------|------------|---------|---------|
| Load and parse VS Code settings.json including bracketed keys | 10000 | 255.02 µs | 3921 |
| Get a specific LSP schema out of the json | 10000 | 173.12 µs | 5776 |
| Parse and expand all JSON schemas for jsonls integration | 1000 | 69.65 ms | 14 |
| Load and parse VS Code settings.json including bracketed keys | 10000 | 223.02 µs | 4484 |
| Get a specific LSP schema out of the json | 10000 | 143.42 µs | 6973 |
| Parse and expand all JSON schemas for jsonls integration | 1000 | 71.83 ms | 14 |
12 changes: 6 additions & 6 deletions doc/codesettings.nvim.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
*codesettings.nvim.txt*
For Neovim >= 0.11.0 Last change: 2026 September 17
For Neovim >= 0.11.0 Last change: 2026 September 18

==============================================================================
Table of Contents *codesettings.nvim-table-of-contents*
Expand Down Expand Up @@ -229,7 +229,7 @@ can use it as a global hook to look for local config files for all LSPs:
list_behavior = 'replace',
})
)

-- or from a config file under `/lsp/rust-analyzer.lua` in your config directory.
-- if you use rustaceanvim to configure rust-analyzer, see the `rustaceanvim` section below
return codesettings.with_local_settings('rust-analyzer', {
Expand Down Expand Up @@ -262,7 +262,7 @@ need to load them manually:
init = function()
vim.g.rustaceanvim = {
-- the rest of your settings go here...

-- I want VS Code settings to override my settings,
-- not the other way around, so use codesettings.nvim
-- instead of rustaceanvim's built-in vscode settings loader
Expand Down Expand Up @@ -477,7 +477,7 @@ must be explicitly configured.**
end,
},
})

-- Or for one-shot loaders:
require('codesettings')
.loader()
Expand Down Expand Up @@ -577,15 +577,15 @@ two API functions. The types that describe an extension are:
---@field path string[] Full path from the root to this node
---@field key string|integer The key/index of this node in the parent
---@field list_idx integer? Index if parent is a list

---@class CodesettingsLoaderExtension
---Optional visitor for non-leaf nodes (tables or lists). Return a control code and optional replacement value.
---Note that the replacement value is only used if the control code is `REPLACE`.
---@field object (fun(node:any, ctx:CodesettingsLoaderExtensionContext): CodesettingsLoaderExtensionControl, any?)?
---Optional visitor for leaf nodes. Return a control code and optional replacement value.
---Note that the replacement value is only used if the control code is `REPLACE`.
---@field leaf (fun(value:any, ctx:CodesettingsLoaderExtensionContext): CodesettingsLoaderExtensionControl, any?)?

---@enum CodesettingsLoaderExtensionControl
M.Control = {
---Continue recursion (for objects) or leave leaf unchanged
Expand Down
Loading