This file is indexed.

/usr/share/bluefish/bflang/cpp.bflang2 is in bluefish-data 2.2.7-2.

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
<?xml version="1.0"?>
<!--
		Bluefish HTML Editor
		cpp.bflang2 $Revision: 7425 $
 
		Copyright (C) 2008-2012 Olivier Sessink

	    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 3 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, see <http://www.gnu.org/licenses/>.		
-->

<bflang name="C++" version="2.0" table="382" contexts="7" matches="92">
<header>
	<mime type="text/x-c++src"/>
	<mime type="text/x-c++hdr"/>
	<mime type="application/x-c++src"/>
	<mime type="application/x-c++hdr"/>
	<option name="load_reference" default="1"/>
	<option name="load_completion" default="1"/>
	<option name="show_in_menu" default="1"/>
	<option name="Parentheses block_foldable" default="0" description="Allow folding of the Parentheses block" />
	<highlight name="keyword" style="keyword" />
	<highlight name="storage-keyword" style="special-keyword" />
	<highlight name="brackets" style="brackets" />
	<highlight name="data-type" style="special-type" />
	<highlight name="comment" style="comment" />
	<highlight name="string" style="string" />
	<highlight name="value" style="value" />
	<highlight name="preprocessor" style="preprocessor" />
	<highlight name="overloaded-operator" style="operator" />
</header>
<properties>
	<comment type="block" start="/*" end="*/" />
	<comment type="line" start="//" />
	<smartindent characters="{" />
	<smartoutdent characters="}" />
</properties>
<definition>
	<context symbols=" ;(){}[]:\&#34;\\',&gt;&lt;*&amp;^%!+=-|/?#&#9;&#10;&#13;">

	<group highlight="keyword" >
		<autocomplete enable="1" />
	<element pattern="asm" />
	<element pattern="break" />
	<element pattern="case" />
	<element pattern="catch" />
	<element pattern="class" />
	<element pattern="const_cast" />
	<element pattern="continue" />
	<element pattern="default" />
	<element pattern="delete" />
	<element pattern="do" />
	<element pattern="dynamic_cast" />
	<element pattern="else" />
	<element pattern="enum" />
	<element pattern="for" />
	<element pattern="friend" />
	<element pattern="goto" />
	<element pattern="if" />
	<element pattern="namespace" />
	<element pattern="new" />
	<element pattern="operator" />
	<element pattern="private" />
	<element pattern="protected" />
	<element pattern="public" />
	<element pattern="reinterpret_cast" />
	<element pattern="return" />
	<element pattern="sizeof" />
	<element pattern="static_cast" />
	<element pattern="struct" />
	<element pattern="switch" />
	<element pattern="template" />
	<element pattern="typeid" />
	<element pattern="typename" />
	<element pattern="typedef" />
	<element pattern="union" />
	<element pattern="using" />
	<element pattern="virtual" />
	<element pattern="while" />
	</group>

	<group highlight="storage-keyword" >
		<autocomplete enable="1" />
	<element pattern="auto" />
	<element pattern="const" />
	<element pattern="extern" />
	<element pattern="inline" />
	<element pattern="mutable" />	
	<element pattern="register" />
	<element pattern="static" />
	<element pattern="volatile" />
	</group>

	<group highlight="data-type" >
		<autocomplete enable="1" />
		<element pattern="bool"/>
		<element pattern="char"><reference><b></b> <b>char</b> is the character storage type, which is 1 byte (8bits)</reference></element>
		<element pattern="double"><reference><b></b> double is the big floating point storage type, which is 4 or 8 byte (32 or 64bits)</reference></element>
		<element pattern="explicit" />
		<element pattern="export" />
		<element pattern="float"><reference><b></b> float is the floating point storage type, which is 2 or 4 bytes (16 or 32bits)</reference></element>
		<element pattern="int"><reference><b></b> <b>int</b> is the integer storage type, minimal 2 bytes but usually 4 bytes (32bits)</reference></element>		
		<element pattern="long"><reference><b></b> a <b>long</b> int is minimally 4 bytes (32bits), on 64bit architectures it is 8 bytes (64 bits). A <b>long long</b> int is minimally 8 bytes, and 16 bytes on 64bit architectures. A <b>long</b> double might be 64 or 128 bits.</reference></element>
		<element pattern="signed"><reference><b></b> <b>signed</b> means if the storage can have negative numbers or only positive numbers</reference></element>
		<element pattern="short"><reference><b></b> a <b>short</b> int is 2 bytes (16bits)</reference></element>
		<element pattern="unsigned"/>
		<element pattern="void"><reference><b></b> <b>void</b> is the default storage type for a pointer, 16 bits on 16 bit architecture, 32 bits on 32 bit architecture, 64 bits on 64 bit architecture</reference></element>
		<element pattern="wchar_t" />
	</group>
	
	<group highlight="preprocessor" >
		<autocomplete enable="1" />
		<element pattern="#include" />
		<element pattern="#if" />
		<element pattern="#else" /> 
		<element pattern="#endif" />
		<element pattern="#ifdef" />
		<element pattern="#ifndef" />
		<element pattern="#define" />
		<element pattern="#pragma" />
	</group>	
	
	<element pattern="true"  highlight="value" >
		<autocomplete enable="1" />
	</element>	
	<element pattern="false"  highlight="value" >
		<autocomplete enable="1" />
	</element>	
	<element pattern="NULL"  highlight="value" >
		<autocomplete enable="1" />
	</element>

	<element id="e.double_quote" pattern="&#34;" highlight="string">
		<context symbols="\&#34;nrt" highlight="string">
			<element pattern="\\." is_regex="1" highlight="string" />
			<element pattern="&#34;" highlight="string" ends_context="1" />
		</context>
	</element>
	<element id="e.single_quote" pattern="'" highlight="string">
		<context symbols="\'" highlight="string">
			<element pattern="\\." is_regex="1" highlight="string" />
			<element pattern="'" highlight="string" ends_context="1" />
		</context>
	</element>

	<element id="e.lbrace" pattern="{" starts_block="1" highlight="brackets" block_name="Curly brackets block"/>
	<element pattern="}" ends_block="1" blockstartelement="e.lbrace" highlight="brackets" />
	<element id="e.lbracket" pattern="[" starts_block="1" highlight="brackets" />
	<element pattern="]" ends_block="1" blockstartelement="e.lbracket" highlight="brackets" />
	<element id="e.lparen" pattern="(" starts_block="1" highlight="brackets" block_name="Parentheses block" />
	<element id="e.rparen" pattern=")" ends_block="1" blockstartelement="e.lparen" highlight="brackets" />

	<element id="e.lcomment" pattern="/*" starts_block="1" highlight="comment" block_name="C style comment">
		<context symbols="*/&#9;&#10;&#13;" highlight="comment">
			<element pattern="*/" ends_block="1" blockstartelement="e.lcomment" highlight="comment" ends_context="1" />
		</context>
	</element>
	<element pattern="//[^&#10;&#13;]*" is_regex="1" highlight="comment"/>

	<element id="e.number" pattern="[0-9.]+" is_regex="1" highlight="value"/>

	<element pattern="cin">
		<context symbols="&gt; ;()">
			<element pattern="&gt;&gt;" highlight="overloaded-operator" />
			<element idref="e.lparen" />
			<element idref="e.rparen" />
			<element idref="e.number" />
			<element pattern=";" ends_context="1" />
		</context>
	</element>
	
	<element pattern="cout">
		<context symbols="&lt; ;&#34;&#39;()">
			<element pattern="&lt;&lt;" highlight="overloaded-operator" />
			<element idref="e.single_quote" />
			<element idref="e.double_quote" />
			<element idref="e.lparen" />
			<element idref="e.rparen" />
			<element idref="e.number" />
			<element pattern=";" ends_context="1" />
		</context>
	</element>

	</context>
</definition>
</bflang>