Quiero redireccionar la salida de cscope a la ventana Vim quickfix. La parte de pegamento es bastante fácil, pero actualmente estoy atascado en el formato de error. Aquí está un ejemplo de la salida cscope (cscope -L -1 bar):Cómo poner la salida del cscope en la ventana Vim quickfix?
Format: "filename scope linenumber sourceline"
Example: "abc.cpp foo 25 bar()"
Esto significa dentro de foo(), en la línea 25 en abc.cpp hay una llamada a la barra().
efm = %f\ %*[^\ ]\ %l\ %m
funciona pero se pierde la información de alcance. Por ejemplo:
Input: "abc.cpp foo 25 bar()" becomes
Output: "abc.cpp |25| bar()"
Lo que yo quiero es para incluir el alcance en la ventana quickfix, así:
Input: "abc.cpp foo 25 bar()" becomes
Output: "abc.cpp |25| bar() inside foo()"
¿Es posible hacer esto con errorformat solamente, o tengo que escribir un guión para manipular la salida antes de alimentar a Vim?
Esto puede ser útil, así que acabo de poner aquí: Se puede conectar la salida de un programa a Vim quickfix con ': cex'. Por ejemplo: ': sistema cex (" cscope -L -1 ". Expand (" ")) '. Personalmente, uso esto con cppcheck y vera ++ para el análisis estático del código C++. –