xref: /qemu/contrib/gitdm/filetypes.txt (revision bb509d94)
1# -*- coding:utf-8 -*-
2# Copyright (C)  2006 Libresoft
3#
4# This program is free software; you can redistribute it and/or modify
5# it under the terms of the GNU General Public License as published by
6# the Free Software Foundation; either version 2 of the License, or
7# (at your option) any later version.
8#
9# This program is distributed in the hope that it will be useful,
10# but WITHOUT ANY WARRANTY; without even the implied warranty of
11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12# GNU Library General Public License for more details.
13#
14# You should have received a copy of the GNU General Public License
15# along with this program. If not, see <https://www.gnu.org/licenses/>.
16#
17# Authors : Gregorio Robles <grex@gsyc.escet.urjc.es>
18# Authors : Germán Póo-Caamaño <gpoo@gnome.org>
19#
20# This QEMU version is a cut-down version of what originally shipped
21# in the gitdm sample-config directory.
22#
23# This file contains associations parameters regarding filetypes
24# (documentation, development, multimedia, images...)
25#
26# format:
27# filetype <type> <regex> [<comment>]
28#
29# Order:
30#   The list should keep an order, so filetypes can be counted properly.
31#   ie. we want ltmain.sh -> 'build' instead of 'code'.
32#
33#   If there is an filetype which is not in order but has values, it will
34#   be added at the end.
35#
36order build,interface,tests,code,documentation,devel-doc,blobs
37
38#
39#
40# Code files (headers and the like included
41# (most common languages first
42#
43filetype code \.c$	# C
44filetype code \.c.inc$	# C
45filetype code \.C$	# C++
46filetype code \.cpp$	# C++
47filetype code \.c\+\+$	# C++
48filetype code \.cxx$	# C++
49filetype code \.cc$	# C++
50filetype code \.h$	# C or C++ header
51filetype code \.hh$	# C++ header
52filetype code \.hpp$	# C++ header
53filetype code \.hxx$	# C++ header
54filetype code \.sh$	# Shell
55filetype code \.pl$	# Perl
56filetype code \.py$	# Python
57filetype code \.s$	# Assembly
58filetype code \.S$	# Assembly
59filetype code \.asm$	# Assembly
60filetype code \.awk$	# awk
61filetype code ^common$  # script fragments
62filetype code ^common.*$  # script fragments
63filetype code (qom|qmp)-\w+$  # python script fragments
64
65#
66# Interface/api files
67#
68filetype interface \.json$   # json
69filetype interface \.hx$     # documented options
70
71#
72# Test related blobs (unfortunately we can't filter out test code)
73#
74filetype tests \.hex$
75filetype tests \d{2,3}$     # test data 00-999
76filetype tests ^[A-Z]{4}$   # ACPI test data
77filetype tests ^[A-Z]{4}\.*$   # ACPI test data
78filetype tests \.out$
79filetype tests \.out\.nocache$
80filetype tests \.err$
81filetype tests \.exit$      # bad-if-FOO.exit etc
82filetype tests \.decode$
83filetype tests \.yml$        # travis/shippable config
84
85#
86# Development documentation files (for hacking generally)
87#
88filetype devel-doc ^readme.*$
89filetype devel-doc ^changelog.*
90filetype devel-doc ^hacking.*$
91filetype devel-doc ^licen(s|c)e.*$
92filetype devel-doc ^copying.*$
93filetype devel-doc ^MAINTAINERS$
94filetype devel-doc ^BSD-2-Clause$
95filetype devel-doc ^BSD-3-Clause$
96filetype devel-doc ^GPL-2.0$
97filetype devel-doc \.txt$
98filetype devel-doc \.rst$
99filetype devel-doc \.texi$
100filetype devel-doc \.pod$
101
102#
103# Building, compiling, and configuration admin files
104#
105filetype build configure.*$
106filetype build Makefile$
107filetype build Makefile\.*$
108filetype build config$
109filetype build conf$
110filetype build \.cfg$
111filetype build \.mk$
112filetype build \.mak$
113filetype build \.docker$
114filetype build \.pre$
115filetype build ^.gitignore$
116filetype build ^.gitmodules$
117filetype build ^.gitpublish$
118filetype build ^.mailmap$
119filetype build ^.dir-locals.el$
120filetype build ^.editorconfig$
121filetype build ^.exrc$
122filetype build ^.gdbinit$
123filetype build \.cocci$         # Coccinelle semantic patches
124
125#
126# Misc blobs
127#
128filetype blobs \.bin$
129filetype blobs \.dtb$
130filetype blobs \.dts$
131filetype blobs \.rom$
132filetype blobs \.img$
133filetype blobs \.ndrv$
134filetype blobs \.bmp$
135filetype blobs \.svg$
136filetype blobs ^pi_10.com$
137
138
139#
140# Documentation files
141#
142filetype documentation \.html$
143filetype documentation \.txt$
144filetype documentation \.texi$
145filetype documentation \.po$            # translation files
146