This file is indexed.

/usr/share/gtk-doc/html/libanjuta/plugin-description-file.html is in libanjuta-dev 2:3.22.0-3.

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
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Anjuta Developers Reference Manual: Plugin description file</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="Anjuta Developers Reference Manual">
<link rel="up" href="index.html" title="Anjuta Developers Reference Manual">
<link rel="prev" href="writing-plugins-build-setup.html" title="Build setup">
<link rel="next" href="project-wizard-format.html" title="New Project Wizard format">
<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
<td><a accesskey="p" href="writing-plugins-build-setup.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="project-wizard-format.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="chapter">
<div class="titlepage"><div><div><h1 class="title">
<a name="plugin-description-file"></a>Plugin description file</h1></div></div></div>
<p>
		Plugin meta-data is a <span class="emphasis"><em>.plugin</em></span> file that
		contains plugin information. Every plugin should have exactly one
		meta-data file. This file is used by plugin manager to identify the
		plugin and know the details prior to activation. Because there are
		some fields which require translation, a <span class="emphasis"><em>.plugin.in</em></span>
		file is written instead, from which the <span class="emphasis"><em>.plugin</em></span>
		file will be derived after necessary translation.
	</p>
<p>
		Fields used in <span class="emphasis"><em>.plugin.in</em></span> file are:
		</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term">Group name</span></p></td>
<td><p>
						The first group should
						always be [Anjuta Plugin]. This group contains
						plugin details and will be used by plugin manager.
					</p></td>
</tr>
<tr>
<td><p><span class="term">Location</span></p></td>
<td><p>
						Describes where the plugin is located. It is of the
						form <span class="emphasis"><em>libname:classname
						</em></span>. libname is the shared library name without
						the 'lib' prefix and '.so' suffix.
						<span class="emphasis"><em>classname</em></span> is the plugin class
						defined in the library.
					</p></td>
</tr>
<tr>
<td><p><span class="term">Interfaces</span></p></td>
<td><p>
						Primary interfaces implemented by the plugin.
					</p></td>
</tr>
<tr>
<td><p><span class="term">Interfaces</span></p></td>
<td><p>
						Comma separated list
						of all interfaces that this plugin depends on. Plugin
						implementing these interfaces will be activated before
						activating this plugin. This field is optional. If
						there is no dependencies, it may not present.
					</p></td>
</tr>
<tr>
<td><p><span class="term">Icon</span></p></td>
<td><p>
						Icon file name in .png format.
					</p></td>
</tr>
<tr>
<td><p><span class="term">_Name</span></p></td>
<td><p>
						Translatable plugin name.
						Notice the '_' before the key name. It means the field
						is translatable.
					</p></td>
</tr>
<tr>
<td><p><span class="term">_Description</span></p></td>
<td><p>
						Brief translatable
						description. Notice the '_' before the key name. It
						means the field is translatable.
					</p></td>
</tr>
<tr>
<td><p><span class="term">Language</span></p></td>
<td><p>
						Name of loader necessary to load
						the plugin, by default the C	
						plugin loader included in libanjuta
						is used. This name must be equal
						to the value of the key SupportedLanguage
						in the group [Plugin Loader] of the
						loader plugin.
					</p></td>
</tr>
<tr>
<td><p><span class="term">Dependencies</span></p></td>
<td><p>
						Name of other plugins needed by this one.
						These other plugins will be loaded before.
						It can be useful to be sure that
						a menu item has been created.
					</p></td>
</tr>
<tr>
<td><p><span class="term">UserActivatable</span></p></td>
<td><p>
						Set to "no", if the plugin cannot be loaded
						by the user. Such plugins are loaded
						automatically by Anjuta when needed. It is
						the case for plugin providing support for
						some file types by example. By default a plugin can
						be loaded by the user.
					</p></td>
</tr>
<tr>
<td><p><span class="term">ExcludeFromSession</span></p></td>
<td><p>
						Set to "yes", if the plugin is not saved in
						the user session. Such plugin must be
						non user activatable too. This is the case
						for project manager plugin. When activated it
						loads a new session, so it does
						not belong to the first session and should not
						be saved inside. By default all plugins are saved
						in the current user session.
					</p></td>
</tr>
</tbody>
</table></div>
<p>
		Here is a typical plugin meta-data file
		(anjuta-document-manager.plugin.in):

</p>
<pre class="programlisting">
[Anjuta Plugin]
Location=anjuta-editor:EditorPlugin
Interfaces=IAnjutaDocumentManager
Dependencies=IAnjutaLauncher,IAnjutaMessageManager
Icon=anjuta-document-manager.png
_Name=Document Manager
_Description=Provides document management capabilities.
</pre>
<p>

	</p>
<p>
		In addition to mandatory <span class="emphasis"><em>[Anjuta Plugin]</em></span> group,
		the	meta-data file can also contain other groups, which a plugin can
		read using
		<a class="link" href="AnjutaPluginDescription.html" title="AnjutaPluginDescription"><span class="type">AnjutaPluginDescription</span></a>
		methods. plugin manager simply ignores
		these additional groups, but plugins can use them on their own.
	</p>
<p>
		A typical example would be using an extra group (e.g [Supported Mime Types])
		for a anjuta-open-file plugin to identify plugins supporting
		mime-types. It could then activate the correct plugin to open a
		particular file based on its mime-type (in addition to requiring that
		the opener plugin support a generic interface,
		such as <a class="link" href="IAnjutaStream.html" title="IAnjutaStream"><span class="type">IAnjutaStream</span></a>
		or <a class="link" href="IAnjutaFile.html" title="IAnjutaFile"><span class="type">IAnjutaFile</span></a>)
	</p>
<p>
		To install the meta-data and icon files, add the following code in
		Makefile.am:

</p>
<pre class="programlisting">
plugin_in_files = anjuta-plugin-name.plugin.in
%.plugin: %.plugin.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*po) ; \
	$(INTLTOOL_MERGE) $(top_srcdir)/po $&lt; $@ -d -u \ \
		-c $(top_builddir)/po/.intltool-merge-cache

anjuta_plugindir = $(libdir)/anjuta
anjuta_plugin_DATA = $(plugin_in_files:.plugin.in=.plugin)

plugin_icondir = $(datadir)/pixmaps/anjuta
plugin_icon_DATA = anjuta-plugin-name.png
</pre>
<p>

		</p>
<div class="note"><p>
				The $(datadir) variable should exactly match with installed
				Anjuta's datadir. In case it is different, use the command
				"pkg-config --variable=prefix libanjuta" in configure.in
				to determine the installed prefix of Anjuta.
			</p></div>
<p>
	</p>
</div>
<div class="footer">
<hr>
          Generated by GTK-Doc V1.21</div>
</body>
</html>