2013-12-15 10 views
7

Ho un progetto C++ che compilo usando ninja e clang ++, e vorrei avere errori durante la compilazione visualizzati nell'elenco di quickfix. Attualmente, quando imposto makeprg=ninja e quindi eseguo :make, tutto l'output generato da ninja viene semplicemente visualizzato nella finestra di quickfix e non può essere utilizzato per passare ai file/righe corrispondenti ecc.Elenco di quickfix in vim quando si lavora con ninja e clang ++

NON sto cercando il funzionalità fornita da syntastic (che sto già utilizzando), ma voglio anche vedere gli errori di altri file nel progetto, simili a quelli forniti da IDE.

Se questo non può (facilmente) essere fatto con ninja, le soluzioni che usano make sono anche benvenute (il progetto usa cmake, quindi entrambe sono possibili), ma mi piacerebbe restare con i ninja, se possibile.

risposta

2

tutto l'output generato da ninja appare semplicemente nella finestra quickfix, e non può essere utilizzato per saltare

Che suona come Vim non può analizzare le informazioni sulla posizione fuori degli errori perché il appropriata 'errorformat' hasn Sono stato impostato.

Cerca in giro, forse qualcuno ha già scritto tale. In caso contrario, è necessario scrivere il proprio plug-in , quindi utilizzare :compiler ninja anziché :set makeprg=ninja. Vedi :help write-compiler-plugin.

+0

Sì, sembra un punto di partenza. Ma sono esitante nell'usare 'ninja' come mio': compiler', perché è solo il programma make e 'clang ++' è il compilatore vero e proprio. Tuttavia, guardando il file 'compiler/gcc.vim', sembra che questo usi anche un' errorformat' personalizzato per l'output di 'make'. – Futile

Problemi correlati