My pastebin dpaste does this – when you paste stuff in the “Content” box and wait three seconds, it makes a guess.
The REST API I use for this feature is not publicized or documented, but you can use it if it suits you.
Here’s a usage example. Enter the curl command given below, then paste your content, then hit Enter, then hit ctrl-D. You get a JSON response with ranked guesses.
- $ curl -s -F «content=<-» dpaste.com/api/v2/guess-syntax/
- # Python 3: Fibonacci series up to n
- >>> def fib(n):
- >>> a, b = 0, 1
- >>> while a < n:
- >>> print(a, end=’ ‘)
- >>> a, b = b, a+b
- >>> print()
- >>> fib(1000)
- ^d
- [«Python console session», «pycon», [[«pycon», 1.25], [«python», 0.17]]]
Actualmente reconoce estos lenguajes/sintaxis:
Bash, BBcode, C, Clojure, C#, diff, HTML, HTML + Django template, HTML + PHP, Java, Javascript, JSON, nginx config, Objective-C, Python console, Python traceback, Python, Ruby, Tex, XML.
Todas las demás herramientas que he visto para esto han tratado de identificar programas completos, más que fragmentos cortos de código. Pero los fragmentos cortos son típicos en un pastebin, así que hice el mío. Es tosco pero funciona.
En algún momento voy a hacer de esto un servicio independiente impulsado por AWS Lambda o algo parecido, y mejorarlo con algo de magia de ML.