The automatic detection I'm not sure of. I have a repository for a project that is in CIL (or as it's known to Bitbucket, "Other") with NUnit tests in C♯ (or as it's known to Bitbucket, "C#").
Unless such automatic detection could distinguish test code from actual code meant to do stuff, my 100% CIL project having vastly more C♯ than CIL in the repository, would be listed as C# to represent C♯, rather than as Other to represent CIL. This would be incorrect.
@Jonathan Beavers Hanna: Well, the Github functionality works quite well, don't you think? It doesn't categorize the project below only one language but instead it gives % for each language. Bitbucket could implement such a feature plus its current feature that categorizes a top laguange.
@diosney One thing I don't like about GitHub's language calculations is that, especially starting out, a repo can easily be pinned as Shell, for instance, when some of the preliminary commits are shell scripts for build/test/deployment when in reality the project will progress into another language. GitHub only really does the calculations once every couple of days it seems, and as I am a perfectionist when it comes to repo-statistics it's irritating to see that.
It'd be nice to still have the statistics but be able to explicitly say what the repository is for.
As for the original enhancement, I have seen (as well as owned) multiple multi-repo projects (that translate into teams here on BitBucket) with a central repo housing the submodules for the rest of them. That central repo doesn't really have a single language (other than maybe a few build scripts) but the repository still requires a language.
It'd be nice if we could specify multiple languages, and it would be even cooler if referenced submodules would be factored into language statistics calculations and could even be broken down / expanded under one section to see total statistics.
@Qix Yeah, I ran into the calculations issue myself several times and its pretty annoying. Maybe by adding a control in the repo settings to let admins refresh it can solve this? (I don't know if it will be good as a performance POV).
+1. For the last year I've worked on multiple projects that had at least three-four languages for various components. This would be a very handy feature; for now I'd be happy to just be able to add more than one language (an 'add' button that appears once you've specified one language that would bring up an identical drop-down list below the original one, and so forth). The calculations of how much of each language is within a project is a good idea for the future also, but I'd be happy with something relatively straightforward to begin with. Cheers!