emacsorphanage / helm-gtags

GNU GLOBAL helm interface
203 stars 32 forks source link

how to enable helm-follow-mode #186

Open vinurs opened 5 years ago

vinurs commented 5 years ago

how to enable helm-follow-mode automatically? i have to C-c C-f to enable it manually.

syohex commented 4 years ago

Sorry very late reply. It is impossible by current code. I suppose you need to apply following patch and configuration.

patch

diff --git a/helm-gtags.el b/helm-gtags.el
index e3eab8c..ccb72f8 100644
--- a/helm-gtags.el
+++ b/helm-gtags.el
@@ -759,7 +759,8 @@ Always update if value of this variable is nil."
     :real-to-display 'helm-gtags--candidate-transformer
     :persistent-action 'helm-gtags--persistent-action
     :fuzzy-match helm-gtags-fuzzy-match
-    :action helm-gtags--find-file-action)
+    :action helm-gtags--find-file-action
+    :follow (and helm-follow-mode-persistent 1))
   "Not documented.")

 (defvar helm-source-gtags-pattern
@@ -769,7 +770,8 @@ Always update if value of this variable is nil."
     :real-to-display 'helm-gtags--candidate-transformer
     :persistent-action 'helm-gtags--persistent-action
     :fuzzy-match helm-gtags-fuzzy-match
-    :action helm-gtags--find-file-action)
+    :action helm-gtags--find-file-action
+    :follow (and helm-follow-mode-persistent 1))
   "Not documented.")

 (defvar helm-source-gtags-rtags
@@ -779,7 +781,8 @@ Always update if value of this variable is nil."
     :real-to-display 'helm-gtags--candidate-transformer
     :persistent-action 'helm-gtags--persistent-action
     :fuzzy-match helm-gtags-fuzzy-match
-    :action helm-gtags--find-file-action)
+    :action helm-gtags--find-file-action
+    :follow (and helm-follow-mode-persistent 1))
   "Not documented.")

 (defvar helm-source-gtags-gsyms
@@ -789,7 +792,8 @@ Always update if value of this variable is nil."
     :real-to-display 'helm-gtags--candidate-transformer
     :persistent-action 'helm-gtags--persistent-action
     :fuzzy-match helm-gtags-fuzzy-match
-    :action helm-gtags--find-file-action)
+    :action helm-gtags--find-file-action
+    :follow (and helm-follow-mode-persistent 1))
   "Not documented.")

 (defun helm-gtags--highlight-candidate (candidate)
@@ -839,7 +843,8 @@ Always update if value of this variable is nil."
     :real-to-display 'helm-gtags--candidate-transformer
     :persistent-action 'helm-gtags--persistent-action
     :fuzzy-match helm-gtags-fuzzy-match
-    :action helm-gtags--find-file-action)
+    :action helm-gtags--find-file-action
+    :follow (and helm-follow-mode-persistent 1))
   "Not documented.")

 (defvar helm-source-gtags-parse-file
@@ -848,7 +853,8 @@ Always update if value of this variable is nil."
     :candidate-number-limit helm-gtags-maximum-candidates
     :real-to-display 'helm-gtags--parse-file-candidate-transformer
     :fuzzy-match helm-gtags-fuzzy-match
-    :action 'helm-gtags--parse-file-action)
+    :action 'helm-gtags--parse-file-action
+    :follow (and helm-follow-mode-persistent 1))
   "Not documented.")

 (defun helm-gtags--show-stack-action (cand)
@@ -867,7 +873,8 @@ Always update if value of this variable is nil."
     :candidate-number-limit helm-gtags-maximum-candidates
     :persistent-action 'helm-gtags--persistent-action
     :fuzzy-match helm-gtags-fuzzy-match
-    :action 'helm-gtags--show-stack-action)
+    :action 'helm-gtags--show-stack-action
+    :follow (and helm-follow-mode-persistent 1))
   "Not documented.")

 ;;;###autoload
@@ -961,7 +968,8 @@ Always update if value of this variable is nil."
     :candidate-number-limit helm-gtags-maximum-candidates
     :persistent-action 'helm-gtags--persistent-action
     :fuzzy-match helm-gtags-fuzzy-match
-    :action helm-gtags--find-file-action))
+    :action helm-gtags--find-file-action
+    :follow (and helm-follow-mode-persistent 1)))

 (defun helm-gtags--source-select-rtag (candidate)
   "Not documented."
@@ -970,7 +978,8 @@ Always update if value of this variable is nil."
     :candidate-number-limit helm-gtags-maximum-candidates
     :persistent-action 'helm-gtags--persistent-action
     :fuzzy-match helm-gtags-fuzzy-match
-    :action helm-gtags--find-file-action))
+    :action helm-gtags--find-file-action
+    :follow (and helm-follow-mode-persistent 1)))

 (defsubst helm-gtags--action-by-timer (src)
   "Not documented."
@@ -1071,7 +1080,8 @@ Always update if value of this variable is nil."
     :real-to-display 'helm-gtags--files-candidate-transformer
     :persistent-action #'helm-gtags--file-persistent-action
     :fuzzy-match helm-gtags-fuzzy-match
-    :action helm-gtags--file-util-action)
+    :action helm-gtags--file-util-action
+    :follow (and helm-follow-mode-persistent 1))
   "Not documented.")

 (defun helm-gtags--searched-directory ()
@@ -1240,7 +1250,8 @@ Always update if value of this variable is nil."
     :real-to-display #'helm-gtags--files-candidate-transformer
     :persistent-action #'helm-gtags--file-persistent-action
     :fuzzy-match helm-gtags-fuzzy-match
-    :action helm-gtags--file-util-action)
+    :action helm-gtags--file-util-action
+    :follow (and helm-follow-mode-persistent 1))
   "Not documented.")

 ;;;###autoload

configuration

;; You should put this before loading helm-gtags
(custom-set-variables
  '(helm-follow-mode-persistent t))