[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Xemacs psgml mode



On Tue, 06 Oct 1998 17:13:00 +0400, "Valeriy E. Ushakov" wrote:

> > А существует какой-либо несложный (т.е. не требующий многочасового копания
> > в Лиспе) способ научить xemacs в psgml-mode, что в данном конкретном
> > документе я хочу покрасить все от, скажем, <head> до </head> в зеленый
> > цвет?
> > 
> > Я даже готов не писать <head/.../ или <head>...</> по такому случаю.
> 
> hilit'ом - да, font-lock'ом - нет.

	:-O

> 
> Вообще я font-lock не люблю, слишком он жесткий, нерасширяемый, но
> зато поддерживает lazy/fast lock.  Вот если бы hilit этому научить...
> 
> В hilit'е можно задать абстрактные сущности, которые хайлайтятся неким
> заданным образом, а затем в каждой моде, где эти сущности имеют смысл
> задать regexp'ы, которые эти сущности для этой моды определяют.
> 
> А font-lock только и знает про keyword'ы и еще несколько жестко
> заданных вещей.

	Ну, и вполне хватает.

	(add-hook 'sgml-mode-hook 'My-SGML-highlight)

(make-face 'tei-head-face)
(set-face-foreground 'tei-head-face "dark green")

(defun My-SGML-highlight ()
  (setq 
   font-lock-keywords
   '(
     ("<head/[^/]*/"	. tei-head-face)
     ("<head>.*</>"	. tei-head-face)
     ("<head>.*</head>"	. tei-head-face)
     )
   )
  )

	И можно даже продолжать писать <head/.../ и <head>...</> ;-)

	Остальные теги раскрашиваются по образу и подобию.
-- 
	Best regards, -- Boris.