DotNetFireball Codebeispiele

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Cross.

    DotNetFireball Codebeispiele

    Hallo,

    ich bin im VB 2010 am experimentieren mit DotNetFireball (CodeEditor).
    Dieses Framework unterstützt jede Menge Sachen, jedoch gibt es fast
    keine Beschreibungen wie diese Umzusetzen sind ...

    Insbesondere interessiert mich das Gruppieren von z.B. XML-Tags also Folding
    und ein erweitertes Syntax-Highlighting End-Bzw. StartTags mitselektieren.

    Über Beispielprojekte und Sources (Die nicht nur den FireBall-CodeEditor betreffen)
    wäre ich echt dankbar !


    Einbinden in Visual Studio

    Visual Studio öffnen und ein neues Projekt erstellen.
    In der Toolbox rechte Maustaste und auf "Elemente auswählen"
    Im Ordner von Fireball den "Fireball.CodeEditor" auswählen.
    Dann auf "Projekt" "Verweis hinzufügen" wieder im Ordner Fireball
    alle Librarys auswählen, die mit "Fireball." beginnen.
    In der Toolbox ist nun das FireBall Element und kann verwendet werden.

    ACHTUNG! Fireball geht lt. Forenbeiträgen nicht für alle .Net Frameworks.
    Das Framework kann unter "My Project" - "Kompilieren" - "Erweiterte Kompilierunsoptionen"
    auf .Net FrameWork >= 3.5 umgestellt werden.



    Komponente hinzufügen und mit Text befüllen

    Komponente auf die Form ziehen.
    Imports einfügen:

    VB.NET-Quellcode

    1. Imports Fireball.CodeEditor.SyntaxFiles
    2. Imports Fireball.Syntax
    3. Imports Fireball.Windows.Forms

    unter Document.Text kann der gesamte Text gesetzt werden.
    mit Document ([Zeile]) kann auf eine Zeile zugegriffen werden.
    TXT_FireBall.Document([Zeile]).text



    Syntax laden aus Vorlagen

    Um z.B. die HTML-Vorlage zu laden:

    VB.NET-Quellcode

    1. CodeEditorSyntaxLoader.SetSyntax(TXT_FireBall, SyntaxLanguage.HTML)
    Bookmark oder Breakpoint auf eine Zeile setzen



    VB.NET-Quellcode

    1. ' Erste Zeile auf Bookmarked setzen
    2. CodeEditorControl1.Document(0).Bookmarked = True
    3. ' Erste Zeile auf Bookmarked setzen
    4. CodeEditorControl1.Document(0).Breakpoint = True




    Linksammlung bzgl. FireBall


    SyntaxBox -> Version auf die Fireball aufgebaut ist, Befehle sind bei
    Fireball unter .Document.

    Aufbau von Syntax-Dateien Bsp. XML


    XML-Quellcode

    1. <?xml version="1.0" encoding="utf-8" ?>
    2. <Language Name="XML" Startblock="text">
    3. <FileTypes>
    4. <FileType Extension=".xml" Name="XML file" />
    5. <FileType Extension=".xsl" Name="XSL/XSLT file" />
    6. </FileTypes>
    7. <Block Name="text" Style="text" EscapeChar="" IsMultiline="true">
    8. <Keywords></Keywords>
    9. <Operators>
    10. <PatternGroup Name="HTML Chars" Style="HTML Chars">
    11. <Pattern Text="&amp;AElig;" />
    12. <Pattern Text="&amp;Aacute;" />
    13. <Pattern Text="&amp;Acirc;" />
    14. <Pattern Text="&amp;Agrave;" />
    15. <Pattern Text="&amp;Aring;" />
    16. <Pattern Text="&amp;Atilde;" />
    17. <Pattern Text="&amp;Auml;" />
    18. <Pattern Text="&amp;Ccedil;" />
    19. <Pattern Text="&amp;ETH;" />
    20. <Pattern Text="&amp;Eacute;" />
    21. <Pattern Text="&amp;Ecirc;" />
    22. <Pattern Text="&amp;Egrave;" />
    23. <Pattern Text="&amp;Euml;" />
    24. <Pattern Text="&amp;Iacute;" />
    25. <Pattern Text="&amp;Icirc;" />
    26. <Pattern Text="&amp;Yacute;" />
    27. <Pattern Text="&amp;aacute;" />
    28. <Pattern Text="&amp;acirc;" />
    29. <Pattern Text="&amp;curren;" />
    30. <Pattern Text="&amp;deg;" />
    31. <Pattern Text="&amp;divide;" />
    32. <Pattern Text="&amp;eacute;" />
    33. <Pattern Text="&amp;ecirc;" />
    34. <Pattern Text="&amp;egrave;" />
    35. </PatternGroup>
    36. </Operators>
    37. <ChildBlocks>
    38. <Child Name="ASP Header" />
    39. <Child Name="ASP" />
    40. <Child Name="PHP" />
    41. <Child Name="HTML Comment" />
    42. <Child Name="HTML gnu" />
    43. <Child Name="HTML StyleMain" />
    44. <Child Name="HTML JavaScriptMain" />
    45. <Child Name="HTML Tag" />
    46. </ChildBlocks>
    47. </Block>
    48. <Block
    49. Name="HTML JavaScriptMain" Style="HTML JavaScript" IsMultiline="true"
    50. TerminateChildren="true" BackColor="WhiteSmoke">
    51. <Scope
    52. Start="&lt;script language=&quot;javascript&quot;&gt;"
    53. End="&lt;/script&gt;" Style="HTML JavaScript Pattern"
    54. Text="&lt;Script&gt;" SpawnBlockOnStart="HTML JavaScript" />
    55. </Block>
    56. <Block Name="HTML StyleMain" Style="HTML Style" IsMultiline="true" TerminateChildren="true">
    57. <Scope
    58. Start="&lt;Style&gt;" End="&lt;/Style&gt;" Style="HTML
    59. Style Pattern" Text="&lt;Style&gt;" />
    60. <ChildBlocks>
    61. <Child Name="ASP" />
    62. <Child Name="HTML Style Comment" />
    63. <Child Name="HTML Style" />
    64. </ChildBlocks>
    65. </Block>
    66. <Block Name="HTML Style" Style="HTML Style Attrib" IsMultiline="true" TerminateChildren="true">
    67. <Scope Start="{" End="}" Style="HTML Style" Text="{...}" />
    68. <ChildBlocks>
    69. <Child Name="ASP" />
    70. <Child Name="HTML Style Comment" />
    71. <Child Name="HTML Style Value" />
    72. </ChildBlocks>
    73. </Block>
    74. <Block Name="HTML Style Value" Style="HTML Style Value" IsMultiline="true">
    75. <Scope Start=":" End=";" Style="HTML Style Value" Text=":...;" />
    76. <ChildBlocks>
    77. <Child Name="ASP" />
    78. <Child Name="HTML Style Comment" />
    79. </ChildBlocks>
    80. </Block>
    81. <Block Name="HTML Style Comment" Style="HTML Comment" IsMultiline="true">
    82. <Scope Start="/*" End="*/" Style="HTML Comment" Text="/*...*/" />
    83. <ChildBlocks>
    84. <Child Name="ASP" />
    85. </ChildBlocks>
    86. </Block>
    87. <Block Name="HTML JavaScript" Style="HTML JavaScript" IsMultiline="true">
    88. <Scope Start="{" End="}" Style="" Text="{...}" />
    89. <Keywords>
    90. <PatternGroup Name="Keywords" Style="ASP Keywords">
    91. <Patterns>
    92. boolean
    93. break byte
    94. case catch char class const continue
    95. debugger default delete do double
    96. else enum export extends
    97. false final finally float for function
    98. goto
    99. if implements import in instanceof int interface
    100. long
    101. native new null
    102. package private protected public
    103. return
    104. short static super switch synchronized
    105. this throw throws transient true try typeof
    106. var void volatile
    107. while with
    108. </Patterns>
    109. </PatternGroup>
    110. <PatternGroup Name="Functions" Style="ASP Functions">
    111. <Patterns>
    112. abs acos alert anchor apply asin atan atan2 atob attachEvent
    113. back big blink blur bold borderWidths btoa
    114. call
    115. captureEvents ceil charAt charCodeAt clear clearInterval clearTimeout
    116. click close compile concat confirm contextual cos createElement
    117. createEventObject createPopup createStyleSheet createTextNode
    118. detachEvent disableExternalCapture dump
    119. elementFromPoint enableExternalCapture escape eval exec execCommand execScript exp
    120. fileCreatedDate
    121. fileModifiedDate fileSize fileUpdatedDate find firstChild fixed floor
    122. focus fontcolor fontsize fromCharCode forward
    123. getAttention getDate
    124. getDay getElementById getElementsByName getElementsByTagName getFullYear
    125. getHours getMilliseconds getMinutes getMonth getSeconds getSelection
    126. getTime getTimezoneOffset getUTCDate getUTCDay getUTCFullYear
    127. getUTCHours getUTCMilliseconds getUTCMinutes getUTCMonth getUTCSeconds
    128. getYear go
    129. handleEvent home
    130. indexOf isFinite isNaN italics
    131. javaEnabled join
    132. lastIndexOf link load log
    133. margins match max mergeAttributes min moveAbove moveBelow moveBy moveTo moveToAbsolute
    134. navigate
    135. open
    136. paddings parse parseFloat parseInt plugins.refresh pop pow preference print prompt push
    137. queryCommandEnabled queryCommandIndeterm queryCommandState queryCommandValue
    138. random recalc releaseCapture releaseEvents reload replace reset resizeBy resizeTo returnValue reverse round routeEvents
    139. savePreferences
    140. scroll scrollBy scrollByLines scrollByPages scrollTo scrollX scrollY
    141. search select setDate setFullYear setActive setCursor setHotKeys
    142. setHours setInterval setMilliseconds setMinutes setMonth setResizable
    143. setSeconds setTime setTimeout setUTCDate setUTCFullYear setUTCHours
    144. setUTCMilliseconds setUTCMinutes setUTCMonth setUTCSeconds setYear
    145. setZOptions shift showHelp showModalDialog showModelessDialog sidebar
    146. sin signText sizeToContent slice small sort splice split sqrt strike
    147. stop sub submit substr substring sup
    148. taint taintEnabled tan test toGMTString toLocaleString toLowerCase toSource toString toUpperCase toUTCString
    149. UTC
    150. unescape unshift untaint updateCommands unwatch
    151. valueOf
    152. watch write writeln
    153. </Patterns>
    154. </PatternGroup>
    155. </Keywords>
    156. <Operators>
    157. <PatternGroup Name="Operators2" Style="ASP Comment">
    158. <Pattern Text="--&gt;" />
    159. <Pattern Text="&lt;!--" />
    160. </PatternGroup>
    161. <PatternGroup Name="Operators" Style="Javascript Operators">
    162. <Pattern Text="+" />
    163. <Pattern Text="-" />
    164. <Pattern Text="*" />
    165. <Pattern Text="/" />
    166. <Pattern Text="^" />
    167. <Pattern Text="." />
    168. <Pattern Text=":" />
    169. <Pattern Text=";" />
    170. <Pattern Text="=" />
    171. <Pattern Text="&gt;" />
    172. <Pattern Text="&lt;" />
    173. <Pattern Text="&amp;" />
    174. <Pattern Text="|" />
    175. </PatternGroup>
    176. <PatternGroup Name="Comment" Style="ASP Comment">
    177. <Pattern Text="'[a-z,A-Z,0-9 ]*" IsComplex="true" />
    178. </PatternGroup>
    179. </Operators>
    180. <ChildBlocks>
    181. <Child Name="HTML JavaScript" />
    182. <Child Name="Script String" />
    183. <Child Name="Script String2" />
    184. <Child Name="Script MultiComment" />
    185. <Child Name="ASP" />
    186. </ChildBlocks>
    187. </Block>
    188. <!-- this block is the HTML tags in HTML comments-->
    189. <Block Name="HTML Tag" Style="HTML Tag" EscapeChar="" IsMultiline="true">
    190. <Scope Start="&lt;" End="&gt;" Style="HTML Tag Pattern" Text="&lt;...&gt;" />
    191. <Operators>
    192. <PatternGroup Name="HTML Attrib" Style="HTML Attrib">
    193. <!-- operator is the attributes that can exist within HTML tags-->
    194. <Pattern Text="(\s[a-zA-Z:]+)" IsComplex="true" />
    195. </PatternGroup>
    196. </Operators>
    197. <ChildBlocks>
    198. <Child Name="ASP" />
    199. <Child Name="HTML String" />
    200. </ChildBlocks>
    201. </Block>
    202. <Block Name="HTML String" Style="HTML String" EscapeChar="" IsMultiline="false">
    203. <Scope Start="&quot;" End="&quot;" Style="HTML String Pattern" Text="" />
    204. <ChildBlocks>
    205. <Child Name="ASP" />
    206. </ChildBlocks>
    207. </Block>
    208. <Block Name="HTML Comment" Style="HTML Comment" EscapeChar="" IsMultiline="true">
    209. <Scope Start="&lt;!--" End="--&gt;" Style="HTML Comment" Text="&lt;!--...--&gt;" />
    210. <ChildBlocks>
    211. <Child Name="ASP" />
    212. </ChildBlocks>
    213. </Block>
    214. <Block Name="HTML gnu" Style="HTML gnu" EscapeChar="" IsMultiline="true">
    215. <Scope Start="&lt;!" End="&gt;" Style="HTML Tag Pattern" Text="&lt;!...&gt;" />
    216. </Block>
    217. <Block Name="ASP Header" Style="ASP Pattern" EscapeChar="" IsMultiline="true">
    218. <Scope Start="&lt;%@" End="%&gt;" Style="ASP Pattern" Text="&lt;%@...%&gt;" />
    219. </Block>
    220. <!--ASP ASP ASP ASP -->
    221. <Block Name="ASP" Style="ASP" EscapeChar="" IsMultiline="true" TerminateChildren="true">
    222. <Keywords>
    223. <PatternGroup Name="Keywords" Style="ASP Keywords">
    224. <Pattern Text="End Function" IsSeparator="true" />
    225. <Pattern Text="End Sub" IsSeparator="true" />
    226. <Pattern Text="End Property" IsSeparator="true" />
    227. <Patterns>
    228. And As
    229. Call Case Class Const
    230. Dim Do
    231. Each Else ElseIf Empty End Eqv Erase Error Execute Exit Explicit
    232. For Function
    233. Get Goto
    234. If Imp Is
    235. Let Loop
    236. Mod
    237. Next New Not Nothing Null
    238. On Option Or
    239. Private Property Public
    240. Randomize ReDim Rem Resume
    241. Select Set Stop Sub
    242. Then To
    243. Until
    244. Wend While With
    245. True False
    246. </Patterns>
    247. </PatternGroup>
    248. <PatternGroup Name="Functions" Style="ASP Functions">
    249. <Patterns>
    250. Server Request Response Session Application
    251. </Patterns>
    252. </PatternGroup>
    253. </Keywords>
    254. <Operators>
    255. <PatternGroup Name="Operators" Style="ASP Operators">
    256. <Pattern Text="+" />
    257. <Pattern Text="-" />
    258. <Pattern Text="*" />
    259. <Pattern Text="/" />
    260. <Pattern Text="^" />
    261. <Pattern Text="." />
    262. <Pattern Text="=" />
    263. <Pattern Text="&gt;" />
    264. <Pattern Text="&lt;" />
    265. </PatternGroup>
    266. </Operators>
    267. <Scope Start="&lt;%" End="%&gt;" Style="ASP Pattern" Text="&lt;%...%&gt;" />
    268. <ChildBlocks>
    269. <Child Name="ASP String" />
    270. <Child Name="ASP Comment" />
    271. </ChildBlocks>
    272. </Block>
    273. <Block Name="ASP String" Style="ASP String" EscapeChar="" IsMultiline="false">
    274. <Scope Start="&quot;" End="&quot;" Style="ASP String" Text="" />
    275. </Block>
    276. <Block Name="ASP Comment" Style="ASP Comment" EscapeChar="" IsMultiline="false">
    277. <Scope Start="'" End="" Style="ASP Comment" Text="" IsMultiline="false" />
    278. </Block>
    279. <Block Name="Script String" Style="Script String" EscapeChar="" IsMultiline="false">
    280. <Scope Start="'" End="'" Style="Script String" Text="" />
    281. </Block>
    282. <Block Name="Script String2" Style="Script String" EscapeChar="" IsMultiline="false">
    283. <Scope Start="&quot;" End="&quot;" Style="Script String" Text="" />
    284. </Block>
    285. <Block Name="Script MultiComment" Style="Script Comment" EscapeChar="" IsMultiline="true">
    286. <Scope Start="/*" End="*/" Style="Script Comment" Text="/*...*/" />
    287. </Block>
    288. <Style Name="Text" ForeColor="Black" BackColor="" Bold="false" Italic="false" Underline="false" />
    289. <Style Name="HTML Tag" ForeColor="DarkRed" BackColor="" Bold="false" Italic="false" Underline="false" />
    290. <Style Name="HTML Tag Pattern" ForeColor="Blue" BackColor="" Bold="false" Italic="false" Underline="false" />
    291. <Style Name="HTML String Pattern" ForeColor="blue" BackColor="" Bold="false" Italic="false" Underline="false" />
    292. <Style Name="ASP Comment" ForeColor="green" BackColor="" Bold="false" Italic="false" Underline="false" />
    293. <Style Name="ASP String" ForeColor="Teal" BackColor="" Bold="true" Italic="false" Underline="false" />
    294. <Style Name="HTML Chars" ForeColor="red" BackColor="" Bold="true" Italic="false" Underline="false" />
    295. <Style
    296. Name="HTML JavaScript Pattern" ForeColor="black" BackColor="Yellow"
    297. Bold="false" Italic="false" Underline="false" />
    298. <Style Name="HTML JavaScript" ForeColor="black" BackColor="" Bold="false" Italic="false" Underline="false" />
    299. <Style Name="Script Operators" ForeColor="red" BackColor="" Bold="false" Italic="false" Underline="false" />
    300. <Style Name="Script Comment" ForeColor="green" BackColor="" Bold="false" Italic="false" Underline="false" />
    301. <Style Name="Script String" ForeColor="Teal" BackColor="" Bold="true" Italic="false" Underline="false" />
    302. </Language>