Skip to content

feat: Scala support (Scala 2 / Scala 3 / Cats Effect) #493

Description

@sub4biz

What problem are you trying to solve?

Is your feature request related to a problem?

Currently, Understand-Anything does not include a Scala parser. Projects written in Scala - including those using functional effect systems like Cats Effect - cannot be analyzed.

Describe the solution you'd like

Add tree-sitter-scala as a dependency alongside the existing language parsers.

A single parser covers both Scala 2 and Scala 3, and standard Scala libraries (Cats Effect, ZIO, FS2, etc.) will then be analyzable without any additional changes.

Why this matters

The Scala/Typelevel ecosystem has a number of large, complex codebases where a tool like Understand-Anything would be especially valuable:

  • Scala uses implicits / given instances extensively - understanding the call graph and type class hierarchy is non-trivial even for experienced developers
  • Cats Effect introduces effect types (IO, Resource, Fiber) whose composition patterns are hard to reason about without a graph-based view
  • Many Scala projects are multi-module SBT / Mill builds, making codebase navigation particularly tedious

Additional context

tree-sitter-scala is maintained under the official tree-sitter org and supports Scala 2 and Scala 3 syntax. It should integrate the same way as the existing parsers (tree-sitter-java, tree-sitter-go, etc.).

Proposed solution (optional)

No response

Alternatives you've considered

No response

Which part of the project?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions