##################
# Objective Caml #
##################
| ".*\.mly"      -> frame open:"/*" line:"*" close:"*/"
| ".*\.ml[il4]?.*" -> frame open:"(*" line:"*" close:"*)"

############
# C source #
############
| ".*\.h"      -> frame open:"/*" line:"*" close:"*/"
| ".*\.i"      -> frame open:"/*" line:"*" close:"*/"
| ".*\.c"      -> frame open:"/*" line:"*" close:"*/"
| ".*\.ast"    -> frame open:"//" line:" " close:" "
| ".*\.cc"     -> frame open:"/*" line:"*" close:"*/"

#######
# Asm #
#######
| ".*\.S"      -> frame open:"/*" line:"*" close:"*/"

#############
# Configure #
#############
| ".*config\.h\.in" -> frame open:"/*"  line:"*" close:"*/"
| ".*configure\..*" -> frame open:"#"  line:"#" close:"#"

############
# Makefile #
############
| ".*Make.*" -> frame open:"#"  line:"#" close:"#"
| ".*\.mk" -> frame open:"#"  line:"#" close:"#"

#################
# Shell scripts #
#################
#note: the skip directive requires a filename starting by ".*" ??? 
| "autocomplete_frama-c" -> frame open: "#" line: "#" close: "#"
| "_frama-c" -> frame open: "#" line: "#" close: "#"
| ".*_frama-c" -> skip match:"#compdef.*"
| ".*\.sh" -> frame open:"#"  line:"#" close:"#"
| ".*\.sh" -> skip match:"#!.*"
| "frama-c" -> frame open:"#"  line:"#" close:"#"
| ".*frama-c" -> skip match:"#!.*"
| "frama-c-config" -> frame open:"#"  line:"#" close:"#"
| ".*frama-c-config" -> skip match:"#!.*"
| "frama-c-script" -> frame open:"#"  line:"#" close:"#"
| ".*frama-c-script" -> skip match:"#!.*"
| "frama-c-gui" -> frame open:"#"  line:"#" close:"#"
| ".*frama-c-gui" -> skip match:"#!.*"
| "frama-c-gui.byte" -> frame open:"#"  line:"#" close:"#"
| ".*frama-c-gui.byte" -> skip match:"#!.*"
| "frama-c.byte" -> frame open:"#"  line:"#" close:"#"
| ".*frama-c.byte" -> skip match:"#!.*"
| "frama-c.top" -> frame open:"#"  line:"#" close:"#"
| ".*frama-c.top" -> skip match:"#!.*"

################
# Perl scripts #
################
| ".*\.perl" -> frame open:"#"  line:"#" close:"#"
| "flamegraph.pl" -> frame open:"#"  line:"#" close:"#"
| ".*flamegraph.pl" -> skip match:"#!.*"

#########################
# MS-Windows Resources #
#########################
| ".*\.rc" -> frame open:"#"  line:"#" close:"#"

#############
# man pages #
#############
| ".*\.[1-9]" -> frame open:".\\\"" line: "-" close:""

#############
# Why files #
#############
| ".*\.why" -> frame open: "(*" line: "*" close: "*)"
| ".*\.why\.src" -> frame open: "(*" line: "*" close: "*)"

#############
# Alt-Ergo files #
#############
| ".*\.mlw" -> frame open: "(*" line: "*" close: "*)"

#############
# Coq files #
#############
| ".*\.v" -> frame open: "(*" line: "*" close: "*)"

#############
# WP files #
#############
| ".*\.driver" -> frame open: "/*" line: "*" close: "*/"

#####################
# Why3 driver files #
#####################
| ".*\.drv" -> frame open: "(*" line: "*" close: "*)"

########
# HTML #
########
| ".*\.htm.*" -> frame open: "<!--" line: "-" close: "-->"

#######
# DTD #
#######
| ".*\.dtd" -> frame open: "<!--" line: " " close: "-->"

#######
# XSL #
#######
| ".*\.xsl" -> frame open: "<!--" line: " " close: "-->"

#######
# CSS #
#######
| ".*\.css" -> frame open: "/*" line: "*" close: "*/"
# plug-in's ocamldoc introductions
| "intro_.*\.txt" -> frame open: "#*" line: "*" close: "#"

##########
# PROLOG #
##########
| ".*\.pl" -> frame open: "%" line: "%" close: "%"

##############
# Emacs Lisp #
##############
| ".*\.el" -> frame open: ";" line: ";" close:";"

##############
# Misc files #
##############
| "make_release" -> frame open:"#"  line:"#" close:"#"
| "FAQ" -> frame open:"#"  line:"#" close:"#"
