SMOLNET PORTAL home about changes
iAdd gph major-mode file for emacs. - geomyidae - A small C-based gopherd.	Err	bitreich.org	70
hgit clone git://bitreich.org/geomyidae/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/geomyidae/	URL:git://bitreich.org/geomyidae/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/geomyidae/	bitreich.org	70
1Log	/scm/geomyidae/log.gph	bitreich.org	70
1Files	/scm/geomyidae/files.gph	bitreich.org	70
1Refs	/scm/geomyidae/refs.gph	bitreich.org	70
1Tags	/scm/geomyidae/tag	bitreich.org	70
1README	/scm/geomyidae/file/README.gph	bitreich.org	70
1LICENSE	/scm/geomyidae/file/LICENSE.gph	bitreich.org	70
i---	Err	bitreich.org	70
1commit 9f6992fbf205ebf60a0674c9ec29a86c73cb4fa9	/scm/geomyidae/commit/9f6992fbf205ebf60a0674c9ec29a86c73cb4fa9.gph	bitreich.org	70
1parent b8f2f9e71128445ed61141bb7eec1d241790fb43	/scm/geomyidae/commit/b8f2f9e71128445ed61141bb7eec1d241790fb43.gph	bitreich.org	70
hAuthor: Christoph Lohmann <20h@r-36.net>	URL:mailto:20h@r-36.net	bitreich.org	70
iDate:   Wed,  3 Aug 2022 18:24:55 +0200	Err	bitreich.org	70
i	Err	bitreich.org	70
iAdd gph major-mode file for emacs.	Err	bitreich.org	70
i	Err	bitreich.org	70
iThanks Athas!	Err	bitreich.org	70
i	Err	bitreich.org	70
iDiffstat:	Err	bitreich.org	70
i  M gph/README.md                       |       6 ++++++	Err	bitreich.org	70
i  A gph/emacs/gph-mode.el               |      61 +++++++++++++++++++++++++++++++	Err	bitreich.org	70
i	Err	bitreich.org	70
i2 files changed, 67 insertions(+), 0 deletions(-)	Err	bitreich.org	70
i---	Err	bitreich.org	70
1diff --git a/gph/README.md b/gph/README.md	/scm/geomyidae/file/gph/README.md.gph	bitreich.org	70
i@@ -9,3 +9,9 @@	Err	bitreich.org	70
i         cp vim/ftdetect/gph.vim ~/.vim/ftdetect	Err	bitreich.org	70
i         cp vim/syntax/gph.vim ~/.vim/syntax	Err	bitreich.org	70
i 	Err	bitreich.org	70
i+## emacs	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Please read this on how emacs finds its major mode files:	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+        https://www.gnu.org/software/emacs/manual/html_node/elisp/Auto-Major-Mode.html	Err	bitreich.org	70
i+	Err	bitreich.org	70
1diff --git a/gph/emacs/gph-mode.el b/gph/emacs/gph-mode.el	/scm/geomyidae/file/gph/emacs/gph-mode.el.gph	bitreich.org	70
i@@ -0,0 +1,61 @@	Err	bitreich.org	70
i+;;; gph-mode.el --- major mode for gph files  -*- lexical-binding: t; -*-	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+;; Copyright (C) Troels Henriksen (athas@sigkill.dk) 2022	Err	bitreich.org	70
i+;;	Err	bitreich.org	70
i+;; URL: https://github.com/diku-dk/futhark-mode	Err	bitreich.org	70
i+;; Keywords: gopher	Err	bitreich.org	70
i+;; Version: 1.0	Err	bitreich.org	70
i+;; Package-Requires: ((emacs "25.1"))	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+;; This file is not part of GNU Emacs.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+;;; License:	Err	bitreich.org	70
i+;; GPL-3+	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+;;; Commentary:	Err	bitreich.org	70
i+;; .gph is the map file format used by the geomyidae Gopher daemon.	Err	bitreich.org	70
i+;; This Emacs mode provides basic understanding of the link syntax,	Err	bitreich.org	70
i+;; such that highlighting and folding works properly.	Err	bitreich.org	70
i+;;	Err	bitreich.org	70
i+;; Files with the ".gph" extension are automatically handled by this mode.	Err	bitreich.org	70
i+;;	Err	bitreich.org	70
i+;; For extensions: Define local keybindings in `gph-mode-map'.  Add	Err	bitreich.org	70
i+;; startup functions to `gph-mode-hook'.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+;;; Code:	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+(eval-when-compile	Err	bitreich.org	70
i+  (require 'rx))	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+(defvar gph--font-lock-defaults	Err	bitreich.org	70
i+  (let* ((type-rx '(or "0" "1" "3" "7" "8" "9" "g" "I" "h" "i"))	Err	bitreich.org	70
i+         (desc-rx '(* (not "|")))	Err	bitreich.org	70
i+         (path-rx '(* (not "|")))	Err	bitreich.org	70
i+         (host-rx '(* (not "|")))	Err	bitreich.org	70
i+         (port-rx '(+ digit))	Err	bitreich.org	70
i+         (link-rx `(: line-start "[" ,type-rx "|" ,desc-rx "|" ,path-rx "|" ,host-rx "|" ,port-rx "]"))	Err	bitreich.org	70
i+         (badlink-rx `(: line-start "[" (* anything))))	Err	bitreich.org	70
i+    `((,(rx-to-string link-rx) 0 font-lock-doc-markup-face)	Err	bitreich.org	70
i+      (,(rx-to-string badlink-rx) 0 font-lock-warning-face))))	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+(defvar gph-mode-hook nil	Err	bitreich.org	70
i+  "Hook for `gph-mode'.  Is run whenever the mode is entered.")	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+(defvar gph-mode-map	Err	bitreich.org	70
i+  (let ((map (make-keymap)))	Err	bitreich.org	70
i+    map)	Err	bitreich.org	70
i+  "Keymap for `gph-mode'.")	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+;;;###autoload	Err	bitreich.org	70
i+(add-to-list 'auto-mode-alist '("\\.gph" . gph-mode))	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+;;;###autoload	Err	bitreich.org	70
i+(define-derived-mode gph-mode text-mode "gph"	Err	bitreich.org	70
i+  "Major mode for .gph files as used by geomyidae."	Err	bitreich.org	70
i+  (setq-local paragraph-start (concat "^\\[|\\|[ \t]*$\\|" page-delimiter))	Err	bitreich.org	70
i+  (setq-local paragraph-separate (concat "^\\[\\|[ \t]*$\\|" page-delimiter))	Err	bitreich.org	70
i+  (setq-local font-lock-defaults '(gph--font-lock-defaults)))	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+(provide 'gph-mode)	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+;;; gph-mode.el ends here	Err	bitreich.org	70
.
Response: text/plain
Original URLgopher://bitreich.org/0/scm/geomyidae/commit/9f6992fbf205...
Content-Typetext/plain; charset=utf-8