Aşağıdaki M4 makro tanımı var:
define(`printlist',`$1`'ifelse(`$#',1,,`printlist(shift($@))')')
#
M4 sözdiziminde bir yorumu başlatır, ancak yalnızca a'dan önce gelmediğinde $
: $#
makronun aldığı argüman sayısıdır.
Bunu m4-font-lock-keywords
uygun şekilde ele almayı nasıl değiştirebilirim ?
Varsayılan değer:
(("\\(\\b\\(m4_\\)?dnl\\b\\|^\\#\\).*$" . font-lock-comment-face)
("\\$[*#@0-9]" . font-lock-variable-name-face)
("\\$\\@" . font-lock-variable-name-face)
("\\$\\*" . font-lock-variable-name-face)
("\\b\\(...\\)\\b" . font-lock-keyword-face))
(modify-syntax-entry ?# "<\n" m4-mode-syntax-table)
Yorumları vurgulamak için alternatif bir yöntem yorumlamak ve kullanmak isteyebilirsiniz - örneğin, m4-font-lock-keywords
sözdizimi tablosunu kullanmak yerine değişkene bir yorum girişi eklemek .
Bu ana modun kaynak kodunu görüntülemekle ilgilenebilecek forum katılımcıları için, aşağıdaki link muhtemelen asıl poster tarafından kullanılan ana mod kaynak kodunu içerir: opensource.apple.com/source/emacs/emacs- 70 / emacs / lisp / progmodes /…
—
kanun listesi
@lawlist Bu kısmi bir düzeltme:
—
Sean Allred
(modify-syntax-entry ?# "@" m4-mode-syntax-table)
için doğru çalışacak /^#.*$/
, ancak çalışmayacak /.*#.*$/
(gerçek yorum sözdizimi söz konusu olduğunda).
/(?<!\$)#/
örneklerini maç için#
bir olmadan$
ondan önceki.