From 50fee51d352317aaed28532c5f2f3f5e44fdd7bc Mon Sep 17 00:00:00 2001 From: Ananda Umamil Date: Sat, 8 Jan 2022 11:12:08 +0700 Subject: Improve Haskell highlighting --- queries/haskell/highlights.scm | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) (limited to 'queries/haskell') diff --git a/queries/haskell/highlights.scm b/queries/haskell/highlights.scm index a0eecf977..4785b0deb 100644 --- a/queries/haskell/highlights.scm +++ b/queries/haskell/highlights.scm @@ -11,6 +11,7 @@ (comment) @comment + ;; ---------------------------------------------------------------------------- ;; Punctuation @@ -72,10 +73,7 @@ "@" ] @operator -(qualified_module (module) @constructor) -(qualified_type (module) @namespace) -(qualified_variable (module) @namespace) -(import (module) @namespace) +(module) @namespace [ (where) @@ -96,27 +94,34 @@ "do" "mdo" "rec" + "infix" + "infixl" + "infixr" ] @keyword ;; ---------------------------------------------------------------------------- ;; Functions and variables -(signature name: (variable) @type) -(function name: (variable) @function) - (variable) @variable -"_" @punctuation.special +(pat_wildcard) @variable + +(signature name: (variable) @type) +(function + name: (variable) @function + patterns: (patterns)) (exp_infix (variable) @operator) ; consider infix functions as operators -("@" @namespace) ; "as" pattern operator, e.g. x@Constructor +(exp_apply . (exp_name (variable) @function)) +(exp_apply . (exp_name (qualified_variable (variable) @function))) ;; ---------------------------------------------------------------------------- ;; Types (type) @type +(type_variable) @type (constructor) @constructor -- cgit v1.2.3-70-g09d2