Expand description
Language plugins — the only seam languages plug into.
A plugin maps source text to the common Symbol
model. The core stays language-agnostic; adding a language is a new plugin,
not a core change.
Modules§
- go
- Go plugin. Extracts
func(free → function, with a receiver → method),type … struct→ struct, andtype … interface→ trait (Go’s interface is the same “named contract” concept). Methods are qualified by their receiver type (Handle · Server); interface method signatures by the interface. - python
- Python plugin. Extracts
class→ class anddef(free → function, inside a class → method), qualified with.(method · Account, nested classInner · Outer). Decorators are transparent — the wrapped def is what counts. - ruby
- Ruby plugin — the first language.
- rust
- Rust plugin — the second language, and what rq dogfoods on its own source.
Traits§
- Language
Plugin - Extracts definitions from a single source file.
Functions§
- languages
- The tags of all registered languages — the set
--langmatches against, so it can’t drift from the registry. - plugin_
for_ extension - The plugin handling files with the given extension (without the dot), if any.
- registry
- The registered language plugins.