Supported languages

Gitbase supports many programming languages depending on the use case. For instance the language(path, [blob]) function supports all languages which enry's package can autodetect. More details about aliases, groups, extensions, etc. you can find in enry's repo, or go directly to linguist defines.

If your use case requires Universal Abstract Syntax Tree then most likely one of the following functions will be interesting for you:

  • uast(blob, [lang, [xpath]])

  • uast_mode(mode, blob, lang)

  • uast_xpath(blob, xpath)

  • uast_extract(blob, key)

  • uast_children(blob)

The UAST functions support programming languages which already have implemented babelfish driver. The list of currently supported languages on babelfish, you can find here. Drivers which are still in development can be found here.