let mode_name_of_filename filename =
  try
    let (_,mode_name) =
      List.find
        (fun (re,_) ->
           let re = Str.regexp re in
           Str.string_match re filename 0
        )
        Ed_sourceview_rc.filename_mode_patterns#get
    in
    Some mode_name
  with
    Not_found ->
      None