feat(g/emacs/grid): Allow finding repositories
Change-Id: Idbc3cc90587a5c64a246e7e2097efcec6cefdc5c
This commit is contained in:
parent
794441793c
commit
ca67aa6598
1 changed files with 20 additions and 2 deletions
|
@ -78,6 +78,22 @@ The bound variable is \"filename\"."
|
|||
(`(,app ,model)
|
||||
(s-lex-format "python/urbint_lib/${app}/models/${model}.py"))))))
|
||||
|
||||
(defun projectile-grid-find-repository ()
|
||||
"Find a repository."
|
||||
(interactive)
|
||||
(projectile-grid-find-resource
|
||||
"repository: "
|
||||
'(("python/urbint_lib/repositories/"
|
||||
"\\(.+\\)\\.py$")
|
||||
("python/urbint_lib/"
|
||||
"\\(.+\\)/repositories/\\(.+\\).py$"))
|
||||
(lambda (filename)
|
||||
(pcase (s-split "/" filename)
|
||||
(`(,repository)
|
||||
(s-lex-format "python/urbint_lib/repositories/${repository}.py"))
|
||||
(`(,app ,repository)
|
||||
(s-lex-format "python/urbint_lib/${app}/repositories/${repository}.py"))))))
|
||||
|
||||
(defun projectile-grid-find-controller ()
|
||||
"Find a controller."
|
||||
(interactive)
|
||||
|
@ -94,14 +110,16 @@ The bound variable is \"filename\"."
|
|||
(`(,app ,controller)
|
||||
(s-lex-format "backend/src/grid/api/apps/${app}/controllers/${controller}.py"))))))
|
||||
|
||||
(defvar projectile-grid-mode-map
|
||||
(setq projectile-grid-mode-map
|
||||
(let ((map (make-keymap)))
|
||||
(map!
|
||||
(:map map
|
||||
(:leader
|
||||
(:desc "Edit..." :prefix "e"
|
||||
:desc "Model" :n "m" #'projectile-grid-find-model
|
||||
:desc "Controller" :n "c" #'projectile-grid-find-controller))))))
|
||||
:desc "Controller" :n "c" #'projectile-grid-find-controller
|
||||
:desc "Repository" :n "r" #'projectile-grid-find-repository))))
|
||||
map))
|
||||
|
||||
(define-minor-mode projectile-grid-mode
|
||||
"Minor mode for finding files in GRID"
|
||||
|
|
Loading…
Reference in a new issue