1. add cscope/gtags suppor
2. refactoring it