deniok: (Default)
deniok ([personal profile] deniok) wrote2012-11-26 03:27 pm
Entry tags:

Agda, вопрос о подсветке синтаксиса

open import Data.Nat

data Fin : Set where
  fzero : {n : } → Fin (suc n)
  fsuc  : {n : } → Fin n → Fin (suc n)

magic₁ : {A : Set} → Fin zero → A
magic₁ ()

magic₂ : {A : Set} → Fin zero → A
magic₂ n = _
Для того, чтобы правильно сделать коду на Агде грамотную синтаксическую раскраску, требуется не просто полноценно его распарсить, но ещё и повычислять изрядно по ходу дела. То есть ждать приличных внешних тулзов нечего, хочешь цветной Агды - сиди в emacs и не жужжи.

Между тем, хотелось бы (из педагогических, к примеру, соображений) иметь хорошо раскрашенный агдо-код для вставки куда угодно, и не в виде картинки. Отсюда вопрос - нельзя ли вытащить информацию о раскраске из emacs'а?

Я никому не скажу, что я большую часть времени работаю в Windows, поэтому мой вопрос относится в основном к этой OS, но если, например, это очень легко в какой другой OS, а в богомерзкой - очень сложно, то это была бы тоже полезная информация.

UPD1. Как нам сообщают умные люди в комментах можно:
(1) использовать саму Агду, она умеет генерировать правильно размеченный html:
agda --html --html-dir=<куда выводить> <корневой модуль>
(2) в emacs можно использовать htmlize (или htmlfontify, но у первого, вроде, настройки побогаче).

UPD2. Поправил цвета на в точности стандартные, а то некоторые ругаются.

[identity profile] vit-r.livejournal.com 2012-11-26 11:51 am (UTC)(link)
Ужас какой. Особенно, оранжевый цвет. И почему цифры такие маленькие?

[identity profile] deni-ok.livejournal.com 2012-11-26 03:30 pm (UTC)(link)
Поправил цвета на в точности стандартные. А цифры - это юникодный нижний индекс, думаю зависит от шрифта, но настаивать не буду, по вебу не специалист.