본문으로 건너뛰기

Supported Languages

Brf.it uses Tree-sitter for accurate syntax parsing across 12 programming languages.

Overview

LanguageExtensionsStatus
Go.go✅ Full support
TypeScript.ts, .tsx✅ Full support
JavaScript.js, .jsx, .mjs, .cjs✅ Full support
Python.py✅ Full support
Java.java✅ Full support
Kotlin.kt, .kts✅ Full support
Rust.rs✅ Full support
Ruby.rb, .rake✅ Full support
PHP.php✅ Full support
Swift.swift✅ Full support
Scala.scala, .sc✅ Full support
C/C++.c, .cpp, .cc, .cxx, .h, .hpp✅ Full support

Extracted Elements

All Languages

  • Function/method signatures
  • Struct/class/interface definitions
  • Documentation comments (docstrings, JSDoc, etc.)
  • Import/export statements (with --include-imports)

Language-Specific

LanguageSpecial Handling
GoMethods on structs, interfaces
TypeScriptType annotations, generics
PythonDecorators, type hints
JavaAnnotations, generics
KotlinExtension functions, data classes
RustTraits, impl blocks
RubyModules, class methods
PHPNamespaces, traits
SwiftProtocols, extensions
ScalaCase classes, traits
C/C++Templates, namespaces

Tree-sitter Quality

All languages use official or well-maintained Tree-sitter grammars for reliable parsing:

  • Handles syntax errors gracefully
  • Preserves formatting in signatures
  • Supports modern language features

Adding New Languages

Want to add support for a new language? See the contributing guide.