branch: master
commit d0b7f635941633dc71953a5e2d01dcffd4c63cfd
Author: Leo Liu <[email protected]>
Commit: Leo Liu <[email protected]>
New command ggtags-explain-tags
---
README.rst | 6 ++++++
ggtags.el | 10 ++++++++++
2 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/README.rst b/README.rst
index c499e5f..e2475b7 100644
--- a/README.rst
+++ b/README.rst
@@ -264,6 +264,10 @@ ggtags-delete-tags
Delete the GTAGS, GRTAGS, GPATH and ID files of current project.
+ggtags-explain-tags
+
+ Explain how each file is indexed in current project.
+
ggtags-browse-file-as-hypertext
Use ``htags`` to generate HTML of the source tree. This allows
@@ -312,6 +316,8 @@ NEWS
++++++++++++++
#. Tags update on save is configurable by ``ggtags-update-on-save``.
+#. New command ``ggtags-explain-tags`` to explain how each file is
+ indexed in current project. Global 6.4+ required.
[2015-01-16 Fri] 0.8.9
++++++++++++++++++++++
diff --git a/ggtags.el b/ggtags.el
index 73c0554..750f3f0 100644
--- a/ggtags.el
+++ b/ggtags.el
@@ -729,6 +729,16 @@ source trees. See Info node `(global)gtags' for details."
(message "GTAGS generated in `%s'" root)
root))
+(defun ggtags-explain-tags ()
+ "Explain how each file is indexed in current project."
+ (interactive (ignore (ggtags-check-project)
+ (or (ggtags-process-succeed-p "gtags" "--explain"
"--help")
+ (user-error "Global 6.4+ required"))))
+ (ggtags-check-project)
+ (ggtags-with-current-project
+ (let ((default-directory (ggtags-current-project-root)))
+ (compilation-start (concat (ggtags-program-path "gtags") "
--explain")))))
+
(defun ggtags-update-tags (&optional force)
"Update GNU Global tag database.
Do nothing if GTAGS exceeds the oversize limit unless FORCE.