This file is indexed.

/usr/include/geany/search.h is in geany-common 1.29-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
/*
 *      search.h - this file is part of Geany, a fast and lightweight IDE
 *
 *      Copyright 2006-2012 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
 *      Copyright 2006-2012 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
 *
 *      This program is free software; you can redistribute it and/or modify
 *      it under the terms of the GNU General Public License as published by
 *      the Free Software Foundation; either version 2 of the License, or
 *      (at your option) any later version.
 *
 *      This program is distributed in the hope that it will be useful,
 *      but WITHOUT ANY WARRANTY; without even the implied warranty of
 *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *      GNU General Public License for more details.
 *
 *      You should have received a copy of the GNU General Public License along
 *      with this program; if not, write to the Free Software Foundation, Inc.,
 *      51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 */

/**
 * @file search.h
 * Search (prefs).
 **/


#ifndef GEANY_SEARCH_H
#define GEANY_SEARCH_H 1

#include <glib.h>


G_BEGIN_DECLS

typedef enum GeanyFindFlags
{
	GEANY_FIND_MATCHCASE = 1 << 0,
	GEANY_FIND_WHOLEWORD = 1 << 1,
	GEANY_FIND_WORDSTART = 1 << 2,
	GEANY_FIND_REGEXP    = 1 << 3,
	GEANY_FIND_MULTILINE = 1 << 4
}
GeanyFindFlags;

/** @gironly
 * Find selection options */
typedef enum
{
	GEANY_FIND_SEL_CURRENT_WORD,
	GEANY_FIND_SEL_X,
	GEANY_FIND_SEL_AGAIN
}
GeanyFindSelOptions;

/** Search preferences */
typedef struct GeanySearchPrefs
{
	gboolean	always_wrap;			/* don't ask whether to wrap search */
	gboolean	use_current_word;		/**< Use current word for default search text */
	gboolean	use_current_file_dir;	/* find in files directory to use on showing dialog */
	gboolean	hide_find_dialog;		/* hide the find dialog on next or previous */
	gboolean	replace_and_find_by_default;	/* enter in replace window performs Replace & Find instead of Replace */
	GeanyFindSelOptions find_selection_type;
}
GeanySearchPrefs;

typedef struct GeanyMatchInfo
{
	GeanyFindFlags flags;
	/* range */
	gint start, end;
	/* only valid if (flags & GEANY_FIND_REGEX) */
	gchar *match_text; /* text actually matched */
	struct
	{
		gint start, end;
	}
	matches[10]; /* sub-patterns */
}
GeanyMatchInfo;

void search_show_find_in_files_dialog(const gchar *dir);


#ifdef GEANY_PRIVATE

struct GeanyDocument; /* document.h includes this header */
struct _ScintillaObject;
struct Sci_TextToFind;


/* the flags given in the search dialog for "find next", also used by the search bar */
typedef struct GeanySearchData
{
	gchar			*text;
	GeanyFindFlags	flags;
	gboolean		backwards;
	/* set to TRUE when text was set by a search bar callback to keep track of
	 * search bar background colour */
	gboolean		search_bar;
	/* text as it was entered by user */
	gchar			*original_text;
}
GeanySearchData;

extern GeanySearchData search_data;

extern GeanySearchPrefs search_prefs;


void search_init(void);

void search_finalize(void);

void search_show_find_dialog(void);

void search_show_replace_dialog(void);

void search_show_find_in_files_dialog_full(const gchar *text, const gchar *dir);

void geany_match_info_free(GeanyMatchInfo *info);

gint search_find_prev(struct _ScintillaObject *sci, const gchar *str, GeanyFindFlags flags, GeanyMatchInfo **match_);

gint search_find_next(struct _ScintillaObject *sci, const gchar *str, GeanyFindFlags flags, GeanyMatchInfo **match_);

gint search_find_text(struct _ScintillaObject *sci, GeanyFindFlags flags, struct Sci_TextToFind *ttf, GeanyMatchInfo **match_);

void search_find_again(gboolean change_direction);

void search_find_usage(const gchar *search_text, const gchar *original_search_text, GeanyFindFlags flags, gboolean in_session);

void search_find_selection(struct GeanyDocument *doc, gboolean search_backwards);

gint search_mark_all(struct GeanyDocument *doc, const gchar *search_text, GeanyFindFlags flags);

gint search_replace_match(struct _ScintillaObject *sci, const GeanyMatchInfo *match, const gchar *replace_text);

guint search_replace_range(struct _ScintillaObject *sci, struct Sci_TextToFind *ttf,
		GeanyFindFlags flags, const gchar *replace_text);

#endif /* GEANY_PRIVATE */

G_END_DECLS

#endif /* GEANY_SEARCH_H */