Browse Source

add opengrok-restful setup, add input default values

Signed-off-by: Rain <rain.by.zhou@gmail.com>
pull/2/head
Rain 5 years ago
parent
commit
140dd1899a
  1. 12
      README.org
  2. 37
      opengrok-restful.el

12
README.org

@ -30,7 +30,17 @@
*** Setup opengrok-restful
#+begin_src shell
$ git clone https://github.com/RainMark/opengrok-restful.el.git ~/opengrok-restful
#+end_src
- Emacs config.
#+begin_src elisp
;; opengrok-restful
(add-to-list 'load-path "~/opengrok-restful")
(require 'opengrok-restful)
(setq opengrok-restful-source-directory "~/Projects")
(global-set-key (kbd "M-d") 'opengrok-restful-lookup-def)
(global-set-key (kbd "M-f") 'opengrok-restful-lookup-full)
(global-set-key (kbd "M-s") 'opengrok-restful-lookup-symbol)
@ -40,5 +50,3 @@
[[./opengrok-restful.gif]]
[[./opengrok-restful.png]]

37
opengrok-restful.el

@ -30,16 +30,15 @@
;;; Code:
(defmacro println (x)
`(message (prin1-to-string ,x)))
;; (defmacro println (x)
;; `(message (prin1-to-string ,x)))
(require 'json)
(require 'request)
;; (add-to-list 'load-path "~/.emacs.d/elpa/request-20200219.2257/")
(defconst opengrok-restful-url "http://127.0.0.1:8080/api/v1/search")
(defconst opengrok-restful-buffer "*opengrok-restful*")
(defconst opengrok-restful-source-directory "~/opengrok-src")
(setq opengrok-restful-source-directory "")
(setq opengrok-restful-buffer "*opengrok-restful*")
(setq opengrok-restful-url "http://127.0.0.1:8080/api/v1/search")
(setq opengrok-restful-highlights
'(("/.+:[0-9]+" . font-lock-constant-face)))
@ -75,7 +74,7 @@
(define-key map (kbd "<escape>")
(lambda ()
(interactive)
(kill-current-buffer)))
(kill-buffer (current-buffer))))
map))
(defun opengrok-restful-parse-response (data)
@ -105,18 +104,23 @@
(defun opengrok-restful-project-lookup (project type value)
(request opengrok-restful-url
:type "GET"
:params `(("projects" . ,project) (,type . ,value))
:parser 'json-read
:sync t
:complete (cl-function (lambda (&key data &allow-other-keys)
(opengrok-restful-parse-response data)))))
:type "GET"
:params `(("projects" . ,project) (,type . ,value))
:parser 'json-read
:sync t
:complete (cl-function (lambda (&key data &allow-other-keys)
(opengrok-restful-parse-response data)))))
(defmacro opengrok-restful-define-lookup (type)
(let ((fun (intern (format "opengrok-restful-lookup-%s" type))))
`(defun ,fun ()
(interactive)
(opengrok-restful-project-lookup (read-string "Project: ") ,(symbol-name type) (read-string "Symbol: ")))
(let ((default-project (file-name-nondirectory (directory-file-name (projectile-project-root))))
(default-symbol (thing-at-point 'symbol)))
(opengrok-restful-project-lookup
(read-string (format "Project (%s): " default-project) nil nil default-project)
,(symbol-name type)
(read-string (format "Symbol (%s): " default-symbol) nil nil default-symbol))))
))
(opengrok-restful-define-lookup full)
@ -124,11 +128,6 @@
(opengrok-restful-define-lookup symbol)
(opengrok-restful-define-lookup path)
(global-set-key (kbd "M-d") 'opengrok-restful-lookup-def)
(global-set-key (kbd "M-f") 'opengrok-restful-lookup-full)
(global-set-key (kbd "M-s") 'opengrok-restful-lookup-symbol)
(global-set-key (kbd "M-p") 'opengrok-restful-lookup-path)
(provide 'opengrok-restful)
;;; opengrok-restful.el ends here

Loading…
Cancel
Save