Per-buffer folding styles and explicit folding on triple-braces.
This commit is contained in:
parent
a44b0660f0
commit
6f9367575a
@ -47,7 +47,8 @@
|
|||||||
(python-mode . origami-indent-parser)
|
(python-mode . origami-indent-parser)
|
||||||
(emacs-lisp-mode . origami-elisp-parser)
|
(emacs-lisp-mode . origami-elisp-parser)
|
||||||
(lisp-interaction-mode . origami-elisp-parser)
|
(lisp-interaction-mode . origami-elisp-parser)
|
||||||
(clojure-mode . origami-clj-parser))
|
(clojure-mode . origami-clj-parser)
|
||||||
|
(triple-braces . origami-triple-braces-parser))
|
||||||
"alist mapping major-mode to parser function."
|
"alist mapping major-mode to parser function."
|
||||||
:type 'hook
|
:type 'hook
|
||||||
:group 'origami)
|
:group 'origami)
|
||||||
@ -217,6 +218,11 @@ position in the CONTENT."
|
|||||||
(defun origami-clj-parser (create)
|
(defun origami-clj-parser (create)
|
||||||
(origami-lisp-parser create "(def\\(\\w\\|-\\)*\\s-*\\(\\s_\\|\\w\\|[?!]\\)*\\([ \\t]*\\[.*?\\]\\)?"))
|
(origami-lisp-parser create "(def\\(\\w\\|-\\)*\\s-*\\(\\s_\\|\\w\\|[?!]\\)*\\([ \\t]*\\[.*?\\]\\)?"))
|
||||||
|
|
||||||
|
(defun origami-triple-braces-parser (create)
|
||||||
|
(lambda (content)
|
||||||
|
(let ((positions (origami-get-positions content "{{{\\|}}}")))
|
||||||
|
(origami-build-pair-tree create "{{{" "}}}" positions))))
|
||||||
|
|
||||||
(provide 'origami-parsers)
|
(provide 'origami-parsers)
|
||||||
|
|
||||||
;;; origami-parsers.el ends here
|
;;; origami-parsers.el ends here
|
||||||
|
@ -380,7 +380,9 @@ was last built."
|
|||||||
-last-item
|
-last-item
|
||||||
origami-fold-data)
|
origami-fold-data)
|
||||||
(origami-create-overlay beg end offset buffer)))))))
|
(origami-create-overlay beg end offset buffer)))))))
|
||||||
(-when-let (parser-gen (or (cdr (assoc (buffer-local-value 'major-mode buffer)
|
(-when-let (parser-gen (or (cdr (assoc (if (local-variable-p 'origami-fold-style)
|
||||||
|
(buffer-local-value 'origami-fold-style buffer)
|
||||||
|
(buffer-local-value 'major-mode buffer))
|
||||||
origami-parser-alist))
|
origami-parser-alist))
|
||||||
'origami-indent-parser))
|
'origami-indent-parser))
|
||||||
(funcall parser-gen create))))
|
(funcall parser-gen create))))
|
||||||
|
Loading…
Reference in New Issue
Block a user