From e8f69cad28cc17bcbb6d239e2130ed74a9dac705 Mon Sep 17 00:00:00 2001 From: Jason McBrayer Date: Fri, 29 May 2020 10:33:55 -0400 Subject: [PATCH] Add gemini-insert-list-item --- gemini-mode.el | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/gemini-mode.el b/gemini-mode.el index bc7de0d..7c5bfba 100644 --- a/gemini-mode.el +++ b/gemini-mode.el @@ -4,7 +4,7 @@ ;; Author: Jason McBrayer , tastytea ;; Created: 20 May 2020 -;; Version: 0.3.0 +;; Version: 0.4.0 ;; Keywords: languages ;; Homepage: https://git.carcosa.net/jmcbray/gemini.el @@ -68,6 +68,7 @@ (defvar gemini-mode-map (let ((map (make-keymap))) (define-key map (kbd "C-c C-l") #'gemini-insert-link) + (define-key map (kbd "C-c RET") #'gemini-insert-list-item) map) "Keymap for `gemini-mode'.") @@ -113,6 +114,18 @@ it seems to be a URL, or link text value otherwise." (unless (string= text "") (insert " " text))))) +(defun gemini-insert-list-item () + "Insert a new list item. +If at the beginning of a line, just insert it. Otherwise +go to the end of the current line, insert a newline, and +insert a list item." + (interactive) + (if (equal (line-beginning-position) (point)) + (insert "* ") + (end-of-line) + (newline) + (insert "* "))) + ;;;###autoload (define-derived-mode gemini-mode text-mode "gemini" "Major mode for editing text/gemini 'geminimap' documents"