From 35eac2b9a3f28090bc386182b262ffc4e7979a30 Mon Sep 17 00:00:00 2001 From: henry <Henry Weller h.weller@opencfd.co.uk> Date: Sun, 1 Mar 2009 20:31:47 +0000 Subject: [PATCH] Better tagging support. --- bin/foamEbrowse | 15 +++++------ bin/foamTags | 56 +++++++++++++++++++++++++++++++++++++++++ bin/tools/gtagsrc | 63 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 127 insertions(+), 7 deletions(-) create mode 100755 bin/foamTags create mode 100644 bin/tools/gtagsrc diff --git a/bin/foamEbrowse b/bin/foamEbrowse index e303a772643..66fafc1e2b1 100755 --- a/bin/foamEbrowse +++ b/bin/foamEbrowse @@ -27,26 +27,27 @@ # foamEbrowse # # Description -# Build the Ebrowse database for all the .C and .H files +# Build the Ebrowse database for all the .H and .C files # #------------------------------------------------------------------------------ -headersFile=${TMPDIR:-/tmp}/headersFile.$$ sourcesFile=${TMPDIR:-/tmp}/sourcesFile.$$ if [ $# -ne 0 ]; then echo "Usage : ${0##*/}" echo "" - echo "Build the Ebrowse dadbase for all the .C and .H files" + echo "Build the Ebrowse dadbase for all the .H and .C files" echo "" exit 1 fi # Clean up on termination and on Ctrl-C -trap 'rm -f $headersFile $sourcesFile 2>/dev/null; exit 0' EXIT TERM INT +trap 'rm -f $sourcesFile 2>/dev/null; exit 0' EXIT TERM INT cd $WM_PROJECT_DIR -find -H . -name "*.H" | fgrep -v lnInclude > $headersFile -find -H . -name "*.C" | fgrep -v lnInclude > $sourcesFile -ebrowse --files=$headersFile --files=$sourcesFile --output-file=.ebrowse +mkdir .tags 2>/dev/null +cd .tags + +find -H .. \( -name "*.[HC]" -not -name "lnInclude" -not -name "Doxygen" \) -print > $sourcesFile +ebrowse --files=$sourcesFile --output-file=ebrowse #------------------------------------------------------------------------------ diff --git a/bin/foamTags b/bin/foamTags new file mode 100755 index 00000000000..1cfd186f52b --- /dev/null +++ b/bin/foamTags @@ -0,0 +1,56 @@ +#!/bin/sh +#------------------------------------------------------------------------------ +# ========= | +# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox +# \\ / O peration | +# \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. +# \\/ M anipulation | +#------------------------------------------------------------------------------- +# License +# This file is part of OpenFOAM. +# +# OpenFOAM is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenFOAM; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# +# Script +# foamTags +# +# Description +# Build the tags files for all the .C and .H files +# +#------------------------------------------------------------------------------ + +if [ $# -ne 0 ]; then + echo "Usage : ${0##*/}" + echo "" + echo "Build the tags files for all the .C and .H files" + echo "" + exit 1 +fi + +cd $WM_PROJECT_DIR +mkdir .tags 2>/dev/null + +find -H . \( -name "*.[HC]" -not -name "lnInclude" -not -name "Doxygen" \) | \ + etags --declarations -l c++ -o .tags/etags - +find -H . \( -name "*.[HC]" -not -name "lnInclude" -not -name "Doxygen" \) | \ + etags -l c++ -o .tags/etagsDef - +find -H . \( -name "*.H" -not -name "lnInclude" -not -name "Doxygen" \) | \ + etags --declarations -l c++ -o .tags/etagsDec - + +gtags -i --gtagsconf bin/tools/gtagsrc .tags + +foamEbrowse + +#------------------------------------------------------------------------------ diff --git a/bin/tools/gtagsrc b/bin/tools/gtagsrc new file mode 100644 index 00000000000..ce66e0c084a --- /dev/null +++ b/bin/tools/gtagsrc @@ -0,0 +1,63 @@ +#------------------------------------------------------------------------------ +# ========= | +# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox +# \\ / O peration | +# \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. +# \\/ M anipulation | +#------------------------------------------------------------------------------- +# License +# This file is part of OpenFOAM. +# +# OpenFOAM is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenFOAM; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# +# Canfiguration file +# gtagsrc +# +# Description +# Configuration file for gtags(1). +# +#------------------------------------------------------------------------------ +default:\ + :tc=gtags:tc=htags: +#------------------------------------------------------------------------------ +# Configuration for gtags(1) +# See gtags(1). +#------------------------------------------------------------------------------ +common:\ + :skip=GPATH,GTAGS,GRTAGS,GSYMS,HTML/,HTML.pub/,html/,tags,TAGS,ID,.ebrowse,.etags,.etagsDef,.etagsDec,y.tab.c,y.tab.h,.notfunction,cscope.out,cscope.po.out,cscope.in.out,.gdbinit,SCCS/,RCS/,CVS/,CVSROOT/,{arch}/,.svn/,.git/,.cvsrc,.cvsignore,.gitignore,.cvspass,.cvswrappers,.deps/,autom4te.cache/,.snprj/:\ + :langmap=c\:.c.h,yacc\:.y,asm\:.s.S,java\:.java,cpp\:.c++.cc.cpp.cxx.hxx.hpp.C.H,php\:.php.php3.phtml: +gtags:\ + :tc=common:\ + :GTAGS=gtags-parser %s:\ + :GRTAGS=gtags-parser -r %s:\ + :GSYMS=gtags-parser -s %s:\ + :skip=lnInclude/,tutorials/,wmake/,doc/,lib/,etc/: +# +#------------------------------------------------------------------------------ +# Configuration for htags(1) +#------------------------------------------------------------------------------ +htags:\ + :body_begin=<body text='#191970' bgcolor='#f5f5dc' vlink='gray'>:body_end=</body>:\ + :table_begin=<table>:table_end=</table>:\ + :title_begin=<h1><font color='#cc0000'>:title_end=</font></h1>:\ + :comment_begin=<i><font color='green'>:comment_end=</font></i>:\ + :sharp_begin=<font color='darkred'>:sharp_end=</font>:\ + :brace_begin=<font color='red'>:brace_end=</font>:\ + :warned_line_begin=<span style='background-color\:yellow'>:warned_line_end=</span>:\ + :reserved_begin=<b>:reserved_end=</b>:script_alias=/cgi-bin/:\ + :ncol#4:tabs#8:normal_suffix=html:gzipped_suffix=ghtml:\ + :definition_header=no: + +#------------------------------------------------------------------------------ \ No newline at end of file -- GitLab