1#------------------------------------------------------------------------------ 2# $File: c-lang,v 1.24 2016/07/01 23:31:13 christos Exp $ 3# c-lang: file(1) magic for C and related languages programs 4# 5# The strength is to beat standard HTML 6 7# BCPL 80 search/8192 "libhdr" BCPL source text 9!:mime text/x-bcpl 100 search/8192 "LIBHDR" BCPL source text 11!:mime text/x-bcpl 12 13# C 140 regex \^#include C source text 15!:strength +25 16!:mime text/x-c 170 regex \^char[\ \t\n]+ C source text 18!:mime text/x-c 190 regex \^double[\ \t\n]+ C source text 20!:mime text/x-c 210 regex \^extern[\ \t\n]+ C source text 22!:mime text/x-c 230 regex \^float[\ \t\n]+ C source text 24!:mime text/x-c 250 regex \^struct[\ \t\n]+ C source text 26!:mime text/x-c 270 regex \^union[\ \t\n]+ C source text 28!:mime text/x-c 290 search/8192 main( C source text 30!:mime text/x-c 31 32# C++ 33# The strength of these rules is increased so they beat the C rules above 340 regex \^template[\ \t]+<.*>[\ \t\n]+ C++ source text 35!:strength + 30 36!:mime text/x-c++ 370 regex \^virtual[\ \t\n]+ C++ source text 38!:strength + 30 39!:mime text/x-c++ 400 regex \^class[\ \t\n]+ C++ source text 41# But class is reduced to avoid beating php (Jens Schleusener) 42!:strength + 13 43!:mime text/x-c++ 440 regex \^public: C++ source text 45!:strength + 30 46!:mime text/x-c++ 470 regex \^private: C++ source text 48!:strength + 30 49!:mime text/x-c++ 50 51# Objective-C 520 regex \^#import Objective-C source text 53!:strength +25 54!:mime text/x-objective-c 55 56# From: Mikhail Teterin <mi@aldan.algebra.com> 570 string cscope cscope reference data 58>7 string x version %.2s 59# We skip the path here, because it is often long (so file will 60# truncate it) and mostly redundant. 61# The inverted index functionality was added some time between 62# versions 11 and 15, so look for -q if version is above 14: 63>7 string >14 64>>10 search/100 \ -q\ with inverted index 65>10 search/100 \ -c\ text (non-compressed) 66