diff options
author | Artur Malabarba <bruce.connor.am@gmail.com> | 2014-11-07 14:03:04 +0000 |
---|---|---|
committer | Artur Malabarba <bruce.connor.am@gmail.com> | 2014-11-07 14:03:04 +0000 |
commit | 26177eb415f1bc4cf8bfa52e5f027ca38378786c (patch) | |
tree | f83a912af1d8c6002efece7ed363303c6a45f145 /stack-question.el | |
parent | 0d59cd54c84b1245d0dd0ea25ff49d7abd5e60b7 (diff) |
Renamed all files.
Still a lot to be done inside them.
Diffstat (limited to 'stack-question.el')
-rw-r--r-- | stack-question.el | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/stack-question.el b/stack-question.el deleted file mode 100644 index 9fd5fcc..0000000 --- a/stack-question.el +++ /dev/null @@ -1,121 +0,0 @@ -;;; stack-question.el --- question logic for stack-mode -*- lexical-binding: t; -*- - -;; Copyright (C) 2014 Sean Allred - -;; Author: Sean Allred <code@seanallred.com> -;; Keywords: help, hypermedia, mail, news, tools - -;; This program 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 of the License, or -;; (at your option) any later version. - -;; This program 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 this program. If not, see <http://www.gnu.org/licenses/>. - -;;; Commentary: - -;; - - -;;; Code: - -(require 'stack-core) -(require 'stack-filter) -(require 'stack-lto) - -;; I don't know why this is here, but it was causing an API request on require. -(defvar stack-question-browse-filter nil - ;; (stack-filter-compile - ;; nil - ;; '(user.profile_image shallow_user.profile_image)) - ) - -;; (stack-filter-store 'question-browse stack-question-browse-filter) - -(defun stack-question-get-questions (site &optional page) - "Get the page PAGE of questions from SITE." - (stack-core-make-request - "questions" - `((site . ,site) - (page . ,page)) - stack-question-browse-filter)) - - -;;; Question Properties -(defun stack-question--read-p (question) - "Non-nil if QUESTION has been read since last updated." - ;; @TODO: - (cl-evenp (random))) - -(defun stack-question--accepted-answer (question) - "Return accepted answer in QUESTION, or nil if none." - ;; @TODO: - (cl-evenp (random))) - -(defun stack-question--mark-read (question) - "Mark QUESTION as being read, until it is updated again." - nil) - -(defun stack-question--< (property x y &optional pred) - "Non-nil if PROPERTY attribute of question X is less than that of Y. -With optional argument predicate, use it instead of `<'." - (funcall (or pred #'<) - (cdr (assoc property x)) - (cdr (assoc property y)))) - -;;; Displaying a question -(defvar stack-question--window nil - "Window where the content of questions is displayed.") - -(defvar stack-question--buffer nil - "Buffer being used to display questions.") - -(defcustom stack-question-use-html t - "If nil, markdown is used for the body." - :type 'boolean - :group 'stack-question) - -(defun stack-question--display (data &optional window) - "Display question given by DATA on WINDOW. -If WINDOW is nil, use selected one." - (let ((stack-lto--body-src-block - (if stack-question-use-html nil - stack-lto--body-src-block)) - (inhibit-read-only t)) - (with-current-buffer - (stack-question--display-buffer window) - (erase-buffer) - (insert - (org-element-interpret-data - (stack-lto--question data))) - (org-mode) - (show-all) - (view-mode) - (current-buffer)))) - -(defun stack-question--display-buffer (window) - "Display and return the buffer used for displaying a question. -Create the buffer if necessary. -If WINDOW is given, use that to display the buffer." - ;; Create the buffer if necessary. - (unless (buffer-live-p stack-question--buffer) - (setq stack-question--buffer - (generate-new-buffer "*stack-question*"))) - (cond - ;; Window was given, use it. - ((window-live-p window) - (set-window-buffer window stack-question--buffer)) - ;; No window, but the buffer is already being displayed somewhere. - ((get-buffer-window stack-question--buffer 'visible)) - ;; Neither, so we create the window. - (t (switch-to-buffer stack-question--buffer))) - stack-question--buffer) - -(provide 'stack-question) -;;; stack-question.el ends here |