From 140dd1899a4e7db548031fa8fa06595a4de7cd6e Mon Sep 17 00:00:00 2001 From: Rain Date: Sat, 21 Nov 2020 19:36:20 +0800 Subject: [PATCH] add opengrok-restful setup, add input default values Signed-off-by: Rain --- README.org | 18 +++++++++++++----- opengrok-restful.el | 37 ++++++++++++++++++------------------- 2 files changed, 31 insertions(+), 24 deletions(-) diff --git a/README.org b/README.org index 14035d9..cde5251 100644 --- a/README.org +++ b/README.org @@ -1,7 +1,7 @@ ** opengrok-restful.el - + *** Setup opengrok - + - Start opengrok server and limit the cpu usage of opengrok indexer. - Period of automatic mirroring/reindexing (10min). - The volume mounted to ~/Projects should contain the projects you want to make searchable. @@ -29,8 +29,18 @@ #+end_src *** 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]] - - diff --git a/opengrok-restful.el b/opengrok-restful.el index ddce326..2e5c847 100644 --- a/opengrok-restful.el +++ b/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 "") (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