<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://bfwiki.tellefsen.net//index.php?action=history&amp;feed=atom&amp;title=Scanner</id>
	<title>Scanner - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://bfwiki.tellefsen.net//index.php?action=history&amp;feed=atom&amp;title=Scanner"/>
	<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Scanner&amp;action=history"/>
	<updated>2026-04-13T14:00:58Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Scanner&amp;diff=39&amp;oldid=prev</id>
		<title>Christian: New page: To enable the scanner, use &lt;pre&gt; ./configure --enable-scanner &lt;/pre&gt; you might want to add &lt;pre&gt; --enable-unstable-install &lt;/pre&gt; to avoid the change of any settings of your stable bluefis...</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Scanner&amp;diff=39&amp;oldid=prev"/>
		<updated>2008-10-26T22:30:16Z</updated>

		<summary type="html">&lt;p&gt;New page: To enable the scanner, use &amp;lt;pre&amp;gt; ./configure --enable-scanner &amp;lt;/pre&amp;gt; you might want to add &amp;lt;pre&amp;gt; --enable-unstable-install &amp;lt;/pre&amp;gt; to avoid the change of any settings of your stable bluefis...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;To enable the scanner, use&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./configure --enable-scanner&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you might want to add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--enable-unstable-install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to avoid the change of any settings of your stable bluefish install&lt;br /&gt;
&lt;br /&gt;
==== Here you can find Bluefish langugage specification format.====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;bflang name&amp;lt;code&amp;gt;\&amp;quot;Testlang\&amp;quot; description&amp;lt;/code&amp;gt;\&amp;quot;Test language file\&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;name&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; - &amp;#039;&amp;#039;name of the language&amp;#039;&amp;#039;&lt;br /&gt;
    &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;description&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; - &amp;#039;&amp;#039;language description&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;options&amp;gt;    &amp;#039;&amp;#039;global options&amp;#039;&amp;#039;&lt;br /&gt;
    &amp;lt;option name=\&amp;quot;case-sensitive\&amp;quot;&amp;gt;false&amp;lt;/option&amp;gt;&lt;br /&gt;
                       &amp;#039;&amp;#039;is this language case sensitive ?&amp;#039;&amp;#039;&lt;br /&gt;
    &amp;lt;option name=\&amp;quot;scan-markup-tags\&amp;quot;&amp;gt;true&amp;lt;/option&amp;gt;&lt;br /&gt;
                       &amp;#039;&amp;#039;if TRUE markup tags will be scanned and proper signals sent&amp;#039;&amp;#039;&lt;br /&gt;
    &amp;lt;option name=\&amp;quot;scan-blocks\&amp;quot;&amp;gt;true&amp;lt;/option&amp;gt;&lt;br /&gt;
                       &amp;#039;&amp;#039;if TRUE blocks will be scanned and proper signals sent&amp;#039;&amp;#039;&lt;br /&gt;
    &amp;lt;option name=\&amp;quot;auto-scan-triggers\&amp;quot;&amp;gt;{}&amp;amp;#x0A;&amp;amp;lt;&amp;amp;gt;&amp;lt;/option&amp;gt;&lt;br /&gt;
                       &amp;#039;&amp;#039;these are characters which will switch scanning procedure when autoscan is on&amp;#039;&amp;#039;&lt;br /&gt;
    &amp;lt;option name=\&amp;quot;restricted-tags-only\&amp;quot;&amp;gt;true&amp;lt;/option&amp;gt;&lt;br /&gt;
                       &amp;#039;&amp;#039;if TRUE it means that signals should be emitted only for tags and attributes&amp;#039;&amp;#039;&lt;br /&gt;
                       &amp;#039;&amp;#039;defined in &amp;amp;lt;restricted-tags&amp;amp;gt; section&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/options&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;block-group id=\&amp;quot;grp1\&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;#039;&amp;#039;block group definition - block groups does not have any special meaning but they can be used by you&amp;#039;&amp;#039;&lt;br /&gt;
    &amp;lt;block id&amp;lt;code&amp;gt;\&amp;quot;one\&amp;quot; begin&amp;lt;/code&amp;gt;\&amp;quot;&amp;amp;lt;====--\&amp;quot; end&amp;lt;code&amp;gt;\&amp;quot;--&amp;amp;gt;\&amp;quot; scanned&amp;lt;/code&amp;gt;\&amp;quot;true\&amp;quot; foldable=\&amp;quot;true\&amp;quot;====&lt;br /&gt;
           case&amp;lt;code&amp;gt;\&amp;quot;false\&amp;quot; markup&amp;lt;/code&amp;gt;\&amp;quot;true\&amp;quot; regexp=\&amp;quot;false\&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;id&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;       - &amp;#039;&amp;#039;block identifier&amp;#039;&amp;#039;&lt;br /&gt;
      &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;begin&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;    - &amp;#039;&amp;#039;string which begins block&amp;#039;&amp;#039;&lt;br /&gt;
      &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;end&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;      - &amp;#039;&amp;#039;string which ends the block&amp;#039;&amp;#039;&lt;br /&gt;
      &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;scanned&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;  - &amp;#039;&amp;#039;should this block be scanned inside&amp;#039;&amp;#039;&lt;br /&gt;
      &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;foldable&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; - &amp;#039;&amp;#039;can we fold this block&amp;#039;&amp;#039;&lt;br /&gt;
      &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;case&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;     - &amp;#039;&amp;#039;should we recognize case sensitive inside block&amp;#039;&amp;#039;&lt;br /&gt;
      &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;markup&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;   - &amp;#039;&amp;#039;should we recognize markup inside block&amp;#039;&amp;#039;&lt;br /&gt;
      &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;regexp&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;   - &amp;#039;&amp;#039;if TRUE, block begin-end strings are recognized as regular expressions - see token regexp&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;block id&amp;lt;code&amp;gt;\&amp;quot;brackets\&amp;quot; begin&amp;lt;/code&amp;gt;\&amp;quot;{\&amp;quot; end&amp;lt;code&amp;gt;\&amp;quot;}\&amp;quot; scanned&amp;lt;/code&amp;gt;\&amp;quot;true\&amp;quot; foldable&amp;lt;code&amp;gt;\&amp;quot;true\&amp;quot; case&amp;lt;/code&amp;gt;\&amp;quot;true\&amp;quot; markup=\&amp;quot;false\&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/block-group&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;the scanner does not implement the complete regular expression specification===&amp;#039;&amp;#039;&amp;#039;===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;token-group id=\&amp;quot;red\&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;#039;&amp;#039;token group&amp;#039;&amp;#039;&lt;br /&gt;
    &amp;lt;token&amp;gt;void&amp;lt;/token&amp;gt;&lt;br /&gt;
       &amp;#039;&amp;#039;this is simple token definition&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;token-list separator=\&amp;quot;,\&amp;quot;&amp;gt;gint,gchar,glong&amp;lt;/token-list&amp;gt;&lt;br /&gt;
       &amp;#039;&amp;#039;this is list of tokens for faster specification&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/token-group&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;token-group id=\&amp;quot;blue\&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;token context=\&amp;quot;brackets\&amp;quot;&amp;gt;~[[Bf Text View]]&amp;lt;/token&amp;gt;&lt;br /&gt;
      &amp;#039;&amp;#039;another token specification&amp;#039;&amp;#039;&lt;br /&gt;
      &amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;context&amp;#039;&amp;#039;&amp;#039; attribute is block id. This token is recognized ONLY if found inside specified block&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;token name&amp;lt;code&amp;gt;\&amp;quot;number\&amp;quot; regexp&amp;lt;/code&amp;gt;\&amp;quot;true\&amp;quot;&amp;gt;~[[0-9]]+.?~[[0-9]]*&amp;lt;/token&amp;gt;&lt;br /&gt;
      &amp;#039;&amp;#039;yet another, but this time we specify token as regular expression&amp;#039;&amp;#039;&lt;br /&gt;
      &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;name&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;   - &amp;#039;&amp;#039;optional name for token&amp;#039;&amp;#039;&lt;br /&gt;
      &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;regexp&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; - &amp;#039;&amp;#039;if TRUE it means token text should be recognized as regular expression&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;the scanner does not implement the complete regular expression specification===&amp;#039;&amp;#039;&amp;#039;===&lt;br /&gt;
&lt;br /&gt;
                   &amp;#039;&amp;#039;You can use:&amp;#039;&amp;#039;&lt;br /&gt;
                     &amp;#039;&amp;#039;~[[]] - for set of characters f.e. ~[[a-z34$]] means characters from a to z and 3, 4 and $&amp;#039;&amp;#039;&lt;br /&gt;
                     &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; - for zero or more times f.e. a&amp;#039;&amp;#039;&amp;#039; means character a zero or more times&amp;#039;&amp;#039;&lt;br /&gt;
                     &amp;#039;&amp;#039;+ - for one or more times&amp;#039;&amp;#039;&lt;br /&gt;
                     &amp;#039;&amp;#039;? - for zero or one times (optional)&amp;#039;&amp;#039;&lt;br /&gt;
                     &amp;#039;&amp;#039;~[[^]] - means negation of the set so ~[[^a-z]] is everything but a-z chars&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/token-group&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;restricted-tags&amp;gt;&lt;br /&gt;
 &amp;#039;&amp;#039;This section defines specific tags to be recognized&amp;#039;&amp;#039;&lt;br /&gt;
 &amp;lt;tag name&amp;lt;code&amp;gt;\&amp;quot;html\&amp;quot; attributes&amp;lt;/code&amp;gt;\&amp;quot;xml:lang,id\&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;name&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; - &amp;#039;&amp;#039;tag name&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;attributes&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; - &amp;#039;&amp;#039;list of allowed attributes separated by comma&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/restricted-tags&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/bflang&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
</feed>