<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.codeblocks.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Danselmi</id>
	<title>Code::Blocks - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.codeblocks.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Danselmi"/>
	<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php/Special:Contributions/Danselmi"/>
	<updated>2026-05-23T21:06:32Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.0</generator>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=SpellChecker_plugin&amp;diff=7083</id>
		<title>SpellChecker plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=SpellChecker_plugin&amp;diff=7083"/>
		<updated>2012-01-19T21:55:45Z</updated>

		<summary type="html">&lt;p&gt;Danselmi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Code::Blocks Contrib Plugins]]&lt;br /&gt;
&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = SpellChecker |&lt;br /&gt;
  logo = [[File:SpellChecker.png]] |&lt;br /&gt;
  developer = Daniel Anselmi |&lt;br /&gt;
  maintainer = Daniel Anselmi |&lt;br /&gt;
  version = 0.1&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
A plugin to check the spelling of strings and comments. The spelling gets checked during typing. Additionally a thesaurus is provided. Both may be accessed on-demand by selecting the word in question, then choosing either ''Spelling...'' or ''Thesaurus...'' from the ''Edit'' menu (the operation can be bound to a hot-key via the [[Keyboard Shortcuts plugin]]). The context menu (right click the word) provides spelling suggestions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Configuration=&lt;br /&gt;
Configuration is in the menu Settings &amp;gt; Editor. The spell check option are about half way down the list on the left.&lt;br /&gt;
[[File:ConfigureSpellChecker.png]]&lt;br /&gt;
&lt;br /&gt;
The meaning of the controls are:&lt;br /&gt;
&lt;br /&gt;
'''Enable online spell checker'''&lt;br /&gt;
:Enable or disable the spell checker.&lt;br /&gt;
&lt;br /&gt;
'''Language'''&lt;br /&gt;
:The language used for spell checking and the thesaurus is selected by choosing a dictionary. This can also be changed in the status bar.&lt;br /&gt;
&lt;br /&gt;
'''Path settings, Dictionaries'''&lt;br /&gt;
:The plugin is looking in this path for the dictionary files.&lt;br /&gt;
&lt;br /&gt;
'''Path settings, Thesauri'''&lt;br /&gt;
:The plugin is looking in this path for the files needed by the thesaurus.&lt;br /&gt;
&lt;br /&gt;
'''Path settings, Bitmaps'''&lt;br /&gt;
:(Optional) The plugin is looking in this path for the flags to show in the status bar.&lt;br /&gt;
&lt;br /&gt;
'''Note''': You can use Macros in the above three path settings, such as&lt;br /&gt;
&amp;lt;code&amp;gt;$(CODEBLOCKS)/share/codeblocks/SpellChecker&amp;lt;/code&amp;gt;.&lt;br /&gt;
See [[Variable expansion]] for more details. This is quite convenient if you use portable C::B.&lt;br /&gt;
&lt;br /&gt;
==Dictionaries==&lt;br /&gt;
SpellChecker uses a library called [http://hunspell.sourceforge.net/ hunspell]. Hunspell is the spell checker of OpenOffice.org, Mozilla Firefox and other projects. Dictionaries available for those applications are compatible with this plugin. &lt;br /&gt;
&lt;br /&gt;
Open Office provides a collection of dictionaries for several languages and dialects to [http://wiki.services.openoffice.org/wiki/Dictionaries download]. The OOo 3.x extensions (*.oxt) are compressed archives which can be opened with your favourite archiver (for example [http://www.7-zip.org/ 7-Zip] or File Roller).&lt;br /&gt;
Copy the '''.aff''' file and the '''.dic''' file to the directory configured in 'Path settings, Dictionaries' (see above).&lt;br /&gt;
&lt;br /&gt;
If you're running Linux you've probably already got compatible dictionaries installed. Look in '''/usr/share/hunspell''' or my choice is '''/usr/share/myspell/dicts'''. The reason I like the myspell files is they already include thesaurus files which are named correctly to work with the thesaurus, and everything is all in one location. Don't copy these files. Just point the spell checker to where the files are already located.&lt;br /&gt;
&lt;br /&gt;
I understand on Windows, Firefox and Thunderbird also install compatible dictionary files. These can be found in...&lt;br /&gt;
'''C:\Program Files\Mozilla Firefox\dictionaries''' or '''C:\Program Files\Mozilla Thunderbird\dictionaries'''&lt;br /&gt;
&lt;br /&gt;
The Google Chrome browser also installs dictionaries, but they are '''.bdic''' format and the Code::Blocks spell checker plugin will not work with them.&lt;br /&gt;
&lt;br /&gt;
==Thesaurus files==&lt;br /&gt;
The files for the thesaurus are also available from OOo, like the dictionaries. Copy the thesaurus files ('''th_*.dat''' and '''th_*.idx''') to the directory configured in &lt;br /&gt;
'Path settings, Thesauri' (see above) and rename them to match the name of the dictionary but prepend &amp;quot;th_&amp;quot; and let the extension as is. &lt;br /&gt;
&lt;br /&gt;
Example: If the dictionary files (for one language) are &amp;quot;en_GB.aff&amp;quot; and &amp;quot;en_GB.dic&amp;quot; the files used for the thesaurus are &amp;quot;th_en_GB.idx&amp;quot; and &amp;quot;th_en_GB.dat&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On my Linux system I found thesaurus files already installed in '''/usr/share/myspell/dicts''' and '''/usr/share/mythes'''. Again, don't move the files. Set the spell checker to use the files from their current location.&lt;br /&gt;
&lt;br /&gt;
==Bitmaps (flags)==&lt;br /&gt;
The bitmap of the actually selected language is shown in the status bar. If no bitmap is found, the name of the language is shown. The bitmap must be a PNG image. Choose a flag from the [http://www.famfamfam.com/lab/icons/flags '''famfamfam_flag_icons'''] and copy it to the directory configured in 'Path settings, Bitmaps' (see above) and rename it to match the name of the dictionary but let the extension png.&lt;br /&gt;
&lt;br /&gt;
Example: If the dictionary files (for one language) are &amp;quot;en_GB.aff&amp;quot; and &amp;quot;en_GB.dic&amp;quot; the the bitmap is named &amp;quot;en_GB.png&amp;quot; .&lt;br /&gt;
&lt;br /&gt;
==Styles to check==&lt;br /&gt;
Only text with specific styles gets checked (for example only comments and strings). Styles are automatically set by Scintilla (CodeBlocks editing component).&lt;br /&gt;
&lt;br /&gt;
The file '''OnlineSpellChecking.xml''' contains a list with indices of the styles to check. The indices differ for different programming-languages so the file contains a list for every programming-language. To add styles, look for the name of the programming-language and the indices in the corresponding [https://wiki.codeblocks.org/index.php?title=Creating_a_custom_lexer_for_Code::Blocks_editor#Lexers '''lexer_XY.xml'''] file and add this information to the file OnlineSpellChecking.xml.&lt;br /&gt;
&lt;br /&gt;
For example, to check the spelling in bash shell files (&amp;lt;tt&amp;gt;*.sh&amp;lt;/tt&amp;gt;) files, add the line:&lt;br /&gt;
 &amp;lt;'''Language''' &amp;lt;span style=&amp;quot;color:MidnightBlue&amp;quot;&amp;gt;name&amp;lt;/span&amp;gt;=&amp;lt;span style=&amp;quot;color:Red&amp;quot;&amp;gt;&amp;quot;Bash&amp;quot;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color:MidnightBlue&amp;quot;&amp;gt;index&amp;lt;/span&amp;gt;=&amp;lt;span style=&amp;quot;color:Red&amp;quot;&amp;gt;&amp;quot;2,5,6&amp;quot;&amp;lt;/span&amp;gt; '''/'''&amp;gt;&lt;/div&gt;</summary>
		<author><name>Danselmi</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=SpellChecker_plugin&amp;diff=6437</id>
		<title>SpellChecker plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=SpellChecker_plugin&amp;diff=6437"/>
		<updated>2010-10-14T00:07:28Z</updated>

		<summary type="html">&lt;p&gt;Danselmi: Created page with '=Introduction= A plugin to check the spelling of strings and comments. The spelling gets checked during typing. Additionally a thesaurus is provided.    =Configuration= [[File:Co…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
A plugin to check the spelling of strings and comments. The spelling gets checked during typing. Additionally a thesaurus is provided. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Configuration=&lt;br /&gt;
[[File:ConfigureSpellChecker.png]]&lt;br /&gt;
&lt;br /&gt;
The meaning of the controls are:&lt;br /&gt;
&lt;br /&gt;
'''Enable online spell checker'''&lt;br /&gt;
:Enable or disable the spell checker.&lt;br /&gt;
&lt;br /&gt;
'''Language'''&lt;br /&gt;
:The language used for spell checking and the thesaurus is selected by choosing a dictionary. This can also be changed in the status bar.&lt;br /&gt;
&lt;br /&gt;
'''Path settings, Dictionaries'''&lt;br /&gt;
:The plugin is looking in this path for the dictionary files.&lt;br /&gt;
&lt;br /&gt;
'''Path settings, Thesauri'''&lt;br /&gt;
:The plugin is looking in this path for the files needed by the thesaurus.&lt;br /&gt;
&lt;br /&gt;
'''Path settings, Bitmaps'''&lt;br /&gt;
:(Optional) The plugin is looking in this path for the flags to show in the status bar.&lt;br /&gt;
&lt;br /&gt;
==Dictionaries==&lt;br /&gt;
SpellChecker uses a library called [http://hunspell.sourceforge.net/ hunspell]. Hunspell is the spell checker of OpenOffice.org, Mozilla Firefox and other projects. Dictionaries available for those applications are compatible with this plugin.&lt;br /&gt;
&lt;br /&gt;
Open Office provides a collection of dictionaries for several languages and dialects to [http://wiki.services.openoffice.org/wiki/Dictionaries download]. The OOo 3.x extensions (*.oxt) are compressed archives which can be opened with your favourite archiver (for example [http://www.7-zip.org/ 7-Zip] or File Roller).&lt;br /&gt;
Copy the '''.aff''' file and the '''.dic''' file to the directory configured in 'Path settings, Dictionaries' (see above).&lt;br /&gt;
&lt;br /&gt;
==Thesaurus files==&lt;br /&gt;
The files for the thesaurus are also available from OOo, like the dictionaries. Copy the thesaurus files ('''th_*.dat''' and '''th_*.idx''') to the directory configured in &lt;br /&gt;
'Path settings, Thesauri' (see above) and rename them to match the name of the dictionary but prepend &amp;quot;th_&amp;quot; and let the extension as is. &lt;br /&gt;
&lt;br /&gt;
Example: If the dictionary files (for one language) are &amp;quot;en_GB.aff&amp;quot; and &amp;quot;en_GB.dic&amp;quot; the files used for the thesaurus are &amp;quot;th_en_GB.idx&amp;quot; and &amp;quot;th_en_GB.dat&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Bitmaps (flags)==&lt;br /&gt;
The bitmap of the actually selected language is shown in the status bar. If no bitmap is found, the name of the language is shown. The bitmap must be a PNG image. Choose a flag from the &amp;quot;famfamfam_flag_icons.zip&amp;quot; and copy it to the directory configured in 'Path settings, Bitmaps' (see above) and rename it to match the name of the dictionary but let the extension png.&lt;br /&gt;
&lt;br /&gt;
Example: If the dictionary files (for one language) are &amp;quot;en_GB.aff&amp;quot; and &amp;quot;en_GB.dic&amp;quot; the the bitmap is named &amp;quot;en_GB.png&amp;quot; .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Styles to check==&lt;br /&gt;
Only text with specific styles gets checked (for example only comments and strings). Styles are automatically set by Scintilla (CodeBlocks editing component).&lt;br /&gt;
&lt;br /&gt;
The file '''OnlineSpellChecking.xml''' contains a list with indices of the styles to check. The indices differ for different programming-languages so the file contains a list for every programming-language. To add styles, look for the name of the programming-language and the indices in the corresponding [https://wiki.codeblocks.org/index.php?title=Creating_a_custom_lexer_for_Code::Blocks_editor#Lexers '''lexer_XY.xml'''] file and add this information to the file OnlineSpellChecking.xml.&lt;/div&gt;</summary>
		<author><name>Danselmi</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=File:ConfigureSpellChecker.png&amp;diff=6436</id>
		<title>File:ConfigureSpellChecker.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=File:ConfigureSpellChecker.png&amp;diff=6436"/>
		<updated>2010-10-13T23:48:58Z</updated>

		<summary type="html">&lt;p&gt;Danselmi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Danselmi</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=NassiShneiderman_plugin&amp;diff=6435</id>
		<title>NassiShneiderman plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=NassiShneiderman_plugin&amp;diff=6435"/>
		<updated>2010-10-13T21:34:37Z</updated>

		<summary type="html">&lt;p&gt;Danselmi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = NassiShneiderman |&lt;br /&gt;
  logo = [[Image:Generic-plugin.png]] |&lt;br /&gt;
  developer = [[User:danselmi|danselmi]] |&lt;br /&gt;
  maintainer =  |&lt;br /&gt;
  version = &lt;br /&gt;
}}&lt;br /&gt;
NassiShneiderman plugin allows the creation of [http://en.wikipedia.org/wiki/Nassi%E2%80%93Shneiderman_diagram Nassi Shneiderman diagrams] within Code::Blocks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Create a diagram=&lt;br /&gt;
There are two possibilities to create a diagram. &lt;br /&gt;
# To create an empty diagram select the menu options &amp;quot;File&amp;quot;-&amp;gt;&amp;quot;New&amp;quot;-&amp;gt;&amp;quot;Nassi Shneiderman diagram&amp;quot;.&lt;br /&gt;
# The second option is to creates a diagram from C/C++ source code. &lt;br /&gt;
&lt;br /&gt;
In an editor window highlight some code to create the diagram from. For example the body of a function/method from the opening braces till the closing brace. Then right click the selection and choose &amp;quot;Nassi Shneiderman&amp;quot;-&amp;gt;&amp;quot;Create diagram&amp;quot;. &lt;br /&gt;
[[File:NassiShneidermanCreate1.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
You should get a new diagram:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:NassiShneidermanCreate2.png]]&lt;br /&gt;
&lt;br /&gt;
The parser has some limitations: &lt;br /&gt;
* Comments can not be at the end of a branch.&lt;br /&gt;
* From a definition of a function it is only able to parse the body, not the declaration.&lt;br /&gt;
* For sure, you will find a lot more... &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Editing structograms=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=What to do with a diagram?=&lt;br /&gt;
You can do a lot of things with a structogram:&lt;br /&gt;
# Store for later usage. The diagram can be stored &amp;quot;File&amp;quot;-&amp;gt;&amp;quot;Save file&amp;quot; or &amp;quot;File&amp;quot;-&amp;gt;&amp;quot;Save file as...&amp;quot;.&lt;br /&gt;
# It is possible to export to different formats &amp;quot;File&amp;quot;-&amp;gt;&amp;quot;Export&amp;quot;-&amp;gt;&lt;br /&gt;
#* &amp;quot;Export source...&amp;quot; to save as C source file.&lt;br /&gt;
#* &amp;quot;StrukTeX&amp;quot; to use in your documentation in LaTeX.&lt;br /&gt;
#* &amp;quot;PNG&amp;quot; or &amp;quot;PS&amp;quot; and eventually &amp;quot;SVG&amp;quot; to have a diagram in an image format known by a lot of other tools.&lt;br /&gt;
# Directly insert the code into the editor: Open or create a diagram. Back in an editor window right click and choose &amp;quot;Nassi Shneiderman&amp;quot;-&amp;gt;&amp;quot;insert from xy&amp;quot; (You get a list with all open diagrams here).&lt;br /&gt;
# Drag'n'Drop the diagram (or parts of it) to other tools. For example to OpenOffice Writer to get an image in your documentation.&lt;br /&gt;
&lt;br /&gt;
If the choosen diagram has a selection, the export or code-generation takes only this part of the diagram.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Extensions=&lt;br /&gt;
The NassiShneiderman plugin supports some extensions of Nassi-Shneiderman diagrams:&lt;br /&gt;
# break has a special brick with an &amp;quot;right-arrow&amp;quot; &lt;br /&gt;
# continue has a special brick with a &amp;quot;left-arrow&amp;quot;&lt;br /&gt;
# To be able to create diagrams from c/c++ switch statements, the selection does not implicitely break before a case. The different cases are vertically aligned.&lt;/div&gt;</summary>
		<author><name>Danselmi</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Code::Blocks_Plugins&amp;diff=6434</id>
		<title>Code::Blocks Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Code::Blocks_Plugins&amp;diff=6434"/>
		<updated>2010-10-13T21:14:19Z</updated>

		<summary type="html">&lt;p&gt;Danselmi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: User Documentation]]&lt;br /&gt;
== General ==&lt;br /&gt;
&lt;br /&gt;
Code::Blocks' features can be extend by using '''plugins''', most of them listed on this page. There are generally three types of plugins:&lt;br /&gt;
# Core plugins - developed and maintained by the core C::B team.&lt;br /&gt;
# Contrib plugins - developed and maintained by the community and proven to be very valuable. So they are integrated into the C::B SVN.&lt;br /&gt;
# 3rd party plugins - developed and maintained by the community but not (yet?) in the C::B repository. Theses plugins often have their own repository or are being posted (including the source code) in the forums.&lt;br /&gt;
&lt;br /&gt;
'''If you are looking for plugins:'''&lt;br /&gt;
# Look in the official release. Notice that the installer / package manager might require you to enable some of the plugins specifically. So READ carefully.&lt;br /&gt;
# Search the forums for announcements, especially the forums at [/index.php/board,14.0.html].&lt;br /&gt;
# There might be information on the WiKi concerning other plugins on this page and '''[[Announcement_for_plugins/patches|here]]'''.&lt;br /&gt;
&lt;br /&gt;
For Windows users, the default behavior of the current installer (10.05) does not install contrib plugins. You need to manually check the &amp;quot;contrib plugin&amp;quot; checkbox when asked for selected components to install. There is no way to install them manually afterwards.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''If you are developing plugins:'''&lt;br /&gt;
Surely you can work with plugin as you like, but here are some suggestions:&lt;br /&gt;
* Announce them in the plugin development board in the forums - including the (initial) source code at [/index.php/board,14.0.html].&lt;br /&gt;
&lt;br /&gt;
OR&lt;br /&gt;
&lt;br /&gt;
* Setup your own webpage (or use a file sharing platform) and post the link to the sources/binaries/svn access in the plugin development board in the forums at [/index.php/board,14.0.html].&lt;br /&gt;
&lt;br /&gt;
OR&lt;br /&gt;
&lt;br /&gt;
* Setup a repository, probably at BerliOS or SourceForge, post the link to the sources/binaries/svn access in the plugin development board in the forums at [/index.php/board,14.0.html]. Notice: This is very convenient as attachments in our forum might be deleted from time to time. So it is not safe to post source code in the forums.&lt;br /&gt;
&lt;br /&gt;
THEN&lt;br /&gt;
&lt;br /&gt;
# Enter the plugins description on this page.&lt;br /&gt;
# Announce the plugin '''[[Announcement_for_plugins/patches|here]]''' using '''[[Template_for_plugin_announcement|this]]''' template.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Core Plugins ==&lt;br /&gt;
&lt;br /&gt;
The core plugins are installed by default and offer the basic functions of Code::Blocks. The core plugins are maintained / developed by the official development team.&lt;br /&gt;
&lt;br /&gt;
'''[[Autosave plugin|Autosave]]'''&lt;br /&gt;
&lt;br /&gt;
:Saves project files between intervals.&lt;br /&gt;
&lt;br /&gt;
'''[[Class Wizard plugin|Class Wizard]]'''&lt;br /&gt;
&lt;br /&gt;
:Provides wizard for creating new classes.&lt;br /&gt;
&lt;br /&gt;
'''[[Code Completion plugin|Code Completion]]'''&lt;br /&gt;
&lt;br /&gt;
:Provides code completion functionality and class browser.&lt;br /&gt;
&lt;br /&gt;
'''[[Compiler plugin|Compiler]]'''&lt;br /&gt;
&lt;br /&gt;
:Provides support for various compilers in one interface.&lt;br /&gt;
&lt;br /&gt;
'''[[Debugger plugin|Debugger]]'''&lt;br /&gt;
&lt;br /&gt;
:Provides support for various debuggers in one interface.&lt;br /&gt;
&lt;br /&gt;
'''[[File Extension Handler plugin|File Extensions Handler]]'''&lt;br /&gt;
&lt;br /&gt;
:Adds extra file extension handlers.&lt;br /&gt;
&lt;br /&gt;
'''[[Open Files List plugin|Open Files List]]'''&lt;br /&gt;
&lt;br /&gt;
:Manages a list of all opened files (editors).&lt;br /&gt;
&lt;br /&gt;
'''[[Projects Importer plugin|Projects Importer]]'''&lt;br /&gt;
&lt;br /&gt;
:Imports projects from other IDE's, e.g. MS Visual Studio and DevC++.&lt;br /&gt;
&lt;br /&gt;
'''[[Scripted Wizard plugin|Scripted Wizard]]'''&lt;br /&gt;
&lt;br /&gt;
:Provides scripted wizard functionality.&lt;br /&gt;
&lt;br /&gt;
'''[[Source Code Formatter plugin|Source Code Formatter]]'''&lt;br /&gt;
&lt;br /&gt;
:Formats source code files with specific style.&lt;br /&gt;
&lt;br /&gt;
'''[[To-Do List plugin|To-Do List]]'''&lt;br /&gt;
&lt;br /&gt;
:Adds to-do items to source code.&lt;br /&gt;
&lt;br /&gt;
'''[[WinXP Look'n'Feel plugin|WinXP Look'n'Feel]]'''&lt;br /&gt;
&lt;br /&gt;
:Creates manifest file which enables the version 6.0 of the Common Controls on Windows XP.&lt;br /&gt;
&lt;br /&gt;
== Contrib Plugins ==&lt;br /&gt;
&lt;br /&gt;
The user-''contrib''uted plugins are not installed by default and offer extended functionality for Code::Blocks. The contrib plugins are maintained / developed by third-party developers.&lt;br /&gt;
&lt;br /&gt;
'''[[Aligner]]'''&lt;br /&gt;
&lt;br /&gt;
:Code alignment.&lt;br /&gt;
&lt;br /&gt;
'''[[AutoVersioning|Auto Versioning]]'''&lt;br /&gt;
&lt;br /&gt;
:Helps you keep track of your project version and status.&lt;br /&gt;
&lt;br /&gt;
'''[[Browse Tracker plugins|Browse Tracker]]'''&lt;br /&gt;
&lt;br /&gt;
:Browse to previous source positions.&lt;br /&gt;
&lt;br /&gt;
'''[[C::B Games plugin|C::B Games]]'''&lt;br /&gt;
&lt;br /&gt;
:Games in a integrated development environment? You bet.&lt;br /&gt;
&lt;br /&gt;
'''[[Code Profiler plugin|Code Profiler]]'''&lt;br /&gt;
&lt;br /&gt;
:Provides graphical interface to GNU GProf profiler.&lt;br /&gt;
&lt;br /&gt;
'''[[Code Snippets plugin|Code Snippets]]'''&lt;br /&gt;
&lt;br /&gt;
:Manages small pieces of code (i.e. snippets).&lt;br /&gt;
&lt;br /&gt;
'''[[Code Statistics plugin|Code Statistics]]'''&lt;br /&gt;
&lt;br /&gt;
:Shows various statistics from source code files.&lt;br /&gt;
&lt;br /&gt;
'''[[Copy Strings to Clipboard plugin|Copy Strings to Clipboard]]'''&lt;br /&gt;
&lt;br /&gt;
:Copies literal strings from the current editor to clipboard.&lt;br /&gt;
&lt;br /&gt;
'''[[Cscope]]'''&lt;br /&gt;
&lt;br /&gt;
:Integrates Cscope (http://cscope.sourceforge.net/) into Code::Blocks.&lt;br /&gt;
&lt;br /&gt;
'''[[DevPak Installer plugin|DevPak Installer]]'''&lt;br /&gt;
&lt;br /&gt;
:Installs and updates DevC++ DevPaks.&lt;br /&gt;
&lt;br /&gt;
'''[[DoxyBlocks|DoxyBlocks]]'''&lt;br /&gt;
&lt;br /&gt;
:This plugin provides doxygen integration for Code::Blocks.&lt;br /&gt;
&lt;br /&gt;
'''[[DragScroll plugin|DragScroll]]'''&lt;br /&gt;
&lt;br /&gt;
:Enables dragging and scrolling with mouse.&lt;br /&gt;
&lt;br /&gt;
'''[[Editor Tweaks]]'''&lt;br /&gt;
&lt;br /&gt;
:This plugin provides some additional tweaks for Code::Blocks editor.&lt;br /&gt;
&lt;br /&gt;
'''[[Environment Variables plugin|Environment Variables]]'''&lt;br /&gt;
&lt;br /&gt;
:Sets environment variables within the focus of Code::Blocks.&lt;br /&gt;
&lt;br /&gt;
'''[[Help plugin]]'''&lt;br /&gt;
&lt;br /&gt;
:Integrates third-party help files to the interface.&lt;br /&gt;
&lt;br /&gt;
'''[[HexEditor plugin]]'''&lt;br /&gt;
&lt;br /&gt;
:Opens files in a Code::Blocks integrated HexEditor.&lt;br /&gt;
&lt;br /&gt;
'''[[Keyboard Shortcuts plugin|Keyboard Shortcuts]]'''&lt;br /&gt;
&lt;br /&gt;
:Manages menu shortcuts.&lt;br /&gt;
&lt;br /&gt;
'''[[Koders plugin|Koders]]'''&lt;br /&gt;
&lt;br /&gt;
:Queries the Koders webpage for keywords.&lt;br /&gt;
&lt;br /&gt;
'''[[KeyMacs plugin]]'''&lt;br /&gt;
&lt;br /&gt;
:KeyMacs (or Keyboard Macros) plugin enables Recording, Playback, and editing of keystroke macros.&lt;br /&gt;
&lt;br /&gt;
'''[[NassiShneiderman]]'''&lt;br /&gt;
&lt;br /&gt;
:Allows the creation of Nassi Shneiderman diagrams within Code::Blocks.&lt;br /&gt;
&lt;br /&gt;
'''[[RegEx Testbed plugin|RegEx Testbed]]'''&lt;br /&gt;
&lt;br /&gt;
:Regular expressions testbed.&lt;br /&gt;
&lt;br /&gt;
'''[[Source Exporter plugin|Source Exporter]]'''&lt;br /&gt;
&lt;br /&gt;
:Exports source code files to other formats such as HTML and PDF.&lt;br /&gt;
&lt;br /&gt;
'''[[Symbol Table plugin|Symbol Table]]'''&lt;br /&gt;
&lt;br /&gt;
:A simple graphical interface to the GNU symbol table displayer (nm).&lt;br /&gt;
&lt;br /&gt;
'''[[ThreadSearch]]'''&lt;br /&gt;
&lt;br /&gt;
:Multi-threaded 'Search in files' with preview window.&lt;br /&gt;
&lt;br /&gt;
'''[[Valgrind plugin|Valgrind]]'''&lt;br /&gt;
&lt;br /&gt;
:Valgrind analysis tools integration.&lt;br /&gt;
&lt;br /&gt;
'''[[wxSmith plugin|wxSmith]]'''&lt;br /&gt;
&lt;br /&gt;
:RAD tool for creating wxWidgets dialogs.&lt;br /&gt;
&lt;br /&gt;
== 3rd Party Plugins ==&lt;br /&gt;
&lt;br /&gt;
3rd party plugins - developed and maintained by the community but not (yet?) in the C::B repository. The contrib plugins are maintained / developed by third-party developers.&lt;br /&gt;
&lt;br /&gt;
'''[[Fortran Project plugin|Fortran Project]]'''&lt;br /&gt;
&lt;br /&gt;
:This plugin provides symbol browser and code-completion for Fortran files.&lt;br /&gt;
&lt;br /&gt;
'''[[TRACE32 Debugger]]'''&lt;br /&gt;
&lt;br /&gt;
:Extends the Debugger plugin of Code::Blocks to work with the TRACE32 Debuggers. TRACE32 documentation &amp;quot;int_codeblock.pdf&amp;quot; and debuggert32.cbplugin are located on the enclosed SW CD on purchase of TRACE32&lt;br /&gt;
&lt;br /&gt;
If you have questions -&amp;gt; ask in the forums at [/index.php/board,14.0.html].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[[SpellChecker]]'''&lt;br /&gt;
&lt;br /&gt;
:A plugin to check the spelling of strings and comments.&lt;/div&gt;</summary>
		<author><name>Danselmi</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=NassiShneiderman_plugin&amp;diff=6427</id>
		<title>NassiShneiderman plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=NassiShneiderman_plugin&amp;diff=6427"/>
		<updated>2010-09-10T11:17:06Z</updated>

		<summary type="html">&lt;p&gt;Danselmi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NassiShneiderman plugin allows the creation of [http://en.wikipedia.org/wiki/Nassi%E2%80%93Shneiderman_diagram Nassi Shneiderman diagrams] within Code::Blocks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Create a diagram=&lt;br /&gt;
There are two possibilities to create a diagram. &lt;br /&gt;
# To create an empty diagram select the menu options &amp;quot;File&amp;quot;-&amp;gt;&amp;quot;New&amp;quot;-&amp;gt;&amp;quot;Nassi Shneiderman diagram&amp;quot;.&lt;br /&gt;
# The second option is to creates a diagram from C/C++ source code. &lt;br /&gt;
&lt;br /&gt;
In an editor window highlight some code to create the diagram from. For example the body of a function/method from the opening braces till the closing brace. Then right click the selection and choose &amp;quot;Nassi Shneiderman&amp;quot;-&amp;gt;&amp;quot;Create diagram&amp;quot;. &lt;br /&gt;
[[File:NassiShneidermanCreate1.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
You should get a new diagram:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:NassiShneidermanCreate2.png]]&lt;br /&gt;
&lt;br /&gt;
The parser has some limitations: &lt;br /&gt;
* Comments can not be at the end of a branch.&lt;br /&gt;
* From a definition of a function it is only able to parse the body, not the declaration.&lt;br /&gt;
* For sure, you will find a lot more... &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Editing structograms=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=What to do with a diagram?=&lt;br /&gt;
You can do a lot of things with a structogram:&lt;br /&gt;
# Store for later usage. The diagram can be stored &amp;quot;File&amp;quot;-&amp;gt;&amp;quot;Save file&amp;quot; or &amp;quot;File&amp;quot;-&amp;gt;&amp;quot;Save file as...&amp;quot;.&lt;br /&gt;
# It is possible to export to different formats &amp;quot;File&amp;quot;-&amp;gt;&amp;quot;Export&amp;quot;-&amp;gt;&lt;br /&gt;
#* &amp;quot;Export source...&amp;quot; to save as C source file.&lt;br /&gt;
#* &amp;quot;StrukTeX&amp;quot; to use in your documentation in LaTeX.&lt;br /&gt;
#* &amp;quot;PNG&amp;quot; or &amp;quot;PS&amp;quot; and eventually &amp;quot;SVG&amp;quot; to have a diagram in an image format known by a lot of other tools.&lt;br /&gt;
# Directly insert the code into the editor: Open or create a diagram. Back in an editor window right click and choose &amp;quot;Nassi Shneiderman&amp;quot;-&amp;gt;&amp;quot;insert from xy&amp;quot; (You get a list with all open diagrams here).&lt;br /&gt;
# Drag'n'Drop the diagram (or parts of it) to other tools. For example to OpenOffice Writer to get an image in your documentation.&lt;br /&gt;
&lt;br /&gt;
If the choosen diagram has a selection, the export or code-generation takes only this part of the diagram.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Extensions=&lt;br /&gt;
The NassiShneiderman plugin supports some extensions of Nassi-Shneiderman diagrams:&lt;br /&gt;
# break has a special brick with an &amp;quot;right-arrow&amp;quot; &lt;br /&gt;
# continue has a special brick with a &amp;quot;left-arrow&amp;quot;&lt;br /&gt;
# To be able to create diagrams from c/c++ switch statements, the selection does not implicitely break before a case. The different cases are vertically aligned.&lt;/div&gt;</summary>
		<author><name>Danselmi</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=NassiShneiderman_plugin&amp;diff=6426</id>
		<title>NassiShneiderman plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=NassiShneiderman_plugin&amp;diff=6426"/>
		<updated>2010-09-10T11:15:06Z</updated>

		<summary type="html">&lt;p&gt;Danselmi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NassiShneiderman plugin allows the creation of [http://en.wikipedia.org/wiki/Nassi%E2%80%93Shneiderman_diagram Nassi Shneiderman diagrams] within Code::Blocks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Create a diagram=&lt;br /&gt;
There are two possibilities to create a diagram. &lt;br /&gt;
# To create an empty diagram select the menu options &amp;quot;File&amp;quot;-&amp;gt;&amp;quot;New&amp;quot;-&amp;gt;&amp;quot;Nassi Shneiderman diagram&amp;quot;.&lt;br /&gt;
# The second option is to creates a diagram from C/C++ source code. &lt;br /&gt;
&lt;br /&gt;
In an editor window highlight some code to create the diagram from. For example the body of a function/method from the opening braces till the closing brace. Then right click the selection and choose &amp;quot;Nassi Shneiderman&amp;quot;-&amp;gt;&amp;quot;create diagram&amp;quot;. &lt;br /&gt;
[[File:NassiShneidermanCreate1.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
You should get a new diagram:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:NassiShneidermanCreate2.png]]&lt;br /&gt;
&lt;br /&gt;
The parser has some limitations: &lt;br /&gt;
* Comments can not be at the end of a branch.&lt;br /&gt;
* From a definition of a function it is only able to parse the body, not the declaration.&lt;br /&gt;
* For sure, you will find a lot more... &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Editing structograms=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=What to do with a diagram?=&lt;br /&gt;
You can do a lot of things with a structogram:&lt;br /&gt;
# Store for later usage. The diagram can be stored &amp;quot;File&amp;quot;-&amp;gt;&amp;quot;Save file&amp;quot; or &amp;quot;File&amp;quot;-&amp;gt;&amp;quot;Save file as...&amp;quot;.&lt;br /&gt;
# It is possible to export to different formats &amp;quot;File&amp;quot;-&amp;gt;&amp;quot;Export&amp;quot;-&amp;gt;&lt;br /&gt;
#* &amp;quot;Export source...&amp;quot; to save as C source file.&lt;br /&gt;
#* &amp;quot;StrukTeX&amp;quot; to use in your documentation in LaTeX.&lt;br /&gt;
#* &amp;quot;PNG&amp;quot; or &amp;quot;PS&amp;quot; and eventually &amp;quot;SVG&amp;quot; to have a diagram in an image format known by a lot of other tools.&lt;br /&gt;
# Directly insert the code into the editor: Open or create a diagram. Back in an editor window right click and choose &amp;quot;Nassi Shneiderman&amp;quot;-&amp;gt;&amp;quot;insert from xy&amp;quot; (You get a list with all open diagrams here).&lt;br /&gt;
# Drag'n'Drop the diagram (or parts of it) to other tools. For example to OpenOffice Writer to get an image in your documentation.&lt;br /&gt;
&lt;br /&gt;
If the choosen diagram has a selection, the export or code-generation takes only this part of the diagram.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Extensions=&lt;br /&gt;
The NassiShneiderman plugin supports some extensions of Nassi-Shneiderman diagrams:&lt;br /&gt;
# break has a special brick with an &amp;quot;right-arrow&amp;quot; &lt;br /&gt;
# continue has a special brick with a &amp;quot;left-arrow&amp;quot;&lt;br /&gt;
# To be able to create diagrams from c/c++ switch statements, the selection does not implicitely break before a case. The different cases are vertically aligned.&lt;/div&gt;</summary>
		<author><name>Danselmi</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=NassiShneiderman_plugin&amp;diff=6425</id>
		<title>NassiShneiderman plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=NassiShneiderman_plugin&amp;diff=6425"/>
		<updated>2010-09-09T22:56:01Z</updated>

		<summary type="html">&lt;p&gt;Danselmi: Created page with 'NassiShneiderman plugin allows the creation of [http://en.wikipedia.org/wiki/Nassi%E2%80%93Shneiderman_diagram Nassi Shneiderman diagrams] within Code::Blocks.   =Create a diagra…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NassiShneiderman plugin allows the creation of [http://en.wikipedia.org/wiki/Nassi%E2%80%93Shneiderman_diagram Nassi Shneiderman diagrams] within Code::Blocks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Create a diagram=&lt;br /&gt;
There are two possibilities to create a diagram. &lt;br /&gt;
# To create an empty diagram select the menu options &amp;quot;File&amp;quot;-&amp;gt;&amp;quot;New&amp;quot;-&amp;gt;&amp;quot;Nassi Shneiderman diagram&amp;quot;.&lt;br /&gt;
# The second option creates a diagram from C/C++ source code. &lt;br /&gt;
&lt;br /&gt;
In an editor window highlight some code to create the diagram from. For example the body of a function/method from the opening braces till the closing brace. Then right click the selection and choose &amp;quot;Nassi Shneiderman&amp;quot;-&amp;gt;&amp;quot;create diagram&amp;quot;. &lt;br /&gt;
[[File:NassiShneidermanCreate1.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
You should get a new diagram:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:NassiShneidermanCreate2.png]]&lt;br /&gt;
&lt;br /&gt;
The parser has some limitations: &lt;br /&gt;
* Comments can not be at the end of a branch.&lt;br /&gt;
* From a definition of a function it is only able to parse the body, not the declaration.&lt;br /&gt;
* For sure, you will find a lot more... &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Editing structograms=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=What to do with a diagram?=&lt;br /&gt;
You can do a lot of things with a structogram:&lt;br /&gt;
# Store for later usage. The diagram can be stored &amp;quot;File&amp;quot;-&amp;gt;&amp;quot;Save file&amp;quot; or &amp;quot;File&amp;quot;-&amp;gt;&amp;quot;Save file as...&amp;quot;.&lt;br /&gt;
# It is possible to export to different formats &amp;quot;File&amp;quot;-&amp;gt;&amp;quot;Export&amp;quot;-&amp;gt;&lt;br /&gt;
#* &amp;quot;Export source...&amp;quot; to save as C source file.&lt;br /&gt;
#* &amp;quot;StrukTeX&amp;quot; to use in your documentation in LaTeX.&lt;br /&gt;
#* &amp;quot;PNG&amp;quot; or &amp;quot;PS&amp;quot; and eventually &amp;quot;SVG&amp;quot; to have a diagram in an image format known by a lot of other tools.&lt;br /&gt;
# Directly insert the code into the editor: Open or create a diagram. Back in an editor window right click and choose &amp;quot;Nassi Shneiderman&amp;quot;-&amp;gt;&amp;quot;insert from xy&amp;quot; (You get a list with all open diagrams here).&lt;br /&gt;
# Drag'n'Drop the diagram (or parts of it) to other tools. For example to OpenOffice Writer to get an image in your documentation.&lt;br /&gt;
&lt;br /&gt;
If the choosen diagram has a selection, the export or code-generation takes only this part of the diagram.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Extensions=&lt;br /&gt;
The NassiShneiderman plugin supports some extensions of Nassi-Shneiderman diagrams:&lt;br /&gt;
# break has a special brick with an &amp;quot;right-arrow&amp;quot; &lt;br /&gt;
# continue has a special brick with a &amp;quot;left-arrow&amp;quot;&lt;br /&gt;
# To be able to create diagrams from c/c++ switch statements, the selection does not implicitely break before a case. The different cases are vertically aligned.&lt;/div&gt;</summary>
		<author><name>Danselmi</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=File:NassiShneidermanCreate2.png&amp;diff=6424</id>
		<title>File:NassiShneidermanCreate2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=File:NassiShneidermanCreate2.png&amp;diff=6424"/>
		<updated>2010-09-09T21:58:45Z</updated>

		<summary type="html">&lt;p&gt;Danselmi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Danselmi</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=File:NassiShneidermanCreate1.png&amp;diff=6423</id>
		<title>File:NassiShneidermanCreate1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=File:NassiShneidermanCreate1.png&amp;diff=6423"/>
		<updated>2010-09-09T21:50:49Z</updated>

		<summary type="html">&lt;p&gt;Danselmi: Shows how to create a diagram from sourcecode.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Shows how to create a diagram from sourcecode.&lt;/div&gt;</summary>
		<author><name>Danselmi</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Creating_a_custom_lexer_for_Code::Blocks_editor&amp;diff=6226</id>
		<title>Creating a custom lexer for Code::Blocks editor</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Creating_a_custom_lexer_for_Code::Blocks_editor&amp;diff=6226"/>
		<updated>2009-12-03T18:46:14Z</updated>

		<summary type="html">&lt;p&gt;Danselmi: /* Adding support for a lexer not supported in Scintilla */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Developer Documentation]]&lt;br /&gt;
Code::Blocks can provide syntax highlighting for any of the languages supported by Scintilla http://www.scintilla.org (the Rich Editing API used by C::B to provide syntax highlighting, code folding etc). Each language that C::B provides highlighting for has a C::B specific xml file found under &amp;lt;tt&amp;gt;sdk/resources/lexers&amp;lt;/tt&amp;gt; that specifies styles and keywords of the language (they're simple XML files with names of the form &amp;lt;tt&amp;gt;lexer_*.xml&amp;lt;/tt&amp;gt;). Adding a new language that is supported by Scintilla is as simple as adding an xml file for that language. At a minimum, the xml file must list the available set of styles for the lexical elements of a language and provide for keywords (the file will also specify a file containing sample code for editing and previewing lexer styles in Code::Blocks). Actual styles and keywords for each language can be edited by users within Code::Blocks under Settings-&amp;gt;Editors-&amp;gt;Syntax Highlighting allowing them view the results in a preview window (for the preview to display you will need to provide this sample code in a separate file also located in &amp;lt;tt&amp;gt;sdk/resources/lexers&amp;lt;/tt&amp;gt;). User customized styles and keywords are kept in the users &amp;lt;tt&amp;gt;default.conf&amp;lt;/tt&amp;gt; file (i.e. the xml file is never changed within codeblocks) allowing users to easily revert to the xml file.&lt;br /&gt;
&lt;br /&gt;
To illustrate how you might construct a new lexer xml file let's look at the pre-installed CPP lexer, whose styles and keywords are stored in &amp;lt;tt&amp;gt;lexer_cpp.xml&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically this says &amp;quot;I am an XML file&amp;quot;. '''Very Important'''&lt;br /&gt;
&lt;br /&gt;
==DOCTYPE==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!DOCTYPE CodeBlocks_lexer_properties&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This needs to be in every lexer file. Code::Blocks '''will not''' load the lexer if this is not present.&lt;br /&gt;
&lt;br /&gt;
==Lexers==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Lexer name=&amp;quot;C/C++&amp;quot;&lt;br /&gt;
        index=&amp;quot;3&amp;quot;&lt;br /&gt;
        filemasks=&amp;quot;*.c,*.cpp,*.cc,*.cxx,*.h,*.hpp,*.hh,*.hxx,*.inl&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pretty much self explanatory, except for the &amp;quot;magic&amp;quot; ''index'' number (we'll come to it in a sec).&lt;br /&gt;
&lt;br /&gt;
* '''name''' is the lexer's configuration name. This will appear in the editor's configuration dialog, in the languages drop down box (in colors editing page).&lt;br /&gt;
&lt;br /&gt;
* '''filemasks''' is a comma separated list of the extensions that this lexer should be used for. This is case-insensitive.&lt;br /&gt;
&lt;br /&gt;
* '''index''' corresponds with the &amp;lt;tt&amp;gt;wxSCI_LEX_*&amp;lt;/tt&amp;gt; constants, found in &amp;lt;tt&amp;gt;sdk/wxscintilla/include/wx/wxscintilla.h&amp;lt;/tt&amp;gt;. In this example, if you look in &amp;lt;tt&amp;gt;sdk/wxscintilla/include/wx/wxscintilla.h&amp;lt;/tt&amp;gt;, you'll see that ''index 3'' matches &amp;lt;tt&amp;gt;wxSCI_LEX_CPP&amp;lt;/tt&amp;gt;. That is the ''lexer id'' for C/C++ syntax highlighting.&lt;br /&gt;
&lt;br /&gt;
If we were building a lexer configuration for let's say, XML (random choice) we would look up the constant &amp;lt;tt&amp;gt;wxSCI_LEX_XML&amp;lt;/tt&amp;gt; which is defined to be number ''5''. So ''index=5''. Simple.&lt;br /&gt;
&lt;br /&gt;
==Styles==&lt;br /&gt;
&lt;br /&gt;
Next follows many &amp;lt;tt&amp;gt;&amp;lt;Style&amp;gt;&amp;lt;/tt&amp;gt; tags defining the different styles:&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;Style name=&amp;quot;Default&amp;quot;&lt;br /&gt;
               index=&amp;quot;0&amp;quot;&lt;br /&gt;
               fg=&amp;quot;0,0,0&amp;quot;&lt;br /&gt;
               bg=&amp;quot;255,255,255&amp;quot;&lt;br /&gt;
               bold=&amp;quot;0&amp;quot;&lt;br /&gt;
               italics=&amp;quot;0&amp;quot;&lt;br /&gt;
               underlined=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''name''' is the style's name. It appears in the editor's configuration dialog, in the colors editing page.&lt;br /&gt;
&lt;br /&gt;
* '''fg''' is the foreground color. Comma separated list of three numbers from 0 to 255. In order: red, green and blue (RGB).&lt;br /&gt;
&lt;br /&gt;
* '''bg''' is the background color.&lt;br /&gt;
&lt;br /&gt;
* '''bold''' is &amp;lt;tt&amp;gt;&amp;quot;0&amp;quot;&amp;lt;/tt&amp;gt; for disabled, &amp;lt;tt&amp;gt;&amp;quot;1&amp;quot;&amp;lt;/tt&amp;gt; for enabled.&lt;br /&gt;
&lt;br /&gt;
* '''italics''' is &amp;lt;tt&amp;gt;&amp;quot;0&amp;quot;&amp;lt;/tt&amp;gt; for disabled, &amp;lt;tt&amp;gt;&amp;quot;1&amp;quot;&amp;lt;/tt&amp;gt; for enabled.&lt;br /&gt;
&lt;br /&gt;
* '''underlined''' is &amp;lt;tt&amp;gt;&amp;quot;0&amp;quot;&amp;lt;/tt&amp;gt; for disabled, &amp;lt;tt&amp;gt;&amp;quot;1&amp;quot;&amp;lt;/tt&amp;gt; for enabled.&lt;br /&gt;
&lt;br /&gt;
You don't have to define all of these attributes. It's good to define them all for the &amp;lt;tt&amp;gt;&amp;quot;default&amp;quot;&amp;lt;/tt&amp;gt; style (all lexers have a default style), but only the attributes needed should be defined for the rest of the styles.&lt;br /&gt;
&lt;br /&gt;
* The '''index''' number in the &amp;lt;tt&amp;gt;&amp;lt;Style&amp;gt;&amp;lt;/tt&amp;gt; tags, comes from a different set of constants defined in &amp;lt;tt&amp;gt;sdk/wxscintilla/include/wx/wxscintilla.h&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
For each language supported by scintilla, there is a set of styles ''(lexical states)'' defined (these are what we're trying to configure with these files). &lt;br /&gt;
&lt;br /&gt;
For example, for C/C++ files (&amp;lt;tt&amp;gt;wxSCI_LEX_CPP&amp;lt;/tt&amp;gt;, remember?) the styles are defined as &amp;lt;tt&amp;gt;wxSCI_C_*&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For the &amp;lt;tt&amp;gt;&amp;quot;default&amp;quot;&amp;lt;/tt&amp;gt; style shown above, this would be &amp;lt;tt&amp;gt;wxSCI_C_DEFAULT&amp;lt;/tt&amp;gt; which is defined to be ''0''. Hence ''index=0'' for &amp;lt;tt&amp;gt;&amp;quot;default&amp;quot;&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;Style name=&amp;quot;Comment (normal)&amp;quot;&lt;br /&gt;
               index=&amp;quot;1,2&amp;quot;&lt;br /&gt;
               fg=&amp;quot;160,160,160&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the style definition for normal comments. As you can see you can define a single style for more than one style index, in this case two: ''1'' and ''2'' (always comma separated).&lt;br /&gt;
&lt;br /&gt;
''1'' is for &amp;lt;tt&amp;gt;wxSCI_C_COMMENT&amp;lt;/tt&amp;gt; (the C comment &amp;lt;tt&amp;gt;/* */&amp;lt;/tt&amp;gt;) and ''2'' is for &amp;lt;tt&amp;gt;wxSCI_C_COMMENTLINE&amp;lt;/tt&amp;gt; (the C++ comment to end of line &amp;lt;tt&amp;gt;// &amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are some special styles defined by Code::Blocks and are available to all lexers:&lt;br /&gt;
&lt;br /&gt;
* '''index -99''' is the selected text style.&lt;br /&gt;
* '''index -98''' is the active line style (the line the caret is on).&lt;br /&gt;
* '''index -2''' is the breakpoint line style.&lt;br /&gt;
* '''index -3''' is the debugger active line style (while stepping the debugger).&lt;br /&gt;
* '''index -4''' is the compiler warning/error line style. ('''Note: this index was removed completely?''')&lt;br /&gt;
&lt;br /&gt;
==Keywords==&lt;br /&gt;
&lt;br /&gt;
Now on to the keywords.&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;Keywords&amp;gt;&lt;br /&gt;
               &amp;lt;Set index=&amp;quot;0&amp;quot;&lt;br /&gt;
                         value=&amp;quot;if int long try while and-so-on&amp;quot; /&amp;gt;&lt;br /&gt;
               &amp;lt;Set index=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
               &amp;lt;Set index=&amp;quot;2&amp;quot;&lt;br /&gt;
                              value=&amp;quot;param remarks return $ @ \ &amp;amp; &amp;lt; &amp;gt; # { } and-so-on&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/Keywords&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are defining a lexer configuration for a language that has keywords they should be added in the &amp;lt;tt&amp;gt;&amp;lt;Keywords&amp;gt;&amp;lt;/tt&amp;gt; tag.&lt;br /&gt;
In the scintilla version used by Code::Blocks, you can setup up to 9 keyword sets (the &amp;quot;index&amp;quot; attribute). What each set does and which sets are used by a lexer, is defined by the lexer itself.&lt;br /&gt;
&lt;br /&gt;
If you open LexCPP.cxx (from the scintilla sources), you will find the following:&lt;br /&gt;
&lt;br /&gt;
 static const char * const cppWordLists[] = {&lt;br /&gt;
            &amp;quot;Primary keywords and identifiers&amp;quot;,&lt;br /&gt;
            &amp;quot;Secondary keywords and identifiers&amp;quot;,&lt;br /&gt;
            &amp;quot;Documentation comment keywords&amp;quot;,&lt;br /&gt;
            &amp;quot;Unused&amp;quot;,&lt;br /&gt;
            &amp;quot;Global classes and typedefs&amp;quot;,&lt;br /&gt;
            0,&lt;br /&gt;
        };&lt;br /&gt;
&lt;br /&gt;
This tells us which indices are valid and what each one represents:&lt;br /&gt;
&lt;br /&gt;
Index 0, &amp;quot;Primary keywords and identifiers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Index 1, &amp;quot;Secondary keywords and identifiers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Index 2, &amp;quot;Documentation comment keywords&amp;quot;&lt;br /&gt;
&lt;br /&gt;
(notice that index &amp;quot;3&amp;quot; is not used)&lt;br /&gt;
&lt;br /&gt;
Index 4, &amp;quot;Global classes and typedefs&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Sample Code==&lt;br /&gt;
&lt;br /&gt;
The tag left is &amp;lt;tt&amp;gt;SampleCode&amp;lt;/tt&amp;gt;. This is much pretty self explanatory:&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;SampleCode value=&amp;quot;lexer_cpp.sample&amp;quot;&lt;br /&gt;
                    breakpoint_line=&amp;quot;20&amp;quot;&lt;br /&gt;
                    debug_line=&amp;quot;22&amp;quot;&lt;br /&gt;
                    error_line=&amp;quot;23&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''value''' is the filename of the code that will be shown in the Preview window. &lt;br /&gt;
When creating a &amp;lt;tt&amp;gt;lexer_*.sample&amp;lt;/tt&amp;gt; try to do it with simple and concise sample code (like the ones found in a typical &amp;quot;Hello world!&amp;quot;), yet include all the styles of the lexer.&lt;br /&gt;
&lt;br /&gt;
There are other optional options ('''Note: this index was removed completely?''')&lt;br /&gt;
* '''breakpoint_line''' is the number of the line in which a breakpoint line will be previewed.&lt;br /&gt;
* '''debug_line''' is the number of the line in which a debug line will be previewed.&lt;br /&gt;
* '''error_line''' is the number of the line in which an error line will be previewed.&lt;br /&gt;
&lt;br /&gt;
==Tips==&lt;br /&gt;
When writting a lexer, this can be useful:&lt;br /&gt;
* .properties files of SciTE (the official Scintilla-based text editor) [http://scintilla.sourceforge.net/SciTE.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Adding support for code-folding==&lt;br /&gt;
&lt;br /&gt;
'''Note: support for code-folding can't be done from the lexer files. It must be done right in the Scintilla code'''.&lt;br /&gt;
&lt;br /&gt;
See here: http://sphere.sourceforge.net/flik/docs/scintilla-folding.html&lt;br /&gt;
&lt;br /&gt;
==Adding support for a lexer not supported in Scintilla==&lt;br /&gt;
&lt;br /&gt;
'''Note: support for a lexer not supported in Scintilla is out of scope of Code::Blocks. It must be done right in the Scintilla code.'''&lt;br /&gt;
&lt;br /&gt;
Here are some instructions: http://scintilla.sourceforge.net/Lexer.txt. To be able to use your newly created lexer in C::B, adjust the validity check of &amp;quot;lexer&amp;quot; in EditorColourSet::AddHighlightLanguage().&lt;br /&gt;
&lt;br /&gt;
* After you've written the Scintilla lexer, submit the files to the [http://sourceforge.net/tracker/?group_id=2439 Scintilla tracker], following their own [http://scintilla.sourceforge.net/SciCoding.html coding style].&lt;br /&gt;
&lt;br /&gt;
* After that, make any necesary change to wxScintilla and sumbit the files to the [http://sourceforge.net/tracker/?group_id=51305&amp;amp;atid=462818 wxScintilla tracker] or send a mail to the autor wyo@users.sourceforge.net (Otto Wyss).&lt;br /&gt;
&lt;br /&gt;
* And finishing, be sure to send all to the [http://developer.berlios.de/patch/?func=addpatch&amp;amp;group_id=5358 Code::Blocks tracker] (Category: Lexer), and announce it at the [/index.php?board=7.0 Forum] and the [[Announcement for plugins/patches|Wiki announcement for plugins/patches]].&lt;/div&gt;</summary>
		<author><name>Danselmi</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Languages_supported_by_Code::Blocks_lexers&amp;diff=5764</id>
		<title>Languages supported by Code::Blocks lexers</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Languages_supported_by_Code::Blocks_lexers&amp;diff=5764"/>
		<updated>2008-12-23T00:49:20Z</updated>

		<summary type="html">&lt;p&gt;Danselmi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Developer Documentation]]&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 85%; border: gray solid 1px; border-collapse: collapse; text-align: center; width: 50%; table-layout: fixed;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ececec;&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 12em&amp;quot; | Language&lt;br /&gt;
! [https://www.codeblocks.org/ Code::Blocks]&lt;br /&gt;
! [http://www.scintilla.org/SciTE.html SciTE]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Ada&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | AngelScript (using the C++ lexer)&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | ANS.1 MIB definition files&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | APDL&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Assembler (NASM, MASM)&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Assembler (Hitachi, using the C++ lexer)&lt;br /&gt;
| {{yes}} (Why it uses the C++ lexer????)&lt;br /&gt;
| {{no}}&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | AutoIt&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Avenue&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Batch (MS-DOS)&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Baan&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Bash&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | BlitzBasic&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Bullant&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-  &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | C/C++&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | C# (using the C++ lexer)&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Clarion&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | conf (Apache)&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | CSound&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | CSS&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | diff files&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | E-Script&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Eiffel&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Erlang&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Flagship (Clipper / XBase)&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Flash (ActionScript)&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Fortran&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Forth&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Haskell&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | HTML&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | HTML with embedded JavaScript, VBScript, PHP and ASP&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | GameMonkey Script (using the C++ lexer)&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Gui4Cli&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | IDL (both MSIDL and XPIDL)&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Java&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | JavaScript&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | LISP&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | LOT&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Lout&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Lua&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Make&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Matlab&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Metapost&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | MMIXAL&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | MSSQL&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | nnCron&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | NSIS&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | nVidia cg (using the C++ lexer)&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Objective Caml&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Ogre Material script (using the C++ lexer)&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | OpenGL Shading Language (using the C++ lexer)&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Octave&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Pascal/Delphi&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Perl&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | PostScript&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | POV-Ray&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | PowerBasic&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Properties &lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | PureBasic&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Python&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Rebol&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Ruby&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Scheme&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | scriptol&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Specman E&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Spice&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Smalltalk&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | SQL and PLSQL&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | TADS3&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | TeX and LaTeX&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Tcl/Tk &lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | VB and VBScript&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Verilog&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | VHDL&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Windows resource (using the C++ lexer)&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | XML&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | YAML&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*{{note|CodeFolding}} Supports code-folding.&lt;/div&gt;</summary>
		<author><name>Danselmi</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Languages_supported_by_Code::Blocks_lexers&amp;diff=5763</id>
		<title>Languages supported by Code::Blocks lexers</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Languages_supported_by_Code::Blocks_lexers&amp;diff=5763"/>
		<updated>2008-12-23T00:40:56Z</updated>

		<summary type="html">&lt;p&gt;Danselmi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Developer Documentation]]&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 85%; border: gray solid 1px; border-collapse: collapse; text-align: center; width: 50%; table-layout: fixed;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ececec;&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 12em&amp;quot; | Language&lt;br /&gt;
! [https://www.codeblocks.org/ Code::Blocks]&lt;br /&gt;
! [http://www.scintilla.org/SciTE.html SciTE]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Ada&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | AngelScript (using the C++ lexer)&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | ANS.1 MIB definition files&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | APDL&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Assembler (NASM, MASM)&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Assembler (Hitachi, using the C++ lexer)&lt;br /&gt;
| {{yes}} (Why it uses the C++ lexer????)&lt;br /&gt;
| {{no}}&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | AutoIt&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Avenue&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Batch (MS-DOS)&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Baan&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Bash&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | BlitzBasic&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Bullant&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-  &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | C/C++&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | C# (using the C++ lexer)&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Clarion&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | conf (Apache)&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | CSound&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | CSS&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | diff files&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | E-Script&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Eiffel&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Erlang&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Flagship (Clipper / XBase)&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Flash (ActionScript)&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Fortran&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Forth&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Haskell&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | HTML&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | HTML with embedded JavaScript, VBScript, PHP and ASP&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | GameMonkey Script (using the C++ lexer)&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Gui4Cli&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | IDL (both MSIDL and XPIDL)&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Java&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | JavaScript&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | LISP&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | LOT&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Lout&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Lua&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Make&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Matlab&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Metapost&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | MMIXAL&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | MSSQL&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | nnCron&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | NSIS&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | nVidia cg (using the C++ lexer)&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Objective Caml&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Ogre Material script (using the C++ lexer)&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | OpenGL Shading Language (using the C++ lexer)&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Octave&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Pascal/Delphi&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Perl&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | PostScript&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | POV-Ray&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | PowerBasic&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Properties &lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | PureBasic&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Python&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Rebol&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Ruby&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Scheme&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | scriptol&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Specman E&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Spice&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Smalltalk&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | SQL and PLSQL&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | TADS3&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | TeX and LaTeX&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Tcl/Tk &lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | VB and VBScript&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Verilog&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | VHDL&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Windows resource (using the C++ lexer)&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | XML&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | YAML&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}{{refun|CodeFolding}}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*{{note|CodeFolding}} Supports code-folding.&lt;/div&gt;</summary>
		<author><name>Danselmi</name></author>
	</entry>
</feed>