From 071d4279d6ab81b7187b48f3a0fc61e587b6db6c Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sun, 13 Jun 2004 20:20:40 +0000 Subject: updated for version 7.0001 --- src/if_cscope.h | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 src/if_cscope.h (limited to 'src/if_cscope.h') diff --git a/src/if_cscope.h b/src/if_cscope.h new file mode 100644 index 0000000000..b3149d6c6c --- /dev/null +++ b/src/if_cscope.h @@ -0,0 +1,96 @@ +/* vi:set ts=8 sts=4 sw=4: + * + * CSCOPE support for Vim added by Andy Kahn + * Ported to Win32 by Sergey Khorev + * + * The basic idea/structure of cscope for Vim was borrowed from Nvi. + * There might be a few lines of code that look similar to what Nvi + * has. If this is a problem and requires inclusion of the annoying + * BSD license, then sue me; I'm not worth much anyway. + */ + +#if defined(FEAT_CSCOPE) || defined(PROTO) + +#if defined(UNIX) +#include /* pid_t */ +#include /* dev_t, ino_t */ +#elif defined (WIN32) +# ifndef WIN32_LEAN_AND_MEAN +# define WIN32_LEAN_AND_MEAN +# endif +# include +#endif + +#define CSCOPE_SUCCESS 0 +#define CSCOPE_FAILURE -1 +#define CSCOPE_MAX_CONNECTIONS 8 /* you actually need more? */ + +#define CSCOPE_DBFILE "cscope.out" +#define CSCOPE_PROMPT ">> " +#define CSCOPE_QUERIES "sgdct efi" + +/* + * s 0name Find this C symbol + * g 1name Find this definition + * d 2name Find functions called by this function + * c 3name Find functions calling this function + * t 4string find text string (cscope 12.9) + * t 4name Find assignments to (cscope 13.3) + * 5pattern change pattern -- NOT USED + * e 6pattern Find this egrep pattern + * f 7name Find this file + * i 8name Find files #including this file + */ +#define FIND_USAGE "find c|d|e|f|g|i|s|t name" +#define FIND_HELP "\n\ + c: Find functions calling this function\n\ + d: Find functions called by this function\n\ + e: Find this egrep pattern\n\ + f: Find this file\n\ + g: Find this definition\n\ + i: Find files #including this file\n\ + s: Find this C symbol\n\ + t: Find assignments to\n" + + +typedef struct { + char * name; + int (*func) __ARGS((exarg_T *eap)); + char * help; + char * usage; + int cansplit; /* if supports splitting window */ +} cscmd_T; + +typedef struct csi { + char * fname; /* cscope db name */ + char * ppath; /* path to prepend (the -P option) */ + char * flags; /* additional cscope flags/options (e.g, -p2) */ +#if defined(UNIX) + pid_t pid; /* PID of the connected cscope process. */ + dev_t st_dev; /* ID of dev containing cscope db */ + ino_t st_ino; /* inode number of cscope db */ +#elif defined(WIN32) + int pid; /* Can't get pid so set it to 0 ;) */ + HANDLE hProc; /* cscope process handle */ + DWORD nVolume; /* Volume serial number, instead of st_dev */ + DWORD nIndexHigh; /* st_ino has no meaning in the Windows */ + DWORD nIndexLow; +#endif + + FILE * fr_fp; /* from cscope: FILE. */ + FILE * to_fp; /* to cscope: FILE. */ +} csinfo_T; + +typedef enum { Add, Find, Help, Kill, Reset, Show } csid_e; + +typedef enum { + Store, + Get, + Free, + Print +} mcmd_e; + + +#endif /* FEAT_CSCOPE */ + +/* the end */ -- cgit v1.2.3