Add elpa packages
This commit is contained in:
parent
2d97873c1c
commit
afd61b5209
197 changed files with 76816 additions and 0 deletions
100
elpa/mmm-mode-0.5.11/mmm-cweb.el
Normal file
100
elpa/mmm-mode-0.5.11/mmm-cweb.el
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
;;; mmm-cweb.el --- MMM submode class for CWeb programs -*- lexical-binding: t; -*-
|
||||
|
||||
;; Copyright (C) 2001, 2002, 2013 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Alan Shutko <ats@acm.org>
|
||||
|
||||
;;{{{ GPL
|
||||
|
||||
;; This file 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 2, or (at your option)
|
||||
;; any later version.
|
||||
|
||||
;; This file 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; see the file COPYING. If not, write to
|
||||
;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
;; Boston, MA 02111-1307, USA.
|
||||
|
||||
;;}}}
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; This file contains the definition of an MMM Mode submode class for
|
||||
;; editing CWeb programs.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'mmm-compat)
|
||||
(require 'mmm-vars)
|
||||
(require 'mmm-auto)
|
||||
|
||||
(defvar mmm-cweb-section-tags
|
||||
'("@ " "@*"))
|
||||
|
||||
(defvar mmm-cweb-section-regexp
|
||||
(concat "^" (mmm-regexp-opt mmm-cweb-section-tags t)))
|
||||
|
||||
(defvar mmm-cweb-c-part-tags
|
||||
'("@c" "@>=" "@>+=" "@p"))
|
||||
|
||||
(defvar mmm-cweb-c-part-regexp
|
||||
(concat (mmm-regexp-opt mmm-cweb-c-part-tags t)))
|
||||
|
||||
(defun mmm-cweb-in-limbo (pos)
|
||||
"Check to see if POS is in limbo, ie before any cweb sections."
|
||||
(save-match-data
|
||||
(save-excursion
|
||||
(goto-char pos)
|
||||
(not (re-search-backward mmm-cweb-section-regexp nil t)))))
|
||||
|
||||
(defun mmm-cweb-verify-brief-c ()
|
||||
"Verify function for cweb-brief-c class.
|
||||
Checks whether the match is in limbo."
|
||||
(not (mmm-cweb-in-limbo (match-beginning 0))))
|
||||
|
||||
(mmm-add-group
|
||||
'cweb
|
||||
`(
|
||||
(cweb-c-part
|
||||
:submode c-mode
|
||||
:front ,mmm-cweb-c-part-regexp
|
||||
:back ,mmm-cweb-section-regexp)
|
||||
(cweb-label
|
||||
:submode tex-mode
|
||||
:front "@<"
|
||||
:back "@>"
|
||||
:face mmm-comment-submode-face
|
||||
:insert ((?l cweb-label nil @ "@<" @ "@>")))
|
||||
(cweb-brief-c
|
||||
:submode c-mode
|
||||
:front "[^\\|]\\(|\\)[^|]"
|
||||
:front-match 1
|
||||
:front-verify mmm-cweb-verify-brief-c
|
||||
; :front-offset -1
|
||||
:back "[^\\|]\\(|\\)"
|
||||
:back-match 1
|
||||
; :back-offset 1
|
||||
:end-not-begin t
|
||||
:insert ((?| cweb-c-in-tex nil "|" @ "|")))
|
||||
(cweb-comment
|
||||
:submode tex-mode
|
||||
:front "/[*]"
|
||||
:back "[*]/"
|
||||
:face mmm-comment-submode-face)
|
||||
))
|
||||
|
||||
;; (add-to-list 'mmm-mode-ext-classes-alist
|
||||
;; '(plain-tex-mode "\\.w\\'" cweb))
|
||||
;; (add-to-list 'mmm-mode-ext-classes-alist
|
||||
;; '(latex-mode "\\.w\\'" cweb))
|
||||
;; (add-to-list 'auto-mode-alist '("\\.w\\'" . tex-mode))
|
||||
|
||||
(provide 'mmm-cweb)
|
||||
|
||||
;;; mmm-cweb.el ends here
|
||||
Loading…
Add table
Add a link
Reference in a new issue