aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/3rdparty/syntax-highlighting/data/generators/get-Qt-macros.sh
blob: db2a32d7a3b98042eed9a66b2dc7636a612241d3 (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
#!/bin/bash
#
# Copyright (c) 2011-2012 by Alex Turbov
#
# Simplest (and stupid) way to get #defines from a header file(s)
#
# TODO Think about to use clang to get (an actual) list of free functions and/or types, classes, etc
#      Using python bindings it seems possible and not so hard to code...
#

basepath=$1
shift

if [ -n "$*" ]; then
  for f in $*; do
    egrep '^\s*#\s*define\s+(Q|QT|QT3)_' ${basepath}/$f
  done \
    | sed 's,^\s*#\s*define\s\+\(Q[A-Z0-9_]\+\).*,<item> \1 </item>,' \
    | sort \
    | uniq \
    | grep -v EXPORT \
    | grep -v QT_BEGIN_ \
    | grep -v QT_END_ \
    | grep -v QT_MANGLE_
else
  cat <<EOF
Usage:
  $0 basepath [qt-header-filenames]

Example:
  $0 /usr/include/qt4/Qt qglobal.h qconfig.h qfeatures.h
EOF
fi