Commit Graph
6 Commits
Author SHA1 Message Date
Niels Lohmann 12fc67313e Label boolean and integer nodes in the natvis view visualizer
Show "boolean:", "int64:" and "uint64:" in front of the value, like
the other node kinds, so a bare number is not ambiguous.

Signed-off-by: Niels Lohmann <mail@nlohmann.me>
2026-10-30 21:38:44 +01:00
Niels Lohmann 43a2d24f6f Add natvis visualizers for json_document and json_view
nlohmann_json.natvis had no entries for the view and document types, so a
debugger showed the raw node index. Add visualizers for
basic_json_document<*,*>, basic_json_view<*,*> and detail::view::node.

A document is a flat index into the source text, so the strings of the
direct children can be read through document_data::base, while the
children of nested containers are shown as nodes (kind, size, numbers;
strings only by length). Containers with edits (node_flags::moved) are
not expanded. The types live in the same inline namespaces as basic_json
and view_mode is covered by a wildcard, so the ABI tags do not multiply
with it; the file grows from 862 KB to 1.7 MB.

Also correct the ABI tag count (11) in the --all size note.

Signed-off-by: Niels Lohmann <mail@nlohmann.me>
2026-10-30 21:16:53 +01:00
Niels LohmannandMihnea Magheru e752688b52 Add a natvis fallback visualizer for detail::json_default_base (#5588)
* Add a natvis fallback visualizer for detail::json_default_base

Squashed onto develop from:
- Add a type in the natvis template for detail::json_default_base
- Document the json_default_base natvis fallback and regenerate natvis
- Match json_default_base in both its current and 3.12.0 namespace

Co-authored-by: Mihnea Magheru <sakuntalle@yahoo.com>
Signed-off-by: Mihnea Magheru <sakuntalle@yahoo.com>
Signed-off-by: Niels Lohmann <mail@nlohmann.me>

* Take the natvis template from the PR in the amalgamation check

The check ran generate_natvis.py from a develop checkout, which loads
nlohmann_json.natvis.j2 from its own directory. A PR that changes the
template was therefore checked against develop's template and always
failed. Copy the PR's template next to the develop script before
running it.

Signed-off-by: Niels Lohmann <mail@nlohmann.me>

---------

Signed-off-by: Mihnea Magheru <sakuntalle@yahoo.com>
Signed-off-by: Niels Lohmann <mail@nlohmann.me>
Co-authored-by: Mihnea Magheru <sakuntalle@yahoo.com>
2026-10-07 19:17:41 +02:00
Griffin Myers b36f4c477c Update natvis to reflect 3.11.3 and the current structure of basic_json (#4451)
* Update natvis Jinja template to reflect the current structure of basic_json.

In 5a1a57510a the underlying structure of
basic_json was altered to move m_type and m_value under an m_data field.
This updates the nativ template to be consistent with this change.

* Generate nlohmann_json.natvis for 3.11.3 and latest basic_json structure.
2024-09-05 20:28:24 +02:00
Niels Lohmann 349e4b310e Fix natvis XML (#3863)
* 🐛 fix natvis XML

* 🐛 fix natvis XML
2022-12-09 16:34:34 +01:00
Florian Albrechtskirchinger c0dae0f510 Add Python script for generating Natvis file and update file for 3.11.2 (#3697) 2022-08-12 08:24:32 +02:00