72 lines
2.4 KiB
EmacsLisp
72 lines
2.4 KiB
EmacsLisp
;;; poly-markdown.el
|
|
;;
|
|
;; Filename: poly-markdown.el
|
|
;; Author: Spinu Vitalie
|
|
;; Maintainer: Spinu Vitalie
|
|
;; Copyright (C) 2013-2014, Spinu Vitalie, all rights reserved.
|
|
;; Version: 1.0
|
|
;; URL: https://github.com/vitoshka/polymode
|
|
;; Keywords: emacs
|
|
;;
|
|
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;;
|
|
;; This file is *NOT* part of GNU Emacs.
|
|
;;
|
|
;; This program 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, or
|
|
;; (at your option) any later version.
|
|
;;
|
|
;; This program 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 this program; see the file COPYING. If not, write to
|
|
;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
;; Floor, Boston, MA 02110-1301, USA.
|
|
;;
|
|
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
(require 'polymode)
|
|
;; (require 'markdown-mode)
|
|
|
|
(defcustom pm-host/markdown
|
|
(pm-bchunkmode "Markdown"
|
|
:mode 'markdown-mode
|
|
:init-functions '(poly-markdown-remove-markdown-hooks))
|
|
"Markdown host chunkmode"
|
|
:group 'hostmodes
|
|
:type 'object)
|
|
|
|
(defcustom pm-inner/markdown
|
|
(pm-hbtchunkmode-auto "markdown"
|
|
:head-reg "^[ \t]*```[{ \t]*\\w.*$"
|
|
:tail-reg "^[ \t]*```[ \t]*$"
|
|
:retriever-regexp "```[ ]*{?\\(?:lang *= *\\)?\\([^ \n;=,}]+\\)"
|
|
:font-lock-narrow t)
|
|
"Markdown typical chunk."
|
|
:group 'innermodes
|
|
:type 'object)
|
|
|
|
(defcustom pm-poly/markdown
|
|
(pm-polymode-multi-auto "markdown"
|
|
:hostmode 'pm-host/markdown
|
|
:auto-innermode 'pm-inner/markdown)
|
|
"Markdown typical configuration"
|
|
:group 'polymodes
|
|
:type 'object)
|
|
|
|
;;;###autoload (autoload 'poly-markdown-mode "poly-markdown")
|
|
(define-polymode poly-markdown-mode pm-poly/markdown)
|
|
|
|
;;; FIXES:
|
|
(defun poly-markdown-remove-markdown-hooks ()
|
|
;; get rid of awful hooks
|
|
(remove-hook 'window-configuration-change-hook 'markdown-fontify-buffer-wiki-links t)
|
|
(remove-hook 'after-change-functions 'markdown-check-change-for-wiki-link t))
|
|
|
|
|
|
(provide 'poly-markdown)
|