54 lines
1.7 KiB
EmacsLisp
54 lines
1.7 KiB
EmacsLisp
;;; javadown.el --- C/C++ Markdown Javadocs
|
|
|
|
;; Copyright 2019 Justine Tunney
|
|
|
|
;; Author: Justine Tunney
|
|
;; Version: 0.1
|
|
|
|
;; Permission to use, copy, modify, and/or distribute this software for any
|
|
;; purpose with or without fee is hereby granted, provided that the above
|
|
;; copyright notice and this permission notice appear in all copies.
|
|
;;
|
|
;; THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
;; WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
;; MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
;; ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
;; WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
;; ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
;; OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
|
|
;;; Commentary:
|
|
;;
|
|
;; Unintentionally empty.
|
|
|
|
;;; Code:
|
|
|
|
(require 'cc-fonts)
|
|
|
|
(defconst javadown-font-lock-doc-comments
|
|
`(;; e.g. ### Implementation Details
|
|
("^\\(/\\*\\)?\\(\\s \\|\\*\\)*\\(#+[^\n\r]+\\)"
|
|
3 ,c-doc-markup-face-name prepend nil)
|
|
;; e.g. {@code param}
|
|
("{@[a-z]+[^}\n\r]*}"
|
|
0 ,c-doc-markup-face-name prepend nil)
|
|
;; e.g. @param name does stuff
|
|
("^\\(/\\*\\)?\\(\\s \\|\\*\\)*\\(@[a-z]+\\)"
|
|
3 ,c-doc-markup-face-name prepend nil)
|
|
;; e.g. <video src=doge.mp4>
|
|
(,(concat "</?\\sw"
|
|
"\\("
|
|
(concat "\\sw\\|\\s \\|[=\n\r*.:]\\|"
|
|
"\"[^\"]*\"\\|'[^']*'")
|
|
"\\)*>")
|
|
0 ,c-doc-markup-face-name prepend nil)))
|
|
|
|
(defconst javadown-font-lock-keywords
|
|
`((,(lambda (limit)
|
|
(c-font-lock-doc-comments "/\\*\\*" limit
|
|
javadown-font-lock-doc-comments)))))
|
|
|
|
(provide 'javadown)
|
|
|
|
;;; javadown.el ends here
|