2012-01-20 9 views
6

estoy usando autónomo destacando (no el editor), algo como esto: http://codemirror.net/demo/runmode.htmlCodeMirror - detección automática de idioma

¿Cómo puedo detectar automáticamente el idioma que desea utilizar cuando se ejecuta el marcador?

Hay un modo de demostración-Autocambio aquí: http://codemirror.net/demo/changemode.html

Pero no sé cómo podría adaptar esta trabajando con Codemirror.runMode(). Deseo resaltar todo el bloque de código usando el esquema de detección automática.

Respuesta

3

La demo "changemode" sólo puede distinguir entre el "Esquema" lenguaje de programación y "todo lo demás", ver la implementación de

function looksLikeScheme(code) { 
    return !/^\s*\(\s*function\b/.test(code) && /^\s*[;\(]/.test(code); 
} 

Así que esto no va a funcionar para detectar automóviles otros lenguajes de programación, y como dice la página de demostración, incluso para detectar Scheme es muy crudo.

Desafortunadamente, no es fácil detectar automáticamente una amplia gama de lenguajes de programación a partir de un fragmento de código fuente (para pequeños fragmentos, los diferentes lenguajes de programación pueden incluso usar la misma sintaxis). Sin embargo, se sugiere un enfoque razonable en Detecting programming language from a snippet.

Cuestiones relacionadas