[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 27b472c: * externals-list: Convert jgraph-mode to :externa
From: |
Stefan Monnier |
Subject: |
[elpa] master 27b472c: * externals-list: Convert jgraph-mode to :external |
Date: |
Sat, 28 Nov 2020 19:07:38 -0500 (EST) |
branch: master
commit 27b472cc80b2c0e7cef0874dea3f3666a2b587e9
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Commit: Stefan Monnier <monnier@iro.umontreal.ca>
* externals-list: Convert jgraph-mode to :external
---
externals-list | 3 +-
packages/jgraph-mode/jgraph-mode.el | 243 ------------------------------------
2 files changed, 2 insertions(+), 244 deletions(-)
diff --git a/externals-list b/externals-list
index e4ff7b9..9021f72 100644
--- a/externals-list
+++ b/externals-list
@@ -104,6 +104,7 @@
("ioccur" :external
"https://github.com/thierryvolpiatto/ioccur.git";)
("ivy-explorer" :external "https://github.com/clemera/ivy-explorer";)
("ivy-posframe" :external "https://github.com/tumashu/ivy-posframe";)
+ ("jgraph-mode" :external nil)
("js2-mode" :external "https://github.com/mooz/js2-mode.git";)
("jsonrpc" :core "lisp/jsonrpc.el")
("leaf" :external "https://github.com/conao3/leaf.el";)
@@ -118,7 +119,7 @@
("names" :external "http://github.com/Malabarba/names";)
("nhexl-mode" :external nil)
("nlinum" :external nil)
- ("num3-mode" :external nil)
+ ("num3-mode" :external nil)
("objed" :external "https://github.com/clemera/objed";)
("omn-mode" :external nil)
("orgalist" :external nil)
diff --git a/packages/jgraph-mode/jgraph-mode.el
b/packages/jgraph-mode/jgraph-mode.el
deleted file mode 100644
index ea2a0d2..0000000
--- a/packages/jgraph-mode/jgraph-mode.el
+++ /dev/null
@@ -1,243 +0,0 @@
-;;; jgraph-mode.el --- Major mode for Jgraph files -*- lexical-binding:t -*-
-
-;; Copyright (C) 2006, 2011-2012, 2014, 2015 Free Software Foundation, Inc
-
-;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
-;; Version: 1.1
-;; Package-Requires: ((cl-lib "0.5"))
-;; Keywords: tex, wp
-
-;; This file is part of GNU Emacs.
-
-;; GNU Emacs 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.
-
-;; GNU Emacs 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 GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;; Simple editing mode for the Jgraph graph plotting tool.
-;; You can find more info at
http://web.eecs.utk.edu/~plank/plank/jgraph/jgraph.html
-
-;;; Code:
-
-(eval-when-compile (require 'cl-lib))
-
-(defgroup jgraph-mode ()
- "Major mode for Jgraph files."
- :group 'tools)
-
-(defvar jgraph-mode-map
- (let ((map (make-sparse-keymap)))
- map)
- "Keymap for `jgraph-mode'.")
-
-;; (easy-menu-define jgraph-mode-menu jgraph-mode-map
-;; "Menu for `jgraph-mode'."
-;; '("Jgraph"
-;; ["Do some stuff" jgraph-do-bar :active mark-active]
-;; "..."
-;; ["Do some other" jgraph-do-foo]
-;; ("Sub-jgraph"
-;; ["Haha" jgraph-crash])
-;; ...))
-
-(defvar jgraph-mode-syntax-table
- (let ((st (make-syntax-table)))
- ;; tokens are made of any non-whitespace chars.
- (map-char-table (lambda (c v) (if (not (memq (car v) '(0 2 3)))
- (modify-syntax-entry c "_" st)))
- st)
- (modify-syntax-entry ?\( "_ 1n" st)
- (modify-syntax-entry ?\) "_ 4n" st)
- (modify-syntax-entry ?\* "_ 23" st)
- st)
- "Syntax table for `jgraph-mode'.")
-
-(defun jgraph-extract-commands ()
- (let ((sections nil)
- (tok-cmds nil))
- (goto-char (point-min))
- (while (and (re-search-forward "^\\.RE" nil t)
- (re-search-forward "^\\.B \\(.*\\)" nil t))
- (let ((section (downcase (match-string 1)))
- (commands nil)
- (end (save-excursion
- (and (re-search-forward "^\\.RE" nil t)
- (match-beginning 0)))))
- (setq section (replace-regexp-in-string "simple" "" section))
- (setq section (replace-regexp-in-string "advanced" "" section))
- (setq section (replace-regexp-in-string "editing" "" section))
- (setq section (replace-regexp-in-string "commands" "" section))
- (setq section (replace-regexp-in-string "\\\\" "" section))
- (setq section (replace-regexp-in-string "\\` *" "" section))
- (setq section (replace-regexp-in-string " *\\'" "" section))
- (setq section (replace-regexp-in-string " " "-" section))
- (setq section (intern section))
- (while (re-search-forward "^\\.TP\n\\(?:\\.B \\|\\\\fB\\)\\([^
:\t\n\\]+\\)\\([ {\\fI]*token\\)?" end 'move)
- (let ((cmd (match-string-no-properties 1)))
- (if (match-end 2) (cl-pushnew cmd tok-cmds :test #'equal))
- (cl-pushnew cmd commands :test #'equal)))
- (setq commands (nreverse commands))
- (let ((sec (assoc section sections)))
- (if sec (nconc sec commands)
- (push (cons section commands) sections)))))
- (nreverse (cons (cons 'token tok-cmds) sections))))
-
-(defconst jgraph-commands
- ;; Obtained by running (jgraph-extract-commands) in the jgraph.1 nroff doc.
- '((top-level-description "newgraph" "graph" "copygraph" "newpage" "X" "Y"
- "bbox" "preamble" "epilogue")
- (graph "xaxis" "yaxis" "newcurve" "curve" "newline" "copycurve" "title"
- "legend" "newstring" "string" "copystring" "border" "noborder"
- "clip" "noclip" "inherit_axes" "x_translate" "y_translate" "X" "Y")
- (axis "linear" "log" "min" "max" "size" "log_base" "hash" "shash" "mhash"
- "precision" "hash_format" "label" "draw_at" "nodraw" "draw"
- "grid_lines" "no_grid_lines" "mgrid_lines" "no_mgrid_lines" "gray"
- "color" "grid_gray" "grid_color" "mgrid_gray" "mgrid_color" "hash_at"
- "mhash_at" "hash_label" "hash_labels" "hash_scale"
- "draw_hash_marks_at" "draw_hash_labels_at" "auto_hash_marks"
- "no_auto_hash_marks" "auto_hash_labels" "no_auto_hash_labels"
- "draw_axis" "no_draw_axis" "draw_axis_label" "no_draw_axis_label"
- "draw_hash_marks" "no_draw_hash_marks" "draw_hash_labels"
- "no_draw_hash_labels")
- (curve "pts" "x_epts" "y_epts" "marktype" "marksize" "mrotate" "gray"
- "color" "fill" "cfill" "pattern" "poly" "nopoly" "pfill" "pcfill"
- "ppattern" "gmarks" "postscript" "eps" "larrows" "rarrows"
- "nolarrows" "norarrows" "larrow" "rarrow" "nolarrow" "norarrow"
- "asize" "afill" "apattern" "linetype" "glines" "linethickness"
- "bezier" "nobezier" "clip" "noclip" "label")
- (label "x" "y" "font" "fontsize" "linesep" "hjl" "hjc" "hjr" "vjt" "vjc"
- "vjb" "rotate" "lgray" "lcolor")
- (legend "on" "off" "linelength" "linebreak" "midspace" "defaults" "left"
- "top" "bottom" "x" "y" "custom")
- (hash-label "at")
- ;; Commands that can be followed by a token.
- (token "apattern" "eps" "postscript" "ppattern" "pattern" "hash_format"
- "epilogue" "preamble")))
-
-(defconst jgraph-file-include-commands
- '("include" "preamble" "epilogue" "postscript" "eps"))
-
-(defvar jgraph-font-lock-keywords
- `((,(concat "\\_<" (regexp-opt jgraph-file-include-commands)
- "[ \t]+\\(\\sw+\\)")
- (1 font-lock-constant-face))
- (,(concat "^" (regexp-opt
- (cdr (assoc 'top-level-description jgraph-commands)))
- "\\_>")
- . font-lock-function-name-face)
- (,(concat "\\_<"
- (regexp-opt (cons "include"
- (apply 'append (mapcar 'cdr jgraph-commands))))
- "\\_>")
- . font-lock-keyword-face)
- )
- "Keyword highlighting specification for `jgraph-mode'.")
-
-;; (defvar jgraph-imenu-generic-expression
-;; '(("Vars" "^defvar[ \t]+\\(\\(\\sw\\|\\s_\\)+\\)" 1)
-;; (nil "^function[ \t]+\\(\\(\\sw\\|\\s_\\)+\\)" 1)
-;; ...)
-;; "Regex patterns for the index menu of `jgraph-mode'.")
-
-;; (defvar jgraph-outline-regexp "(\\|;;;+"
-;; "Regexp for `outline-minor-mode' in `jgraph-mode'.")
-
-;; Abbreviations and Skeletons
-
-;; (define-skeleton jgraph-insert-if
-;; "Jgraph mode skeleton for if..then expressions."
-;; nil
-;; "if " _ \n "then " _ \n "else " _ \n "fi" \n)
-
-;; (define-skeleton jgraph-insert-begend
-;; "Jgraph mode skeleton for begin<x>...end<x> expressions."
-;; "Block name: "
-;; "begin<" str ">" \n _ \n "end<" str ">" \n)
-
-;; (define-abbrev-table 'jgraph-mode-abbrev-table
-;; '(("if" "" jgraph-insert-if nil t)
-;; ("cwcc" "call-with-current-continuation" nil nil t)
-;; ("begin" "" jgraph-insert-begend nil t)
-;; ))
-
-;;;###autoload
-(add-to-list 'auto-mode-alist '("\\.jgr\\'" . jgraph-mode))
-
-(defun jgraph--syntax-end-of-string (limit)
- (when (eq t (nth 3 (syntax-ppss)))
- (when (re-search-forward "\\(?:\\=\\|[^\\]\\)\\(\n\\)" limit t)
- (put-text-property (match-beginning 1) (match-end 1)
- 'syntax-table (string-to-syntax "|")))))
-
-(defun jgraph--syntax-propertize (start end)
- (goto-char start)
- (jgraph--syntax-end-of-string end)
- (funcall
- (syntax-propertize-rules
- ("\\s-:\\(\\s-\\)" (1 (prog1 "|" (jgraph--syntax-end-of-string end)))))
- start end))
-
-;;;###autoload
-(define-derived-mode jgraph-mode prog-mode "Jgraph"
- "A major mode for editing Jgraph files."
- (set (make-local-variable 'comment-start) "(* ")
- (set (make-local-variable 'comment-start-skip) "\\_<(\\*\\_>[ \t]*")
- (set (make-local-variable 'comment-end) " *)")
- (set (make-local-variable 'comment-start-skip) "[ \t]*\\_<\\*)\\_>")
- (set (make-local-variable 'font-lock-defaults)
- '(jgraph-font-lock-keywords))
- (set (make-local-variable 'syntax-propertize-function)
- #'jgraph--syntax-propertize)
- (set (make-local-variable 'indent-line-function) 'jgraph-indent-line)
- ;; (set (make-local-variable 'imenu-generic-expression)
- ;; jgraph-imenu-generic-expression)
- ;; (set (make-local-variable 'outline-regexp) jgraph-outline-regexp)
- )
-
-;;; Indentation
-
-(defcustom jgraph-indent-offset 4
- "Basic indentation step size in `jgraph-mode'."
- :type 'integer)
-
-(defun jgraph-indent-line ()
- "Indent current line of Jgraph code."
- (interactive)
- (let* ((savep (point))
- (indent (or (with-demoted-errors
- (save-excursion
- (forward-line 0)
- (skip-chars-forward " \t")
- (if (>= (point) savep) (setq savep nil))
- (jgraph-indent-calculate)))
- 'noindent)))
- (if (not (numberp indent))
- indent
- (setq indent (max indent 0))
- (if savep
- (save-excursion (indent-line-to indent))
- (indent-line-to indent)))))
-
-(defun jgraph-indent-calculate ()
- "Return the column to which the current line should be indented."
- (save-excursion
- (skip-chars-forward " \t")
- (or (when (looking-at (concat (regexp-opt
- (cdr (assoc 'top-level-description
- jgraph-commands)))
- "\\_>"))
- 0)
- 'noindent)))
-
-(provide 'jgraph-mode)
-;;; jgraph-mode.el ends here
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] master 27b472c: * externals-list: Convert jgraph-mode to :external,
Stefan Monnier <=