Mam następujących w moim .bashrc, który stanie się łatwiejsze. Uruchom cscope_build()
, aby wygenerować bazę danych i cscope
, aby uruchomić narzędzie cscope.
# Use vim to edit files
export CSCOPE_EDITOR=`which vim`
# Generate cscope database
function cscope_build() {
# Generate a list of all source files starting from the current directory
# The -o means logical or
find . -name "*.c" -o -name "*.cc" -o -name "*.cpp" -o -name "*.h" -o -name "*.hh" -o -name "*.hpp" > cscope.files
# -q build fast but larger database
# -R search symbols recursively
# -b build the database only, don't fire cscope
# -i file that contains list of file paths to be processed
# This will generate a few cscope.* files
cscope -q -R -b -i cscope.files
# Temporary files, remove them
# rm -f cscope.files cscope.in.out cscope.po.out
echo "The cscope database is generated"
}
# -d don't build database, use kscope_generate explicitly
alias cscope="cscope -d"
Doing 3 lots of "find | grep' to trochę marnotrawstwo. Możesz doskonale używać 'egrep' lub' grep -E' z pojedynczym 'find':' find. -type f -print | grep -E '\. (c (pp)? | h) $'> cscope.files'. –
Tak, masz rację. Właściwie to napisałem, aby rzeczy były łatwe do zrozumienia. Ale w każdym razie nie jest to mądre. – leonidus
'cscope -R'' lub' cscope $ (find -iregex '. + \. [Chp] +') ' – Haix64