Add include order rule to CODING.md.
Checks: >
-*,
bugprone-*,
+ llvm-*,
misc-*,
modernize-*,
performance-*,
-bugprone-reserved-identifier,
-bugprone-sizeof-expression,
-bugprone-suspicious-missing-comma,
+ -llvm-header-guard,
+ -llvm-namespace-comment,
+ -llvm-qualified-auto,
-misc-const-correctness,
-misc-no-recursion,
-misc-non-private-member-variables-in-classes,
-readability-qualified-auto,
-readability-simplify-boolean-expr,
-
ExtraArgs: [-Wno-unknown-warning-option, -Wno-unused-lambda-capture, -Wno-unused-but-set-variable]
WarningsAsErrors: "*"
#ifndef _FILENAME_H
```
+Use [Names and Order of Includes](https://google.github.io/styleguide/cppguide.html#Names_and_Order_of_Includes) for headers include order.
+
Use spaces around every operator (except `.`, `->`, `++` and `--`).
Unary operator `*` and `&` are missing the space from right, (and also unary `-`).
#**********************************************************************
## @file
-## @brief Run clang-tidy on all source files.
+## @brief Run clang-tidy on source files.
##
+show_help()
+{
+ printf "Run clang-tidy on source files.
+
+-a --all Process all source files - default is changed files only
+-f --fix Fix errors where possible
+-h --help Display this message
+\n\n"
+}
+
+process_file()
+{
+ if [ -z "$file" ]
+ then
+ return
+ fi
+
+ i=$((i + 1))
+ printf '%d/%d %s\n' "$i" "$total_files" "$file"
+ clang-tidy ${fix+"--fix-errors"} --config-file ./.clang-tidy -p ./build "$file" 2> /dev/null
+
+ secs_now=$(cut --delimiter='.' --fields=1 < /proc/uptime)
+
+ elapsed_time=$((secs_now - secs_start))
+ remaining_files=$((total_files - i))
+ average_time=$((elapsed_time / i))
+ estimated_time=$((average_time * remaining_files))
+
+ printf 'Remaining: %dm:%ds\n' $((estimated_time % 3600 / 60)) $((estimated_time % 60))
+}
+
if [ ! -d ".git" ] || [ ! -d "src" ] || [ ! -f "geeqie.1" ]
then
printf '%s\n' "This is not a Geeqie project folder"
exit 1
fi
-i=0
-
-secs_start=$(cut --delimiter='.' --fields=1 < /proc/uptime)
-total=$(find src -name "*.cc" | wc --lines)
+# if variable fix is defined in this way, clang-tidy gives errors.
+# fix=""
+process_all=0
-while read -r file
+while :
do
- i=$((i + 1))
- printf '%d/%d %s\n' "$i" "$total" "$file"
- clang-tidy --config-file ./.clang-tidy -p ./build "$file" 2>/dev/null
+ case $1 in
+ -h | -\? | --help)
+ show_help
- secs_now=$(cut --delimiter='.' --fields=1 < /proc/uptime)
+ exit 0
+ ;;
+ -a | --all)
+ process_all=1
+ ;;
+ -f | --fix)
+ fix="--fix-errors"
+ ;;
+ --) # End of all options.
+ shift
+ break
+ ;;
+ ?*)
+ printf 'Unknown option %s\n' "$1" >&2
+
+ exit 1
+ ;;
+ *)
+ break
+ ;;
+ esac
- elapsed_time=$(( secs_now - secs_start ))
- remaining_files=$(( total - i ))
- average_time=$(( elapsed_time / i ))
- estimated=$(( average_time * remaining_files ))
+ shift
+done
- printf 'Remaining: %dm:%ds\n' $((estimated%3600/60)) $((estimated%60))
-done << EOF
+if [ ! -d "build" ]
+then
+ meson setup build
+fi
+ninja -C build
+
+i=0
+secs_start=$(cut --delimiter='.' --fields=1 < /proc/uptime)
+
+if [ "$process_all" -eq 1 ]
+then
+ total_files=$(find src -name "*.cc" | wc --lines)
+
+ while read -r file
+ do
+ process_file
+ done << EOF
$(find src -name "*.cc" | sort)
EOF
+else
+ total_files=$(git diff --name-only ./src/*.cc | wc --lines)
+
+ while read -r file
+ do
+ process_file
+ done << EOF
+$(git diff --name-only ./src/*.cc | sort)
+EOF
+fi
#include "bar.h"
#include "compat.h"
#include "debug.h"
+#include "filedata.h"
#include "intl.h"
+#include "layout.h"
#include "main-defines.h"
#include "metadata.h"
-#include "filedata.h"
+#include "rcfile.h"
#include "ui-menu.h"
#include "ui-misc.h"
-#include "rcfile.h"
-#include "layout.h"
#ifdef HAVE_SPELL
#include <gspell/gspell.h>
#include "filedata.h"
#include "intl.h"
#include "layout.h"
-#include "metadata.h"
#include "main-defines.h"
#include "menu.h"
+#include "metadata.h"
#include "misc.h"
#include "rcfile.h"
#include "thumb.h"
#include "ui-menu.h"
-#include "uri-utils.h"
#include "ui-utildlg.h"
+#include "uri-utils.h"
-#include <clutter-gtk/clutter-gtk.h>
-#include <champlain/champlain.h>
#include <champlain-gtk/champlain-gtk.h>
+#include <champlain/champlain.h>
+#include <clutter-gtk/clutter-gtk.h>
#define MARKER_COLOUR 0x00, 0x00, 0xff, 0xff
#define TEXT_COLOUR 0x00, 0x00, 0x00, 0xff
#include <config.h>
-#include "collect.h"
#include "collect-io.h"
+#include "collect.h"
#include "compat.h"
#include "debug.h"
#include "editors.h"
#include "filedata.h"
#include "history-list.h"
#include "intl.h"
-#include "layout.h"
#include "layout-image.h"
+#include "layout.h"
#include "main-defines.h"
#include "misc.h"
#include "rcfile.h"
#include "filedata.h"
#include "intl.h"
#include "layout.h"
-#include "main.h"
#include "main-defines.h"
+#include "main.h"
#include "misc.h"
#include "pixbuf-util.h"
-#include "thumb.h"
#include "thumb-standard.h"
+#include "thumb.h"
#include "ui-fileops.h"
#include "ui-misc.h"
#include "ui-tabcomp.h"
#include <config.h>
-#include "collect.h"
#include "collect-io.h"
+#include "collect.h"
#include "compat.h"
#include "intl.h"
#include "main-defines.h"
#include "filedata.h"
#include "img-view.h"
#include "intl.h"
-#include "layout.h"
#include "layout-image.h"
+#include "layout.h"
#include "main-defines.h"
#include "menu.h"
#include "metadata.h"
#include "misc.h"
#include "pixbuf-util.h"
#include "print.h"
-#include "utilops.h"
#include "ui-fileops.h"
#include "ui-menu.h"
#include "ui-tree-edit.h"
#include "uri-utils.h"
+#include "utilops.h"
#include "view-file.h"
/* between these, the icon width is increased by thumb_max_width / 2 */
#include "filedata.h"
#include "intl.h"
#include "logwindow.h"
-#include "main.h"
#include "main-defines.h"
+#include "main.h"
#include "misc.h"
#include "options.h"
#include "ui-fileops.h"
#include "editors.h"
#include "intl.h"
#include "layout-util.h"
-#include "main.h"
#include "main-defines.h"
+#include "main.h"
#include "misc.h"
#include "pixbuf-util.h"
#include "ui-fileops.h"
#include "filedata.h"
#include "filefilter.h"
#include "intl.h"
-#include "main.h"
#include "main-defines.h"
+#include "main.h"
#include "options.h"
#include "pixbuf-util.h"
#include "ui-fileops.h"
#endif
#endif
+#include "cache.h"
#include "debug.h"
#include "exif.h"
#include "filecache.h"
#include "glua.h"
#include "intl.h"
-#include "main-defines.h"
-#include "ui-fileops.h"
-#include "cache.h"
#include "jpeg-parser.h"
+#include "main-defines.h"
#include "misc.h"
+#include "ui-fileops.h"
#include "zonedetect.h"
#define HAVE_EXIV2_ERROR_CODE
#endif
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
#include <fcntl.h>
#include <sys/mman.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
#if EXIV2_TEST_VERSION(0,27,0)
#define EXV_PACKAGE "exiv2"
#include <config.h>
-#include "filefilter.h"
#include "cache.h"
#include "debug.h"
+#include "filefilter.h"
+#include "histogram.h"
#include "intl.h"
-#include "main.h"
#include "main-defines.h"
+#include "main.h"
+#include "metadata.h"
#include "options.h"
+#include "secure-save.h"
#include "thumb-standard.h"
-#include "ui-fileops.h"
-#include "metadata.h"
#include "trash.h"
-#include "histogram.h"
-#include "secure-save.h"
+#include "ui-fileops.h"
#include "exif.h"
#include "misc.h"
#include "cache.h"
#include "debug.h"
#include "main-defines.h"
-#include "ui-fileops.h"
#include "rcfile.h"
+#include "ui-fileops.h"
/*
*-----------------------------------------------------------------------------
#include "compat.h"
#include "debug.h"
-#include "image.h"
#include "image-load.h"
+#include "image.h"
#include "intl.h"
#include "misc.h"
#include "options.h"
#ifdef HAVE_DJVU
+#include <cairo.h>
#include <libdjvu/ddjvuapi.h>
#include <libdjvu/miniexp.h>
-#include <cairo.h>
#include "image-load.h"
#include <config.h>
-#include "debug.h"
-#include "filedata.h"
-#include "filefilter.h"
#include "image-load.h"
#ifdef HAVE_RAW
-#include <libraw/libraw.h>
+#include <fcntl.h>
#include <sys/mman.h>
#include <sys/stat.h>
-#include <fcntl.h>
+
+#include <libraw/libraw.h>
+
+#include "debug.h"
+#include "filedata.h"
+#include "filefilter.h"
struct UnmapData
{
#include "debug.h"
#include "filedata.h"
#include "histogram.h"
-#include "image.h"
#include "image-load.h"
+#include "image.h"
#include "img-view.h"
#include "intl.h"
#include "layout.h"
#include "history-list.h"
#include "image-load.h"
#include "intl.h"
-#include "layout.h"
#include "layout-image.h"
+#include "layout.h"
#include "metadata.h"
#include "pixbuf-renderer.h"
#include "pixbuf-util.h"
#include <config.h>
-#include "collect.h"
#include "collect-io.h"
+#include "collect.h"
#include "compat.h"
#include "debug.h"
#include "dnd.h"
#include "editors.h"
#include "filedata.h"
#include "fullscreen.h"
-#include "image.h"
#include "image-load.h"
#include "image-overlay.h"
+#include "image.h"
#include "intl.h"
#include "layout-util.h"
-#include "main.h"
#include "main-defines.h"
+#include "main.h"
#include "menu.h"
#include "misc.h"
#include "pixbuf-util.h"
#include "filedata.h"
#include "fullscreen.h"
#include "history-list.h"
-#include "image.h"
#include "image-overlay.h"
+#include "image.h"
#include "img-view.h"
#include "intl.h"
#include "layout-util.h"
#include "menu.h"
#include "metadata.h"
#include "misc.h"
-#include "pixbuf-util.h"
#include "pixbuf-renderer.h"
+#include "pixbuf-util.h"
#include "slideshow.h"
#include "ui-fileops.h"
#include "ui-menu.h"
#include "layout-util.h"
+#include <sys/wait.h>
+
#include <config.h>
#include "advanced-exif.h"
+#include "bar-keywords.h"
#include "bar-sort.h"
#include "bar.h"
-#include "bar-keywords.h"
#include "cache-maint.h"
-#include "collect.h"
#include "collect-dlg.h"
#include "collect-io.h"
+#include "collect.h"
#include "color-man.h"
#include "compat.h"
#include "debug.h"
#include "fullscreen.h"
#include "histogram.h"
#include "history-list.h"
-#include "image.h"
#include "image-overlay.h"
+#include "image.h"
#include "img-view.h"
#include "intl.h"
+#include "keymap-template.h"
#include "layout-image.h"
#include "logwindow.h"
-#include "main.h"
#include "main-defines.h"
+#include "main.h"
#include "metadata.h"
#include "misc.h"
#include "pan-view.h"
#include "preferences.h"
#include "print.h"
#include "rcfile.h"
-#include "search.h"
#include "search-and-run.h"
+#include "search.h"
#include "slideshow.h"
#include "ui-fileops.h"
#include "ui-menu.h"
#include "view-file.h"
#include "window.h"
-#include <sys/wait.h>
-#include "keymap-template.h"
-
enum {
MENU_EDIT_ACTION_OFFSET = 16,
FILE_COLUMN_POINTER = 0
#include <config.h>
-#include "bar.h"
#include "bar-sort.h"
+#include "bar.h"
#include "compat.h"
#include "debug.h"
#include "filedata.h"
#include "histogram.h"
#include "history-list.h"
-#include "image.h"
#include "image-overlay.h"
+#include "image.h"
#include "intl.h"
#include "layout-config.h"
#include "layout-image.h"
#include "layout-util.h"
#include "logwindow.h"
-#include "main.h"
#include "main-defines.h"
+#include "main.h"
#include "menu.h"
#include "metadata.h"
#include "misc.h"
#define _XOPEN_SOURCE
+#include "glua.h"
+
#include <cstdio>
#include <cstring>
#include <ctime>
#include <glib.h>
#include <lua.hpp>
-#include "glua.h"
#include "debug.h"
#include "exif.h"
#include "filedata.h"
-#include "main.h"
#include "main-defines.h"
+#include "main.h"
#include "ui-fileops.h"
/**
#include "main.h"
-#include <csignal>
#include <sys/mman.h>
-#ifdef G_OS_UNIX
-#include <pwd.h>
-#endif
#include <clocale>
+#include <csignal>
#include <config.h>
+#ifdef HAVE_CLUTTER
+#include <clutter-gtk/clutter-gtk.h>
+#endif
+
+#ifdef HAVE_EXECINFO_H
+#include <execinfo.h>
+#endif
+
+#ifdef G_OS_UNIX
+#include <pwd.h>
+#endif
+
#ifdef HAVE_DEVELOPER
#include "backward.h"
#endif
+#include "cache-maint.h"
#include "cache.h"
-#include "collect.h"
#include "collect-io.h"
+#include "collect.h"
#include "compat.h"
#include "debug.h"
+#include "exif.h"
#include "filedata.h"
#include "filefilter.h"
+#include "glua.h"
+#include "histogram.h"
#include "history-list.h"
#include "image.h"
#include "img-view.h"
#include "layout-image.h"
#include "layout-util.h"
#include "main-defines.h"
+#include "metadata.h"
#include "misc.h"
+#include "pixbuf-util.h"
#include "rcfile.h"
#include "remote.h"
#include "secure-save.h"
+#include "thumb.h"
#include "ui-fileops.h"
#include "ui-utildlg.h"
-#include "cache-maint.h"
-#include "thumb.h"
-#include "metadata.h"
-#include "exif.h"
-#include "histogram.h"
-#include "pixbuf-util.h"
-#include "glua.h"
#include "whereami.h"
-#ifdef HAVE_CLUTTER
-#include <clutter-gtk/clutter-gtk.h>
-#endif
-
-#ifdef HAVE_EXECINFO_H
-#include <execinfo.h>
-#endif
-
gboolean thumb_format_changed = FALSE;
static RemoteConnection *remote_connection = nullptr;
#include "exif.h"
#include "filedata.h"
#include "intl.h"
+#include "layout-util.h"
#include "main-defines.h"
#include "misc.h"
+#include "rcfile.h"
#include "secure-save.h"
#include "ui-fileops.h"
#include "utilops.h"
-#include "layout-util.h"
-#include "rcfile.h"
enum MetadataKey {
MK_NONE,
#include "debug.h"
#include "filedata.h"
#include "intl.h"
-#include "main.h"
#include "main-defines.h"
+#include "main.h"
#include "options.h"
#include "ui-fileops.h"
#include "histogram.h" /* HCHAN_RGB */
#include "image-overlay.h" /* OSD_SHOW_NOTHING */
#include "intl.h"
-#include "layout.h"
#include "layout-image.h"
+#include "layout.h"
#include "main-defines.h"
#include "misc.h"
#include "rcfile.h"
#include "misc.h"
#include "pan-item.h"
#include "pan-util.h"
-#include "pan-view.h"
#include "pan-view-filter.h"
+#include "pan-view.h"
#include "pixbuf-util.h"
#define PAN_CAL_POPUP_COLOR 220, 220, 220
#include "pan-item.h"
#include "pan-util.h"
-#include "pan-view.h"
#include "pan-view-filter.h"
+#include "pan-view.h"
void pan_timeline_compute(PanWindow *pw, FileData *dir_fd, gint *width, gint *height)
{
#include "img-view.h"
#include "intl.h"
#include "layout-util.h"
-#include "main.h"
#include "main-defines.h"
+#include "main.h"
#include "menu.h"
#include "metadata.h"
#include "misc.h"
#define GQ_BUILD 1
#ifdef GQ_BUILD
-#include "pixbuf-util.h"
#include "exif.h"
+#include "pixbuf-util.h"
#else
enum ExifOrientationType {
EXIF_ORIENTATION_UNKNOWN = 0,
#include "filedata.h"
#include "filefilter.h"
#include "fullscreen.h"
-#include "image.h"
#include "image-overlay.h"
+#include "image.h"
#include "img-view.h"
#include "intl.h"
#include "layout-util.h"
-#include "main.h"
#include "main-defines.h"
+#include "main.h"
#include "metadata.h"
#include "misc.h"
#include "osd.h"
#include "slideshow.h"
#include "toolbar.h"
#include "trash.h"
-#include "utilops.h"
#include "ui-fileops.h"
#include "ui-misc.h"
#include "ui-tabcomp.h"
+#include "utilops.h"
#include "window.h"
#include "zonedetect.h"
#include "options.h"
#include "osd.h"
#include "pixbuf-util.h"
-#include "ui-misc.h"
#include "ui-fileops.h"
+#include "ui-misc.h"
#define PRINT_SETTINGS "print_settings" // filename save printer settings
#define PAGE_SETUP "page_setup" // filename save page setup
#include <config.h>
-#include "bar.h"
#include "bar-comment.h"
#include "bar-exif.h"
+#include "bar-gps.h"
#include "bar-histogram.h"
#include "bar-keywords.h"
#include "bar-rating.h"
#include "bar-sort.h"
+#include "bar.h"
#include "debug.h"
+#include "dupe.h"
#include "editors.h"
#include "filefilter.h"
#include "intl.h"
+#include "layout-util.h"
#include "main-defines.h"
+#include "metadata.h"
#include "pixbuf-renderer.h"
#include "secure-save.h"
#include "slideshow.h"
#include "ui-fileops.h"
-#include "layout-util.h"
-#include "metadata.h"
-#include "bar-gps.h"
-#include "dupe.h"
#include "ui-utildlg.h"
/*
#include <config.h>
#include "cache-maint.h"
-#include "collect.h"
#include "collect-io.h"
+#include "collect.h"
#include "compat.h"
#include "debug.h"
#include "exif.h"
#include "intl.h"
#include "layout-image.h"
#include "layout-util.h"
-#include "main.h"
#include "main-defines.h"
+#include "main.h"
#include "misc.h"
#include "pixbuf-renderer.h"
+#include "rcfile.h"
#include "slideshow.h"
#include "ui-fileops.h"
#include "ui-misc.h"
#include "utilops.h"
-#include "rcfile.h"
#include "view-file.h"
#include <csignal>
#define GQ_BUILD 1
#ifdef GQ_BUILD
-#include "pixbuf-util.h"
#include "exif.h"
+#include "pixbuf-util.h"
#else
enum ExifOrientationType {
EXIF_ORIENTATION_UNKNOWN = 0,
#include "intl.h"
#include "layout.h"
#include "main-defines.h"
-#include "utilops.h"
#include "ui-bookmark.h"
#include "ui-fileops.h"
#include "ui-misc.h"
+#include "utilops.h"
struct ShortcutsData
{
#include <config.h>
#include "collect.h"
-#include "image.h"
#include "filedata.h"
-#include "layout.h"
+#include "image.h"
#include "layout-image.h"
+#include "layout.h"
static void slideshow_timer_stop(SlideShowData *ss);
#include <config.h>
#include "compat.h"
+#include "editors.h"
#include "intl.h"
#include "layout-util.h"
#include "main-defines.h"
-#include "ui-fileops.h"
-#include "ui-misc.h"
#include "pixbuf-util.h"
+#include "ui-fileops.h"
#include "ui-menu.h"
-#include "editors.h"
+#include "ui-misc.h"
/** Implements the user-definable toolbar function
* Called from the Preferences/toolbar tab
#include "compat.h"
#include "debug.h"
-#include "main-defines.h"
-#include "md5-util.h"
#include "filefilter.h"
#include "intl.h"
#include "layout.h"
-#include "utilops.h"
+#include "main-defines.h"
+#include "md5-util.h"
#include "secure-save.h"
+#include "utilops.h"
/*
*-----------------------------------------------------------------------------
#include <cstring>
#include <dirent.h>
-#include <sys/types.h>
#include <sys/stat.h>
+#include <sys/types.h>
#include <config.h>
#include "editors.h"
#include "filedata.h"
#include "intl.h"
-#include "layout.h"
#include "layout-image.h"
+#include "layout.h"
#include "main-defines.h"
#include "menu.h"
#include "ui-fileops.h"
-#include "ui-tree-edit.h"
#include "ui-menu.h"
#include "ui-misc.h"
-#include "utilops.h"
+#include "ui-tree-edit.h"
#include "uri-utils.h"
+#include "utilops.h"
#include "view-dir-list.h"
#include "view-dir-tree.h"
#include "metadata.h"
#include "misc.h"
#include "options.h"
-#include "utilops.h"
#include "ui-fileops.h"
#include "ui-misc.h"
#include "ui-tree-edit.h"
#include "uri-utils.h"
+#include "utilops.h"
#include "view-file.h"
/* between these, the icon width is increased by thumb_max_width / 2 */
#include "dnd.h"
#include "img-view.h"
#include "intl.h"
-#include "layout.h"
#include "layout-image.h"
+#include "layout.h"
#include "main-defines.h"
#include "metadata.h"
#include "misc.h"
-#include "utilops.h"
#include "ui-fileops.h"
#include "ui-misc.h"
#include "ui-tree-edit.h"
#include "uri-utils.h"
+#include "utilops.h"
#include "view-file.h"
#include <vector>
#include "history-list.h"
#include "intl.h"
#include "layout.h"
-#include "main.h"
#include "main-defines.h"
+#include "main.h"
#include "menu.h"
#include "misc.h"
#include "pixbuf-util.h"
#include "thumb.h"
-#include "ui-menu.h"
#include "ui-fileops.h"
+#include "ui-menu.h"
#include "ui-misc.h"
#include "utilops.h"
-#include "view-file/view-file-list.h"
#include "view-file/view-file-icon.h"
+#include "view-file/view-file-list.h"
#include "window.h"
/*
#include "debug.h"
#include "intl.h"
-#include "main.h"
#include "main-defines.h"
+#include "main.h"
#include "misc.h"
#include "options.h"
#include "pixbuf-util.h"