Skip to content

Instantly share code, notes, and snippets.

@smonff
Forked from am0c/gist:3803249
Last active January 12, 2021 13:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save smonff/9851736 to your computer and use it in GitHub Desktop.
Save smonff/9851736 to your computer and use it in GitHub Desktop.
;
; mmm-mode config for Mojolicious::Lite perl file.
; Forked from https://gist.github.com/am0c/3803249
; mmm-mode lib is from here: https://github.com/purcell/mmm-mode
; font locks of [c]perl-mode and mmm-mode conflict each other.
;
(require 'mmm-auto)
(require 'mmm-compat)
(require 'mmm-vars)
(setq mmm-global-mode 'maybe)
(global-set-key "\M-p" 'mmm-parse-buffer)
;(mmm-set-major-mode-preference 'cperl-mode 'perl-mojo)
(defun mmm-perl-mojo-get-mode (delimiter)
(let ((filename (substring delimiter 3 nil)))
(or (assoc-default filename auto-mode-alist #'string-match)
'fundamental-mode
(signal 'mmm-no-matching-submode nil))))
(mmm-add-group 'perl-mojo '((perl-mojo-blocks
:match-submode mmm-perl-mojo-get-mode
:front "^@@ \\(.+\\)$"
:front-offset (end-of-line 1)
:back "\\(^@@\\|\\'\\)"
:back-offset (beginning-of-line -1)
:save-matches t
:delimiter-mode nil
:end-not-begin nil
:face mmm-code-submode-face
)))
(mmm-add-mode-ext-class 'cperl-mode "\\.pl$" 'perl-mojo)
(setq mmm-submode-mode-line-format "~M[~m]")
(setq mmm-submode-decoration-level 2)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment