Metadata-Version: 2.4
Name: codemap-cpp
Version: 0.1.0a1
Summary: C++ language indexer plugin for CodeMap
Project-URL: Homepage, https://github.com/qxbyte/codemap
Author: CodeMap Contributors
License: MIT
Keywords: c++,codemap,cpp,indexer,tree-sitter
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: C++
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development
Requires-Python: >=3.11
Requires-Dist: codemap-core<0.2,>=0.1.0a1
Requires-Dist: tree-sitter-cpp>=0.23
Requires-Dist: tree-sitter>=0.25
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == 'dev'
Description-Content-Type: text/markdown

# codemap-cpp

> A C++ language indexer for [CodeMap](https://github.com/qxbyte/codemap),
> shipped as an independent PyPI package.

## What it captures

Backed by `tree-sitter-cpp`:

| AST node | Symbol kind |
|---|---|
| `namespace_definition` | namespace prefix (recursed into) |
| `class_specifier` (named, with body) | `class` (`extra.cpp_kind=class`) |
| `struct_specifier` (named, with body) | `class` (`extra.cpp_kind=struct`) |
| `union_specifier` (named, with body) | `class` (`extra.cpp_kind=union`) |
| `enum_specifier` | `class` (`extra.cpp_kind=enum`) |
| `function_definition` (top-level or in namespace) | `function` |
| `function_definition` (inside class body) | `method` |
| `field_declaration` (data member) | `field` |
| `template_declaration` wrapping any of the above | unwraps to the inner declaration |

## Install

```bash
pip install "git+https://github.com/qxbyte/codemap.git#subdirectory=plugins/codemap-cpp"
```

## File patterns

* `*.cpp`, `*.cc`, `*.cxx`, `*.hpp`, `*.hh`, `*.hxx`

## Limits

* Out-of-class method definitions (``void Foo::bar() { ... }``) appear as
  free functions, not as members of ``Foo``.
* `using` declarations and aliases are not emitted as symbols.
* Macro-only ``#define`` constants are not captured (see ``codemap-c``).

## License

MIT.
