branch: elpa/gnosis
commit 2079373e96602dfe7764ebfe518412b2dac51846
Author: Thanos Apollo <pub...@thanosapollo.org>
Commit: Thanos Apollo <pub...@thanosapollo.org>

    Remove string-edit.
    
    * gnosis will be using org-mode for editing text.
---
 gnosis-string-edit.el | 149 --------------------------------------------------
 gnosis.el             |   1 -
 2 files changed, 150 deletions(-)

diff --git a/gnosis-string-edit.el b/gnosis-string-edit.el
deleted file mode 100644
index 836fdddc44..0000000000
--- a/gnosis-string-edit.el
+++ /dev/null
@@ -1,149 +0,0 @@
-;;; gnosis-string-edit.el --- gnosis edit strings  -*- lexical-binding: t; -*-
-
-;; Copyright (C) 2023-2024  Thanos Apollo
-
-;; Author: Thanos Apollo <pub...@thanosapollo.org>
-;; Keywords: extensions
-;; URL: https://git.thanosapollo.org/gnosis
-;; Version: 0.0.1
-
-;; Package-Requires: ((emacs "27.2") (compat "29.1.4.2"))
-
-;; 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 <https://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;; A slightly modified version of string-edit.el.  Gnosis comes with a
-;; modified version string-edit.el to make gnosis available to users
-;; of Emacs versions < 29.
-
-;;; Code:
-
-(require 'cl-lib)
-
-(defface gnosis-string-edit-prompt
-  '((t (:inherit font-lock-comment-face)))
-  "Face used on `gnosis-string-edit' help text."
-  :group 'text)
-
-(defvar gnosis-string-edit--success-callback)
-(defvar gnosis-string-edit--abort-callback)
-
-(defun gnosis-string-edit-ensure-empty-lines (&optional lines)
-  "Ensure that there are LINES number of empty lines before point.
-If LINES is nil or omitted, ensure that there is a single empty
-line before point.
-
-If called interactively, LINES is given by the prefix argument.
-
-If there are more than LINES empty lines before point, the number
-of empty lines is reduced to LINES.
-
-If point is not at the beginning of a line, a newline character
-is inserted before adjusting the number of empty lines."
-  (interactive "p")
-  (unless (bolp)
-    (insert "\n"))
-  (let ((lines (or lines 1))
-        (start (save-excursion
-                 (if (re-search-backward "[^\n]" nil t)
-                     (+ (point) 2)
-                   (point-min)))))
-    (cond
-     ((> (- (point) start) lines)
-      (delete-region (point) (- (point) (- (point) start lines))))
-     ((< (- (point) start) lines)
-      (insert (make-string (- lines (- (point) start)) ?\n))))))
-
-;;;###autoload
-(cl-defun gnosis-string-edit (prompt string success-callback
-                              &key abort-callback)
-  "Switch to a new buffer to edit STRING.
-When the user finishes editing (with 
\\<gnosis-string-edit-mode-map>\\[gnosis-string-edit-done]), SUCCESS-CALLBACK
-is called with the resulting string.
-
-If the user aborts (with 
\\<gnosis-string-edit-mode-map>\\[gnosis-string-edit-abort]), ABORT-CALLBACK 
(if any) is
-called with no parameters.
-
-PROMPT will be inserted at the start of the buffer, but won't be
-included in the resulting string.  If PROMPT is nil, no help text
-will be inserted.
-
-Also see `read-string-from-buffer'."
-  (with-current-buffer (generate-new-buffer "*edit string*")
-    (when prompt
-      (let ((inhibit-read-only t))
-        (insert prompt)
-        (gnosis-string-edit-ensure-empty-lines 0)
-        (add-text-properties (point-min) (point)
-                             (list 'intangible t
-                                   'face 'gnosis-string-edit-prompt
-                                   'read-only t))
-        (insert (propertize (make-separator-line) 'rear-nonsticky t))
-        (add-text-properties (point-min) (point)
-                             (list 'gnosis-string-edit--prompt t))))
-    (let ((start (point)))
-      (insert string)
-      (goto-char start))
-
-    ;; Use `fit-window-to-buffer' after the buffer is filled with text.
-    (pop-to-buffer (current-buffer)
-                   '(display-buffer-below-selected
-                     (window-height . (lambda (window)
-                                        (fit-window-to-buffer window nil 
10)))))
-
-    (set-buffer-modified-p nil)
-    (setq buffer-undo-list nil)
-    (gnosis-string-edit-mode)
-    (setq-local gnosis-string-edit--success-callback success-callback)
-    (when abort-callback
-      (setq-local gnosis-string-edit--abort-callback abort-callback))
-    (setq-local header-line-format
-                (substitute-command-keys
-                 "Type 
\\<gnosis-string-edit-mode-map>\\[gnosis-string-edit-done] when you've finished 
editing or \\[gnosis-string-edit-abort] to abort"))
-    (message "%s" (substitute-command-keys
-                   "Type 
\\<gnosis-string-edit-mode-map>\\[gnosis-string-edit-done] when you've finished 
editing"))))
-
-(defvar-keymap gnosis-string-edit-mode-map
-  "C-c C-c" #'gnosis-string-edit-done
-  "C-c C-k" #'gnosis-string-edit-abort)
-
-(define-derived-mode gnosis-string-edit-mode text-mode "String"
-  "Mode for editing strings."
-  :interactive nil)
-
-(defun gnosis-string-edit-done ()
-  "Finish editing the string and call the callback function.
-This will kill the current buffer."
-  (interactive)
-  (goto-char (point-min))
-  ;; Skip past the help text.
-  (text-property-search-forward 'gnosis-string-edit--prompt)
-  (let ((string (buffer-substring (point) (point-max)))
-        (callback gnosis-string-edit--success-callback))
-    (quit-window 'kill)
-    (funcall callback string)))
-
-(defun gnosis-string-edit-abort ()
-  "Abort editing the current string."
-  (interactive)
-  (let ((callback gnosis-string-edit--abort-callback))
-    (quit-window 'kill)
-    (when callback
-      (funcall callback))))
-
-(provide 'gnosis-string-edit)
-
-;;; gnosis-string-edit.el ends here
-
diff --git a/gnosis.el b/gnosis.el
index 7c464f9c85..1b07661303 100644
--- a/gnosis.el
+++ b/gnosis.el
@@ -53,7 +53,6 @@
 (require 'animate)
 
 (require 'gnosis-algorithm)
-(require 'gnosis-string-edit)
 (require 'gnosis-org)
 
 (defgroup gnosis nil

Reply via email to