Fix projectile tag regeneration to happen after project switch
This commit is contained in:
parent
7278df5a57
commit
2e3d7df705
3 changed files with 50 additions and 25 deletions
69
behaviour.el
69
behaviour.el
|
|
@ -160,28 +160,6 @@
|
|||
;; Do not required match to continue typing
|
||||
(setq company-require-match 'never)
|
||||
|
||||
; Add project management
|
||||
(require 'projectile)
|
||||
(projectile-mode)
|
||||
(setq projectile-enable-caching t)
|
||||
(setq projectile-globally-ignored-directories (
|
||||
append '("node_modules" ".svn") projectile-globally-ignored-directories))
|
||||
(projectile-mode t)
|
||||
(require 'helm-projectile)
|
||||
|
||||
;; Reload tags when switching projects
|
||||
(setq tags-revert-without-query 1)
|
||||
|
||||
(with-eval-after-load 'helm-projectile
|
||||
(defvar helm-source-file-not-found
|
||||
(helm-build-dummy-source
|
||||
"Create file"
|
||||
:action (lambda (cand) (find-file cand))))
|
||||
(add-to-list 'helm-projectile-sources-list helm-source-file-not-found t))
|
||||
|
||||
;; Show projectile lists by most recently active
|
||||
(setq projectile-sort-order (quote recently-active))
|
||||
|
||||
; Use VIM mode
|
||||
(require 'evil)
|
||||
(require 'evil-leader)
|
||||
|
|
@ -191,4 +169,51 @@
|
|||
;; Add magit for git
|
||||
(require 'evil-magit)
|
||||
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;; Projectile ;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
(require 'projectile)
|
||||
(projectile-mode)
|
||||
|
||||
|
||||
(defun projectile-regenerate-tags-if-exist ()
|
||||
"Only regenerate tags if a tag file is present in the folder."
|
||||
(interactive)
|
||||
(let ((default-directory (projectile-project-root)))
|
||||
(when (or (file-exists-p (expand-file-name "TAGS"))
|
||||
(file-exists-p (expand-file-name projectile-tags-file-name)))
|
||||
(projectile-regenerate-tags))))
|
||||
|
||||
(setq projectile-enable-caching t)
|
||||
;; Expire cache after 5 minutes
|
||||
(setq projectile-file-exists-local-cache-expire (* 2 60))
|
||||
|
||||
;; Always create a new tag table list and reload without asking
|
||||
(setq tags-revert-without-query t)
|
||||
(setq tags-add-tables nil)
|
||||
|
||||
;; Enable idle timer
|
||||
;; TODO: Does not work properly
|
||||
(setq projectile-enable-idle-timer t)
|
||||
(add-hook 'projectile-idle-timer-hook 'projectile-regenerate-tags-if-exist)
|
||||
(setq projectile-idle-timer-seconds 15)
|
||||
|
||||
;; Run the tags if project was changed
|
||||
(add-hook 'projectile-after-switch-project-hook
|
||||
'projectile-regenerate-tags-if-exist)
|
||||
|
||||
;; Show projectile lists by most recently active
|
||||
(setq projectile-sort-order (quote recently-active))
|
||||
|
||||
(setq projectile-globally-ignored-directories
|
||||
(append '("node_modules" ".svn") projectile-globally-ignored-directories))
|
||||
|
||||
(require 'helm-projectile)
|
||||
|
||||
(with-eval-after-load 'helm-projectile
|
||||
(defvar helm-source-file-not-found
|
||||
(helm-build-dummy-source
|
||||
"Create file"
|
||||
:action (lambda (cand) (find-file cand))))
|
||||
(add-to-list 'helm-projectile-sources-list helm-source-file-not-found t))
|
||||
|
||||
;;; behaviour.el ends here
|
||||
|
|
|
|||
|
|
@ -48,8 +48,8 @@
|
|||
(evil-leader/set-key "pc" 'projectile-invalidate-cache)
|
||||
(evil-leader/set-key "b" 'helm-buffers-list)
|
||||
|
||||
(evil-leader/set-key "jl" 'etags-select-find-tag-at-point); Jump to declaration
|
||||
(evil-leader/set-key "jh" 'pop-tag-mark); Jump back from declaration
|
||||
(evil-leader/set-key "j;" 'dumb-jump-go); Jump to declaration
|
||||
(evil-leader/set-key "jh" 'dumb-jump-back); Jump back from declaration
|
||||
|
||||
;; Dash integration
|
||||
(require 'dash-at-point)
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@
|
|||
|
||||
;; Initalize completion
|
||||
(set (make-local-variable 'company-backends)
|
||||
'((company-robe company-dabbrev-code company-yasnippet company-etags))))
|
||||
'((company-etags company-yasnippet company-files))))
|
||||
|
||||
;;========== Hooks ================================
|
||||
(add-hook 'ruby-mode-hook 'editor-ruby-mode-config)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue