summaryrefslogtreecommitdiffstats
path: root/syntax/haskell.vim
diff options
context:
space:
mode:
authorAdam Stankiewicz <sheerun@sher.pl>2016-05-02 10:42:37 +0200
committerAdam Stankiewicz <sheerun@sher.pl>2016-05-02 10:42:37 +0200
commit5dd1a7e83966c92d220073185f1738dfe441f59e (patch)
tree9c4bee389a51a9bb111dcc894c9db0f6d1809d81 /syntax/haskell.vim
parentbc098370c1bb81840734f5764f431dee270e75ce (diff)
downloadvim-polyglot-5dd1a7e83966c92d220073185f1738dfe441f59e.tar.gz
vim-polyglot-5dd1a7e83966c92d220073185f1738dfe441f59e.zip
Update
Diffstat (limited to 'syntax/haskell.vim')
-rw-r--r--syntax/haskell.vim77
1 files changed, 48 insertions, 29 deletions
diff --git a/syntax/haskell.vim b/syntax/haskell.vim
index c8048ca1..c4e8ffb8 100644
--- a/syntax/haskell.vim
+++ b/syntax/haskell.vim
@@ -19,16 +19,17 @@ syn match haskellRecordField contained containedin=haskellBlock
\ haskellIdentifier,
\ haskellOperators,
\ haskellSeparator,
- \ haskellParens,
+ \ haskellParens
syn match haskellTypeSig
\ "^\s*\(where\s\+\|let\s\+\|default\s\+\)\?[_a-z][a-zA-Z0-9_']*\(,\s*[_a-z][a-zA-Z0-9_']*\)*\(\s*::\|\n\s\+::\)"
\ contains=
\ haskellWhere,
\ haskellLet,
+ \ haskellDefault,
\ haskellIdentifier,
\ haskellOperators,
\ haskellSeparator,
- \ haskellParens,
+ \ haskellParens
syn keyword haskelLWhere where
syn keyword haskellLet let
syn keyword haskellDeclKeyword module class instance newtype deriving in
@@ -50,8 +51,8 @@ syn match haskellImport "^\<import\>\s\+\(\<safe\>\s\+\)\?\(\<qualified\>\s\+\)\
\ haskellType,
\ haskellLineComment,
\ haskellBlockComment,
- \ haskellPragma,
-syn keyword haskellStatement do case of
+ \ haskellPragma
+syn keyword haskellKeyword do case of
if exists('g:haskell_enable_static_pointers') && g:haskell_enable_static_pointers == 1
syn keyword haskellStatic static
endif
@@ -122,22 +123,18 @@ endif
highlight def link haskellBottom Macro
highlight def link haskellTH Boolean
-highlight def link haskellBlockKeywords Structure
highlight def link haskellIdentifier Identifier
highlight def link haskellForeignKeywords Structure
-highlight def link haskellDeriving Structure
-highlight def link haskellStatement Statement
-highlight def link haskellDefault Statement
+highlight def link haskellKeyword Keyword
+highlight def link haskellDefault Keyword
highlight def link haskellConditional Conditional
highlight def link haskellNumber Number
highlight def link haskellFloat Float
highlight def link haskellSeparator Delimiter
highlight def link haskellDelimiter Delimiter
-highlight def link haskellInfix PreProc
+highlight def link haskellInfix Keyword
highlight def link haskellOperators Operator
highlight def link haskellQuote Operator
-highlight def link haskellQuotedType Include
-highlight def link haskellType Include
highlight def link haskellShebang Comment
highlight def link haskellLineComment Comment
highlight def link haskellBlockComment Comment
@@ -145,34 +142,56 @@ highlight def link haskellPragma SpecialComment
highlight def link haskellString String
highlight def link haskellChar String
highlight def link haskellBacktick Operator
-highlight def link haskellPreProc Macro
-highlight def link haskellTodo Todo
-highlight def link haskellAssocType Structure
-highlight def link haskellImportBlock Delimiter
-highlight def link haskellImportKeywords Structure
-highlight def link haskellDeclKeyword Structure
-highlight def link haskellDecl Structure
-highlight def link haskellWhere Structure
-highlight def link haskellLet Structure
highlight def link haskellQuasiQuoted String
+highlight def link haskellTodo Todo
+if exists('g:haskell_classic_highlighting') && g:haskell_classic_highlighting == 1
+ highlight def link haskellPreProc PreProc
+ highlight def link haskellAssocType Type
+ highlight def link haskellImportKeywords Include
+ highlight def link haskellDeclKeyword Keyword
+ highlight def link haskellDecl Keyword
+ highlight def link haskellWhere Keyword
+ highlight def link haskellLet Keyword
+ highlight def link haskellQuotedType Type
+ highlight def link haskellType Type
+else
+ highlight def link haskellPreProc Macro
+ highlight def link haskellAssocType Structure
+ highlight def link haskellImportKeywords Structure
+ highlight def link haskellDeclKeyword Structure
+ highlight def link haskellDecl Structure
+ highlight def link haskellWhere Structure
+ highlight def link haskellLet Structure
+ highlight def link haskellQuotedType Include
+ highlight def link haskellType Include
+endif
if exists('g:haskell_enable_quantification') && g:haskell_enable_quantification == 1
highlight def link haskellForall Operator
endif
if exists('g:haskell_enable_recursivedo') && g:haskell_enable_recursivedo == 1
- highlight def link haskellRecursiveDo Operator
+ highlight def link haskellRecursiveDo Keyword
endif
if exists('g:haskell_enable_arrowsyntax') && g:haskell_enable_arrowsyntax == 1
- highlight def link haskellArrowSyntax Operator
-endif
-if exists('g:haskell_enable_pattern_synonyms') && g:haskell_enable_pattern_synonyms == 1
- highlight def link haskellPatternKeyword Structure
-endif
-if exists('g:haskell_enable_typeroles') && g:haskell_enable_typeroles == 1
- highlight def link haskellTypeRoles Structure
+ highlight def link haskellArrowSyntax Keyword
endif
if exists('g:haskell_enable_static_pointers') && g:haskell_enable_static_pointers == 1
- highlight def link haskellStatic Statement
+ highlight def link haskellStatic Keyword
+endif
+if exists('g:haskell_classic_highlighting') && g:haskell_classic_highlighting == 1
+ if exists('g:haskell_enable_pattern_synonyms') && g:haskell_enable_pattern_synonyms == 1
+ highlight def link haskellPatternKeyword Keyword
+ endif
+ if exists('g:haskell_enable_typeroles') && g:haskell_enable_typeroles == 1
+ highlight def link haskellTypeRoles Keyword
+ endif
+else
+ if exists('g:haskell_enable_pattern_synonyms') && g:haskell_enable_pattern_synonyms == 1
+ highlight def link haskellPatternKeyword Structure
+ endif
+ if exists('g:haskell_enable_typeroles') && g:haskell_enable_typeroles == 1
+ highlight def link haskellTypeRoles Structure
+ endif
endif
let b:current_syntax = "haskell"