aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/cpptools/CppTools.mimetypes.xml
blob: 5c542d98292f44ec8265ad99d2b64f18cf462c70 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
    <mime-type type="text/x-csrc">
      <comment>C source code</comment>
      <sub-class-of type="text/plain"/>
      <alias type="text/x-c"/>
      <glob pattern="*.c" case-sensitive="true" weight="70"/>
    </mime-type>

    <mime-type type="text/vnd.nvidia.cuda.csrc">
        <sub-class-of type="text/x-csrc"/>
        <comment>NVIDIA CUDA C source code</comment>
        <glob pattern="*.cu"/>
    </mime-type>

    <mime-type type="text/x-chdr">
        <comment>C header</comment>
        <sub-class-of type="text/x-csrc"/>
        <!-- reduce weight from freedesktop to avoid conflict with text/x-c++hdr -->
        <glob pattern="*.h" weight="30"/>
    </mime-type>

    <!-- Those are used to find matching headers by the CppTools plugin,
         so, they should match -->
    <mime-type type="text/x-c++hdr">
        <sub-class-of type="text/x-chdr"/>
        <comment>C++ header</comment>
        <glob pattern="*.hh" weight="70"/>
        <glob pattern="*.hxx" weight="70"/>
        <glob pattern="*.h++" weight="70"/>
        <glob pattern="*.hpp" weight="70"/>
        <glob pattern="*.hp" weight="70"/>
        <!-- Additions to freedesktop: -->
        <glob pattern="*.h" weight="70"/>
        <glob pattern="*.H" weight="70"/>
        <!-- Find include guards of header files without extension, for
             example, STL ones like <string>. Those can have a big initial
             comment exceeding 1000 chars, though. -->
        <magic priority="50">
           <match value="#ifndef " type="string" offset="0:2000"/>
           <match value="#if " type="string" offset="0:2000"/>
           <match value="#include " type="string" offset="0:2000"/>
        </magic>
    </mime-type>

    <mime-type type="text/x-c++src">
        <comment>C++ source code</comment>
        <sub-class-of type="text/x-csrc"/>
        <glob pattern="*.cpp" weight="70"/>
        <glob pattern="*.cxx" weight="70"/>
        <glob pattern="*.cc" weight="70"/>
        <glob pattern="*.C" case-sensitive="true" weight="70"/>
        <glob pattern="*.c++" weight="70"/>
        <!-- Additions to freedesktop: -->
        <glob pattern="*.cp" weight="70"/>
        <glob pattern="*.inl" weight="70"/>
        <glob pattern="*.tcc" weight="70"/>
        <glob pattern="*.tpp" weight="70"/>
        <glob pattern="*.t++" weight="70"/>
        <glob pattern="*.txx" weight="70"/>
        <magic priority="30">
        <match value="-*- C++ -*-" type="string" offset="0:30"/>
        </magic>
    </mime-type>

    <mime-type type="text/x-qdoc">
        <comment>Qt documentation file</comment>
        <sub-class-of type="text/plain"/>
        <glob pattern="*.qdoc" weight="70"/>
    </mime-type>

    <mime-type type="text/x-moc">
        <comment>Qt MOC file</comment>
        <!-- Fix to freedesktop: moc is C++ source -->
        <sub-class-of type="text/x-c++src"/>
        <glob pattern="*.moc" weight="70"/>
    </mime-type>

    <mime-type type="text/x-objc++src">
         <comment>Objective-C++ source code</comment>
         <sub-class-of type="text/x-c++src"/>
         <sub-class-of type="text/x-objcsrc"/>
         <glob pattern="*.mm" weight="70"/>
    </mime-type>

</mime-info>