;;; h.el --- Zimbatm's h tool for emacs. ;; Author: Félix Baylac Jacqué ;; Created: 25 October 2020 ;; Version: 0.1 ;; Package-Requires: ((dash "2.8.0") (s "1.9.0") (cl-lib "0.5")) ;;; Commentary: ;; Please see README.md for documentation, or read it online at ;; https://github.com/Wilfred/ag.el/#agel ;;; License: ;; This file is not part of GNU Emacs. ;; However, it is distributed under the same license. ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to the ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ;; Boston, MA 02110-1301, USA. ;;; Code: (require 'json) (require 'magit) (require 'url) (defgroup h-essentials nil "Options that every h user should briefly thing about" :group 'tools) (defcustom h-code-root nil "Root directory where your git repositories will be stored." :type '(directory) :group 'h-essentials ) (setq magit-repository-directories '(h-root-directory . 3) ) (goto-char (point-min)) (defun h--extract-http-status-from-header () "Private function, it'll eat your kittens. RESPONSE-BUFFER: url-retrieve response buffer." (goto-char (point-min)) (search-forward-regexp "^status: ") (let* ((current-point (point)) (move-to-beginning (goto-char (point-min))) (look-for-status (search-forward-regexp "^status: ")) (http-status (buffer-substring (point) (point-at-eol))) (reset-previous-ponit (goto-char current-point))) http-status)) (url-retrieve "https://api.github.com/repos/zimbatm/h" (lambda (status) (split-window-below) (display-buffer (current-buffer)) (message (h--extract-http-status-from-header)) (delete-region (point-min) (search-forward "\n\n")) (let ((json-object-type 'plist) (json-key-type 'symbol) (json-array-type 'vector)) (let ((result (json-read))) result ) ) ) ) ;; repo url path owner ;;; h.el ends here