Variable: haskell-ts-font-lock
haskell-ts-font-lock is a variable defined in haskell-ts-mode.el.
Value
((#<treesit-compiled-query> t keyword nil nil haskell)
(#<treesit-compiled-query> t otherwise t nil haskell)
(#<treesit-compiled-query> t signature t nil haskell)
(#<treesit-compiled-query> t module nil nil haskell)
(#<treesit-compiled-query> t import nil nil haskell)
(#<treesit-compiled-query> t type-sig nil nil haskell)
(#<treesit-compiled-query> t args keep nil haskell)
(#<treesit-compiled-query> t type t nil haskell)
(#<treesit-compiled-query> t constructors t nil haskell)
(#<treesit-compiled-query> t match nil nil haskell)
(#<treesit-compiled-query> t comment t nil haskell)
(#<treesit-compiled-query> t pragma nil nil haskell)
(#<treesit-compiled-query> t str t nil haskell)
(#<treesit-compiled-query> t parens t nil haskell)
(#<treesit-compiled-query> t function t nil haskell)
(#<treesit-compiled-query> t operator t nil haskell))
Documentation
The treesitter font lock settings for haskell.
Source Code
;; Defined in /nix/store/84k99g1lc4gz6zw2djcsyzr9zviz842h-emacs-packages-deps/share/emacs/site-lisp/elpa/haskell-ts-mode-1.3.5/haskell-ts-mode.el
(defvar haskell-ts-font-lock
(treesit-font-lock-rules
:language 'haskell
:feature 'keyword
`(["module" "import" "data" "let" "where" "case" "type"
"if" "then" "else" "of" "do" "in" "instance" "class" "newtype"]
@font-lock-keyword-face)
:language 'haskell
:feature 'otherwise
:override t
`(((match (guards guard: (boolean (variable) @font-lock-keyword-face)))
(:match "otherwise" @font-lock-keyword-face)))
;; This needs to be positioned above where we apply
;; font-lock-operator-face to comma
:language 'haskell
:override t
:feature 'signature
'((signature (function) @haskell-ts--fontify-type)
(context (function) @haskell-ts--fontify-type)
(signature "::" @font-lock-operator-face))
:language 'haskell
:feature 'module
'((module (module_id) @font-lock-type-face))
:language 'haskell
:feature 'import
'((import ["qualified" "as" "hiding"] @font-lock-keyword-face))
:language 'haskell
:feature 'type-sig
'((signature (binding_list (variable) @font-lock-doc-markup-face))
(signature (variable) @font-lock-doc-markup-face))
:language 'haskell
:feature 'args
:override 'keep
'((function (infix left_operand: (_) @haskell-ts--fontify-arg))
(function (infix right_operand: (_) @haskell-ts--fontify-arg))
(generator :anchor (_) @haskell-ts--fontify-arg)
(patterns) @haskell-ts--fontify-arg)
:language 'haskell
:feature 'type
:override t
'((type) @font-lock-type-face)
:language 'haskell
:feature 'constructors
:override t
'((constructor) @haskell-constructor-face
(data_constructor
(prefix field: (_) @haskell-ts--fontify-arg))
(type_params (_) @font-lock-variable-name-face)
(type_synomym (name) @font-lock-type-face)
(data_type name: (name) @font-lock-type-face)
(newtype name: (name) @font-lock-type-face)
(deriving "deriving" @font-lock-keyword-face
classes: (_) @haskell-constructor-face)
(deriving_instance "deriving" @font-lock-keyword-face
name: (_) @haskell-constructor-face))
:language 'haskell
:feature 'match
`((match ("|" @font-lock-doc-face) ("=" @font-lock-doc-face))
(list_comprehension ("|" @font-lock-doc-face
(qualifiers (generator "<-" @font-lock-doc-face))))
(match ("->" @font-lock-doc-face)))
:language 'haskell
:override t
:feature 'comment
`(((comment) @font-lock-comment-face)
((haddock) @font-lock-doc-face))
:language 'haskell
:feature 'pragma
`((pragma) @font-lock-preprocessor-face
(cpp) @font-lock-preprocessor-face)
:language 'haskell
:feature 'str
:override t
`((char) @font-lock-string-face
(string) @font-lock-string-face
(quasiquote (quoter) @font-lock-type-face)
(quasiquote (quasiquote_body) @font-lock-preprocessor-face))
:language 'haskell
:feature 'parens
:override t
`(["(" ")" "[" "]"] @font-lock-bracket-face
(infix operator: (_) @font-lock-operator-face))
:language 'haskell
:feature 'function
:override t
'((function name: (variable) @font-lock-function-name-face)
(function (infix (operator) @font-lock-function-name-face))
(function (infix (infix_id (variable) @font-lock-function-name-face)))
(bind :anchor (_) @haskell-ts--fontify-params)
(function arrow: _ @font-lock-operator-face))
:language 'haskell
:feature 'operator
:override t
`((operator) @font-lock-operator-face
["=" "," "=>"] @font-lock-operator-face))
"The treesitter font lock settings for haskell.")