summaryrefslogtreecommitdiff
path: root/uvim/runtime/syntax/haskell.vim
diff options
context:
space:
mode:
Diffstat (limited to 'uvim/runtime/syntax/haskell.vim')
-rw-r--r--uvim/runtime/syntax/haskell.vim196
1 files changed, 0 insertions, 196 deletions
diff --git a/uvim/runtime/syntax/haskell.vim b/uvim/runtime/syntax/haskell.vim
deleted file mode 100644
index f3c40cec8e..0000000000
--- a/uvim/runtime/syntax/haskell.vim
+++ /dev/null
@@ -1,196 +0,0 @@
-" Vim syntax file
-" Language: Haskell
-" Maintainer: Haskell Cafe mailinglist <haskell-cafe@haskell.org>
-" (need to be subscribed to post)
-" Last Change: 2024 Mar 28 by Enrico Maria De Angelis <enricomaria.dean6elis@gmail.com>
-" 2025 Nov 20 by Vim Project: Allow spaces in backticks #18776
-" Original Author: John Williams <jrw@pobox.com>
-"
-" Thanks to Ryan Crumley for suggestions and John Meacham for
-" pointing out bugs. Also thanks to Ian Lynagh and Donald Bruce Stewart
-" for providing the inspiration for the inclusion of the handling
-" of C preprocessor directives, and for pointing out a bug in the
-" end-of-line comment handling.
-"
-" Options-assign a value to these variables to turn the option on:
-"
-" hs_highlight_delimiters - Highlight delimiter characters--users
-" with a light-colored background will
-" probably want to turn this on.
-" hs_highlight_boolean - Treat True and False as keywords.
-" hs_highlight_types - Treat names of primitive types as keywords.
-" hs_highlight_more_types - Treat names of other common types as keywords.
-" hs_highlight_debug - Highlight names of debugging functions.
-" hs_allow_hash_operator - Don't highlight seemingly incorrect C
-" preprocessor directives but assume them to be
-" operators
-"
-" 2004 Feb 19: Added C preprocessor directive handling, corrected eol comments
-" cleaned away literate haskell support (should be entirely in
-" lhaskell.vim)
-" 2004 Feb 20: Cleaned up C preprocessor directive handling, fixed single \
-" in eol comment character class
-" 2004 Feb 23: Made the leading comments somewhat clearer where it comes
-" to attribution of work.
-" 2008 Dec 15: Added comments as contained element in import statements
-
-" quit when a syntax file was already loaded
-if exists("b:current_syntax")
- finish
-endif
-
-" (Qualified) identifiers (no default highlighting)
-syn match ConId "\(\<[A-Z][a-zA-Z0-9_']*\.\)*\<[A-Z][a-zA-Z0-9_']*\>" contains=@NoSpell
-syn match VarId "\(\<[A-Z][a-zA-Z0-9_']*\.\)*\<[a-z][a-zA-Z0-9_']*\>" contains=@NoSpell
-
-" Infix operators--most punctuation characters and any (qualified) identifier
-" enclosed in `backquotes`. An operator starting with : is a constructor,
-" others are variables (e.g. functions).
-syn match hsVarSym "\(\<[A-Z][a-zA-Z0-9_']*\.\)\=[-!#$%&\*\+/<=>\?@\\^|~.][-!#$%&\*\+/<=>\?@\\^|~:.]*"
-syn match hsConSym "\(\<[A-Z][a-zA-Z0-9_']*\.\)\=:[-!#$%&\*\+./<=>\?@\\^|~:]*"
-syn match hsVarSym "` *\(\<[A-Z][a-zA-Z0-9_']*\.\)\=[a-z][a-zA-Z0-9_']* *`"
-syn match hsConSym "` *\(\<[A-Z][a-zA-Z0-9_']*\.\)\=[A-Z][a-zA-Z0-9_']* *`"
-
-" (Non-qualified) identifiers which start with # are labels
-syn match hsLabel "#[a-z][a-zA-Z0-9_']*\>"
-
-" Reserved symbols--cannot be overloaded.
-syn match hsDelimiter "(\|)\|\[\|\]\|,\|;\|{\|}"
-
-" Strings and constants
-syn match hsSpecialChar contained "\\\([0-9]\+\|o[0-7]\+\|x[0-9a-fA-F]\+\|[\"\\'&\\abfnrtv]\|^[A-Z^_\[\\\]]\)"
-syn match hsSpecialChar contained "\\\(NUL\|SOH\|STX\|ETX\|EOT\|ENQ\|ACK\|BEL\|BS\|HT\|LF\|VT\|FF\|CR\|SO\|SI\|DLE\|DC1\|DC2\|DC3\|DC4\|NAK\|SYN\|ETB\|CAN\|EM\|SUB\|ESC\|FS\|GS\|RS\|US\|SP\|DEL\)"
-syn match hsSpecialCharError contained "\\&\|'''\+"
-syn region hsString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=hsSpecialChar,@NoSpell
-syn match hsCharacter "[^a-zA-Z0-9_']'\([^\\]\|\\[^']\+\|\\'\)'"lc=1 contains=hsSpecialChar,hsSpecialCharError
-syn match hsCharacter "^'\([^\\]\|\\[^']\+\|\\'\)'" contains=hsSpecialChar,hsSpecialCharError
-syn match hsNumber "\v<[0-9]%(_*[0-9])*>|<0[xX]_*[0-9a-fA-F]%(_*[0-9a-fA-F])*>|<0[oO]_*%(_*[0-7])*>|<0[bB]_*[01]%(_*[01])*>"
-syn match hsFloat "\v<[0-9]%(_*[0-9])*\.[0-9]%(_*[0-9])*%(_*[eE][-+]?[0-9]%(_*[0-9])*)?>|<[0-9]%(_*[0-9])*_*[eE][-+]?[0-9]%(_*[0-9])*>|<0[xX]_*[0-9a-fA-F]%(_*[0-9a-fA-F])*\.[0-9a-fA-F]%(_*[0-9a-fA-F])*%(_*[pP][-+]?[0-9]%(_*[0-9])*)?>|<0[xX]_*[0-9a-fA-F]%(_*[0-9a-fA-F])*_*[pP][-+]?[0-9]%(_*[0-9])*>"
-
-" Keyword definitions.
-syn keyword hsModule module
-syn match hsImportGroup "\<import\>.*" contains=hsImport,hsImportModuleName,hsImportMod,hsLineComment,hsBlockComment,hsImportList,@NoSpell nextgroup=hsImport
-syn keyword hsImport import contained nextgroup=hsImportModuleName
-syn match hsImportModuleName '\<[A-Z][A-Za-z.]*' contained
-syn region hsImportList start='(' skip='([^)]\{-})' end=')' keepend contained contains=ConId,VarId,hsDelimiter,hsBlockComment,hsTypedef,@NoSpell
-
-syn keyword hsImportMod contained as qualified hiding
-syn keyword hsInfix infix infixl infixr
-syn keyword hsStructure class data deriving instance default where
-syn keyword hsTypedef type
-syn keyword hsNewtypedef newtype
-syn keyword hsTypeFam family
-syn keyword hsStatement mdo do case of let in
-syn keyword hsConditional if then else
-
-" Not real keywords, but close.
-if exists("hs_highlight_boolean")
- " Boolean constants from the standard prelude.
- syn keyword hsBoolean True False
-endif
-if exists("hs_highlight_types")
- " Primitive types from the standard prelude and libraries.
- syn keyword hsType Int Integer Char Bool Float Double IO Void Addr Array String
-endif
-if exists("hs_highlight_more_types")
- " Types from the standard prelude libraries.
- syn keyword hsType Maybe Either Ratio Complex Ordering IOError IOResult ExitCode
- syn keyword hsMaybe Nothing
- syn keyword hsExitCode ExitSuccess
- syn keyword hsOrdering GT LT EQ
-endif
-if exists("hs_highlight_debug")
- " Debugging functions from the standard prelude.
- syn keyword hsDebug undefined error trace
-endif
-
-
-" Comments
-syn match hsLineComment "---*\([^-!#$%&\*\+./<=>\?@\\^|~].*\)\?$" contains=hsTodo,@Spell
-syn region hsBlockComment start="{-" end="-}" contains=hsBlockComment,hsTodo,@Spell
-syn region hsPragma start="{-#" end="#-}"
-
-syn keyword hsTodo contained FIXME TODO XXX NOTE
-
-" C Preprocessor directives. Shamelessly ripped from c.vim and trimmed
-" First, see whether to flag directive-like lines or not
-if (!exists("hs_allow_hash_operator"))
- syn match cError display "^\s*\(%:\|#\).*$"
-endif
-" Accept %: for # (C99)
-syn region cPreCondit start="^\s*\(%:\|#\)\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" end="//"me=s-1 contains=cComment,cCppString,cCommentError
-syn match cPreCondit display "^\s*\(%:\|#\)\s*\(else\|endif\)\>"
-syn region cCppOut start="^\s*\(%:\|#\)\s*if\s\+0\+\>" end=".\@=\|$" contains=cCppOut2
-syn region cCppOut2 contained start="0" end="^\s*\(%:\|#\)\s*\(endif\>\|else\>\|elif\>\)" contains=cCppSkip
-syn region cCppSkip contained start="^\s*\(%:\|#\)\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\(%:\|#\)\s*endif\>" contains=cCppSkip
-syn region cIncluded display contained start=+"+ skip=+\\\\\|\\"+ end=+"+
-syn match cIncluded display contained "<[^>]*>"
-syn match cInclude display "^\s*\(%:\|#\)\s*include\>\s*["<]" contains=cIncluded
-syn cluster cPreProcGroup contains=cPreCondit,cIncluded,cInclude,cDefine,cCppOut,cCppOut2,cCppSkip,cCommentStartError
-syn region cDefine matchgroup=cPreCondit start="^\s*\(%:\|#\)\s*\(define\|undef\)\>" skip="\\$" end="$"
-syn region cPreProc matchgroup=cPreCondit start="^\s*\(%:\|#\)\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend
-
-syn region cComment matchgroup=cCommentStart start="/\*" end="\*/" contains=cCommentStartError,cSpaceError contained
-syntax match cCommentError display "\*/" contained
-syntax match cCommentStartError display "/\*"me=e-1 contained
-syn region cCppString start=+L\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial contained
-
-" Define the default highlighting.
-" Only when an item doesn't have highlighting yet
-
-hi def link hsModule hsStructure
-hi def link hsImport Include
-hi def link hsImportMod hsImport
-hi def link hsInfix PreProc
-hi def link hsStructure Structure
-hi def link hsStatement Statement
-hi def link hsConditional Conditional
-hi def link hsSpecialChar SpecialChar
-hi def link hsTypedef Typedef
-hi def link hsNewtypedef Typedef
-hi def link hsVarSym hsOperator
-hi def link hsConSym hsOperator
-hi def link hsOperator Operator
-hi def link hsTypeFam Structure
-if exists("hs_highlight_delimiters")
-" Some people find this highlighting distracting.
-hi def link hsDelimiter Delimiter
-endif
-hi def link hsSpecialCharError Error
-hi def link hsString String
-hi def link hsCharacter Character
-hi def link hsNumber Number
-hi def link hsFloat Float
-hi def link hsConditional Conditional
-hi def link hsLiterateComment hsComment
-hi def link hsBlockComment hsComment
-hi def link hsLineComment hsComment
-hi def link hsComment Comment
-hi def link hsTodo Todo
-hi def link hsPragma SpecialComment
-hi def link hsBoolean Boolean
-hi def link hsType Type
-hi def link hsMaybe hsEnumConst
-hi def link hsOrdering hsEnumConst
-hi def link hsEnumConst Constant
-hi def link hsDebug Debug
-hi def link hsLabel Special
-
-hi def link cCppString hsString
-hi def link cCommentStart hsComment
-hi def link cCommentError hsError
-hi def link cCommentStartError hsError
-hi def link cInclude Include
-hi def link cPreProc PreProc
-hi def link cDefine Macro
-hi def link cIncluded hsString
-hi def link cError Error
-hi def link cPreCondit PreCondit
-hi def link cComment Comment
-hi def link cCppSkip cCppOut
-hi def link cCppOut2 cCppOut
-hi def link cCppOut Comment
-
-let b:current_syntax = "haskell"
-
-" Options for vi: ts=8 sw=2 sts=2 nowrap noexpandtab ft=vim