A fast and small library for detecting the programming language of a code snippet. Can be used for strings of code spanning multiple thousand lines.
This library should only be used if you don't have anything else to go by to determine the language of the code, like a file extension.
- JavaScript
- C
- C++
- Python
- Java
- HTML
- CSS
- Ruby
- Go
- PHP
npm install which-programming-lang --save
/**
* function detectLang(snippet, options) { ... }
*
* @snippet {String} The code snippet.
* @options {Object} (Optional) {
* heuristic: {Boolean} Enable heuristic optimisation for better performance. `true` by default.
* statistics: {Boolean} Return statistics. `false` by default.
* }
* @return {String} (Name of the detected language) or {Object} (Statistics).
*/
import {detectLang} from 'which-programming-lang';
detectLang('List<String> things = new ArrayList<>();')
// => 'Java'
detectLang('console.log("Hello world");')
// => 'JavaScript'
detectLang('Hello world.', { statistics: true })
/* => {
"detected": "Unknown",
"statistics": {
"JavaScript": 0,
"C": 0,
"C++": 0,
"Python": 0,
...
"Unknown": 1
}
}
*/
Run npm test
in the root of the directory to run the tests.
Thanks to:
- The lang-detector project created by @ts95 which is the pioneer of programming language detector and inspired which-programming-lang.