Language support tracking issue #10
Description
This is a tracking issue for language support in doctree. If you'd like to request support for a language, or have started working on an indexer for a language, feel free to drop a comment on this issue!
Language support table
language | functions | types | methods | consts/vars | search | usage examples | code intel |
---|---|---|---|---|---|---|---|
Go | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ |
Python | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ |
Zig | ✅ | ❌ | partial | ❌ | ✅ | ❌ | ❌ |
JavaScript | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ |
TypeScript | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Java | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Markdown | n/a | ❌ | n/a | n/a | ✅ | n/a | n/a |
Who is working on language support?
Special thanks to these fine folks who are working on language support:
- @slimsag (Go, Zig, Markdown)
- @joshuabezaleel (Java, Go)
- @KShivendu (Python)
- @DalvikDave (JavaScript)
- @beyang (TypeScript)
Request support for a language
Feel free to leave a comment below so we know which language to target next!
Help add support for more languages
If you'd like to contribute an indexer, it's not too complex, all you need is experience coding in Go. Drop a comment in this issue so folks know you're working on support for a language, and join the Discord server so you can ask questions, get help, etc.
Right now, things are a little rough since the project is only a few weeks old! You might be better off waiting a few more weeks before diving in, as things will stabilize a lot more by then.
Here's how it all works:
The goal of an indexer is to analyze code for a specific programming language using tree-sitter queries, and produce documentation pages for all the libraries found in a directory of code in the doctree schema format.
The best indexer to take a look at as a reference is the Go indexer which produces documentation for Go code, but be sure to read the read the schema first to get an idea of what data it is trying to produce. Also check out the indexer.Language
interface which describes the common interface all indexers implement.
Feel free to join the Discord server if you have any questions or want help, always happy to help people who want to learn!