Hello,

Currently :cscope has a variant :lcscope that allows the use of the location 
list instead of the quickfix list.  However, :scscope has no equivalent that 
uses the location list.  Please note that :scs splits only if cscope returns 
some results, so :scs is not the same as ":split cs".  Due to this reason 
":split lcscope" can not be used to get the same behaviour as the proposed 
:lscscope.

I was looking for a way to open the results of a cscope query in a new tab, and 
use the location list at the same time.  That's when I realized the need for 
:lscsope.  ":tab lsc ..." does what I need.

Here is a patch to add :lscscope to vim.  I have tested it on Solaris and Linux 
and it works for me.  Feedback is welcome.

Regards,
Navdeep



__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 
Index: runtime/doc/if_cscop.txt
===================================================================
--- runtime/doc/if_cscop.txt	(revision 251)
+++ runtime/doc/if_cscop.txt	(working copy)
@@ -213,6 +213,11 @@
 'cscopequickfix' option is set, the location list for the current window is
 used instead of the quickfix list to show the cscope results.
 
+							*:lscscope* *:lsc*
+This command is same as the ":scscope" command, except when the
+'cscopequickfix' option is set, the location list for the current window is
+used instead of the quickfix list to show the cscope results.
+
 							*:cstag* *E257* *E562*
 If you use cscope as well as ctags, |:cstag| allows you to search one or
 the other before making a jump.  For example, you can choose to first
Index: runtime/doc/index.txt
===================================================================
--- runtime/doc/index.txt	(revision 251)
+++ runtime/doc/index.txt	(working copy)
@@ -1276,6 +1276,7 @@
 |:lpfile|	:lpf[ile]	go to last location in previous file
 |:lrewind|	:lr[ewind]	go to the specified location, default first one
 |:ls|		:ls		list all buffers
+|:lscscope|	:lsc[scope]	like ":scscope" but uses location list
 |:ltag|		:lt[ag]		jump to tag and add matching tags to the
 				location list
 |:lunmap|	:lu[nmap]	like ":unmap!" but includes Lang-Arg mode
Index: src/ex_cmds.h
===================================================================
--- src/ex_cmds.h	(revision 251)
+++ src/ex_cmds.h	(working copy)
@@ -581,6 +581,8 @@
 			RANGE|NOTADR|COUNT|TRLBAR),
 EX(CMD_ls,		"ls",		buflist_list,
 			BANG|TRLBAR|CMDWIN),
+EX(CMD_lscscope,	"lscscope",	do_scscope,
+			EXTRA|NOTRLCOM|SBOXOK),
 EX(CMD_move,		"move",		ex_copymove,
 			RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN|MODIFY),
 EX(CMD_mark,		"mark",		ex_mark,
Index: src/if_cscope.c
===================================================================
--- src/if_cscope.c	(revision 251)
+++ src/if_cscope.c	(working copy)
@@ -973,7 +973,7 @@
     }
 
     return cs_find_common(opt, pat, eap->forceit, TRUE,
-			  eap->cmdidx == CMD_lcscope);
+	eap->cmdidx == CMD_lcscope || eap->cmdidx == CMD_lscscope);
 } /* cs_find */
 
 

Reply via email to