2012-04-26 5 views
6

Estoy tratando de extender SublimeLinter con un linter para R. SublimeLinter proporciona salpicaduras automáticas en Sublime Text 2 para muchos idiomas. El objetivo es que el linter se ejecute en segundo plano y destaque las líneas con errores de codificación o mal estilo de codificación.¿Cuáles son las opciones para integrar un Rinterner en un editor de texto? pelusa en svTools, herramientas de código, etc.

Actualmente, estoy usando la función lint en el paquete svTools y está funcionando. Los resultados, sin embargo, no son muy satisfactorios. El linter capta muchos ) en una línea o en muchos } pero no detecta el uso de variables indefinidas, ningún estilo de codificación, etc.

¿Hay alguna otra opción? Conozco esta discusión Writing a R lint program, R CMD check y codetools. ¿Pero cómo puedo ejecutar R CMD check en un archivo .r normal y no en un paquete? ¿Qué opciones se deben usar para un intérprete sobre la marcha? ¿Alguna otra idea?

Gracias!

edición: la función lint también no parece ser muy bueno en la detección de la ubicación del error o que básicamente siempre indica la columna 1. Por ejemplo, en fn = function(...) { ] la columna es 1 no la ] al final.

PS: Sé que la función lint es un contenedor de checkUsage() ...

Respuesta

1

Tome un vistazo a (autor pelusa) de Andrew github repository, en particular, NppToR para obtener ideas sobre la integración editor.

En cuanto a cómo ejecutar R CMD, compruebe en un archivo .r normal que podría crear un esqueleto de paquete y utilizar la ruta R como un caché para el archivo editado actualmente. Obviamente, averiguar las opciones de control R CMD mejores/requeridas a medida que avanza; aunque puede ser más fácil leer la fuente de cómo R CMD está haciendo lo que hace, y cómo algunos de los IDE R de código abierto hacen uso y analizan el resultado (es decir: RStudio y su 'informe de errores).

Cuestiones relacionadas