Psyduck - 可達鴨 之 鴨力山大2


Server : LiteSpeed
System : Linux premium217.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User : alloknri ( 880)
PHP Version : 8.1.34
Disable Function : NONE
Directory :  /usr/share/mc/syntax/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/share/mc/syntax/haskell.syntax
# Author   : Sergei Trofimovich <slyfox@inbox.ru>
# Language : haskell
#
# 'Syntax rules for the C and the C++ programming languages' is taken as base
# (haskell compilers support CPP macros)
#
# haskell keywords and reserved symbols are grabbed from ghc-6.10.1/compiler/parser/Lexer.hs

context default

# haskell keywords

#   reserved keywords:

#   unused symbols
    keyword whole _\[0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz\] brightmagenta

    keyword whole as yellow
    keyword whole case yellow
    keyword whole class yellow
    keyword whole data yellow
    keyword whole default yellow
    keyword whole deriving yellow
    keyword whole do yellow
    keyword whole else yellow
    keyword whole hiding yellow
    keyword whole if yellow
    keyword whole import yellow
    keyword whole in yellow
    keyword whole infix yellow
    keyword whole infixl yellow
    keyword whole infixr yellow
    keyword whole instance yellow
    keyword whole let yellow
    keyword whole module yellow
    keyword whole newtype yellow
    keyword whole of yellow
    keyword whole qualified yellow
    keyword whole then yellow
    keyword whole type yellow
    keyword whole where yellow

#   extension keywords
    keyword whole forall yellow
    keyword whole mdo yellow
    keyword whole family yellow
    keyword whole group yellow
    keyword whole by yellow
    keyword whole using yellow

#   ffi
    keyword whole foreign yellow
    keyword whole export yellow
    keyword whole label yellow
    keyword whole dynamic yellow
    keyword whole safe yellow
    keyword whole threadsafe yellow
    keyword whole unsafe yellow
    keyword whole stdcall yellow
    keyword whole ccall yellow
    keyword whole dotnet yellow

    keyword whole rec yellow
    keyword whole proc yellow

#   other
    keyword . white
#    keyword whole .. white

#   unboxed (started from upcase)
    keyword whole \{ABCDEFGHIJKLMNOPQRSTUVWXYZ\}\[0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz\]# white
#   types/modules
    keyword whole \{ABCDEFGHIJKLMNOPQRSTUVWXYZ\}\[0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz\] white

# C keywords (TODO: remove unused in haskell source)
    keyword whole auto yellow
    keyword whole break yellow
    keyword whole case yellow
    keyword whole char yellow
    keyword whole const yellow
    keyword whole continue yellow
    keyword whole do yellow
    keyword whole double yellow
    keyword whole else yellow
    keyword whole enum yellow
    keyword whole extern yellow
    keyword whole float yellow
    keyword whole for yellow
    keyword whole goto yellow
    keyword whole if yellow
    keyword whole int yellow
    keyword whole long yellow
    keyword whole register yellow
    keyword whole return yellow
    keyword whole short yellow
    keyword whole signed yellow
    keyword whole sizeof yellow
    keyword whole static yellow
    keyword whole struct yellow
    keyword whole switch yellow
    keyword whole typedef yellow
    keyword whole union yellow
    keyword whole unsigned yellow
    keyword whole void yellow
    keyword whole volatile yellow
    keyword whole while yellow
    keyword whole asm yellow
    keyword whole inline yellow
    keyword whole wchar_t yellow
    keyword whole ... yellow
    keyword whole linestart \{\s\t\}\[\s\t\]#*\n brightmagenta
    keyword whole \[\s\t\]default yellow
    keyword whole linestart \[\s\t\]\{ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz\}\[0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz\]: cyan

#digits
    keyword whole 0\{xX\}\{0123456789abcdefABCDEF\}\[0123456789abcdefABCDEF\] brightgreen
    keyword whole \{0123456789\}\[0123456789\] brightgreen
    keyword whole \[0123456789\]\.\{0123456789\}\[0123456789\] brightgreen
    keyword whole \{0123456789\}\[0123456789\]\.\[0123456789\] brightgreen
    keyword whole \{0123456789\}\[0123456789\]\{eE\}\{0123456789\}\[0123456789\] brightgreen
    keyword whole \{0123456789\}\[0123456789\]\{eE\}\{\-\+\}\{0123456789\}\[0123456789\] brightgreen
    keyword whole \{0123456789\}\[0123456789\]\.\{0123456789\}\[0123456789\]\{eE\}\{0123456789\}\[0123456789\] brightgreen
    keyword whole \{0123456789\}\[0123456789\]\.\{0123456789\}\[0123456789\]\{eE\}\{\-\+\}\{0123456789\}\[0123456789\] brightgreen

#comments
    keyword {- brown
    keyword -} brown
    keyword -- brown

    keyword \*/ brown
    keyword /\* brown
    keyword // brown

    keyword '\\\{"abtnvfr\}' brightgreen

#haskell standalone char escapes
    keyword '\\NUL' brightgreen
    keyword '\\SOH' brightgreen
    keyword '\\STX' brightgreen
    keyword '\\ETX' brightgreen
    keyword '\\EOT' brightgreen
    keyword '\\ENQ' brightgreen
    keyword '\\ACK' brightgreen
    keyword '\\BEL' brightgreen
    keyword '\\BS' brightgreen
    keyword '\\HT' brightgreen
    keyword '\\LF' brightgreen
    keyword '\\VT' brightgreen
    keyword '\\FF' brightgreen
    keyword '\\CR' brightgreen
    keyword '\\SO' brightgreen
    keyword '\\SI' brightgreen
    keyword '\\DLE' brightgreen
    keyword '\\DC1' brightgreen
    keyword '\\DC2' brightgreen
    keyword '\\DC3' brightgreen
    keyword '\\DC4' brightgreen
    keyword '\\NAK' brightgreen
    keyword '\\SYN' brightgreen
    keyword '\\ETB' brightgreen
    keyword '\\CAN' brightgreen
    keyword '\\EM' brightgreen
    keyword '\\SUB' brightgreen
    keyword '\\ESC' brightgreen
    keyword '\\FS' brightgreen
    keyword '\\GS' brightgreen
    keyword '\\RS' brightgreen
    keyword '\\US' brightgreen
    keyword '\\SP' brightgreen
    keyword '\\DEL' brightgreen

    keyword '\\\{0123\}\{01234567\}\{01234567\}' brightgreen
    keyword '\\'' brightgreen
    keyword '\\\\' brightgreen
    keyword '\\0' brightgreen
    keyword '\{\s!"#$%&()\*\+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~���������������������������������������������������������������������������������������������\}' brightgreen

# some punctuation characters
    keyword whole $ yellow
    keyword whole ! white
    keyword whole && white
    keyword whole \* yellow
    keyword whole \+ yellow
    keyword whole / yellow
    keyword whole < yellow
    keyword whole > yellow
    keyword whole ^ white
    keyword whole || white
    keyword whole | white

    keyword ~ white
    keyword , brightcyan
    keyword - yellow
    keyword : brightcyan
    keyword ; yellow
    keyword = yellow
    keyword { white
    keyword } white
    keyword [ brightcyan
    keyword ] brightcyan
    keyword ( brightcyan
    keyword ) brightcyan

# comments
context exclusive /\* \*/ brown
    spellcheck

context exclusive {-# #-} green
    spellcheck

context exclusive {- -} brown
    spellcheck

context exclusive // \n brown
    spellcheck

context exclusive \-\- \n brown
    spellcheck

# C macros
context linestart # \n brightred
    keyword \\\n yellow
    keyword /\**\*/ brown
    keyword //*\n brown
    keyword "+" red
    keyword <+> red


context " " green
    spellcheck

#haskell escapes in ""s
    keyword \\NUL brightgreen
    keyword \\SOH brightgreen
    keyword \\STX brightgreen
    keyword \\ETX brightgreen
    keyword \\EOT brightgreen
    keyword \\ENQ brightgreen
    keyword \\ACK brightgreen
    keyword \\BEL brightgreen
    keyword \\BS brightgreen
    keyword \\HT brightgreen
    keyword \\LF brightgreen
    keyword \\VT brightgreen
    keyword \\FF brightgreen
    keyword \\CR brightgreen
    keyword \\SO brightgreen
    keyword \\SI brightgreen
    keyword \\DLE brightgreen
    keyword \\DC1 brightgreen
    keyword \\DC2 brightgreen
    keyword \\DC3 brightgreen
    keyword \\DC4 brightgreen
    keyword \\NAK brightgreen
    keyword \\SYN brightgreen
    keyword \\ETB brightgreen
    keyword \\CAN brightgreen
    keyword \\EM brightgreen
    keyword \\SUB brightgreen
    keyword \\ESC brightgreen
    keyword \\FS brightgreen
    keyword \\GS brightgreen
    keyword \\RS brightgreen
    keyword \\US brightgreen
    keyword \\SP brightgreen
    keyword \\DEL brightgreen

    keyword \\" brightgreen
    keyword %% brightgreen
    keyword %\[#0\s-\+,\]\[0123456789\*\]\[.\]\[0123456789\*\]\[L\]\{eEfgGoxX\} brightgreen
    keyword %\[0\s-\+,\]\[0123456789\*\]\[.\]\[0123456789\*\]\[hl\]\{diuxX\} brightgreen
    keyword %\[hl\]n brightgreen
    keyword %\[-\]\[0123456789\*\]\[.\]\[0123456789\*\]s brightgreen
    keyword %[*] brightgreen
    keyword %c brightgreen
    keyword %p brightgreen
    keyword \\\{0123\}\{01234567\}\{01234567\} brightgreen
    keyword \\\\ brightgreen
    keyword \\' brightgreen
    keyword \\\{abtnvfr\} brightgreen

# infix binop
context exclusive ` ` white
Name
Size
Permissions
Options
PKGBUILD.syntax
13.276 KB
-rw-r--r--
Syntax
7.259 KB
-rw-r--r--
ada95.syntax
1.74 KB
-rw-r--r--
as.syntax
5.582 KB
-rw-r--r--
aspx.syntax
1.044 KB
-rw-r--r--
assembler.syntax
11.864 KB
-rw-r--r--
awk.syntax
5.633 KB
-rw-r--r--
c.syntax
3.337 KB
-rw-r--r--
cabal.syntax
9.529 KB
-rw-r--r--
changelog.syntax
0.914 KB
-rw-r--r--
cmake.syntax
32.188 KB
-rw-r--r--
cs.syntax
4.435 KB
-rw-r--r--
css.syntax
19.452 KB
-rw-r--r--
cuda.syntax
4.596 KB
-rw-r--r--
cxx.syntax
3.8 KB
-rw-r--r--
cython.syntax
10.214 KB
-rw-r--r--
d.syntax
18.042 KB
-rw-r--r--
debian-changelog.syntax
0.657 KB
-rw-r--r--
debian-control.syntax
0.9 KB
-rw-r--r--
debian-description.syntax
0.462 KB
-rw-r--r--
debian-sources-list.syntax
0.361 KB
-rw-r--r--
diff.syntax
1.202 KB
-rw-r--r--
dlink.syntax
8.055 KB
-rw-r--r--
dos.syntax
2.12 KB
-rw-r--r--
ebuild.syntax
11.615 KB
-rw-r--r--
eiffel.syntax
2.917 KB
-rw-r--r--
erlang.syntax
9.816 KB
-rw-r--r--
f90.syntax
8.751 KB
-rw-r--r--
filehighlight.syntax
2.305 KB
-rw-r--r--
fortran.syntax
8.405 KB
-rw-r--r--
glsl.syntax
15.252 KB
-rw-r--r--
go.syntax
5.031 KB
-rw-r--r--
haskell.syntax
8.49 KB
-rw-r--r--
html.syntax
35.405 KB
-rw-r--r--
idl.syntax
2.998 KB
-rw-r--r--
ini.syntax
0.215 KB
-rw-r--r--
j.syntax
1.551 KB
-rw-r--r--
jal.syntax
10.04 KB
-rw-r--r--
java.syntax
3.817 KB
-rw-r--r--
js.syntax
5.035 KB
-rw-r--r--
latex.syntax
8.754 KB
-rw-r--r--
lisp.syntax
2.184 KB
-rw-r--r--
lkr.syntax
2.06 KB
-rw-r--r--
lsm.syntax
1.22 KB
-rw-r--r--
lua.syntax
8.343 KB
-rw-r--r--
m4.syntax
3.059 KB
-rw-r--r--
mail.syntax
4.017 KB
-rw-r--r--
makefile.syntax
2.306 KB
-rw-r--r--
ml.syntax
2.57 KB
-rw-r--r--
named.syntax
6.525 KB
-rw-r--r--
nemerle.syntax
5.618 KB
-rw-r--r--
nroff.syntax
7.948 KB
-rw-r--r--
octave.syntax
10.58 KB
-rw-r--r--
opencl.syntax
5.608 KB
-rw-r--r--
osl.syntax
3.972 KB
-rw-r--r--
pascal.syntax
3.889 KB
-rw-r--r--
perl.syntax
9.535 KB
-rw-r--r--
php.syntax
108.731 KB
-rw-r--r--
po.syntax
2.264 KB
-rw-r--r--
povray.syntax
8.348 KB
-rw-r--r--
procmail.syntax
8.104 KB
-rw-r--r--
properties.syntax
1.596 KB
-rw-r--r--
puppet.syntax
21.554 KB
-rw-r--r--
python.syntax
9.331 KB
-rw-r--r--
r.syntax
4.329 KB
-rw-r--r--
ruby.syntax
5.967 KB
-rw-r--r--
sh.syntax
64.367 KB
-rw-r--r--
slang.syntax
3.348 KB
-rw-r--r--
smalltalk.syntax
5.147 KB
-rw-r--r--
spec.syntax
11.371 KB
-rw-r--r--
sql.syntax
9.986 KB
-rw-r--r--
strace.syntax
1.051 KB
-rw-r--r--
swig.syntax
5.432 KB
-rw-r--r--
syntax.syntax
2.096 KB
-rw-r--r--
tcl.syntax
4.318 KB
-rw-r--r--
texinfo.syntax
8.87 KB
-rw-r--r--
tt.syntax
3.551 KB
-rw-r--r--
unknown.syntax
0.03 KB
-rw-r--r--
verilog.syntax
7.589 KB
-rw-r--r--
vhdl.syntax
5.013 KB
-rw-r--r--
xml.syntax
1.12 KB
-rw-r--r--
yaml.syntax
1.236 KB
-rw-r--r--
yum-repo.syntax
0.345 KB
-rw-r--r--
yxx.syntax
6.417 KB
-rw-r--r--