opendir has moved servers and i cant be assed to reconfigure the clusterfuck that is Histoire, enjoy the new look!

if you're missing any directory headers or footers then try with these: header / footer

SYNTAX FILE REFERENCE

 

SYNTAX FILE REFERENCE

 

 

TAGS and ATTRIBUTES

 

 

 

TAG NAME                             TYPE                      

<Language ... >          Root/Required

 

Description:

The root tag of the XML document , marks the start and end of the syntax description file.

Only 1 Occurrence of this tag per document is allowed.      

 

 

Example:              

                <?xml version="1.0" encoding="utf-8" ?>

       <Language Name="Visual C#" Startblock="CS Code">

              ...

       </Language>

 

                               

Attributes:

 

ATTRIBUTE NAME                         TYPE       ATTRIBUTE VALUE                                                               DEFAULT VALUE

·          Name                                       Required  Name of the syntax/language                                                 ""

·          Startblock                                                Required  Name reference to a <Block> tag                                           ""

 

Child tags:

 

TAG NAME                    

·          <FileTypes>

·          <Block>

·          <Style>

 

 

TAG NAME                             TYPE

<FileTypes>                 Optional

 

Description:

Optional tag that contains a list of file types associated with this syntax

 

                               

Example:              

       <Language Name="Visual C#" Startblock="CS Code">

              <FileTypes>

                     <FileType Extension=".cs" Name="C# code file"/>

              </FileTypes>

       ...

 

 

Attributes:

 

ATTRIBUTE NAME                         TYPE       ATTRIBUTE VALUE                                                               DEFAULT VALUE

·          -                              

 

Child tags:

 

TAG NAME                    

·          <FileType>

 

 

TAG NAME                             TYPE

<FileType ... >              Min 1 Occurrence

 

Description:

This tag associates a name and a file extension with this syntax.

NOTE: this is only an internal association, this will not affect the Windows file type associations.

 

 

Example:              

       <Language Name="Visual C#" Startblock="CS Code">

              <FileTypes>

                     <FileType Extension=".cs" Name="C# code file"/>

              </FileTypes>

       ...

                               

 

Attributes:

 

ATTRIBUTE NAME                         TYPE       ATTRIBUTE VALUE                                                               DEFAULT VALUE

·          Name                                       Required  Name of a file type associated with this syntax                     ""

·          Extension                                                Required  File of a file type associated with this syntax                        ""            

 

Child tags:

 

TAG NAME                    

·          -

 

 

TAG NAME                             TYPE

<Block ... >                     Min 1 Occurrence

 

Description:

A Block describes the behaviour of a section of text , e.g. a code section , a comment section or a string section.

The Block tag describes what scopes , keywords , operators and child blocks that may appear in a block.

                               

 

Example:

                ...

       <Block Name="CS Char" Style="CS String" IsMultiline="false">

              <Scope Start="'" End="'"  EscapeChar="\" Style="CS String" />

       </Block>

       ...

 

 

Attributes:

 

ATTRIBUTE NAME                         TYPE       ATTRIBUTE VALUE                                                               DEFAULT VALUE

·          Name                                       Required  Name of the Block                                                                   ""

·          Style                                        Required  Name reference to a <Style> tag                                            ""

·          IsMultiline                                 Optional   Determines if the block may span multiple rows                     "false"

·          BackColor                                Optional   Sets a named web color for the block background                                “”

·          TerminateChildren                   Optional   Sets if child blocks should end when this blocks end scope “false”

Is found inside a childblock

 

 

Child tags:

 

TAG NAME                    

·          <Scope>

·          <Bracket>

·          <Keywords>

·          <Operators>

·          <ChildBlocks>

 

 

 

TAG NAME                             TYPE

<Scope ... >                   Optional for start block/Min 1 Occurrence for child blocks

 

Description:

The Scope tag defines the start and end patterns of a block.

Multiple scopes are allowed for a block , e.g.:

PHP might have <? and <?PHP as scope patterns.

VB might have ' and REM as comment start scopes.

 

NOTE: Scopes also enables bracket matching for the start and end patterns.

(See also: <Bracket>)

 

 

Example:

       ...

       <Block Name="CS Char" Style="CS String" IsMultiline="false">

              <Scope Start="'" End="'"  EscapeChar="\" Style="CS String" />

       </Block>

       ...

                               

 

Attributes:

 

ATTRIBUTE NAME                 TYPE       ATTRIBUTE VALUE                                                               DEFAULT VALUE

·          Start                                        Required  Scope start pattern                                                                 ""

·          StartIsKeyWord                       Optional   Sets if the start pattern should use keyword behaviour        "false"

·          StartIsComplex                        Optional   Sets if the start pattern should use RegEx matching              "false"    

·          End                                          Required  Scope end pattern                                                                  ""

·          EndIsKeyWord                        Optional   Sets if the end pattern should use keyword behaviour         "false"

·          EndIsComplex                          Optional   Sets if the end pattern should use RegEx matching               "false"    

·          EndIsSeparator                       Optional   Sets if the end pattern should render a separator line           "false"

·          Style                                        Required  Name reference to a <Style> tag                                            ""

·          PatternStyle                             Optional   <Style> to be applied to the scope start/end pattern              ""

·          Text                                         Optional   Text to display in a collapsed/folded section                          ""

·          EscapeChar                            Optional   Escape char/pattern (e.g. "\" for c#)                                      ""

·          SpawnBlockOnStart                               Optional   Name Reference to a <Block> tag to start directly after

This blocks start pattern is found

 

 

Child tags:

 

TAG NAME                    

·          -

 

 

TAG NAME                             TYPE

<Bracket ... >                Optional

 

Description:

The Bracket tag defines the start and end patterns for a bracket matching.

NOTE: bracket matching is also applied on scope patterns, the Bracket tag is only useful when you do not want to trigger a folding section.

(See also: <Scope>)

 

Example:                              

       ...

       <Block Name="CS Code" Style="CS Code" IsMultiline="true">

              <Scope Start="{" End="}" Style="CS Scope" Text="{...}" CauseIndent="true" />

              <Scope Start="#if" End="#endif" Style="CS Region" Text="#if...endif"  />

              <Scope Start="#region" End="#endregion" Style="CS Region" Text="" DefaultExpanded="false" />

              <Bracket Start="(" End=")" Style="CS Code" />

              <Bracket Start="[" End="]" Style="CS Code" />

       ...

 

Attributes:

 

ATTRIBUTE NAME                         TYPE       ATTRIBUTE VALUE                                                               DEFAULT VALUE

·          Start                                        Required  Bracket match start pattern                                                    ""

·          StartIsKeyWord                       Optional   Sets if the start pattern should use keyword behaviour        "false"

·          StartIsComplex                        Optional   Sets if the start pattern should use RegEx matching              "false"    

·          End                                          Required  Bracket match end pattern                                                      ""

·          EndIsKeyWord                        Optional   Sets if the end pattern should use keyword behaviour         "false"

·          EndIsComplex                          Optional   Sets if the end pattern should use RegEx matching               "false"    

·          EndIsSeparator                       Optional   Sets if the end pattern should render a separator line           "false"

·          Style                                        Required  Name reference to a <Style> tag                                            ""

·          Text                                         Optional   Text to display in a collapsed/folded section                          ""

                               

 

Child tags:

 

TAG NAME                    

·          -

 

 

TAG NAME                             TYPE

<Keywords>                            Optional

 

Description:

Optional tag that contains a list of pattern groups.

NOTE: pattern groups contained in the Keywords tag are always treated as keywords, meaning they are only tokenised when surrounded by separator chars.

(See also: <Operators>)

                               

 

Example:

       ...

       <Keywords>

              <PatternGroup Name="Keywords" Style="CS Keyword" CaseSensitive="true">

                     <Patterns>

                     abstract base break byte case catch checked class const continue

                     default delegate do value

                    

                     ...

                          

                     virtual

                     while

                     </Patterns>

              </PatternGroup>

              <PatternGroup Name="Numbers" Style="CS Number">

                     <Pattern Text="(0x[0-9a-fA-F]+)" IsComplex="true" />

                     <Pattern Text="([0-9]+)" IsComplex="true" />

              </PatternGroup>

       </Keywords>

       ...

 

 

Attributes:

 

ATTRIBUTE NAME                         TYPE       ATTRIBUTE VALUE                                                               DEFAULT VALUE

·          -

 

 

Child tags:

 

TAG NAME                    

·          <PatternGroup>

 

 

TAG NAME                             TYPE

<PatternGroup ... >Min 1 Occurrence

 

Description:

Describes a group of either keywords or operators.

NOTE: Operators in this context means separator chars such as :;()[] and whitespace , text patterns that are considered to be operators

in syntaxes such as C++ , e.g. the word "new" are considered to be keywords in this context.

 

 

Example:

       ...

       <Keywords>

              <PatternGroup Name="Keywords" Style="CS Keyword" CaseSensitive="true">

                     <Patterns>

                     abstract base break byte case catch checked class const continue

                     default delegate do value

                    

                     ...

                    

                     virtual

                     while

                     </Patterns>

              </PatternGroup>

       ...

                               

 

                                Attributes:

 

ATTRIBUTE NAME                         TYPE       ATTRIBUTE VALUE                                                               DEFAULT VALUE

·          Name                                       Required  Name of the pattern group                                                      ""

·          Style                                        Required  Name reference to a <Style> tag                                            ""

·          CaseSensitive                         Optional   Sets if the pattern group members are case sensitive           "false"    

·          NormalizeCase                        Optional   Sets if the pattern group members should be auto cased      "false"

 

 

Child tags:

 

TAG NAME                    

·          <Pattern>

·          <Patterns>

 

 

 

TAG NAME                             TYPE

<Pattern>                        Optional

 

Description:

Describes a simple (String) or complex (RegEx) pattern that should be tokenised by the parser.

 

 

Example:

       ...

       <PatternGroup Name="Numbers" Style="CS Number">

              <Pattern Text="(0x[0-9a-fA-F]+)" IsComplex="true" />

              <Pattern Text="([0-9]+)"          IsComplex="true" />

       </PatternGroup>

       ...

                               

 

Attributes:

 

ATTRIBUTE NAME                 TYPE       ATTRIBUTE VALUE                                                               DEFAULT VALUE

·          Text                                         Required  Pattern                                                                                     ""                            

·          IsComplex                                Optional   Sets if the pattern should use RegEx matching                      "false"    

·          IsSeparator                             Optional   Sets if the pattern should render a separator line                  "false"    

 

·          Category                                 Optional   Assigns a category to a pattern.                                            ""

Categories can be used to trigger mouse events for patterns.

eg. you might want to display a "hand" cursor for

patterns assigned to the "URL" category

 

 

Child tags:

 

TAG NAME                    

·          -

 

 

 

TAG NAME                             TYPE

<Patterns>                     Optional

 

Description:

A whitespace separated list of simple patterns.

 

 

Example:

...

       <PatternGroup Name="Keywords" Style="CS Keyword" CaseSensitive="true">

              <Patterns>

                     abstract base break byte case catch checked class const continue

                     default delegate do value

                     virtual

                     while

              </Patterns>

       </PatternGroup>

       ...

 

 

                               

Attributes:

 

ATTRIBUTE NAME                         TYPE       ATTRIBUTE VALUE                                                               DEFAULT VALUE

·          -

 

Child tags:

 

TAG NAME                    

·          -

 

 

TAG NAME                             TYPE

<Operators>                 Optional

 

Description:

Optional tag that contains a list of pattern groups.

NOTE: pattern groups contained in the Operators tag are always treated as operators , meaning they are always tokenised no matter what chars that surround them

(See also: <Keywords>)

 

 

Example:

       ...

       <Operators>

              <PatternGroup name="Operators" Style="CS Operator">

                     <Patterns>

                           . * / [ ]

                     </Pattern>

              </PatternGroup>

       </Operators>

       ...

 

                               

Attributes:

 

ATTRIBUTE NAME                         TYPE       ATTRIBUTE VALUE                                                               DEFAULT VALUE

·          -

 

 

Child tags:

 

TAG NAME                    

·          <PatternGroup>

 

 

TAG NAME                             TYPE

<ChildBlocks>           Optional

 

Description:

Optional tag that contains a list of name references to child blocks

(See also: <Child>)

 

 

Example:

       ...

              <ChildBlocks>

                     <Child Name="CS XML Comment" />

                     <Child Name="CS Multiline Comment" />

                     <Child Name="CS Singleline Comment" />

                     <Child Name="CS String" />

                     <Child Name="CS Char" />

                     <Child Name="CS Literal String" />

                     <Child Name="CS Literal Char" />

                     <Child Name="CS Code" />

              </ChildBlocks>

       </Block>

       ...

 

                               

Attributes:

 

ATTRIBUTE NAME                         TYPE       ATTRIBUTE VALUE                                                               DEFAULT VALUE

·          -

 

 

Child tags:

 

TAG NAME                    

·          <Child>

 

 

 

TAG NAME                             TYPE

<Child ... >                      Min 1 Occurrence

 

Description:

Tag that describes a parent-child relation from the containing block to the named block reference.

(See also: <ChildBlocks>)

 

 

Example:

       ...

              <ChildBlocks>

                     <Child Name="CS XML Comment" />

                     <Child Name="CS Multiline Comment" />

                     <Child Name="CS Singleline Comment" />

                     <Child Name="CS String" />

                     <Child Name="CS Char" />

                     <Child Name="CS Literal String" />

                     <Child Name="CS Literal Char" />

                     <Child Name="CS Code" />

              </ChildBlocks>

       </Block>

       ...

 

                               

Attributes:

 

ATTRIBUTE NAME                         TYPE       ATTRIBUTE VALUE                                                               DEFAULT VALUE

·          Name                                       Required  Name reference to a <Block> tag                                           ""

 

 

Child tags:

 

TAG NAME                    

·          -

 

 

TAG NAME                             TYPE

<Style ... >                     Min 1 Occurrence

 

Description:

Tag that defines text styles.

               

 

Example:

...

<Style        Name="CS Operator"

ForeColor="Red"

BackColor=""

Bold="false"

Italic="false"

Underline="false" />

 

<Style        Name="CS Keyword"

ForeColor="Blue"

BackColor=""

Bold="true" 

Italic="false"

Underline="false" />

 

<Style        Name="CS Datatype"

ForeColor="DarkBlue"

BackColor=""

Bold="true" 

Italic="false"

Underline="false" />

</Language>

...

 

                               

Attributes:

 

ATTRIBUTE NAME                         TYPE       ATTRIBUTE VALUE                                                               DEFAULT VALUE

·          Name                                       Required  Name of the style                                                                    ""

·          ForeColor                                                Required  Style forecolor (named web color)                                         ""

·          BackColor                                Required  Style backcolor (named web color)                                        ""

·          Bold                                         Required  Style bold font                                                                         ""

·          Italic                                         Required  Style italic font                                                                         ""

·          Underline                                 Required  Style underline font                                                                 ""

                               

 

 

Child tags:

 

TAG NAME                    

·          -