]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/blob - contrib/file/magic/Magdir/c-lang
MFC r308420: MFV r308392: file 5.29.
[FreeBSD/stable/10.git] / contrib / file / magic / Magdir / c-lang
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
8 0       search/8192     "libhdr"        BCPL source text
9 !:mime  text/x-bcpl
10 0       search/8192     "LIBHDR"        BCPL source text
11 !:mime  text/x-bcpl
12
13 # C
14 0       regex   \^#include      C source text
15 !:strength +25
16 !:mime  text/x-c
17 0       regex   \^char[\ \t\n]+ C source text
18 !:mime  text/x-c
19 0       regex   \^double[\ \t\n]+               C source text
20 !:mime  text/x-c
21 0       regex   \^extern[\ \t\n]+               C source text
22 !:mime  text/x-c
23 0       regex   \^float[\ \t\n]+                C source text
24 !:mime  text/x-c
25 0       regex   \^struct[\ \t\n]+               C source text
26 !:mime  text/x-c
27 0       regex   \^union[\ \t\n]+                C source text
28 !:mime  text/x-c
29 0       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
34 0       regex   \^template[\ \t]+<.*>[\ \t\n]+  C++ source text
35 !:strength + 30
36 !:mime  text/x-c++
37 0       regex   \^virtual[\ \t\n]+              C++ source text
38 !:strength + 30
39 !:mime  text/x-c++
40 0       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++
44 0       regex   \^public:               C++ source text
45 !:strength + 30
46 !:mime  text/x-c++
47 0       regex   \^private:              C++ source text
48 !:strength + 30
49 !:mime  text/x-c++
50
51 # Objective-C
52 0       regex   \^#import       Objective-C source text
53 !:strength +25
54 !:mime  text/x-objective-c
55
56 # From: Mikhail Teterin <mi@aldan.algebra.com> 
57 0       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)