mirror of
https://github.com/amix/vimrc
synced 2025-07-11 21:55:01 +08:00
rename vim_plugins_src to vim_plugin_candinates_src and used as an plugin candinate dir
This commit is contained in:
4
vim_plugin_candinates_src/cscope-15.8a/doc/Makefile.am
Normal file
4
vim_plugin_candinates_src/cscope-15.8a/doc/Makefile.am
Normal file
@ -0,0 +1,4 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
man_MANS = cscope.1
|
||||
EXTRA_DIST = $(man_MANS) xcscope.1
|
426
vim_plugin_candinates_src/cscope-15.8a/doc/Makefile.in
Normal file
426
vim_plugin_candinates_src/cscope-15.8a/doc/Makefile.in
Normal file
@ -0,0 +1,426 @@
|
||||
# Makefile.in generated by automake 1.11.3 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
|
||||
# Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
VPATH = @srcdir@
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
subdir = doc
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
|
||||
$(top_srcdir)/configure.in
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||
am__vpath_adj = case $$p in \
|
||||
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
*) f=$$p;; \
|
||||
esac;
|
||||
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
|
||||
am__install_max = 40
|
||||
am__nobase_strip_setup = \
|
||||
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
|
||||
am__nobase_strip = \
|
||||
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
|
||||
am__nobase_list = $(am__nobase_strip_setup); \
|
||||
for p in $$list; do echo "$$p $$p"; done | \
|
||||
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
|
||||
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
|
||||
if (++n[$$2] == $(am__install_max)) \
|
||||
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
|
||||
END { for (dir in files) print dir, files[dir] }'
|
||||
am__base_list = \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
|
||||
am__uninstall_files_from_dir = { \
|
||||
test -z "$$files" \
|
||||
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|
||||
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
|
||||
$(am__cd) "$$dir" && rm -f $$files; }; \
|
||||
}
|
||||
man1dir = $(mandir)/man1
|
||||
am__installdirs = "$(DESTDIR)$(man1dir)"
|
||||
NROFF = nroff
|
||||
MANS = $(man_MANS)
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMTAR = @AMTAR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CURSES_INCLUDEDIR = @CURSES_INCLUDEDIR@
|
||||
CURSES_LIBS = @CURSES_LIBS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
GREP = @GREP@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LEX = @LEX@
|
||||
LEXLIB = @LEXLIB@
|
||||
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
VERSION = @VERSION@
|
||||
YACC = @YACC@
|
||||
YFLAGS = @YFLAGS@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
builddir = @builddir@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
gnome1 = @gnome1@
|
||||
gnome2 = @gnome2@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
man_MANS = cscope.1
|
||||
EXTRA_DIST = $(man_MANS) xcscope.1
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu doc/Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(am__aclocal_m4_deps):
|
||||
install-man1: $(man_MANS)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
|
||||
@list=''; test -n "$(man1dir)" || exit 0; \
|
||||
{ for i in $$list; do echo "$$i"; done; \
|
||||
l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
|
||||
sed -n '/\.1[a-z]*$$/p'; \
|
||||
} | while read p; do \
|
||||
if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
|
||||
echo "$$d$$p"; echo "$$p"; \
|
||||
done | \
|
||||
sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
|
||||
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
|
||||
sed 'N;N;s,\n, ,g' | { \
|
||||
list=; while read file base inst; do \
|
||||
if test "$$base" = "$$inst"; then list="$$list $$file"; else \
|
||||
echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
|
||||
$(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
|
||||
fi; \
|
||||
done; \
|
||||
for i in $$list; do echo "$$i"; done | $(am__base_list) | \
|
||||
while read files; do \
|
||||
test -z "$$files" || { \
|
||||
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
|
||||
$(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
|
||||
done; }
|
||||
|
||||
uninstall-man1:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list=''; test -n "$(man1dir)" || exit 0; \
|
||||
files=`{ for i in $$list; do echo "$$i"; done; \
|
||||
l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
|
||||
sed -n '/\.1[a-z]*$$/p'; \
|
||||
} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
|
||||
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
|
||||
dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
|
||||
tags: TAGS
|
||||
TAGS:
|
||||
|
||||
ctags: CTAGS
|
||||
CTAGS:
|
||||
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@list='$(MANS)'; if test -n "$$list"; then \
|
||||
list=`for p in $$list; do \
|
||||
if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
|
||||
if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
|
||||
if test -n "$$list" && \
|
||||
grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
|
||||
echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
|
||||
grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \
|
||||
echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \
|
||||
echo " typically \`make maintainer-clean' will remove them" >&2; \
|
||||
exit 1; \
|
||||
else :; fi; \
|
||||
else :; fi
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||
else \
|
||||
test -f "$(distdir)/$$file" \
|
||||
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(MANS)
|
||||
installdirs:
|
||||
for dir in "$(DESTDIR)$(man1dir)"; do \
|
||||
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||
done
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am: install-man
|
||||
|
||||
install-dvi: install-dvi-am
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-am
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man: install-man1
|
||||
|
||||
install-pdf: install-pdf-am
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-am
|
||||
|
||||
install-ps-am:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-generic
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-man
|
||||
|
||||
uninstall-man: uninstall-man1
|
||||
|
||||
.MAKE: install-am install-strip
|
||||
|
||||
.PHONY: all all-am check check-am clean clean-generic distclean \
|
||||
distclean-generic distdir dvi dvi-am html html-am info info-am \
|
||||
install install-am install-data install-data-am install-dvi \
|
||||
install-dvi-am install-exec install-exec-am install-html \
|
||||
install-html-am install-info install-info-am install-man \
|
||||
install-man1 install-pdf install-pdf-am install-ps \
|
||||
install-ps-am install-strip installcheck installcheck-am \
|
||||
installdirs maintainer-clean maintainer-clean-generic \
|
||||
mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \
|
||||
uninstall-am uninstall-man uninstall-man1
|
||||
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
591
vim_plugin_candinates_src/cscope-15.8a/doc/cscope.1
Normal file
591
vim_plugin_candinates_src/cscope-15.8a/doc/cscope.1
Normal file
@ -0,0 +1,591 @@
|
||||
.PU
|
||||
.TH CSCOPE "1" "January 2007" "The Santa Cruz Operation"
|
||||
.SH NAME
|
||||
cscope - interactively examine a C program
|
||||
.SH SYNOPSIS
|
||||
.B cscope
|
||||
.B [\-bCcdehkLlqRTUuVv]
|
||||
.BI [\-F symfile ]
|
||||
.BI [\-f reffile ]
|
||||
.BI [\-I incdir ]
|
||||
.BI [\-i namefile ]
|
||||
.BI [\-0123456789 pattern ]
|
||||
.BI [\-p n ]
|
||||
.BI [\-s dir ]
|
||||
.BI [ files ]
|
||||
.SH DESCRIPTION
|
||||
.I cscope
|
||||
is an interactive, screen-oriented tool that allows the user to
|
||||
browse through C source files for specified elements of code.
|
||||
.PP
|
||||
By default,
|
||||
.I cscope
|
||||
examines the C (.c and .h), lex (.l), and yacc (.y)
|
||||
source files in the current directory.
|
||||
.I cscope
|
||||
may also be invoked for
|
||||
source files named on the command line. In either case,
|
||||
.I cscope
|
||||
searches the standard directories for #include files that it does not
|
||||
find in the current directory.
|
||||
.I cscope
|
||||
uses a symbol cross-reference, called
|
||||
cscope.out by default, to locate functions, function calls, macros,
|
||||
variables, and preprocessor symbols in the files.
|
||||
.PP
|
||||
.I cscope
|
||||
builds the symbol cross-reference the first time it is used on
|
||||
the source files for the program being browsed. On a subsequent
|
||||
invocation,
|
||||
.I cscope
|
||||
rebuilds the cross-reference only if a source file
|
||||
has changed or the list of source files is different. When the
|
||||
cross-reference is rebuilt, the data for the unchanged files are
|
||||
copied from the old cross-reference, which makes rebuilding faster
|
||||
than the initial build.
|
||||
.SH OPTIONS
|
||||
Some command line arguments can only occur as the only argument in
|
||||
the execution of cscope. They cause the program to just print out
|
||||
some output and exit immediately:
|
||||
.TP
|
||||
.B -h
|
||||
View the long usage help display.
|
||||
.TP
|
||||
.B -V
|
||||
Print on the first line of screen the version number of cscope.
|
||||
.TP
|
||||
.B --help
|
||||
Same as
|
||||
.B -h
|
||||
.TP
|
||||
.B --version
|
||||
Same as
|
||||
.B -V
|
||||
|
||||
.PP
|
||||
The following options can appear in any combination:
|
||||
.TP
|
||||
.B -b
|
||||
Build the cross-reference only.
|
||||
.TP
|
||||
.B -C
|
||||
Ignore letter case when searching.
|
||||
.TP
|
||||
.B -c
|
||||
Use only ASCII characters in the cross-reference file, that is,
|
||||
do not compress the data.
|
||||
.TP
|
||||
.B -d
|
||||
Do not update the cross-reference.
|
||||
.TP
|
||||
.B -e
|
||||
Suppress the <Ctrl>-e command prompt between files.
|
||||
.TP
|
||||
.BI -F symfile
|
||||
Read symbol reference lines from
|
||||
.I symfile.
|
||||
(A symbol reference
|
||||
file is created by > and >>, and can also be read using the <
|
||||
command, described under ``Issuing Subsequent Requests'',
|
||||
below.)
|
||||
.TP
|
||||
.BI -f reffile
|
||||
Use
|
||||
.I reffile
|
||||
as the cross-reference file name instead of the default "cscope.out".
|
||||
.TP
|
||||
.BI -I incdir
|
||||
Look in
|
||||
.I incdir
|
||||
(before looking in $INCDIR, the standard place
|
||||
for header files, normally /usr/include) for any #include files
|
||||
whose names do not begin with ``/'' and that are not specified
|
||||
on the command line or in
|
||||
.I namefile
|
||||
below. (The #include files
|
||||
may be specified with either double quotes or angle brackets.)
|
||||
The incdir directory is searched in addition to the current
|
||||
directory (which is searched first) and the standard list
|
||||
(which is searched last). If more than one occurrence of -I
|
||||
appears, the directories are searched in the order they appear
|
||||
on the command line.
|
||||
.TP
|
||||
.BI -i namefile
|
||||
Browse through all source files whose names are listed in
|
||||
.I namefile
|
||||
(file names separated by spaces, tabs, or new-lines) instead of the
|
||||
default name list file, which is called cscope.files. If this option
|
||||
is specified, cscope ignores any file names appearing on the command
|
||||
line. The argument namefile can be set to ``-'' to accept a list of
|
||||
files from the standard input. Filenames in the namefile that contain
|
||||
whitespace have to be enclosed in "double quotes". Inside such quoted
|
||||
filenames, any double-quote and backslash characters have to be
|
||||
escaped by backslashes.
|
||||
.TP
|
||||
.B -k
|
||||
``Kernel Mode'', turns off the use of the default include dir
|
||||
(usually /usr/include) when building the database, since kernel
|
||||
source trees generally do not use it.
|
||||
.TP
|
||||
.B -L
|
||||
Do a single search with line-oriented output when used with the
|
||||
-num pattern option.
|
||||
.TP
|
||||
.B -l
|
||||
Line-oriented interface (see ``Line-Oriented Interface''
|
||||
below).
|
||||
.TP
|
||||
.BI -[ "0-9" ] pattern
|
||||
Go to input field
|
||||
.I num
|
||||
(counting from 0) and find
|
||||
.I pattern.
|
||||
.TP
|
||||
.BI -P path
|
||||
Prepend
|
||||
.I path
|
||||
to relative file names in a pre-built cross-reference file so you do
|
||||
not have to change to the directory where the cross-reference file was
|
||||
built. This option is only valid with the -d option.
|
||||
.TP
|
||||
.BI -p n
|
||||
Display the last
|
||||
.I n
|
||||
file path components instead of the default (1). Use
|
||||
.I 0
|
||||
not to display the file name at all.
|
||||
.TP
|
||||
.B -q
|
||||
Enable fast symbol lookup via an inverted index. This option
|
||||
causes cscope to create 2 more files (default names
|
||||
``cscope.in.out'' and ``cscope.po.out'') in addition to the normal
|
||||
database. This allows a faster symbol search algorithm that
|
||||
provides noticeably faster lookup performance for large projects.
|
||||
.TP
|
||||
.B -R
|
||||
Recurse subdirectories during search for source files.
|
||||
.TP
|
||||
.BI -s dir
|
||||
Look in
|
||||
.I dir
|
||||
for additional source files. This option is ignored if source files
|
||||
are given on the command line.
|
||||
.TP
|
||||
.B -T
|
||||
Use only the first eight characters to match against C symbols.
|
||||
A regular expression containing special characters other than a
|
||||
period (.) will not match any symbol if its minimum length is
|
||||
greater than eight characters.
|
||||
.TP
|
||||
.B -U
|
||||
Check file time stamps. This option will update the time stamp
|
||||
on the database even if no files have changed.
|
||||
.TP
|
||||
.B -u
|
||||
Unconditionally build the cross-reference file (assume that all
|
||||
files have changed).
|
||||
.TP
|
||||
.B -v
|
||||
Be more verbose in line-oriented mode. Output progress updates during
|
||||
database building and searches.
|
||||
.TP
|
||||
.I files
|
||||
A list of file names to operate on.
|
||||
.PP
|
||||
The -I, -c, -k, -p, -q, and -T options can also be in the cscope.files file.
|
||||
.PP
|
||||
.SS Requesting the initial search
|
||||
.PP
|
||||
After the cross-reference is ready, cscope will display this menu:
|
||||
.PP
|
||||
.B Find this C symbol:
|
||||
.PD 0
|
||||
.TP
|
||||
.B Find this function definition:
|
||||
.TP
|
||||
.B Find functions called by this function:
|
||||
.TP
|
||||
.B Find functions calling this function:
|
||||
.TP
|
||||
.B Find this text string:
|
||||
.TP
|
||||
.B Change this text string:
|
||||
.TP
|
||||
.B Find this egrep pattern:
|
||||
.TP
|
||||
.B Find this file:
|
||||
.TP
|
||||
.B Find files #including this file:
|
||||
.PD 1
|
||||
.PP
|
||||
Press the <Up> or <Down> keys repeatedly to move to the desired input
|
||||
field, type the text to search for, and then press the <Return> key.
|
||||
.PP
|
||||
.SS "Issuing subsequent requests"
|
||||
If the search is successful, any of these single-character commands
|
||||
can be used:
|
||||
.TP
|
||||
.B 0-9a-zA-Z
|
||||
Edit the file referenced by the given line number.
|
||||
.TP
|
||||
.B <Space>
|
||||
Display next set of matching lines.
|
||||
.TP
|
||||
.B <Tab>
|
||||
Alternate between the menu and the list of matching lines
|
||||
.TP
|
||||
.B <Up>
|
||||
Move to the previous menu item (if the cursor is in the menu)
|
||||
or move to the previous matching line (if the cursor is in the
|
||||
matching line list.)
|
||||
.TP
|
||||
.B <Down>
|
||||
Move to the next menu item (if the cursor is in the menu)
|
||||
or move to the next matching line (if the cursor is in the
|
||||
matching line list.)
|
||||
.TP
|
||||
.B +
|
||||
Display next set of matching lines.
|
||||
.TP
|
||||
.B -
|
||||
Display previous set of matching lines.
|
||||
.TP
|
||||
.B ^e
|
||||
Edit displayed files in order.
|
||||
.TP
|
||||
.B >
|
||||
Write the displayed list of lines to a file.
|
||||
.TP
|
||||
.B >>
|
||||
Append the displayed list of lines to a file.
|
||||
.TP
|
||||
.B <
|
||||
Read lines from a file that is in symbol reference format
|
||||
(created by > or >>), just like the -F option.
|
||||
.TP
|
||||
.B ^
|
||||
Filter all lines through a shell command and display the
|
||||
resulting lines, replacing the lines that were already there.
|
||||
.TP
|
||||
.B |
|
||||
Pipe all lines to a shell command and display them without
|
||||
changing them.
|
||||
.PP
|
||||
At any time these single-character commands can also be used:
|
||||
.TP
|
||||
.B <Return>
|
||||
Move to next input field.
|
||||
.TP
|
||||
.B ^n
|
||||
Move to next input field.
|
||||
.TP
|
||||
.B ^p
|
||||
Move to previous input field.
|
||||
.TP
|
||||
.B ^y
|
||||
Search with the last text typed.
|
||||
.TP
|
||||
.B ^b
|
||||
Move to previous input field and search pattern.
|
||||
.TP
|
||||
.B ^f
|
||||
Move to next input field and search pattern.
|
||||
.TP
|
||||
.B ^c
|
||||
Toggle ignore/use letter case when searching. (When ignoring
|
||||
letter case, search for ``FILE'' will match ``File'' and
|
||||
``file''.)
|
||||
.TP
|
||||
.B ^r
|
||||
Rebuild the cross-reference.
|
||||
.TP
|
||||
.B !
|
||||
Start an interactive shell (type ^d to return to cscope).
|
||||
.TP
|
||||
.B ^l
|
||||
Redraw the screen.
|
||||
.TP
|
||||
.B ?
|
||||
Give help information about cscope commands.
|
||||
.TP
|
||||
.B ^d
|
||||
Exit cscope.
|
||||
.PP
|
||||
.PP
|
||||
.B NOTE: If the first character of the text to be searched for matches
|
||||
.B one of the above commands, escape it by typing a (backslash) first.
|
||||
.PP
|
||||
.B Substituting new text for old text
|
||||
.PP
|
||||
After the text to be changed has been typed, cscope will prompt for
|
||||
the new text, and then it will display the lines containing the old
|
||||
text. Select the lines to be changed with these single-character
|
||||
commands:
|
||||
.PP
|
||||
.TP
|
||||
.B 0-9a-zA-Z
|
||||
Mark or unmark the line to be changed.
|
||||
.TP
|
||||
.B *
|
||||
Mark or unmark all displayed lines to be changed.
|
||||
.TP
|
||||
.B <Space>
|
||||
Display next set of lines.
|
||||
.TP
|
||||
.B +
|
||||
Display next set of lines.
|
||||
.TP
|
||||
.B -
|
||||
Display previous set of lines.
|
||||
.TP
|
||||
.B a
|
||||
Mark or unmark all lines to be changed.
|
||||
.TP
|
||||
.B ^d
|
||||
Change the marked lines and exit.
|
||||
.TP
|
||||
.B <Esc>
|
||||
Exit without changing the marked lines.
|
||||
.TP
|
||||
.B !
|
||||
Start an interactive shell (type ^d to return to cscope).
|
||||
.TP
|
||||
.B ^l
|
||||
Redraw the screen.
|
||||
.TP
|
||||
.B ?
|
||||
Give help information about cscope commands.
|
||||
.TP
|
||||
.B Special keys
|
||||
If your terminal has arrow keys that work in vi, you can use them
|
||||
to move around the input fields. The up-arrow key is useful to move to
|
||||
the previous
|
||||
input field instead of using the <Tab> key repeatedly. If you have
|
||||
<CLEAR>, <NEXT>, or <PREV> keys they will act as the ^l, +, and -
|
||||
commands, respectively.
|
||||
.PP
|
||||
.SS Line-Oriented interface
|
||||
.PP
|
||||
The -l option lets you use cscope where a screen-oriented interface
|
||||
would not be useful, for example, from another screen-oriented
|
||||
program.
|
||||
.PP
|
||||
cscope will prompt with >> when it is ready for an input line starting
|
||||
with the field number (counting from 0) immediately followed by the
|
||||
search pattern, for example, ``lmain'' finds the definition of the
|
||||
main function.
|
||||
.PP
|
||||
If you just want a single search, instead of the -l option use the -L
|
||||
and -num pattern options, and you won't get the >> prompt.
|
||||
.PP
|
||||
For -l, cscope outputs the number of reference lines
|
||||
cscope: 2 lines
|
||||
.PP
|
||||
For each reference found, cscope outputs a line consisting of the file
|
||||
name, function name, line number, and line text, separated by spaces,
|
||||
for example,
|
||||
main.c main 161 main(argc, argv)
|
||||
.PP
|
||||
Note that the editor is not called to display a single reference,
|
||||
unlike the screen-oriented interface.
|
||||
.PP
|
||||
You can use the c command to toggle ignore/use letter case when
|
||||
searching. (When ignoring letter case, search for ``FILE'' will match
|
||||
``File'' and ``file''.)
|
||||
.PP
|
||||
You can use the r command to rebuild the database.
|
||||
.PP
|
||||
cscope will quit when it detects end-of-file, or when the first
|
||||
character of an input line is ``^d'' or ``q''.
|
||||
.PP
|
||||
.SH "ENVIRONMENT VARIABLES"
|
||||
.TP
|
||||
.B CSCOPE_EDITOR
|
||||
Overrides the EDITOR and VIEWER variables. Use this if you wish to use
|
||||
a different editor with cscope than that specified by your
|
||||
EDITOR/VIEWER variables.
|
||||
.TP
|
||||
.B CSCOPE_LINEFLAG
|
||||
Format of the line number flag for your editor. By default, cscope
|
||||
invokes your editor via the equivalent of ``editor +N file'', where
|
||||
``N'' is the line number that the editor should jump to. This format
|
||||
is used by both emacs and vi. If your editor needs something
|
||||
different, specify it in this variable, with ``%s'' as a placeholder
|
||||
for the line number. Ex: if your editor needs to be invoked as
|
||||
``editor -#103 file'' to go to line 103, set this variable to
|
||||
``-#%s''.
|
||||
.TP
|
||||
.B CSCOPE_LINEFLAG_AFTER_FILE
|
||||
Set this variable to ``yes'' if your editor needs to be invoked with
|
||||
the line number option after the filename to be edited. To continue
|
||||
the example from CSCOPE_LINEFLAG, above: if your editor needs to see
|
||||
``editor file -#number'', set this environment variable. Users of most
|
||||
standard editors (vi, emacs) do not need to set this variable.
|
||||
.TP
|
||||
.B EDITOR
|
||||
Preferred editor, which defaults to vi.
|
||||
.TP
|
||||
.B HOME
|
||||
Home directory, which is automatically set at login.
|
||||
.TP
|
||||
.B INCLUDEDIRS
|
||||
Colon-separated list of directories to search for #include
|
||||
files.
|
||||
.TP
|
||||
.B SHELL
|
||||
Preferred shell, which defaults to sh.
|
||||
.TP
|
||||
.B SOURCEDIRS
|
||||
Colon-separated list of directories to search for additional
|
||||
source files.
|
||||
.TP
|
||||
.B TERM
|
||||
Terminal type, which must be a screen terminal.
|
||||
.TP
|
||||
.B TERMINFO
|
||||
Terminal information directory full path name. If your terminal
|
||||
is not in the standard terminfo directory, see curses
|
||||
and terminfo for how to make your own terminal description.
|
||||
.TP
|
||||
.B TMPDIR
|
||||
Temporary file directory, which defaults to /var/tmp.
|
||||
.TP
|
||||
.B VIEWER
|
||||
Preferred file display program (such as less), which overrides
|
||||
EDITOR (see above).
|
||||
.TP
|
||||
.B VPATH
|
||||
A colon-separated list of directories, each of which has the
|
||||
same directory structure below it. If VPATH is set, cscope
|
||||
searches for source files in the directories specified; if it
|
||||
is not set, cscope searches only in the current directory.
|
||||
.PP
|
||||
.SH FILES
|
||||
.TP
|
||||
.B cscope.files
|
||||
Default files containing -I, -p, -q, and -T options and the
|
||||
list of source files (overridden by the -i option).
|
||||
.TP
|
||||
.B cscope.out
|
||||
Symbol cross-reference file (overridden by the -f option),
|
||||
which is put in the home directory if it cannot be created in
|
||||
the current directory.
|
||||
.TP
|
||||
.PD 0
|
||||
.B cscope.in.out
|
||||
.TP
|
||||
.B cscope.po.out
|
||||
.PD 1
|
||||
Default files containing the inverted index used for quick
|
||||
symbol searching (-q option). If you use the -f option to
|
||||
rename the cross-reference file (so it's not cscope.out), the
|
||||
names for these inverted index files will be created by adding
|
||||
.in and .po to the name you supply with -f. For example, if you
|
||||
indicated -f xyz, then these files would be named xyz.in and
|
||||
xyz.po.
|
||||
.TP
|
||||
.B INCDIR
|
||||
Standard directory for #include files (usually /usr/include).
|
||||
.SH Notices
|
||||
.I cscope
|
||||
recognizes function definitions of the form:
|
||||
.PD 0
|
||||
.TP
|
||||
fname blank ( args ) white arg_decs white {
|
||||
.PD 1
|
||||
.TP
|
||||
where:
|
||||
.I fname
|
||||
is the function name
|
||||
.TP
|
||||
.I blank
|
||||
is zero or more spaces, tabs, vtabs, form feeds or carriage returns,
|
||||
not including newlines
|
||||
.TP
|
||||
.I args
|
||||
is any string that does not contain a ``"'' or a newline
|
||||
.TP
|
||||
.I white
|
||||
is zero or more spaces, tabs, vtabs, form feeds, carriage returns or newlines
|
||||
.TP
|
||||
.I arg_decs
|
||||
are zero or more argument declarations (arg_decs may include
|
||||
comments and white space)
|
||||
.PP
|
||||
It is not necessary for a function declaration to start at the
|
||||
beginning of a line. The return type may precede the function name;
|
||||
cscope will still recognize the declaration. Function definitions that
|
||||
deviate from this form will not be recognized by cscope.
|
||||
.PP
|
||||
The ``Function'' column of the search output for the menu option Find
|
||||
functions called by this function: input field will only display the
|
||||
first function called in the line, that is, for this function
|
||||
.PP
|
||||
e()
|
||||
{
|
||||
return (f() + g());
|
||||
}
|
||||
.PP
|
||||
the display would be
|
||||
.PP
|
||||
Functions called by this function: e
|
||||
File Function Line
|
||||
a.c f 3 return(f() + g());
|
||||
.PP
|
||||
Occasionally, a function definition or call may not be recognized
|
||||
because of braces inside #if statements. Similarly, the use of a
|
||||
variable may be incorrectly recognized as a definition.
|
||||
.PP
|
||||
A
|
||||
.B typedef
|
||||
name preceding a preprocessor statement will be incorrectly
|
||||
recognized as a global definition, for example,
|
||||
.PP
|
||||
LDFILE *
|
||||
#if AR16WR
|
||||
.PP
|
||||
Preprocessor statements can also prevent the recognition of a global
|
||||
definition, for example,
|
||||
.PP
|
||||
char flag
|
||||
#ifdef ALLOCATE_STORAGE
|
||||
= -1
|
||||
#endif
|
||||
;
|
||||
.PP
|
||||
A function declaration inside a function is incorrectly recognized as
|
||||
a function call, for example,
|
||||
.PP
|
||||
f()
|
||||
{
|
||||
void g();
|
||||
}
|
||||
.PP
|
||||
is incorrectly recognized as a call to g.
|
||||
.PP
|
||||
.I cscope
|
||||
recognizes C++ classes by looking for the class keyword, but
|
||||
doesn't recognize that a struct is also a class, so it doesn't
|
||||
recognize inline member function definitions in a structure. It also
|
||||
doesn't expect the class keyword in a
|
||||
.I typedef
|
||||
, so it incorrectly
|
||||
recognizes X as a definition in
|
||||
.PP
|
||||
typedef class X * Y;
|
||||
.PP
|
||||
It also doesn't recognize operator function definitions
|
||||
.PP
|
||||
Bool Feature::operator==(const Feature & other)
|
||||
{
|
||||
...
|
||||
}
|
||||
.PP
|
||||
Nor does it recognize function definitions with a function pointer
|
||||
argument
|
||||
.PP
|
||||
ParseTable::Recognize(int startState, char *pattern,
|
||||
int finishState, void (*FinalAction)(char *))
|
||||
{
|
||||
...
|
||||
}
|
574
vim_plugin_candinates_src/cscope-15.8a/doc/xcscope.1
Normal file
574
vim_plugin_candinates_src/cscope-15.8a/doc/xcscope.1
Normal file
@ -0,0 +1,574 @@
|
||||
'\" t
|
||||
.\" The xcscope.el man page
|
||||
.\" Origionally written by Darryl Okahata, Apr 2000
|
||||
.\"
|
||||
.\" Converted to a man page July 20, 2004 by Neil Horman <nhorman@redhat.com>
|
||||
.\"
|
||||
|
||||
.de EX
|
||||
.sp
|
||||
.nf
|
||||
.ft CW
|
||||
..
|
||||
.de EE
|
||||
.ft R
|
||||
.fi
|
||||
.sp
|
||||
..
|
||||
|
||||
.TH XCSCOPE.EL "1" "April 2000" "Darryl Okahata"
|
||||
.SH NAME
|
||||
xcscope.el - xemacs cscope lisp support package
|
||||
.SH DESCRIPTION
|
||||
xcscope is a lisp package for use in integrating cscope
|
||||
functionality into xemacs
|
||||
.SH INSTALLATION
|
||||
.P
|
||||
Installation steps:
|
||||
|
||||
.P
|
||||
0. (It is, of course, assumed that cscope is already properly
|
||||
installed on the current system.)
|
||||
.P
|
||||
1. Ensure that the location of cscope-indexer is located in your path
|
||||
|
||||
.P
|
||||
2. Ensure that the location of xcscope.el is in the xemacs module load path
|
||||
|
||||
.P
|
||||
3. Edit your ~/.emacs file to add the line:
|
||||
.P
|
||||
.BI (require 'xcscope)
|
||||
|
||||
.P
|
||||
5. If you intend to use xcscope.el often you can optionally edit your
|
||||
~/.emacs file to add keybindings that reduce the number of keystrokes
|
||||
required. For example, the following will add "C-f#" keybindings,
|
||||
which are easier to type than the usual "C-c s" prefixed keybindings.
|
||||
Note that specifying "global-map" instead of "cscope:map" makes the
|
||||
keybindings available in all buffers:
|
||||
.EX
|
||||
(define-key global-map [(ctrl f3)] 'cscope-set-initial-directory)
|
||||
(define-key global-map [(ctrl f4)] 'cscope-unset-initial-directory)
|
||||
(define-key global-map [(ctrl f5)] 'cscope-find-this-symbol)
|
||||
(define-key global-map [(ctrl f6)] 'cscope-find-global-definition)
|
||||
(define-key global-map [(ctrl f7)]
|
||||
cscope-find-global-definition-no-prompting)
|
||||
(define-key global-map [(ctrl f8)] 'cscope-pop-mark)
|
||||
(define-key global-map [(ctrl f9)] 'cscope-next-symbol)
|
||||
(define-key global-map [(ctrl f10)] 'cscope-next-file)
|
||||
(define-key global-map [(ctrl f11)] 'cscope-prev-symbol)
|
||||
(define-key global-map [(ctrl f12)] 'cscope-prev-file)
|
||||
(define-key global-map [(meta f9)] 'cscope-display-buffer)
|
||||
(define-key global-map [(meta f10)] 'cscope-display-buffer-toggle)
|
||||
.EE
|
||||
|
||||
.P
|
||||
6. Restart (X)Emacs. That's it.
|
||||
|
||||
|
||||
.SH USING THIS MODULE
|
||||
|
||||
.SS * Basic usage:
|
||||
|
||||
.P
|
||||
If all of your C/C++/lex/yacc source files are in the same
|
||||
directory, you can just start using this module. If your files are
|
||||
spread out over multiple directories, see "Advanced usage", below.
|
||||
|
||||
.P
|
||||
Just edit a source file, and use the pull-down or pop-up (button 3)
|
||||
menus to select one of:
|
||||
|
||||
.EX
|
||||
Find symbol
|
||||
Find global definition
|
||||
Find called functions
|
||||
Find functions calling a function
|
||||
Find text string
|
||||
Find egrep pattern
|
||||
Find a file
|
||||
Find files #including a file
|
||||
.EE
|
||||
|
||||
.P
|
||||
The cscope database will be automatically created in the same directory
|
||||
as the source files (assuming that you've never used cscope before), and
|
||||
a buffer will pop-up displaying the results. You can then use button 2
|
||||
(the middle button) on the mouse to edit the selected file, or you can
|
||||
move the text cursor over a selection and press [Enter].
|
||||
|
||||
.P
|
||||
Hopefully, the interface should be fairly intuitive.
|
||||
|
||||
.SS * Locating the cscope databases:
|
||||
|
||||
.P
|
||||
This module will first use the variable, `cscope-database-regexps',
|
||||
to search for a suitable database directory. If a database location
|
||||
cannot be found using this variable then a search is begun at the
|
||||
variable, `cscope-initial-directory', if set, or the current
|
||||
directory otherwise. If the directory is not a cscope database
|
||||
directory then the directory's parent, parent's parent, etc. is
|
||||
searched until a cscope database directory is found, or the root
|
||||
directory is reached. If the root directory is reached, the current
|
||||
directory will be used.
|
||||
|
||||
.P
|
||||
A cscope database directory is one in which EITHER a cscope database
|
||||
file (e.g., "cscope.out") OR a cscope file list (e.g.,
|
||||
"cscope.files") exists. If only "cscope.files" exists, the
|
||||
corresponding "cscope.out" will be automatically created by cscope
|
||||
when a search is done. By default, the cscope database file is called
|
||||
"cscope.out", but this can be changed (on a global basis) via the
|
||||
variable, `cscope-database-file'. There is limited support for cscope
|
||||
databases that are named differently than that given by
|
||||
`cscope-database-file', using the variable, `cscope-database-regexps'.
|
||||
|
||||
.P
|
||||
Note that the variable, `cscope-database-regexps', is generally not
|
||||
needed, as the normal hierarchical database search is sufficient
|
||||
for placing and/or locating the cscope databases. However, there
|
||||
may be cases where it makes sense to place the cscope databases
|
||||
away from where the source files are kept; in this case, this
|
||||
variable is used to determine the mapping. One use for this
|
||||
variable is when you want to share the database file with other
|
||||
users; in this case, the database may be located in a directory
|
||||
separate from the source files.
|
||||
|
||||
.P
|
||||
Setting the variable, `cscope-initial-directory', is useful when a
|
||||
search is to be expanded by specifying a cscope database directory
|
||||
that is a parent of the directory that this module would otherwise
|
||||
use. For example, consider a project that contains the following
|
||||
cscope database directories:
|
||||
|
||||
.EX
|
||||
/users/jdoe/sources
|
||||
/users/jdoe/sources/proj1
|
||||
/users/jdoe/sources/proj2
|
||||
.EE
|
||||
|
||||
.P
|
||||
If a search is initiated from a .c file in /users/jdoe/sources/proj1
|
||||
then (assuming the variable, `cscope-database-regexps', is not set)
|
||||
/users/jdoe/sources/proj1 will be used as the cscope data base directory.
|
||||
Only matches in files in /users/jdoe/sources/proj1 will be found. This
|
||||
can be remedied by typing "C-c s a" and then "M-del" to remove single
|
||||
path element in order to use a cscope database directory of
|
||||
/users/jdoe/sources. Normal searching can be restored by typing "C-c s A".
|
||||
|
||||
|
||||
|
||||
.SS * Keybindings:
|
||||
|
||||
.P
|
||||
All keybindings use the "C-c s" prefix, but are usable only while
|
||||
editing a source file, or in the cscope results buffer:
|
||||
|
||||
.TS
|
||||
lb li.
|
||||
C-c s s Find symbol.
|
||||
C-c s d Find global definition.
|
||||
C-c s g Find global definition (alternate binding).
|
||||
C-c s G Find global definition without prompting.
|
||||
C-c s c Find functions calling a function.
|
||||
C-c s C Find called functions (list functions called
|
||||
C-c s t Find text string.
|
||||
C-c s e Find egrep pattern.
|
||||
C-c s f Find a file.
|
||||
C-c s i Find files #including a file.
|
||||
.TE
|
||||
|
||||
These pertain to navigation through the search results:
|
||||
|
||||
.TS
|
||||
lb li.
|
||||
C-c s b Display *cscope* buffer.
|
||||
C-c s B Auto display *cscope* buffer toggle.
|
||||
C-c s n Next symbol.
|
||||
C-c s N Next file.
|
||||
C-c s p Previous symbol.
|
||||
C-c s P Previous file.
|
||||
C-c s u Pop mark.
|
||||
.TE
|
||||
|
||||
.P
|
||||
These pertain to setting and unsetting the variable,
|
||||
`cscope-initial-directory', (location searched for the cscope database
|
||||
directory):
|
||||
|
||||
.TS
|
||||
lb li.
|
||||
C-c s a Set initial directory.
|
||||
C-c s A Unset initial directory.
|
||||
.TE
|
||||
|
||||
.P
|
||||
These pertain to cscope database maintenance:
|
||||
|
||||
.TS
|
||||
lb li.
|
||||
C-c s L Create list of files to index.
|
||||
C-c s I Create list and index.
|
||||
C-c s E Edit list of files to index.
|
||||
C-c s W T{
|
||||
Locate this buffer's cscope directory.
|
||||
.br
|
||||
("W" -> "where")
|
||||
T}
|
||||
C-c s S T{
|
||||
Locate this buffer's cscope directory.
|
||||
.br
|
||||
("S" --> "show")
|
||||
T}
|
||||
C-c s T T{
|
||||
Locate this buffer's cscope directory.
|
||||
("T" --> "tell")
|
||||
T}
|
||||
C-c s D Dired this buffer's directory.
|
||||
.TE
|
||||
|
||||
.SS * Advanced usage:
|
||||
|
||||
.P
|
||||
If the source files are spread out over multiple directories,
|
||||
you've got a few choices:
|
||||
|
||||
.P
|
||||
[ NOTE: you will need to have the script, "cscope-indexer",
|
||||
properly installed in order for the following to work. ]
|
||||
|
||||
.P
|
||||
1. If all of the directories exist below a common directory
|
||||
(without any extraneous, unrelated subdirectories), you can tell
|
||||
this module to place the cscope database into the top-level,
|
||||
common directory. This assumes that you do not have any cscope
|
||||
databases in any of the subdirectories. If you do, you should
|
||||
delete them; otherwise, they will take precedence over the
|
||||
top-level database.
|
||||
|
||||
.P
|
||||
If you do have cscope databases in any subdirectory, the
|
||||
following instructions may not work right.
|
||||
|
||||
.P
|
||||
It's pretty easy to tell this module to use a top-level, common
|
||||
directory:
|
||||
|
||||
.HP
|
||||
a. Make sure that the menu pick, "Cscope/Index recursively", is
|
||||
checked (the default value).
|
||||
|
||||
.HP
|
||||
b. Select the menu pick, "Cscope/Create list and index", and
|
||||
specify the top-level directory. This will run the script,
|
||||
"cscope-indexer", in the background, so you can do other
|
||||
things if indexing takes a long time. A list of files to
|
||||
index will be created in "cscope.files", and the cscope
|
||||
database will be created in "cscope.out".
|
||||
|
||||
.HP
|
||||
Once this has been done, you can then use the menu picks
|
||||
(described in "Basic usage", above) to search for symbols.
|
||||
|
||||
.HP
|
||||
Note, however, that, if you add or delete source files, you'll
|
||||
have to either rebuild the database using the above procedure,
|
||||
or edit the file, "cscope.files" to add/delete the names of the
|
||||
source files. To edit this file, you can use the menu pick,
|
||||
"Cscope/Edit list of files to index".
|
||||
|
||||
.P
|
||||
2. If most of the files exist below a common directory, but a few
|
||||
are outside, you can use the menu pick, "Cscope/Create list of
|
||||
files to index", and specify the top-level directory. Make sure
|
||||
that "Cscope/Index recursively", is checked before you do so,
|
||||
though. You can then edit the list of files to index using the
|
||||
menu pick, "Cscope/Edit list of files to index". Just edit the
|
||||
list to include any additional source files not already listed.
|
||||
|
||||
.P
|
||||
Once you've created, edited, and saved the list, you can then
|
||||
use the menu picks described under "Basic usage", above, to
|
||||
search for symbols. The first time you search, you will have to
|
||||
wait a while for cscope to fully index the source files, though.
|
||||
If you have a lot of source files, you may want to manually run
|
||||
cscope to build the database:
|
||||
|
||||
.EX
|
||||
cd top-level-directory # or wherever
|
||||
rm -f cscope.out # not always necessary
|
||||
cscope -b
|
||||
.EE
|
||||
|
||||
.P
|
||||
3. If the source files are scattered in many different, unrelated
|
||||
places, you'll have to manually create cscope.files and put a
|
||||
list of all pathnames into it. Then build the database using:
|
||||
|
||||
.EX
|
||||
cd some-directory # wherever cscope.files exists
|
||||
rm -f cscope.out # not always necessary
|
||||
cscope -b
|
||||
.EE
|
||||
|
||||
.P
|
||||
Next, read the documentation for the variable,
|
||||
"cscope-database-regexps", and set it appropriately, such that
|
||||
the above-created cscope database will be referenced when you
|
||||
edit a related source file.
|
||||
|
||||
.P
|
||||
Once this has been done, you can then use the menu picks
|
||||
described under "Basic usage", above, to search for symbols.
|
||||
|
||||
.SS * Interesting configuration variables:
|
||||
|
||||
.P
|
||||
.B "cscope-truncate-lines"
|
||||
.P
|
||||
This is the value of `truncate-lines' to use in cscope
|
||||
buffers; the default is the current setting of
|
||||
`truncate-lines'. This variable exists because it can be
|
||||
easier to read cscope buffers with truncated lines, while
|
||||
other buffers do not have truncated lines.
|
||||
|
||||
.P
|
||||
.B "cscope-use-relative-paths"
|
||||
.P
|
||||
If non-nil, use relative paths when creating the list of files
|
||||
to index. The path is relative to the directory in which the
|
||||
cscope database will be created. If nil, absolute paths will
|
||||
be used. Absolute paths are good if you plan on moving the
|
||||
database to some other directory (if you do so, you'll
|
||||
probably also have to modify `cscope-database-regexps').
|
||||
Absolute paths may also be good if you share the database file
|
||||
with other users (you'll probably want to specify some
|
||||
automounted network path for this).
|
||||
|
||||
.P
|
||||
.B "cscope-index-recursively"
|
||||
.P
|
||||
If non-nil, index files in the current directory and all
|
||||
subdirectories. If nil, only files in the current directory
|
||||
are indexed. This variable is only used when creating the
|
||||
list of files to index, or when creating the list of files and
|
||||
the corresponding cscope database.
|
||||
|
||||
.P
|
||||
.B "cscope-name-line-width"
|
||||
.P
|
||||
The width of the combined "function name:line number" field in
|
||||
the cscope results buffer. If negative, the field is
|
||||
left-justified.
|
||||
|
||||
.P
|
||||
.B "cscope-do-not-update-database"
|
||||
.P
|
||||
If non-nil, never check and/or update the cscope database when
|
||||
searching. Beware of setting this to non-nil, as this will
|
||||
disable automatic database creation, updating, and
|
||||
maintenance.
|
||||
|
||||
.P
|
||||
.B "cscope-display-cscope-buffer"
|
||||
.P
|
||||
If non-nil, display the *cscope* buffer after each search
|
||||
(default). This variable can be set in order to reduce the
|
||||
number of keystrokes required to navigate through the matches.
|
||||
|
||||
.P
|
||||
.B "cscope-database-regexps"
|
||||
.P
|
||||
List to force directory-to-cscope-database mappings.
|
||||
This is a list of `(REGEXP DBLIST [ DBLIST ... ])', where:
|
||||
|
||||
.P
|
||||
.B "REGEXP"
|
||||
is a regular expression matched against the current buffer's
|
||||
current directory. The current buffer is typically some source file,
|
||||
and you're probably searching for some symbol in or related to this
|
||||
file. Basically, this regexp is used to relate the current directory
|
||||
to a cscope database. You need to start REGEXP with "^" if you want
|
||||
to match from the beginning of the current directory.
|
||||
|
||||
.P
|
||||
.B "DBLIST"
|
||||
is a list that contains one or more of:
|
||||
|
||||
.EX
|
||||
( DBDIR )
|
||||
( DBDIR ( OPTIONS ) )
|
||||
( t )
|
||||
t
|
||||
.EE
|
||||
|
||||
.P
|
||||
Here,
|
||||
.B DBDIR
|
||||
is a directory (or a file) that contains a cscope
|
||||
database. If DBDIR is a directory, then it is expected that the
|
||||
cscope database, if present, has the filename given by the variable,
|
||||
`cscope-database-file'; if DBDIR is a file, then DBDIR is the path
|
||||
name to a cscope database file (which does not have to be the same as
|
||||
that given by `cscope-database-file'). If only DBDIR is specified,
|
||||
then that cscope database will be searched without any additional
|
||||
cscope command-line options. If OPTIONS is given, then OPTIONS is a
|
||||
list of strings, where each string is a separate cscope command-line
|
||||
option.
|
||||
|
||||
.P
|
||||
In the case of "( t )", this specifies that the search is to use the
|
||||
normal hierarchical database search. This option is used to
|
||||
explicitly search using the hierarchical database search either before
|
||||
or after other cscope database directories.
|
||||
|
||||
.P
|
||||
If "t" is specified (not inside a list), this tells the searching
|
||||
mechanism to stop searching if a match has been found (at the point
|
||||
where "t" is encountered). This is useful for those projects that
|
||||
consist of many subprojects. You can specify the most-used
|
||||
subprojects first, followed by a "t", and then followed by a master
|
||||
cscope database directory that covers all subprojects. This will
|
||||
cause the most-used subprojects to be searched first (hopefully
|
||||
quickly), and the search will then stop if a match was found. If not,
|
||||
the search will continue using the master cscope database directory.
|
||||
|
||||
.P
|
||||
Here, `cscope-database-regexps' is generally not used, as the normal
|
||||
hierarchical database search is sufficient for placing and/or locating
|
||||
the cscope databases. However, there may be cases where it makes
|
||||
sense to place the cscope databases away from where the source files
|
||||
are kept; in this case, this variable is used to determine the
|
||||
mapping.
|
||||
|
||||
.P
|
||||
This module searches for the cscope databases by first using this
|
||||
variable; if a database location cannot be found using this variable,
|
||||
then the current directory is searched, then the parent, then the
|
||||
parent's parent, until a cscope database directory is found, or the
|
||||
root directory is reached. If the root directory is reached, the
|
||||
current directory will be used.
|
||||
|
||||
.P
|
||||
A cscope database directory is one in which EITHER a cscope database
|
||||
file (e.g., "cscope.out") OR a cscope file list (e.g.,
|
||||
"cscope.files") exists. If only "cscope.files" exists, the
|
||||
corresponding "cscope.out" will be automatically created by cscope
|
||||
when a search is done. By default, the cscope database file is called
|
||||
"cscope.out", but this can be changed (on a global basis) via the
|
||||
variable, `cscope-database-file'. There is limited support for cscope
|
||||
databases that are named differently than that given by
|
||||
`cscope-database-file', using the variable, `cscope-database-regexps'.
|
||||
|
||||
.P
|
||||
Here is an example of `cscope-database-regexps':
|
||||
|
||||
.EX
|
||||
(setq cscope-database-regexps
|
||||
'(
|
||||
( "^/users/jdoe/sources/proj1"
|
||||
( t )
|
||||
( "/users/jdoe/sources/proj2")
|
||||
( "/users/jdoe/sources/proj3/mycscope.out")
|
||||
( "/users/jdoe/sources/proj4")
|
||||
t
|
||||
( "/some/master/directory" ("-d" "-I/usr/local/include") )
|
||||
)
|
||||
( "^/users/jdoe/sources/gnome/"
|
||||
( "/master/gnome/database" ("-d") )
|
||||
)
|
||||
))
|
||||
.EE
|
||||
|
||||
.P
|
||||
If the current buffer's directory matches the regexp,
|
||||
"^/users/jdoe/sources/proj1", then the following search will be
|
||||
done:
|
||||
|
||||
.TP
|
||||
1. First, the normal hierarchical database search will be used to
|
||||
locate a cscope database.
|
||||
|
||||
.TP
|
||||
2. Next, searches will be done using the cscope database
|
||||
directories, "/users/jdoe/sources/proj2",
|
||||
"/users/jdoe/sources/proj3/mycscope.out", and
|
||||
"/users/jdoe/sources/proj4". Note that, instead of the file,
|
||||
"cscope.out", the file, "mycscope.out", will be used in the
|
||||
directory "/users/jdoe/sources/proj3".
|
||||
|
||||
.TP
|
||||
3. If a match was found, searching will stop.
|
||||
|
||||
.TP
|
||||
4. If a match was not found, searching will be done using
|
||||
"/some/master/directory", and the command-line options "-d"
|
||||
and "-I/usr/local/include" will be passed to cscope.
|
||||
|
||||
.TP
|
||||
If the current buffer's directory matches the regexp,
|
||||
"^/users/jdoe/sources/gnome", then the following search will be
|
||||
done:
|
||||
|
||||
.TP
|
||||
The search will be done only using the directory,
|
||||
"/master/gnome/database". The "-d" option will be passed to
|
||||
cscope.
|
||||
|
||||
.TP
|
||||
If the current buffer's directory does not match any of the above
|
||||
regexps, then only the normal hierarchical database search will be
|
||||
done.
|
||||
|
||||
.P
|
||||
.SS * Other notes:
|
||||
|
||||
.P
|
||||
1. The script, "cscope-indexer", uses a sed command to determine
|
||||
what is and is not a C/C++/lex/yacc source file. It's idea of a
|
||||
source file may not correspond to yours.
|
||||
|
||||
.P
|
||||
2. This module is called, "xcscope", because someone else has
|
||||
already written a "cscope.el" (although it's quite old).
|
||||
|
||||
.SH KNOWN BUGS:
|
||||
|
||||
.P
|
||||
1. Cannot handle whitespace in directory or file names.
|
||||
|
||||
.P
|
||||
2. By default, colored faces are used to display results. If you happen
|
||||
to use a black background, part of the results may be invisible
|
||||
(because the foreground color may be black, too). There are at least
|
||||
two solutions for this:
|
||||
|
||||
.TP
|
||||
.BI "2a. Turn off colored faces, by setting `cscope-use-face' to `nil', eg:"
|
||||
.TP
|
||||
.BI "(setq cscope-use-face nil)"
|
||||
|
||||
.TP
|
||||
.BI " 2b. Explicitly set colors for the faces used by cscope. The faces are"
|
||||
|
||||
.EX
|
||||
cscope-file-face
|
||||
cscope-function-face
|
||||
cscope-line-number-face
|
||||
cscope-line-face
|
||||
cscope-mouse-face
|
||||
.EE
|
||||
|
||||
.TP
|
||||
The face most likely to cause problems (e.g., black-on-black
|
||||
color) is `cscope-line-face'.
|
||||
|
||||
.P
|
||||
3. The support for cscope databases different from that specified by
|
||||
`cscope-database-file' is quirky. If the file does not exist, it
|
||||
will not be auto-created (unlike files names by
|
||||
`cscope-database-file'). You can manually force the file to be
|
||||
created by using touch(1) to create a zero-length file; the
|
||||
database will be created the next time a search is done.
|
Reference in New Issue
Block a user