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