1
1
mirror of https://github.com/anoma/juvix.git synced 2025-01-07 16:22:14 +03:00
juvix/minijuvix-mode/minijuvix-highlight.el
janmasrovira 50ea7373ee
Improve error generation and handling (#108)
* add face and handling of not in scope symbol error

* small fix

* generic errors wip

* add App effect

* format

* add flycheck-minijuvix

* use absolute paths and refactor

* fix dir0

* add generic error instances and improve some errors

* format

* qualify strings

* use AnsiText

* add ToGenericError instances for the type checker errors

* improve error message

* improve handling of parsing errors
2022-05-18 17:10:10 +02:00

89 lines
2.3 KiB
EmacsLisp

(require 'font-lock)
(defgroup minijuvix-highlight nil
"Syntax highlighting for MiniJuvix."
:group 'minijuvix)
(defgroup minijuvix-highlight-faces nil
"Faces used to highlight MiniJuvix code."
:group 'minijuvix-highlight)
(defface minijuvix-highlight-keyword-face
'((((background light))
(:foreground "#399ee6"))
(((background dark))
(:foreground "#81a1c1")))
"The face used for keywords."
:group 'minijuvix-highlight-faces)
(defface minijuvix-highlight-function-face
'((((background light))
(:foreground "#f2ae49"))
(((background dark))
(:foreground "#ebcb8b")))
"The face used for functions."
:group 'minijuvix-highlight-faces)
(defface minijuvix-highlight-inductive-face
'((((background light))
(:foreground "#86b300"))
(((background dark))
(:foreground "#a3be8c")))
"The face used for inductive types."
:group 'minijuvix-highlight-faces)
(defface minijuvix-highlight-constructor-face
'((((background light))
(:foreground "#a37acc"))
(((background dark))
(:foreground "#b48ead")))
"The face used for constructors."
:group 'minijuvix-highlight-faces)
(defface minijuvix-highlight-axiom-face
'((((background light))
(:foreground "#f07171"))
(((background dark))
(:foreground "#bf616a")))
"The face used for axioms."
:group 'minijuvix-highlight-faces)
(defface minijuvix-highlight-string-face
'((((background light))
(:foreground "#f07171"))
(((background dark))
(:foreground "#d08770")))
"The face used for string literals."
:group 'minijuvix-highlight-faces)
(defface minijuvix-highlight-number-face
'((((background light))
(:foreground "#000000"))
(((background dark))
(:foreground "#d8dee9")))
"The face used for numbers."
:group 'minijuvix-highlight-faces)
(defface minijuvix-highlight-error-face
'((((background light))
(:foreground "#bd3744"))
(((background dark))
(:foreground "#bd3744")))
"The face used for errors."
:group 'minijuvix-highlight-faces)
(defface minijuvix-highlight-comment-face
'((((background light))
(:foreground "#8b2252"
:slant italic
))
(((background dark))
(:foreground "#83898d"
:slant italic
)
))
"The face used for comments."
:group 'minijuvix-highlight-faces)
(provide 'minijuvix-highlight)