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