├── .gitignore ├── LICENSE ├── README.md ├── Test.md ├── image.png ├── mainformu.lfm ├── mainformu.pas ├── markdownlogo.png ├── mdEditor.ico ├── mdEditor.lpi └── mdEditor.lpr /.gitignore: -------------------------------------------------------------------------------- 1 | backup 2 | lib 3 | resources 4 | images 5 | *.bak 6 | *.exe 7 | *.lps 8 | *.res 9 | *.ico 10 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Mozilla Public License Version 2.0 2 | ================================== 3 | 4 | 1. Definitions 5 | -------------- 6 | 7 | 1.1. "Contributor" 8 | means each individual or legal entity that creates, contributes to 9 | the creation of, or owns Covered Software. 10 | 11 | 1.2. "Contributor Version" 12 | means the combination of the Contributions of others (if any) used 13 | by a Contributor and that particular Contributor's Contribution. 14 | 15 | 1.3. "Contribution" 16 | means Covered Software of a particular Contributor. 17 | 18 | 1.4. "Covered Software" 19 | means Source Code Form to which the initial Contributor has attached 20 | the notice in Exhibit A, the Executable Form of such Source Code 21 | Form, and Modifications of such Source Code Form, in each case 22 | including portions thereof. 23 | 24 | 1.5. "Incompatible With Secondary Licenses" 25 | means 26 | 27 | (a) that the initial Contributor has attached the notice described 28 | in Exhibit B to the Covered Software; or 29 | 30 | (b) that the Covered Software was made available under the terms of 31 | version 1.1 or earlier of the License, but not also under the 32 | terms of a Secondary License. 33 | 34 | 1.6. "Executable Form" 35 | means any form of the work other than Source Code Form. 36 | 37 | 1.7. "Larger Work" 38 | means a work that combines Covered Software with other material, in 39 | a separate file or files, that is not Covered Software. 40 | 41 | 1.8. "License" 42 | means this document. 43 | 44 | 1.9. "Licensable" 45 | means having the right to grant, to the maximum extent possible, 46 | whether at the time of the initial grant or subsequently, any and 47 | all of the rights conveyed by this License. 48 | 49 | 1.10. "Modifications" 50 | means any of the following: 51 | 52 | (a) any file in Source Code Form that results from an addition to, 53 | deletion from, or modification of the contents of Covered 54 | Software; or 55 | 56 | (b) any new file in Source Code Form that contains any Covered 57 | Software. 58 | 59 | 1.11. "Patent Claims" of a Contributor 60 | means any patent claim(s), including without limitation, method, 61 | process, and apparatus claims, in any patent Licensable by such 62 | Contributor that would be infringed, but for the grant of the 63 | License, by the making, using, selling, offering for sale, having 64 | made, import, or transfer of either its Contributions or its 65 | Contributor Version. 66 | 67 | 1.12. "Secondary License" 68 | means either the GNU General Public License, Version 2.0, the GNU 69 | Lesser General Public License, Version 2.1, the GNU Affero General 70 | Public License, Version 3.0, or any later versions of those 71 | licenses. 72 | 73 | 1.13. "Source Code Form" 74 | means the form of the work preferred for making modifications. 75 | 76 | 1.14. "You" (or "Your") 77 | means an individual or a legal entity exercising rights under this 78 | License. For legal entities, "You" includes any entity that 79 | controls, is controlled by, or is under common control with You. For 80 | purposes of this definition, "control" means (a) the power, direct 81 | or indirect, to cause the direction or management of such entity, 82 | whether by contract or otherwise, or (b) ownership of more than 83 | fifty percent (50%) of the outstanding shares or beneficial 84 | ownership of such entity. 85 | 86 | 2. License Grants and Conditions 87 | -------------------------------- 88 | 89 | 2.1. Grants 90 | 91 | Each Contributor hereby grants You a world-wide, royalty-free, 92 | non-exclusive license: 93 | 94 | (a) under intellectual property rights (other than patent or trademark) 95 | Licensable by such Contributor to use, reproduce, make available, 96 | modify, display, perform, distribute, and otherwise exploit its 97 | Contributions, either on an unmodified basis, with Modifications, or 98 | as part of a Larger Work; and 99 | 100 | (b) under Patent Claims of such Contributor to make, use, sell, offer 101 | for sale, have made, import, and otherwise transfer either its 102 | Contributions or its Contributor Version. 103 | 104 | 2.2. Effective Date 105 | 106 | The licenses granted in Section 2.1 with respect to any Contribution 107 | become effective for each Contribution on the date the Contributor first 108 | distributes such Contribution. 109 | 110 | 2.3. Limitations on Grant Scope 111 | 112 | The licenses granted in this Section 2 are the only rights granted under 113 | this License. No additional rights or licenses will be implied from the 114 | distribution or licensing of Covered Software under this License. 115 | Notwithstanding Section 2.1(b) above, no patent license is granted by a 116 | Contributor: 117 | 118 | (a) for any code that a Contributor has removed from Covered Software; 119 | or 120 | 121 | (b) for infringements caused by: (i) Your and any other third party's 122 | modifications of Covered Software, or (ii) the combination of its 123 | Contributions with other software (except as part of its Contributor 124 | Version); or 125 | 126 | (c) under Patent Claims infringed by Covered Software in the absence of 127 | its Contributions. 128 | 129 | This License does not grant any rights in the trademarks, service marks, 130 | or logos of any Contributor (except as may be necessary to comply with 131 | the notice requirements in Section 3.4). 132 | 133 | 2.4. Subsequent Licenses 134 | 135 | No Contributor makes additional grants as a result of Your choice to 136 | distribute the Covered Software under a subsequent version of this 137 | License (see Section 10.2) or under the terms of a Secondary License (if 138 | permitted under the terms of Section 3.3). 139 | 140 | 2.5. Representation 141 | 142 | Each Contributor represents that the Contributor believes its 143 | Contributions are its original creation(s) or it has sufficient rights 144 | to grant the rights to its Contributions conveyed by this License. 145 | 146 | 2.6. Fair Use 147 | 148 | This License is not intended to limit any rights You have under 149 | applicable copyright doctrines of fair use, fair dealing, or other 150 | equivalents. 151 | 152 | 2.7. Conditions 153 | 154 | Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted 155 | in Section 2.1. 156 | 157 | 3. Responsibilities 158 | ------------------- 159 | 160 | 3.1. Distribution of Source Form 161 | 162 | All distribution of Covered Software in Source Code Form, including any 163 | Modifications that You create or to which You contribute, must be under 164 | the terms of this License. You must inform recipients that the Source 165 | Code Form of the Covered Software is governed by the terms of this 166 | License, and how they can obtain a copy of this License. You may not 167 | attempt to alter or restrict the recipients' rights in the Source Code 168 | Form. 169 | 170 | 3.2. Distribution of Executable Form 171 | 172 | If You distribute Covered Software in Executable Form then: 173 | 174 | (a) such Covered Software must also be made available in Source Code 175 | Form, as described in Section 3.1, and You must inform recipients of 176 | the Executable Form how they can obtain a copy of such Source Code 177 | Form by reasonable means in a timely manner, at a charge no more 178 | than the cost of distribution to the recipient; and 179 | 180 | (b) You may distribute such Executable Form under the terms of this 181 | License, or sublicense it under different terms, provided that the 182 | license for the Executable Form does not attempt to limit or alter 183 | the recipients' rights in the Source Code Form under this License. 184 | 185 | 3.3. Distribution of a Larger Work 186 | 187 | You may create and distribute a Larger Work under terms of Your choice, 188 | provided that You also comply with the requirements of this License for 189 | the Covered Software. If the Larger Work is a combination of Covered 190 | Software with a work governed by one or more Secondary Licenses, and the 191 | Covered Software is not Incompatible With Secondary Licenses, this 192 | License permits You to additionally distribute such Covered Software 193 | under the terms of such Secondary License(s), so that the recipient of 194 | the Larger Work may, at their option, further distribute the Covered 195 | Software under the terms of either this License or such Secondary 196 | License(s). 197 | 198 | 3.4. Notices 199 | 200 | You may not remove or alter the substance of any license notices 201 | (including copyright notices, patent notices, disclaimers of warranty, 202 | or limitations of liability) contained within the Source Code Form of 203 | the Covered Software, except that You may alter any license notices to 204 | the extent required to remedy known factual inaccuracies. 205 | 206 | 3.5. Application of Additional Terms 207 | 208 | You may choose to offer, and to charge a fee for, warranty, support, 209 | indemnity or liability obligations to one or more recipients of Covered 210 | Software. However, You may do so only on Your own behalf, and not on 211 | behalf of any Contributor. You must make it absolutely clear that any 212 | such warranty, support, indemnity, or liability obligation is offered by 213 | You alone, and You hereby agree to indemnify every Contributor for any 214 | liability incurred by such Contributor as a result of warranty, support, 215 | indemnity or liability terms You offer. You may include additional 216 | disclaimers of warranty and limitations of liability specific to any 217 | jurisdiction. 218 | 219 | 4. Inability to Comply Due to Statute or Regulation 220 | --------------------------------------------------- 221 | 222 | If it is impossible for You to comply with any of the terms of this 223 | License with respect to some or all of the Covered Software due to 224 | statute, judicial order, or regulation then You must: (a) comply with 225 | the terms of this License to the maximum extent possible; and (b) 226 | describe the limitations and the code they affect. Such description must 227 | be placed in a text file included with all distributions of the Covered 228 | Software under this License. Except to the extent prohibited by statute 229 | or regulation, such description must be sufficiently detailed for a 230 | recipient of ordinary skill to be able to understand it. 231 | 232 | 5. Termination 233 | -------------- 234 | 235 | 5.1. The rights granted under this License will terminate automatically 236 | if You fail to comply with any of its terms. However, if You become 237 | compliant, then the rights granted under this License from a particular 238 | Contributor are reinstated (a) provisionally, unless and until such 239 | Contributor explicitly and finally terminates Your grants, and (b) on an 240 | ongoing basis, if such Contributor fails to notify You of the 241 | non-compliance by some reasonable means prior to 60 days after You have 242 | come back into compliance. Moreover, Your grants from a particular 243 | Contributor are reinstated on an ongoing basis if such Contributor 244 | notifies You of the non-compliance by some reasonable means, this is the 245 | first time You have received notice of non-compliance with this License 246 | from such Contributor, and You become compliant prior to 30 days after 247 | Your receipt of the notice. 248 | 249 | 5.2. If You initiate litigation against any entity by asserting a patent 250 | infringement claim (excluding declaratory judgment actions, 251 | counter-claims, and cross-claims) alleging that a Contributor Version 252 | directly or indirectly infringes any patent, then the rights granted to 253 | You by any and all Contributors for the Covered Software under Section 254 | 2.1 of this License shall terminate. 255 | 256 | 5.3. In the event of termination under Sections 5.1 or 5.2 above, all 257 | end user license agreements (excluding distributors and resellers) which 258 | have been validly granted by You or Your distributors under this License 259 | prior to termination shall survive termination. 260 | 261 | ************************************************************************ 262 | * * 263 | * 6. Disclaimer of Warranty * 264 | * ------------------------- * 265 | * * 266 | * Covered Software is provided under this License on an "as is" * 267 | * basis, without warranty of any kind, either expressed, implied, or * 268 | * statutory, including, without limitation, warranties that the * 269 | * Covered Software is free of defects, merchantable, fit for a * 270 | * particular purpose or non-infringing. The entire risk as to the * 271 | * quality and performance of the Covered Software is with You. * 272 | * Should any Covered Software prove defective in any respect, You * 273 | * (not any Contributor) assume the cost of any necessary servicing, * 274 | * repair, or correction. This disclaimer of warranty constitutes an * 275 | * essential part of this License. No use of any Covered Software is * 276 | * authorized under this License except under this disclaimer. * 277 | * * 278 | ************************************************************************ 279 | 280 | ************************************************************************ 281 | * * 282 | * 7. Limitation of Liability * 283 | * -------------------------- * 284 | * * 285 | * Under no circumstances and under no legal theory, whether tort * 286 | * (including negligence), contract, or otherwise, shall any * 287 | * Contributor, or anyone who distributes Covered Software as * 288 | * permitted above, be liable to You for any direct, indirect, * 289 | * special, incidental, or consequential damages of any character * 290 | * including, without limitation, damages for lost profits, loss of * 291 | * goodwill, work stoppage, computer failure or malfunction, or any * 292 | * and all other commercial damages or losses, even if such party * 293 | * shall have been informed of the possibility of such damages. This * 294 | * limitation of liability shall not apply to liability for death or * 295 | * personal injury resulting from such party's negligence to the * 296 | * extent applicable law prohibits such limitation. Some * 297 | * jurisdictions do not allow the exclusion or limitation of * 298 | * incidental or consequential damages, so this exclusion and * 299 | * limitation may not apply to You. * 300 | * * 301 | ************************************************************************ 302 | 303 | 8. Litigation 304 | ------------- 305 | 306 | Any litigation relating to this License may be brought only in the 307 | courts of a jurisdiction where the defendant maintains its principal 308 | place of business and such litigation shall be governed by laws of that 309 | jurisdiction, without reference to its conflict-of-law provisions. 310 | Nothing in this Section shall prevent a party's ability to bring 311 | cross-claims or counter-claims. 312 | 313 | 9. Miscellaneous 314 | ---------------- 315 | 316 | This License represents the complete agreement concerning the subject 317 | matter hereof. If any provision of this License is held to be 318 | unenforceable, such provision shall be reformed only to the extent 319 | necessary to make it enforceable. Any law or regulation which provides 320 | that the language of a contract shall be construed against the drafter 321 | shall not be used to construe this License against a Contributor. 322 | 323 | 10. Versions of the License 324 | --------------------------- 325 | 326 | 10.1. New Versions 327 | 328 | Mozilla Foundation is the license steward. Except as provided in Section 329 | 10.3, no one other than the license steward has the right to modify or 330 | publish new versions of this License. Each version will be given a 331 | distinguishing version number. 332 | 333 | 10.2. Effect of New Versions 334 | 335 | You may distribute the Covered Software under the terms of the version 336 | of the License under which You originally received the Covered Software, 337 | or under the terms of any subsequent version published by the license 338 | steward. 339 | 340 | 10.3. Modified Versions 341 | 342 | If you create software not governed by this License, and you want to 343 | create a new license for such software, you may create and use a 344 | modified version of this License if you rename the license and remove 345 | any references to the name of the license steward (except to note that 346 | such modified license differs from this License). 347 | 348 | 10.4. Distributing Source Code Form that is Incompatible With Secondary 349 | Licenses 350 | 351 | If You choose to distribute Source Code Form that is Incompatible With 352 | Secondary Licenses under the terms of this version of the License, the 353 | notice described in Exhibit B of this License must be attached. 354 | 355 | Exhibit A - Source Code Form License Notice 356 | ------------------------------------------- 357 | 358 | This Source Code Form is subject to the terms of the Mozilla Public 359 | License, v. 2.0. If a copy of the MPL was not distributed with this 360 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 361 | 362 | If it is not possible or desirable to put the notice in a particular 363 | file, then You may include the notice in a location (such as a LICENSE 364 | file in a relevant directory) where a recipient would be likely to look 365 | for such a notice. 366 | 367 | You may add additional accurate notices of copyright ownership. 368 | 369 | Exhibit B - "Incompatible With Secondary Licenses" Notice 370 | --------------------------------------------------------- 371 | 372 | This Source Code Form is "Incompatible With Secondary Licenses", as 373 | defined by the Mozilla Public License, v. 2.0. 374 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | mdEditor 2 | ======== 3 | Basic Markdown editor with syntax highlight for pascal, c, html and vhdl. 4 | 5 | ![Markdown Editor](image.png) 6 | 7 | -------------------------------------------------------------------------------- /Test.md: -------------------------------------------------------------------------------- 1 | Markdown support test 2 | ===================== 3 | 4 | ![Markdown logo](markdownlogo.png) 5 | 6 | This page is a small demonstration of Markdown support. 7 | 8 | From [CommonMark]: 9 | >Markdown is a plain text format for writing structured documents, 10 | >based on conventions for indicating formatting in email and Usenet posts. 11 | >It was developed by John Gruber (with help from Aaron Swartz) 12 | >and released in 2004 in the form of a syntax description and a 13 | >Perl script (Markdown.pl) for converting Markdown to HTML. 14 | >In the next decade, dozens of implementations were developed in many languages. 15 | 16 | [CommonMark]:http://spec.commonmark.org/0.28/ 17 | 18 | *Italic* or _Italic_ 19 | **Bold** or __Bold__ 20 | 21 | `` 22 | ~~Strike~~ 23 | ++Ins++ 24 | Subscript~text~ 25 | Superscript^text^ 26 | ==Mark== 27 | 28 | Tables 29 | ------ 30 | | First Header | Second Header | Third Header | 31 | | :----------- | :-----------: | -----------: | 32 | | Left | Center | Right | 33 | | Second row | **strong** | *italic* | 34 | 35 | Formulas 36 | -------- 37 | It is possible to use the [Google Chart API] using `TeX` language, 38 | but the translated formula can only to be seen using a browser, 39 | for insert a formula using `TeX` enclose the code between `$` 40 | without `spaces`: 41 | 42 | Quadratic formula |Zeta formula 43 | ---------------------------|----------------------------- 44 | $x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}$ | $\zeta(s)=\sum_{n=1}^\infty\frac{1}{n^s}$ 45 | 46 | [Google Chart API]:https://developers.google.com/chart/infographics/docs/formulas 47 | 48 | 49 | -------------------------------------------------------------------------------- /image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mriscoc/mdEditor/8c9798e4e71f74993629c16f455908b99b1eaa20/image.png -------------------------------------------------------------------------------- /mainformu.lfm: -------------------------------------------------------------------------------- 1 | object MainForm: TMainForm 2 | Left = 459 3 | Height = 498 4 | Top = 337 5 | Width = 790 6 | Caption = 'Simple Markdown Editor' 7 | ClientHeight = 498 8 | ClientWidth = 790 9 | Constraints.MinHeight = 230 10 | Constraints.MinWidth = 530 11 | OnCreate = FormCreate 12 | OnDestroy = FormDestroy 13 | Position = poScreenCenter 14 | LCLVersion = '2.0.11.0' 15 | object Panel1: TPanel 16 | Left = 0 17 | Height = 37 18 | Top = 0 19 | Width = 790 20 | Align = alTop 21 | AutoSize = True 22 | ChildSizing.LeftRightSpacing = 5 23 | ChildSizing.TopBottomSpacing = 5 24 | ChildSizing.HorizontalSpacing = 2 25 | ChildSizing.VerticalSpacing = 5 26 | ChildSizing.Layout = cclLeftToRightThenTopToBottom 27 | ChildSizing.ControlsPerLine = 7 28 | ClientHeight = 37 29 | ClientWidth = 790 30 | TabOrder = 0 31 | object B_OpenFile: TBitBtn 32 | Left = 5 33 | Height = 26 34 | Top = 5 35 | Width = 96 36 | Caption = 'Open File' 37 | Default = True 38 | Images = ImageList1 39 | ImageIndex = 0 40 | OnClick = B_OpenFileClick 41 | TabOrder = 0 42 | end 43 | object B_Save: TBitBtn 44 | Left = 103 45 | Height = 26 46 | Top = 5 47 | Width = 105 48 | Caption = 'Save to File' 49 | Images = ImageList1 50 | ImageIndex = 1 51 | OnClick = B_SaveClick 52 | TabOrder = 1 53 | end 54 | object B_Copy: TBitBtn 55 | Left = 210 56 | Height = 26 57 | Top = 5 58 | Width = 91 59 | Caption = 'Copy All' 60 | Images = ImageList1 61 | ImageIndex = 2 62 | OnClick = B_CopyClick 63 | TabOrder = 2 64 | end 65 | object B_Paste: TBitBtn 66 | Left = 303 67 | Height = 26 68 | Top = 5 69 | Width = 74 70 | Caption = 'Paste' 71 | Images = ImageList1 72 | ImageIndex = 3 73 | OnClick = B_PasteClick 74 | TabOrder = 3 75 | end 76 | object B_Convert: TBitBtn 77 | Left = 379 78 | Height = 26 79 | Top = 5 80 | Width = 88 81 | Caption = 'Convert' 82 | Images = ImageList1 83 | ImageIndex = 4 84 | OnClick = B_ConvertClick 85 | TabOrder = 4 86 | end 87 | object B_ViewBrowser: TBitBtn 88 | Left = 469 89 | Height = 26 90 | Top = 5 91 | Width = 129 92 | Caption = 'View in Browser' 93 | Images = ImageList1 94 | ImageIndex = 5 95 | OnClick = B_ViewBrowserClick 96 | TabOrder = 5 97 | end 98 | object ChkB_DownloadfromWeb: TCheckBox 99 | Left = 649 100 | Height = 25 101 | Top = 6 102 | Width = 130 103 | Align = alRight 104 | BorderSpacing.Right = 10 105 | Caption = 'Download from Web' 106 | TabOrder = 6 107 | end 108 | end 109 | object PageControl1: TPageControl 110 | Left = 0 111 | Height = 461 112 | Top = 37 113 | Width = 387 114 | ActivePage = TS_MarkDown 115 | Align = alLeft 116 | TabIndex = 0 117 | TabOrder = 1 118 | object TS_MarkDown: TTabSheet 119 | Caption = 'MarkDown' 120 | ClientHeight = 433 121 | ClientWidth = 379 122 | inline SE_MarkDown: TSynEdit 123 | Left = 0 124 | Height = 433 125 | Top = 0 126 | Width = 379 127 | Align = alClient 128 | Font.Height = -13 129 | Font.Name = 'Courier New' 130 | Font.Pitch = fpFixed 131 | Font.Quality = fqNonAntialiased 132 | ParentColor = False 133 | ParentFont = False 134 | TabOrder = 0 135 | Gutter.Width = 57 136 | Gutter.MouseActions = <> 137 | RightGutter.Width = 0 138 | RightGutter.MouseActions = <> 139 | Highlighter = SynHTMLSyn1 140 | Keystrokes = < 141 | item 142 | Command = ecUp 143 | ShortCut = 38 144 | end 145 | item 146 | Command = ecSelUp 147 | ShortCut = 8230 148 | end 149 | item 150 | Command = ecScrollUp 151 | ShortCut = 16422 152 | end 153 | item 154 | Command = ecDown 155 | ShortCut = 40 156 | end 157 | item 158 | Command = ecSelDown 159 | ShortCut = 8232 160 | end 161 | item 162 | Command = ecScrollDown 163 | ShortCut = 16424 164 | end 165 | item 166 | Command = ecLeft 167 | ShortCut = 37 168 | end 169 | item 170 | Command = ecSelLeft 171 | ShortCut = 8229 172 | end 173 | item 174 | Command = ecWordLeft 175 | ShortCut = 16421 176 | end 177 | item 178 | Command = ecSelWordLeft 179 | ShortCut = 24613 180 | end 181 | item 182 | Command = ecRight 183 | ShortCut = 39 184 | end 185 | item 186 | Command = ecSelRight 187 | ShortCut = 8231 188 | end 189 | item 190 | Command = ecWordRight 191 | ShortCut = 16423 192 | end 193 | item 194 | Command = ecSelWordRight 195 | ShortCut = 24615 196 | end 197 | item 198 | Command = ecPageDown 199 | ShortCut = 34 200 | end 201 | item 202 | Command = ecSelPageDown 203 | ShortCut = 8226 204 | end 205 | item 206 | Command = ecPageBottom 207 | ShortCut = 16418 208 | end 209 | item 210 | Command = ecSelPageBottom 211 | ShortCut = 24610 212 | end 213 | item 214 | Command = ecPageUp 215 | ShortCut = 33 216 | end 217 | item 218 | Command = ecSelPageUp 219 | ShortCut = 8225 220 | end 221 | item 222 | Command = ecPageTop 223 | ShortCut = 16417 224 | end 225 | item 226 | Command = ecSelPageTop 227 | ShortCut = 24609 228 | end 229 | item 230 | Command = ecLineStart 231 | ShortCut = 36 232 | end 233 | item 234 | Command = ecSelLineStart 235 | ShortCut = 8228 236 | end 237 | item 238 | Command = ecEditorTop 239 | ShortCut = 16420 240 | end 241 | item 242 | Command = ecSelEditorTop 243 | ShortCut = 24612 244 | end 245 | item 246 | Command = ecLineEnd 247 | ShortCut = 35 248 | end 249 | item 250 | Command = ecSelLineEnd 251 | ShortCut = 8227 252 | end 253 | item 254 | Command = ecEditorBottom 255 | ShortCut = 16419 256 | end 257 | item 258 | Command = ecSelEditorBottom 259 | ShortCut = 24611 260 | end 261 | item 262 | Command = ecToggleMode 263 | ShortCut = 45 264 | end 265 | item 266 | Command = ecCopy 267 | ShortCut = 16429 268 | end 269 | item 270 | Command = ecPaste 271 | ShortCut = 8237 272 | end 273 | item 274 | Command = ecDeleteChar 275 | ShortCut = 46 276 | end 277 | item 278 | Command = ecCut 279 | ShortCut = 8238 280 | end 281 | item 282 | Command = ecDeleteLastChar 283 | ShortCut = 8 284 | end 285 | item 286 | Command = ecDeleteLastChar 287 | ShortCut = 8200 288 | end 289 | item 290 | Command = ecDeleteLastWord 291 | ShortCut = 16392 292 | end 293 | item 294 | Command = ecUndo 295 | ShortCut = 32776 296 | end 297 | item 298 | Command = ecRedo 299 | ShortCut = 40968 300 | end 301 | item 302 | Command = ecLineBreak 303 | ShortCut = 13 304 | end 305 | item 306 | Command = ecSelectAll 307 | ShortCut = 16449 308 | end 309 | item 310 | Command = ecCopy 311 | ShortCut = 16451 312 | end 313 | item 314 | Command = ecBlockIndent 315 | ShortCut = 24649 316 | end 317 | item 318 | Command = ecLineBreak 319 | ShortCut = 16461 320 | end 321 | item 322 | Command = ecInsertLine 323 | ShortCut = 16462 324 | end 325 | item 326 | Command = ecDeleteWord 327 | ShortCut = 16468 328 | end 329 | item 330 | Command = ecBlockUnindent 331 | ShortCut = 24661 332 | end 333 | item 334 | Command = ecPaste 335 | ShortCut = 16470 336 | end 337 | item 338 | Command = ecCut 339 | ShortCut = 16472 340 | end 341 | item 342 | Command = ecDeleteLine 343 | ShortCut = 16473 344 | end 345 | item 346 | Command = ecDeleteEOL 347 | ShortCut = 24665 348 | end 349 | item 350 | Command = ecUndo 351 | ShortCut = 16474 352 | end 353 | item 354 | Command = ecRedo 355 | ShortCut = 24666 356 | end 357 | item 358 | Command = ecGotoMarker0 359 | ShortCut = 16432 360 | end 361 | item 362 | Command = ecGotoMarker1 363 | ShortCut = 16433 364 | end 365 | item 366 | Command = ecGotoMarker2 367 | ShortCut = 16434 368 | end 369 | item 370 | Command = ecGotoMarker3 371 | ShortCut = 16435 372 | end 373 | item 374 | Command = ecGotoMarker4 375 | ShortCut = 16436 376 | end 377 | item 378 | Command = ecGotoMarker5 379 | ShortCut = 16437 380 | end 381 | item 382 | Command = ecGotoMarker6 383 | ShortCut = 16438 384 | end 385 | item 386 | Command = ecGotoMarker7 387 | ShortCut = 16439 388 | end 389 | item 390 | Command = ecGotoMarker8 391 | ShortCut = 16440 392 | end 393 | item 394 | Command = ecGotoMarker9 395 | ShortCut = 16441 396 | end 397 | item 398 | Command = ecSetMarker0 399 | ShortCut = 24624 400 | end 401 | item 402 | Command = ecSetMarker1 403 | ShortCut = 24625 404 | end 405 | item 406 | Command = ecSetMarker2 407 | ShortCut = 24626 408 | end 409 | item 410 | Command = ecSetMarker3 411 | ShortCut = 24627 412 | end 413 | item 414 | Command = ecSetMarker4 415 | ShortCut = 24628 416 | end 417 | item 418 | Command = ecSetMarker5 419 | ShortCut = 24629 420 | end 421 | item 422 | Command = ecSetMarker6 423 | ShortCut = 24630 424 | end 425 | item 426 | Command = ecSetMarker7 427 | ShortCut = 24631 428 | end 429 | item 430 | Command = ecSetMarker8 431 | ShortCut = 24632 432 | end 433 | item 434 | Command = ecSetMarker9 435 | ShortCut = 24633 436 | end 437 | item 438 | Command = EcFoldLevel1 439 | ShortCut = 41009 440 | end 441 | item 442 | Command = EcFoldLevel2 443 | ShortCut = 41010 444 | end 445 | item 446 | Command = EcFoldLevel3 447 | ShortCut = 41011 448 | end 449 | item 450 | Command = EcFoldLevel4 451 | ShortCut = 41012 452 | end 453 | item 454 | Command = EcFoldLevel5 455 | ShortCut = 41013 456 | end 457 | item 458 | Command = EcFoldLevel6 459 | ShortCut = 41014 460 | end 461 | item 462 | Command = EcFoldLevel7 463 | ShortCut = 41015 464 | end 465 | item 466 | Command = EcFoldLevel8 467 | ShortCut = 41016 468 | end 469 | item 470 | Command = EcFoldLevel9 471 | ShortCut = 41017 472 | end 473 | item 474 | Command = EcFoldLevel0 475 | ShortCut = 41008 476 | end 477 | item 478 | Command = EcFoldCurrent 479 | ShortCut = 41005 480 | end 481 | item 482 | Command = EcUnFoldCurrent 483 | ShortCut = 41003 484 | end 485 | item 486 | Command = EcToggleMarkupWord 487 | ShortCut = 32845 488 | end 489 | item 490 | Command = ecNormalSelect 491 | ShortCut = 24654 492 | end 493 | item 494 | Command = ecColumnSelect 495 | ShortCut = 24643 496 | end 497 | item 498 | Command = ecLineSelect 499 | ShortCut = 24652 500 | end 501 | item 502 | Command = ecTab 503 | ShortCut = 9 504 | end 505 | item 506 | Command = ecShiftTab 507 | ShortCut = 8201 508 | end 509 | item 510 | Command = ecMatchBracket 511 | ShortCut = 24642 512 | end 513 | item 514 | Command = ecColSelUp 515 | ShortCut = 40998 516 | end 517 | item 518 | Command = ecColSelDown 519 | ShortCut = 41000 520 | end 521 | item 522 | Command = ecColSelLeft 523 | ShortCut = 40997 524 | end 525 | item 526 | Command = ecColSelRight 527 | ShortCut = 40999 528 | end 529 | item 530 | Command = ecColSelPageDown 531 | ShortCut = 40994 532 | end 533 | item 534 | Command = ecColSelPageBottom 535 | ShortCut = 57378 536 | end 537 | item 538 | Command = ecColSelPageUp 539 | ShortCut = 40993 540 | end 541 | item 542 | Command = ecColSelPageTop 543 | ShortCut = 57377 544 | end 545 | item 546 | Command = ecColSelLineStart 547 | ShortCut = 40996 548 | end 549 | item 550 | Command = ecColSelLineEnd 551 | ShortCut = 40995 552 | end 553 | item 554 | Command = ecColSelEditorTop 555 | ShortCut = 57380 556 | end 557 | item 558 | Command = ecColSelEditorBottom 559 | ShortCut = 57379 560 | end> 561 | MouseActions = <> 562 | MouseTextActions = <> 563 | MouseSelActions = <> 564 | Options = [eoAutoIndent, eoBracketHighlight, eoGroupUndo, eoShowSpecialChars, eoSmartTabs] 565 | MouseOptions = [emAltSetsColumnMode] 566 | VisibleSpecialChars = [vscSpace, vscTabAtLast] 567 | ScrollBars = ssAutoBoth 568 | SelectedColor.BackPriority = 50 569 | SelectedColor.ForePriority = 50 570 | SelectedColor.FramePriority = 50 571 | SelectedColor.BoldPriority = 50 572 | SelectedColor.ItalicPriority = 50 573 | SelectedColor.UnderlinePriority = 50 574 | SelectedColor.StrikeOutPriority = 50 575 | BracketHighlightStyle = sbhsBoth 576 | BracketMatchColor.Background = clNone 577 | BracketMatchColor.Foreground = clNone 578 | BracketMatchColor.Style = [fsBold] 579 | FoldedCodeColor.Background = clNone 580 | FoldedCodeColor.Foreground = clGray 581 | FoldedCodeColor.FrameColor = clGray 582 | MouseLinkColor.Background = clNone 583 | MouseLinkColor.Foreground = clBlue 584 | LineHighlightColor.Background = clCream 585 | LineHighlightColor.Foreground = clNone 586 | TabWidth = 4 587 | inline SynLeftGutterPartList1: TSynGutterPartList 588 | object SynGutterMarks1: TSynGutterMarks 589 | Width = 24 590 | MouseActions = <> 591 | end 592 | object SynGutterLineNumber1: TSynGutterLineNumber 593 | Width = 17 594 | MouseActions = <> 595 | MarkupInfo.Background = clBtnFace 596 | MarkupInfo.Foreground = clNone 597 | DigitCount = 2 598 | ShowOnlyLineNumbersMultiplesOf = 1 599 | ZeroStart = False 600 | LeadingZeros = False 601 | end 602 | object SynGutterChanges1: TSynGutterChanges 603 | Width = 4 604 | MouseActions = <> 605 | ModifiedColor = 59900 606 | SavedColor = clGreen 607 | end 608 | object SynGutterSeparator1: TSynGutterSeparator 609 | Width = 2 610 | MouseActions = <> 611 | MarkupInfo.Background = clWhite 612 | MarkupInfo.Foreground = clGray 613 | end 614 | object SynGutterCodeFolding1: TSynGutterCodeFolding 615 | MouseActions = <> 616 | MarkupInfo.Background = clNone 617 | MarkupInfo.Foreground = clGray 618 | MouseActionsExpanded = <> 619 | MouseActionsCollapsed = <> 620 | end 621 | end 622 | end 623 | end 624 | object TS_HTML: TTabSheet 625 | Caption = 'HTML' 626 | ClientHeight = 435 627 | ClientWidth = 379 628 | inline SE_HTML: TSynEdit 629 | Left = 0 630 | Height = 435 631 | Top = 0 632 | Width = 379 633 | Align = alClient 634 | Font.Height = -13 635 | Font.Name = 'Courier New' 636 | Font.Pitch = fpFixed 637 | Font.Quality = fqNonAntialiased 638 | ParentColor = False 639 | ParentFont = False 640 | TabOrder = 0 641 | Gutter.Width = 57 642 | Gutter.MouseActions = <> 643 | RightGutter.Width = 0 644 | RightGutter.MouseActions = <> 645 | Highlighter = SynHTMLSyn1 646 | Keystrokes = < 647 | item 648 | Command = ecUp 649 | ShortCut = 38 650 | end 651 | item 652 | Command = ecSelUp 653 | ShortCut = 8230 654 | end 655 | item 656 | Command = ecScrollUp 657 | ShortCut = 16422 658 | end 659 | item 660 | Command = ecDown 661 | ShortCut = 40 662 | end 663 | item 664 | Command = ecSelDown 665 | ShortCut = 8232 666 | end 667 | item 668 | Command = ecScrollDown 669 | ShortCut = 16424 670 | end 671 | item 672 | Command = ecLeft 673 | ShortCut = 37 674 | end 675 | item 676 | Command = ecSelLeft 677 | ShortCut = 8229 678 | end 679 | item 680 | Command = ecWordLeft 681 | ShortCut = 16421 682 | end 683 | item 684 | Command = ecSelWordLeft 685 | ShortCut = 24613 686 | end 687 | item 688 | Command = ecRight 689 | ShortCut = 39 690 | end 691 | item 692 | Command = ecSelRight 693 | ShortCut = 8231 694 | end 695 | item 696 | Command = ecWordRight 697 | ShortCut = 16423 698 | end 699 | item 700 | Command = ecSelWordRight 701 | ShortCut = 24615 702 | end 703 | item 704 | Command = ecPageDown 705 | ShortCut = 34 706 | end 707 | item 708 | Command = ecSelPageDown 709 | ShortCut = 8226 710 | end 711 | item 712 | Command = ecPageBottom 713 | ShortCut = 16418 714 | end 715 | item 716 | Command = ecSelPageBottom 717 | ShortCut = 24610 718 | end 719 | item 720 | Command = ecPageUp 721 | ShortCut = 33 722 | end 723 | item 724 | Command = ecSelPageUp 725 | ShortCut = 8225 726 | end 727 | item 728 | Command = ecPageTop 729 | ShortCut = 16417 730 | end 731 | item 732 | Command = ecSelPageTop 733 | ShortCut = 24609 734 | end 735 | item 736 | Command = ecLineStart 737 | ShortCut = 36 738 | end 739 | item 740 | Command = ecSelLineStart 741 | ShortCut = 8228 742 | end 743 | item 744 | Command = ecEditorTop 745 | ShortCut = 16420 746 | end 747 | item 748 | Command = ecSelEditorTop 749 | ShortCut = 24612 750 | end 751 | item 752 | Command = ecLineEnd 753 | ShortCut = 35 754 | end 755 | item 756 | Command = ecSelLineEnd 757 | ShortCut = 8227 758 | end 759 | item 760 | Command = ecEditorBottom 761 | ShortCut = 16419 762 | end 763 | item 764 | Command = ecSelEditorBottom 765 | ShortCut = 24611 766 | end 767 | item 768 | Command = ecToggleMode 769 | ShortCut = 45 770 | end 771 | item 772 | Command = ecCopy 773 | ShortCut = 16429 774 | end 775 | item 776 | Command = ecPaste 777 | ShortCut = 8237 778 | end 779 | item 780 | Command = ecDeleteChar 781 | ShortCut = 46 782 | end 783 | item 784 | Command = ecCut 785 | ShortCut = 8238 786 | end 787 | item 788 | Command = ecDeleteLastChar 789 | ShortCut = 8 790 | end 791 | item 792 | Command = ecDeleteLastChar 793 | ShortCut = 8200 794 | end 795 | item 796 | Command = ecDeleteLastWord 797 | ShortCut = 16392 798 | end 799 | item 800 | Command = ecUndo 801 | ShortCut = 32776 802 | end 803 | item 804 | Command = ecRedo 805 | ShortCut = 40968 806 | end 807 | item 808 | Command = ecLineBreak 809 | ShortCut = 13 810 | end 811 | item 812 | Command = ecSelectAll 813 | ShortCut = 16449 814 | end 815 | item 816 | Command = ecCopy 817 | ShortCut = 16451 818 | end 819 | item 820 | Command = ecBlockIndent 821 | ShortCut = 24649 822 | end 823 | item 824 | Command = ecLineBreak 825 | ShortCut = 16461 826 | end 827 | item 828 | Command = ecInsertLine 829 | ShortCut = 16462 830 | end 831 | item 832 | Command = ecDeleteWord 833 | ShortCut = 16468 834 | end 835 | item 836 | Command = ecBlockUnindent 837 | ShortCut = 24661 838 | end 839 | item 840 | Command = ecPaste 841 | ShortCut = 16470 842 | end 843 | item 844 | Command = ecCut 845 | ShortCut = 16472 846 | end 847 | item 848 | Command = ecDeleteLine 849 | ShortCut = 16473 850 | end 851 | item 852 | Command = ecDeleteEOL 853 | ShortCut = 24665 854 | end 855 | item 856 | Command = ecUndo 857 | ShortCut = 16474 858 | end 859 | item 860 | Command = ecRedo 861 | ShortCut = 24666 862 | end 863 | item 864 | Command = ecGotoMarker0 865 | ShortCut = 16432 866 | end 867 | item 868 | Command = ecGotoMarker1 869 | ShortCut = 16433 870 | end 871 | item 872 | Command = ecGotoMarker2 873 | ShortCut = 16434 874 | end 875 | item 876 | Command = ecGotoMarker3 877 | ShortCut = 16435 878 | end 879 | item 880 | Command = ecGotoMarker4 881 | ShortCut = 16436 882 | end 883 | item 884 | Command = ecGotoMarker5 885 | ShortCut = 16437 886 | end 887 | item 888 | Command = ecGotoMarker6 889 | ShortCut = 16438 890 | end 891 | item 892 | Command = ecGotoMarker7 893 | ShortCut = 16439 894 | end 895 | item 896 | Command = ecGotoMarker8 897 | ShortCut = 16440 898 | end 899 | item 900 | Command = ecGotoMarker9 901 | ShortCut = 16441 902 | end 903 | item 904 | Command = ecSetMarker0 905 | ShortCut = 24624 906 | end 907 | item 908 | Command = ecSetMarker1 909 | ShortCut = 24625 910 | end 911 | item 912 | Command = ecSetMarker2 913 | ShortCut = 24626 914 | end 915 | item 916 | Command = ecSetMarker3 917 | ShortCut = 24627 918 | end 919 | item 920 | Command = ecSetMarker4 921 | ShortCut = 24628 922 | end 923 | item 924 | Command = ecSetMarker5 925 | ShortCut = 24629 926 | end 927 | item 928 | Command = ecSetMarker6 929 | ShortCut = 24630 930 | end 931 | item 932 | Command = ecSetMarker7 933 | ShortCut = 24631 934 | end 935 | item 936 | Command = ecSetMarker8 937 | ShortCut = 24632 938 | end 939 | item 940 | Command = ecSetMarker9 941 | ShortCut = 24633 942 | end 943 | item 944 | Command = EcFoldLevel1 945 | ShortCut = 41009 946 | end 947 | item 948 | Command = EcFoldLevel2 949 | ShortCut = 41010 950 | end 951 | item 952 | Command = EcFoldLevel3 953 | ShortCut = 41011 954 | end 955 | item 956 | Command = EcFoldLevel4 957 | ShortCut = 41012 958 | end 959 | item 960 | Command = EcFoldLevel5 961 | ShortCut = 41013 962 | end 963 | item 964 | Command = EcFoldLevel6 965 | ShortCut = 41014 966 | end 967 | item 968 | Command = EcFoldLevel7 969 | ShortCut = 41015 970 | end 971 | item 972 | Command = EcFoldLevel8 973 | ShortCut = 41016 974 | end 975 | item 976 | Command = EcFoldLevel9 977 | ShortCut = 41017 978 | end 979 | item 980 | Command = EcFoldLevel0 981 | ShortCut = 41008 982 | end 983 | item 984 | Command = EcFoldCurrent 985 | ShortCut = 41005 986 | end 987 | item 988 | Command = EcUnFoldCurrent 989 | ShortCut = 41003 990 | end 991 | item 992 | Command = EcToggleMarkupWord 993 | ShortCut = 32845 994 | end 995 | item 996 | Command = ecNormalSelect 997 | ShortCut = 24654 998 | end 999 | item 1000 | Command = ecColumnSelect 1001 | ShortCut = 24643 1002 | end 1003 | item 1004 | Command = ecLineSelect 1005 | ShortCut = 24652 1006 | end 1007 | item 1008 | Command = ecTab 1009 | ShortCut = 9 1010 | end 1011 | item 1012 | Command = ecShiftTab 1013 | ShortCut = 8201 1014 | end 1015 | item 1016 | Command = ecMatchBracket 1017 | ShortCut = 24642 1018 | end 1019 | item 1020 | Command = ecColSelUp 1021 | ShortCut = 40998 1022 | end 1023 | item 1024 | Command = ecColSelDown 1025 | ShortCut = 41000 1026 | end 1027 | item 1028 | Command = ecColSelLeft 1029 | ShortCut = 40997 1030 | end 1031 | item 1032 | Command = ecColSelRight 1033 | ShortCut = 40999 1034 | end 1035 | item 1036 | Command = ecColSelPageDown 1037 | ShortCut = 40994 1038 | end 1039 | item 1040 | Command = ecColSelPageBottom 1041 | ShortCut = 57378 1042 | end 1043 | item 1044 | Command = ecColSelPageUp 1045 | ShortCut = 40993 1046 | end 1047 | item 1048 | Command = ecColSelPageTop 1049 | ShortCut = 57377 1050 | end 1051 | item 1052 | Command = ecColSelLineStart 1053 | ShortCut = 40996 1054 | end 1055 | item 1056 | Command = ecColSelLineEnd 1057 | ShortCut = 40995 1058 | end 1059 | item 1060 | Command = ecColSelEditorTop 1061 | ShortCut = 57380 1062 | end 1063 | item 1064 | Command = ecColSelEditorBottom 1065 | ShortCut = 57379 1066 | end> 1067 | MouseActions = <> 1068 | MouseTextActions = <> 1069 | MouseSelActions = <> 1070 | Options = [eoAutoIndent, eoBracketHighlight, eoGroupUndo, eoSmartTabs, eoTabsToSpaces] 1071 | VisibleSpecialChars = [vscSpace, vscTabAtLast] 1072 | ScrollBars = ssAutoBoth 1073 | SelectedColor.BackPriority = 50 1074 | SelectedColor.ForePriority = 50 1075 | SelectedColor.FramePriority = 50 1076 | SelectedColor.BoldPriority = 50 1077 | SelectedColor.ItalicPriority = 50 1078 | SelectedColor.UnderlinePriority = 50 1079 | SelectedColor.StrikeOutPriority = 50 1080 | BracketHighlightStyle = sbhsBoth 1081 | BracketMatchColor.Background = clNone 1082 | BracketMatchColor.Foreground = clNone 1083 | BracketMatchColor.Style = [fsBold] 1084 | FoldedCodeColor.Background = clNone 1085 | FoldedCodeColor.Foreground = clGray 1086 | FoldedCodeColor.FrameColor = clGray 1087 | MouseLinkColor.Background = clNone 1088 | MouseLinkColor.Foreground = clBlue 1089 | LineHighlightColor.Background = clNone 1090 | LineHighlightColor.Foreground = clNone 1091 | OnChange = SE_HTMLChange 1092 | inline SynLeftGutterPartList1: TSynGutterPartList 1093 | object SynGutterMarks1: TSynGutterMarks 1094 | Width = 24 1095 | MouseActions = <> 1096 | end 1097 | object SynGutterLineNumber1: TSynGutterLineNumber 1098 | Width = 17 1099 | MouseActions = <> 1100 | MarkupInfo.Background = clBtnFace 1101 | MarkupInfo.Foreground = clNone 1102 | DigitCount = 2 1103 | ShowOnlyLineNumbersMultiplesOf = 1 1104 | ZeroStart = False 1105 | LeadingZeros = False 1106 | end 1107 | object SynGutterChanges1: TSynGutterChanges 1108 | Width = 4 1109 | MouseActions = <> 1110 | ModifiedColor = 59900 1111 | SavedColor = clGreen 1112 | end 1113 | object SynGutterSeparator1: TSynGutterSeparator 1114 | Width = 2 1115 | MouseActions = <> 1116 | MarkupInfo.Background = clWhite 1117 | MarkupInfo.Foreground = clGray 1118 | end 1119 | object SynGutterCodeFolding1: TSynGutterCodeFolding 1120 | MouseActions = <> 1121 | MarkupInfo.Background = clNone 1122 | MarkupInfo.Foreground = clGray 1123 | MouseActionsExpanded = <> 1124 | MouseActionsCollapsed = <> 1125 | end 1126 | end 1127 | end 1128 | end 1129 | end 1130 | object Splitter1: TSplitter 1131 | Left = 387 1132 | Height = 461 1133 | Top = 37 1134 | Width = 5 1135 | end 1136 | object HtmlViewer: THtmlViewer 1137 | Left = 392 1138 | Height = 461 1139 | Top = 37 1140 | Width = 398 1141 | BorderStyle = htSingle 1142 | DefBackground = clWhite 1143 | HistoryMaxCount = 0 1144 | ImageCacheCount = 10 1145 | NoSelect = False 1146 | PrintMarginBottom = 2 1147 | PrintMarginLeft = 2 1148 | PrintMarginRight = 2 1149 | PrintMarginTop = 2 1150 | PrintScale = 1 1151 | QuirksMode = qmDetect 1152 | Align = alClient 1153 | TabOrder = 3 1154 | end 1155 | object SynHTMLSyn1: TSynHTMLSyn 1156 | DefaultFilter = 'Documento HTML (*.htm,*.html)|*.htm;*.html' 1157 | Enabled = False 1158 | KeyAttri.Foreground = clMaroon 1159 | KeyAttri.Style = [] 1160 | Left = 280 1161 | Top = 112 1162 | end 1163 | object OpenDialog1: TOpenDialog 1164 | DefaultExt = '.*.md' 1165 | Filter = 'MarkDown|*.md; *.text|TextFile|*.txt|All Files|*.*' 1166 | Options = [ofFileMustExist, ofEnableSizing, ofViewDetail] 1167 | Left = 72 1168 | Top = 112 1169 | end 1170 | object SaveDialog1: TSaveDialog 1171 | DefaultExt = '.*.md' 1172 | Filter = 'MarkDown|*.md;*.text|Text file|*.txt|All files|*.*' 1173 | Options = [ofPathMustExist, ofEnableSizing, ofViewDetail] 1174 | Left = 72 1175 | Top = 184 1176 | end 1177 | object SynExporterHTML1: TSynExporterHTML 1178 | Color = clWindow 1179 | CreateHTMLFragment = True 1180 | DefaultFilter = 'Documento HTML (*.htm,*.html)|*.htm;*.html' 1181 | Options = [heoFragmentOnly] 1182 | Font.Color = clBlack 1183 | Font.Height = -13 1184 | Font.Name = 'Courier New' 1185 | Highlighter = SynHTMLSyn1 1186 | HTMLFontSize = fs03 1187 | Title = 'mdEditor' 1188 | UseBackground = False 1189 | Left = 72 1190 | Top = 48 1191 | end 1192 | object SynFreePascalSyn1: TSynFreePascalSyn 1193 | Enabled = False 1194 | CommentAttri.Foreground = clGreen 1195 | NumberAttri.Foreground = clNavy 1196 | StringAttri.Foreground = clBlue 1197 | SymbolAttri.Foreground = clRed 1198 | CompilerMode = pcmObjFPC 1199 | NestedComments = True 1200 | Left = 280 1201 | Top = 48 1202 | end 1203 | object SynCppSyn1: TSynCppSyn 1204 | DefaultFilter = 'Ficheros C++ (*.c,*.cpp,*.h,*.hpp,*.hh)|*.c;*.cpp;*.h;*.hpp;*.hh' 1205 | Enabled = False 1206 | CommentAttri.Foreground = clGreen 1207 | DirecAttri.Foreground = clNavy 1208 | IdentifierAttri.Foreground = 12615680 1209 | KeyAttri.Foreground = clRed 1210 | NumberAttri.Foreground = clGreen 1211 | StringAttri.Foreground = clBlue 1212 | Left = 280 1213 | Top = 184 1214 | end 1215 | object SynVHDLSyn1: TSynVHDLSyn 1216 | DefaultFilter = 'VHDL Files (*.vhd;*.vhdl)|*.vhd;*.vhdl' 1217 | Enabled = False 1218 | Left = 280 1219 | Top = 264 1220 | end 1221 | object ImageList1: TImageList 1222 | Left = 72 1223 | Top = 264 1224 | Bitmap = { 1225 | 4C69060000001000000010000000000000000000000000000000000000000000 1226 | 0000000000008D9190FF8D918FFF8D918FFF8C908FFF8B8F8DFF898E8CFF888C 1227 | 8AFF878B89FF858988FF848887FF000000000000000000000000000000000000 1228 | 0000000000008D9290FFFAFAFAFFFAFAFAFFF9F9F9FFF8F8F8FFF6F6F6FFF3F3 1229 | F3FFF0F0F0FFEDEDEDFF838786FF000000000000000000000000000000000000 1230 | 0000000000008D9290FFFBFBFBFFFBFBFBFFFAFAFAFFF9F9F9FFF6F6F6FFF4F4 1231 | F4FFF0F0F0FFEDEDEDFF828685FF000000000000000000000000000000000000 1232 | 0000000000008D9190FFFBFBFBFFFBFBFBFFFAFAFAFFF9F9F9FFF6F6F6FFF3F3 1233 | F3FFF1F1F1FFEEEEEEFF818584FF000000000000000000000000000000000000 1234 | 0000000000008D918FFFFBFBFBFFFBFBFBFFFAFAFAFFF9F9F9FFF6F6F6FFF4F4 1235 | F4FFF1F1F1FFEEEEEEFF808482FF4C92DE6A5397E0F860A0E4FF60A0E3FF60A0 1236 | E3FF5397E0F88C908FFFFAFAFAFFFAFAFAFFFAFAFAFFF8F8F8FFF6F6F6FFF3F3 1237 | F3FFF0F0F0FFEEEEEEFF7F8381FF5397E0F8BCE1FCFFC7E9FFFFC6E8FFFFC4E7 1238 | FFFFB9E0FCFF8B908EFFF9F9F9FFF9F9F9FFF8F8F8FFF7F7F7FFF4F4F4FFF2F2 1239 | F2FFF0F0F0FFEDEDEDFF7E8280FF60A0E4FFC8E9FFFFCAE9FFFFC9EAFFFFC7E9 1240 | FFFFC6E9FFFF8A8E8DFFF7F7F7FFF7F7F7FFF7F7F7FFF5F5F5FFF3F3F3FFF1F1 1241 | F1FFEFEFEFFFEDEDEDFF7D8180FF60A0E4FFBEE2FCFF61A0E3FF60A0E4FF60A0 1242 | E4FF60A0E4FF60A0E4FF60A0E4FF60A0E3FF5FA0E3FF5F9FE2FF5E9DE1FF5C9C 1243 | DFFF5698DEFF74A9E2FF7C817FFF60A0E3FF93C4F1FF8FC2F0FFC6E8FFFFC6E8 1244 | FFFFC5E8FFFFC4E8FFFFC4E7FFFFC1E6FFFFBEE3FCFFBADEF6FFB3D6EEFFACCD 1245 | E3FF90B9DBFF8EB7E3FF7C807FFF5FA0E3FF6CA9E7FFB5DDFAFFC2E7FFFFC1E6 1246 | FFFFC0E6FFFFC0E6FFFFBFE5FFFFBDE4FEFFBAE0FBFFB5DAF4FFAED3EBFFA8CA 1247 | E1FF73A8DCFFBED2E7FF7C807EFF5E9FE2FF62A1E3FFBDE1F8FFBCE1F9FFBAE0 1248 | FBFFB9E0FBFFB8E0FBFFB7DFFAFFB6DEF8FFB3DAF5FFAFD4EFFFA8CDE6FFA2C6 1249 | DDFF5E9CDDFFE5E7E9FF7B807EFF599ADFFF7BB1E5FFB6D8EFFFB4D8F0FFB2D7 1250 | F1FFB0D7F1FFAFD6F1FFAFD6F1FFADD5EFFFABD2ECFFA7CCE6FFA2C7DFFF95BC 1251 | DAFF598DC4FF7C807EFF7C807EFF5195DEFF96BEE1FFADCEE4FFABCEE5FFA9CD 1252 | E5FFA7CCE6FFA7CCE6FFA6CBE5FFA5CAE4FFA3C8E1FFA0C5DDFF9DC1D9FF78AA 1253 | D9FF4C92DE6A00000000000000004C92DEE95698DEFF5B9BDEFF5B9BDEFF5B9B 1254 | DEFF5A9BDEFF5A9BDEFF5A9BDEFF5A9BDEFF5A9ADEFF599ADDFF5999DDFF4E93 1255 | DEF54C92DE0E0000000000000000000000000000000000000000000000000000 1256 | 0000000000000000000000000000000000000000000000000000000000000000 1257 | 0000000000000000000000000000A46534FF5959F3FF5959F3FF5959F3FF5959 1258 | F3FF5959F3FF5959F3FF5959F3FF5959F3FF5959F3FF5959F3FF5959F3FF5959 1259 | F3FF5959F3FFA46534FF00000000A46534FF5959F3FF5959F3FF5959F3FF5959 1260 | F3FF5959F3FF5959F3FF5959F3FF5959F3FF5959F3FF5959F3FF5959F3FF5959 1261 | F3FF5959F3FFA46534FF00000000A46534FFECEEEEFFECEEEEFFECEEEEFFECEE 1262 | EEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEE 1263 | EEFFECEEEEFFA46534FF00000000A46534FFECEEEEFFECEEEEFFECEEEEFFECEE 1264 | EEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEE 1265 | EEFFECEEEEFFA46534FF00000000A46534FFECEEEEFFECEEEEFFECEEEEFFECEE 1266 | EEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEE 1267 | EEFFECEEEEFFA46534FF00000000A46534FFECEEEEFFECEEEEFFECEEEEFFECEE 1268 | EEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEE 1269 | EEFFECEEEEFFA46534FF00000000A46534FFECEEEEFFECEEEEFFECEEEEFFECEE 1270 | EEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEE 1271 | EEFFECEEEEFFA46534FF00000000A46534FFECEEEEFFECEEEEFFECEEEEFFECEE 1272 | EEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEE 1273 | EEFFECEEEEFFA46534FF00000000A46534FFA46534FFA46534FFA46534FFA465 1274 | 34FFA46534FFA46534FFA46534FFA46534FFA46534FFA46534FFA46534FFA465 1275 | 34FFA46534FFA46534FF00000000A46534FFA46534FFA46534FFA46534FFA465 1276 | 34FFA46534FFA46534FFA46534FFA46534FFA46534FFA46534FFA46534FFA465 1277 | 34FFA46534FFA46534FF00000000A46534FFA46534FFA46534FFB6BDBAFFB6BD 1278 | BAFFB6BDBAFFB6BDBAFFB6BDBAFFB6BDBAFFB6BDBAFFA46534FFA46534FFA465 1279 | 34FFA46534FFA46534FF00000000A46534FFA46534FFA46534FFB6BDBAFFA465 1280 | 34FFB6BDBAFFB6BDBAFFB6BDBAFFB6BDBAFFB6BDBAFFA46534FFA46534FFA465 1281 | 34FFA46534FFA46534FF00000000A46534FFA46534FFA46534FFB6BDBAFFA465 1282 | 34FFB6BDBAFFB6BDBAFFB6BDBAFFB6BDBAFFB6BDBAFFA46534FFA46534FFA465 1283 | 34FFA46534FFA46534FF00000000A46534FFA46534FFA46534FFB6BDBAFFA465 1284 | 34FFB6BDBAFFB6BDBAFFB6BDBAFFB6BDBAFFB6BDBAFFA46534FFA46534FFA465 1285 | 34FFA46534FFA46534FF00000000A46534FFA46534FFA46534FFB6BDBAFFA465 1286 | 34FFB6BDBAFFB6BDBAFFB6BDBAFFB6BDBAFFB6BDBAFFA46534FFA46534FFA465 1287 | 34FFA46534FFA46534FF00000000A4653455A46534FFA46534FFB6BDBAFFB6BD 1288 | BAFFB6BDBAFFB6BDBAFFB6BDBAFFB6BDBAFFB6BDBAFFA46534FFA46534FFA465 1289 | 34FFA46534FFA46534FF00000000C0C0C000C0C0C000C0C0C000C0C0C000C0C0 1290 | C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0 1291 | C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0 1292 | C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0 1293 | C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0 1294 | C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0 1295 | C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000BF1C1CDAD20E 1296 | 0EECDF0E0EECF20E0EECE40E0EECD60E0EECCD0E0EECC0C0C000C0C0C000C0C0 1297 | C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000D20E0EECE5E5 1298 | E592DFDFDF7C676767F3DDDDDD74E3E3E38BD33030D7C0C0C000C0C0C000C0C0 1299 | C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000DF0E0EECDFDF 1300 | DF7CAAAAAA80737373EAB3B3B382DFDFDF7DE23434E4C0C0C000C0C0C000C0C0 1301 | C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000F20E0EECD7D7 1302 | D75D67676776212121FF76767662DBDBDB6BF63838F6C0C0C000C0C0C000C0C0 1303 | C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000E40E0EECCCCC 1304 | CC3058585889E15C5C85BA1C1CDAE74A4A9DE71111E9E74A4A9DE74A4A9DE74A 1305 | 4A9DC0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000D60E0EECD176 1306 | 7662CB767662FA1212E7FFFFFFFFFFFFFFFFB4B4B4FFFFFFFFFFFFFFFFFFFF4E 1307 | 4EFFC0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000CE979736CA94 1308 | 943BC794943BF81616E1FFFFFFFFFFFFFFFF3B3B3BFFFFFFFFFFFFFFFFFFFF4E 1309 | 4EFFC0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0 1310 | C000C0C0C000F61D1DD8FFFFFFFF9D9D9DFF5A5A5AFF898989FFFFFFFFFFFF4E 1311 | 4EFFC0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0 1312 | C000C0C0C000F61D1DD8FFFFFFFF505050A5DEDEDEC95C5C5C92EDEDEDFFFF4E 1313 | 4EFFC0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0 1314 | C000C0C0C000F61D1DD8FFFFFFFFCFCFCFFFFFFFFFFFD5D5D5FFF9F9F9FFFF4E 1315 | 4EFFC0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0 1316 | C000C0C0C000DD686874E2585889E2585889E2585889E2585889E2585889E258 1317 | 5889C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0 1318 | C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0 1319 | C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0 1320 | C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0 1321 | C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0 1322 | C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0 1323 | C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0 1324 | C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0 1325 | C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0 1326 | C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0 1327 | C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0 1328 | C000C0C0C000C0C0C000C0C0C000BF0E0EECBF0E0EECBF0E0EECBF0E0EECC0C0 1329 | C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0 1330 | C000C0C0C000C0C0C000C06E6E6DB80F0FFFBB3636C3C94444D5BF0404F9C097 1331 | 9736C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0 1332 | C000C0C0C000C0C0C000C0767662D5D5D554DADADA6AF2F2F2C9E5E5E592B632 1333 | 32D5C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0 1334 | C000BF1D1DD8BF1D1DD8C0767662C0C0C000C0C0C000E2E2E289C5C5C513BD38 1335 | 38BDC0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000BF16 1336 | 16E1CB5555CAB7A5A5FFA1A1859F77777760C0C0C000E2E2E289C5C5C513B833 1337 | 33CFC0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000A56A 1338 | 6ABB767676CA4A4A4AACBB7F7FFFB1944CC3B7A6A63BE2E2E289C5C5C513B32F 1339 | 2FE1C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C0009E63 1340 | 63D7C27272E0434343CEA51212FFDE9494DBC094943BE2E2E289C5C5C513B02C 1341 | 2CEDC0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000D77A 1342 | 7ADB6F3F3FFFCF7474FFC04A4A9DB5757582B9B9B91BE2E2E289C5C5C513B530 1343 | 30DBC0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000BF1C1CDA5A56 1344 | 56FF983F3FFFC31010FFBF0505F8C0B7B70CC0C0C000E2E2E289C5C5C513BE39 1345 | 39B7C0C0C000C0C0C000C0C0C000C0C0C000C05A5A88B53030DB955555FF9393 1346 | 9385C0C0C000C0C0C000B44B4BBBAC2727FFAC2727FFAC2727FFAC2727FFBA68 1347 | 6885C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0 1348 | C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0 1349 | C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0 1350 | C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0 1351 | C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0 1352 | C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0 1353 | C000C0C0C000C0C0C000C0C0C000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1354 | FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1355 | FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1356 | FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1357 | FF00FFFFFF00FFFFFF00FFFFFF007F7F7FFF7F7F00FF7F7F00FF7F7F00FF3F7F 1358 | 3FFF003F3FFFDFDFDFFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1359 | FF00FFFFFF00FFFFFF00FFFFFF007F7F7FFFFFFF00FFFFFF00FFFFFF00FFFFFF 1360 | 00FF3F7F3FFFBFBFBFFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1361 | FF00FFFFFF00FFFFFF00FFFFFF007F7F7FFF3F9F60FF7FBF40FFFFFF00FFFFFF 1362 | 00FF7F7F00FFBFBFBFFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1363 | FF00FFFFFF00FFFFFF00FFFFFF007F7F7FFF008080FF7F4040FFBF2020FFFF00 1364 | 00FF7F0000FFBFBFBFFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1365 | FF00FFFFFF00FFFFFF00FFFFFF007F7F7FFFFF0000FFFF0000FFFF0000FFFF00 1366 | 00FF7F0000FFBFBFBFFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1367 | FF00FFFFFF00FFFFFF00FFFFFF007F7F7FFF7F0000FF7F0000FF7F0000FF7F00 1368 | 00FF3F0000FFBFBFBFFFBFBFBFFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1369 | FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00DFDFDFFFBFBFBFFFBFBFBFFFBFBF 1370 | BFFFBFBFBFFF9F9F9FFF000000FF3F3F3FFF7F7F7FFFFFFFFF00FFFFFF00FFFF 1371 | FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1372 | FF00FFFFFF00FFFFFF003F3F3FFF000000FF7F7F7FFF3F3F00FF7F7F00FF7F7F 1373 | 00FF7F7F00FF007F7FFF5F5F5FFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1374 | FF00FFFFFF00FFFFFF007F7F7FFF7F7F7FFFBFBFBFFF7F7F00FFFFFF00FFFFFF 1375 | 00FFFFFF00FFBFFF3FFF404040FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1376 | FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00004040FF7FBF40FFBFDF 1377 | 20FFFFFF00FFFFFF00FF404040FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1378 | FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00004040FF3F6060FF7F40 1379 | 40FFFF0000FFFF0000FF404040FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1380 | FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007F0000FFFF0000FFFF00 1381 | 00FFFF0000FFFF0000FF404040FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1382 | FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003F0000FF7F0000FF7F00 1383 | 00FF7F0000FF7F0000FF404040FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1384 | FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00DFDFDFFFBFBFBFFFBFBF 1385 | BFFFBFBFBFFFBFBFBFFFBFBFBFFF000000000000000000000000BCBCBCFF8787 1386 | 87FF50504EFF423E34FF594F34FF594F34FF423E34FF50504EFF878787FFBCBC 1387 | BCFF0000000000000000000000000000000000000000B9B9B9FF646464FF2421 1388 | 1AFF66521FFFB58E2EFFDAAB34FFDAAB34FFB58E2EFF66521FFF24211AFF6464 1389 | 64FFB9B9B9FF000000000000000000000000B1B1B1FF726160FF641508FFF652 1390 | 38FFFF6E64FFFF7964FFFF8965FFFFBF80FFFFF09EFFFFE794FFA8914FFF211D 1391 | 12FF696968FFB1B1B1FF0000000000000000676767FF592D1BFFDC350CFFFF66 1392 | 59FFFF796CFFFF4A31FFFF5727FFFFD05CFFFFEB79FFFFF3A1FFFFEE88FF8D78 1393 | 2CFF3C3726FF676767FF00000000BFBFBFFF262626FF96752BFFF2A235FFFF60 1394 | 3AFFFF855DFFFFB960FFFFB748FFFFD851FFFFE969FFFFF083FFFFED6FFFEBC9 1395 | 42FF8C7626FF262626FFBFBFBFFFB4B4B4FF121212FFE6C94AFFFFE852FFFFBC 1396 | 43FFFF9740FFFFBB4FFFFFD84EFFFFCA45FFFFEC5BFFFFED5DFFFFEC53FFFFE8 1397 | 52FFE3C331FF121212FFB4B4B4FFA8A8A8FF0F0F0FFFFFEC5EFFFFF264FFFFF3 1398 | 5EFFFFDC4EFFFFA02EFFFF9424FFFF6913FFFF9C29FFFFE147FFFFF154FFFFF2 1399 | 62FFFFE436FF0F0F0FFFA8A8A8FFA2A2A2FF0E0E0EFFFFF66CFFFFF76FFFFFFA 1400 | 6BFFFFF865FFFFEB52FFFF9222FFFF0000FFFF0C00FFFF731FFFFFCB4CFFFFD5 1401 | 5DFFFFEE35FF0E0E0EFFA2A2A2FFA1A1A1FF0F0F0FFFFFF271FFFFFC78FFFFFB 1402 | 75FFFFFB71FFFFF264FFFF9C36FFFF0D00FFFF0C00FFFF1A06FFFF421FFFFF6B 1403 | 3DFFFFEB33FF0F0F0FFFA1A1A1FFA1A1A1FF161616FFDDD35BFFFFFD7EFFFFFF 1404 | 8AFFFFFC82FFFFFC7BFFFFE266FFFF602BFFFF2211FFFF2E1CFFFF5B3FFFFF8E 1405 | 4FFFCFC32BFF161616FFA1A1A1FFA2A2A2FF2E2E2EFF6C6828FFF1E664FFFFFF 1406 | A1FFFFFFA1FFFFFF94FFFFFA89FFFFAB62FFFF4C3DFFFF6F58FFFFD383FFEED7 1407 | 57FF5F5B1BFF2E2E2EFFA2A2A2FFA8A8A8FF5D5D5DFF1F1F1FFF736E29FFFFFD 1408 | 7EFFFFFFADFFFFFFB0FFFFFAA5FFFFB284FFFF8276FFFFC48DFFFFFB75FF6A65 1409 | 24FF202020FF5D5D5DFFA8A8A8FFB4B4B4FF848484FF4F4F4FFF1B1B1BFF4A47 1410 | 23FFCDC367FFFFFBA7FFFFF7B2FFFFB599FFFFAD85FFFADF67FF595523FF1B1B 1411 | 1BFF4F4F4FFF848484FFB4B4B4FFBFBFBFFFA7A7A7FF7C7C7CFF4A4A4AFF2424 1412 | 24FF131312FF222011FF69601CFF7B7120FF353114FF161511FF242424FF4A4A 1413 | 4AFF7C7C7CFFA7A7A7FFBFBFBFFF00000000BDBDBDFFA6A6A6FF7C7C7CFF5555 1414 | 55FF414141FF3B3B3BFF393939FF393939FF3B3B3BFF414141FF555555FF7C7C 1415 | 7CFFA6A6A6FFBDBDBDFF000000000000000000000000BEBEBEFFABABABFF8D8D 1416 | 8DFF747474FF686868FF656565FF656565FF686868FF747474FF8D8D8DFFABAB 1417 | ABFFBEBEBEFF0000000000000000 1418 | } 1419 | end 1420 | end 1421 | -------------------------------------------------------------------------------- /mainformu.pas: -------------------------------------------------------------------------------- 1 | unit mainformu; 2 | 3 | {$mode objfpc}{$H+} 4 | 5 | interface 6 | 7 | uses 8 | Classes, SysUtils, LazFileUtils, SynEdit, SynHighlighterHTML, SynExportHTML, 9 | SynHighlighterPas, SynHighlighterCpp, SynHighlighterMulti, Forms, Controls, 10 | Graphics, Dialogs, StdCtrls, ExtCtrls, Clipbrd, MarkdownProcessor, 11 | MarkdownUtils, LCLIntf, ComCtrls, Buttons, StrUtils, HtmlView, HtmlGlobals, 12 | HTMLUn2, SynHighlighterVHDL, ssl_openssl, httpsend, 13 | BGRABitmap, BGRASvg; 14 | 15 | type 16 | 17 | { TMainForm } 18 | 19 | TMainForm = class(TForm) 20 | B_Convert: TBitBtn; 21 | B_Copy: TBitBtn; 22 | B_OpenFile: TBitBtn; 23 | B_Paste: TBitBtn; 24 | B_Save: TBitBtn; 25 | B_ViewBrowser: TBitBtn; 26 | ChkB_DownloadfromWeb: TCheckBox; 27 | HtmlViewer: THtmlViewer; 28 | ImageList1: TImageList; 29 | OpenDialog1: TOpenDialog; 30 | PageControl1: TPageControl; 31 | Panel1: TPanel; 32 | SaveDialog1: TSaveDialog; 33 | SE_MarkDown: TSynEdit; 34 | SE_HTML: TSynEdit; 35 | Splitter1: TSplitter; 36 | SynCppSyn1: TSynCppSyn; 37 | SynExporterHTML1: TSynExporterHTML; 38 | SynFreePascalSyn1: TSynFreePascalSyn; 39 | SynHTMLSyn1: TSynHTMLSyn; 40 | SynVHDLSyn1: TSynVHDLSyn; 41 | TS_MarkDown: TTabSheet; 42 | TS_HTML: TTabSheet; 43 | procedure B_CopyClick(Sender: TObject); 44 | procedure B_PasteClick(Sender: TObject); 45 | procedure B_ViewBrowserClick(Sender: TObject); 46 | procedure B_OpenFileClick(Sender: TObject); 47 | procedure B_ConvertClick(Sender: TObject); 48 | procedure B_SaveClick(Sender: TObject); 49 | procedure FormCreate(Sender: TObject); 50 | procedure FormDestroy(Sender: TObject); 51 | procedure HtmlViewerHotSpotClick(Sender: TObject; const SRC: ThtString; 52 | var Handled: Boolean); 53 | procedure HtmlViewerHotSpotTargetClick(Sender: TObject; const Target, 54 | URL: ThtString; var Handled: boolean); 55 | procedure HtmlViewerImageRequest(Sender: TObject; const SRC: UnicodeString; 56 | var Stream: TStream); 57 | procedure SE_HTMLChange(Sender: TObject); 58 | private 59 | procedure CheckParams; 60 | function getStreamData(FileName: String): TStream; 61 | function OpenFile(FileName: string): boolean; 62 | procedure OpenInBrowser; 63 | procedure SetPreview; 64 | end; 65 | 66 | { TCodeEmiter } 67 | 68 | TCodeEmiter = class(TBlockEmitter) 69 | public 70 | procedure emitBlock(out_: TStringBuilder; lines: TStringList; meta: String); override; 71 | end; 72 | 73 | var 74 | MainForm: TMainForm; 75 | 76 | implementation 77 | 78 | {$R *.lfm} 79 | 80 | var 81 | RootPath,f:string; 82 | md:TMarkdownProcessor=nil; 83 | MStream:TMemoryStream=nil; 84 | 85 | const 86 | CSSDecoration = ''#10; 124 | 125 | { TCodeEmiter } 126 | 127 | procedure TCodeEmiter.emitBlock(out_: TStringBuilder; lines: TStringList; 128 | meta: String); 129 | var 130 | s:string; 131 | 132 | procedure exportlines; 133 | var 134 | sstream: TStringStream; 135 | begin 136 | MainForm.SynExporterHTML1.ExportAll(lines); 137 | try 138 | sstream:=TStringStream.Create(''); 139 | MainForm.SynExporterHTML1.SaveToStream(sstream); 140 | out_.Append(sstream.DataString); 141 | finally 142 | if assigned(sstream) then freeandnil(sstream); 143 | end; 144 | end; 145 | 146 | begin 147 | case meta of 148 | 'vhdl': 149 | begin 150 | MainForm.SynExporterHTML1.Highlighter:=MainForm.SynVHDLSyn1; 151 | exportlines; 152 | end; 153 | 'html': 154 | begin 155 | MainForm.SynExporterHTML1.Highlighter:=MainForm.SynHTMLSyn1; 156 | exportlines; 157 | end; 158 | 'fpc','pas','pascal': 159 | begin 160 | MainForm.SynExporterHTML1.Highlighter:=MainForm.SynFreePascalSyn1; 161 | exportlines; 162 | end; 163 | 'cpp','c++','c': 164 | begin 165 | MainForm.SynExporterHTML1.Highlighter:=MainForm.SynCppSyn1; 166 | exportlines; 167 | end 168 | else 169 | begin 170 | if meta='' then out_.append('
')
171 |         else out_.append('
');
172 |         for s in lines do
173 |         begin
174 |           TUtils.appendValue(out_,s,0,Length(s));
175 |           out_.append(#10);
176 |         end;
177 |         out_.append('
'#10); 178 | end; 179 | end; 180 | end; 181 | 182 | 183 | { TMainForm } 184 | 185 | procedure TMainForm.SetPreview; 186 | begin 187 | if SE_HTML.Modified then 188 | begin 189 | HtmlViewer.LoadFromString(SE_HTML.Text); 190 | SE_HTML.Modified:=false; 191 | end; 192 | end; 193 | 194 | procedure TMainForm.B_ConvertClick(Sender: TObject); 195 | begin 196 | SE_HTML.Text:=CSSDecoration+md.process(SE_MarkDown.Text); 197 | SE_HTML.Modified:=true; 198 | SetPreview; 199 | end; 200 | 201 | procedure TMainForm.B_SaveClick(Sender: TObject); 202 | begin 203 | PageControl1.ActivePageIndex:=0; 204 | if savedialog1.Execute then 205 | begin 206 | SE_MarkDown.Lines.SaveToFile(savedialog1.FileName); 207 | end; 208 | end; 209 | 210 | procedure TMainForm.FormCreate(Sender: TObject); 211 | var 212 | i:integer; 213 | begin 214 | MStream := TMemoryStream.Create; 215 | md := TMarkdownProcessor.createDialect(mdCommonMark); 216 | md.UnSafe := false; 217 | md.config.codeBlockEmitter:=TCodeEmiter.Create; 218 | RootPath:=GetTempDir; 219 | I:=0; 220 | Repeat 221 | f:=Format('%s%.3d.html',['markdown',I]); 222 | Inc(I); 223 | Until not FileExists(RootPath+f); 224 | PageControl1.ActivePageIndex:=0; 225 | HtmlViewer.DefBackground:=clWhite; 226 | HtmlViewer.DefFontColor:=clBlack; 227 | HtmlViewer.DefFontName:='Helvetica'; 228 | HtmlViewer.DefFontSize:=10; 229 | HtmlViewer.DefPreFontName:='Courier'; 230 | HtmlViewer.ServerRoot:=RootPath; 231 | // HtmlViewer.OnHotSpotTargetClick:=@HtmlViewerHotSpotTargetClick; 232 | HtmlViewer.OnHotSpotClick:=@HtmlViewerHotSpotClick; 233 | HtmlViewer.OnImageRequest:=@HtmlViewerImageRequest; 234 | HtmlViewer.LoadFromString(CSSDecoration); 235 | CheckParams; 236 | end; 237 | 238 | procedure TMainForm.CheckParams; 239 | begin 240 | If (ParamCount=1) and FileExists(ParamStr(1)) then 241 | begin 242 | OpenFile(ParamStr(1)); 243 | end; 244 | end; 245 | 246 | procedure TMainForm.FormDestroy(Sender: TObject); 247 | begin 248 | if FileExists(RootPath+f) then DeleteFile(RootPath+f); 249 | if assigned(md) then md.Free; 250 | if Assigned(MStream) then freeandnil(MStream); 251 | end; 252 | 253 | procedure TMainForm.HtmlViewerHotSpotClick(Sender: TObject; 254 | const SRC: ThtString; var Handled: Boolean); 255 | begin 256 | Handled:=OpenUrl(SRC); 257 | end; 258 | 259 | procedure TMainForm.HtmlViewerHotSpotTargetClick(Sender: TObject; 260 | const Target, URL: ThtString; var Handled: boolean); 261 | begin 262 | Handled:=OpenUrl(URL); 263 | end; 264 | 265 | procedure ConvertSVG(FileName:string); 266 | var 267 | bmp: TBGRABitmap; 268 | svg: TBGRASVG; 269 | begin 270 | if (pos('.svg',lowercase(FileName))>0) then 271 | begin 272 | try 273 | MStream.Position:=0; 274 | svg:= TBGRASVG.Create(MStream); 275 | try 276 | bmp:=TBGRABitmap.Create(trunc(svg.Width.value),trunc(svg.Height.value)); 277 | svg.Draw(bmp.Canvas2D,0,0); 278 | MStream.Clear; 279 | bmp.Bitmap.SaveToStream(MStream); 280 | finally 281 | if assigned(bmp) then FreeAndNil(bmp); 282 | end; 283 | finally 284 | if assigned(svg) then FreeAndNil(svg); 285 | end; 286 | end; 287 | end; 288 | 289 | function TMainForm.getStreamData(FileName : String):TStream; 290 | var 291 | sl : TStringList; 292 | bFail : Boolean; 293 | bTryAgain : Boolean; 294 | Begin 295 | Result:=nil; 296 | MStream.Clear; 297 | with THTTPSend.Create do 298 | Begin 299 | sl := TStringList.Create; 300 | if HTTPMethod('GET',FileName) then 301 | Begin 302 | MStream.CopyFrom(Document, 0); 303 | // Need To check For Failed Retrieval... 304 | MStream.Position:= 0; 305 | sl.LoadFromStream(MStream); 306 | bTryAgain := False; 307 | bFail := False; 308 | if Length(sl.Text) = 0 then bFail:= True; 309 | if MStream.Size = 0 then bFail:= True; 310 | 311 | if MStream.Size < 1024 then 312 | Begin 313 | if Pos('Not Found', sl.Text) > 0 then bFail:= True; 314 | if (Pos(LowerCase('301 Moved Permanently'), LowerCase(sl.Text)) > 0) or 315 | (Pos(LowerCase(''), LowerCase(sl.Text)) > 0) then 316 | Begin 317 | if Pos(LowerCase('RootPath then 397 | begin 398 | SE_HTML.Clear; 399 | HtmlViewer.Clear; 400 | if FileExists(RootPath+f) then DeleteFile(RootPath+f); 401 | HtmlViewer.ServerRoot:=NewPath; 402 | RootPath:=NewPath; 403 | end; 404 | SaveDialog1.FileName:=FileName; 405 | PageControl1.ActivePageIndex:=0; 406 | Result:=true; 407 | except 408 | Result:=false; 409 | end; 410 | end; 411 | 412 | procedure TMainForm.B_OpenFileClick(Sender: TObject); 413 | begin 414 | if OpenDialog1.Execute then OpenFile(OpenDialog1.FileName); 415 | end; 416 | 417 | procedure TMainForm.OpenInBrowser; 418 | var p:string; 419 | begin 420 | p:=IfThen(DirectoryIsWritable(RootPath),RootPath+f,GetTempDir+f); 421 | try 422 | SE_HTML.Lines.SaveToFile(p); 423 | OpenURL(p); 424 | except 425 | ShowMessage('Can not create and open the temp file'); 426 | end; 427 | end; 428 | 429 | 430 | end. 431 | 432 | -------------------------------------------------------------------------------- /markdownlogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mriscoc/mdEditor/8c9798e4e71f74993629c16f455908b99b1eaa20/markdownlogo.png -------------------------------------------------------------------------------- /mdEditor.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mriscoc/mdEditor/8c9798e4e71f74993629c16f455908b99b1eaa20/mdEditor.ico -------------------------------------------------------------------------------- /mdEditor.lpi: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | <ResourceType Value="res"/> 11 | <UseXPManifest Value="True"/> 12 | <XPManifest> 13 | <DpiAware Value="True"/> 14 | <TextName Value="uEGroup.FPCMarkDown.TestHtmlConveter"/> 15 | <TextDesc Value="Test Markdown Processor for FPC."/> 16 | </XPManifest> 17 | <Icon Value="0"/> 18 | </General> 19 | <VersionInfo> 20 | <UseVersionInfo Value="True"/> 21 | <MajorVersionNr Value="1"/> 22 | <MinorVersionNr Value="1"/> 23 | <RevisionNr Value="2"/> 24 | <BuildNr Value="21"/> 25 | <Attributes pvaPreRelease="True"/> 26 | <StringTable ProductVersion="0.0.0.0"/> 27 | </VersionInfo> 28 | <BuildModes Count="3"> 29 | <Item1 Name="Default" Default="True"/> 30 | <Item2 Name="Debug"> 31 | <CompilerOptions> 32 | <Version Value="11"/> 33 | <PathDelim Value="\"/> 34 | <Target> 35 | <Filename Value="$Env(PRJOUT)\$NameOnly($(ProjFile))\$NameOnly($(ProjFile))"/> 36 | </Target> 37 | <SearchPaths> 38 | <IncludeFiles Value="$(ProjOutDir)"/> 39 | <UnitOutputDirectory Value="$Env(Temp)\lazarus\lib\$(TargetCPU)-$(TargetOS)"/> 40 | </SearchPaths> 41 | <Parsing> 42 | <SyntaxOptions> 43 | <IncludeAssertionCode Value="True"/> 44 | </SyntaxOptions> 45 | </Parsing> 46 | <CodeGeneration> 47 | <Checks> 48 | <IOChecks Value="True"/> 49 | <RangeChecks Value="True"/> 50 | <OverflowChecks Value="True"/> 51 | <StackChecks Value="True"/> 52 | </Checks> 53 | <VerifyObjMethodCallValidity Value="True"/> 54 | <Optimizations> 55 | <OptimizationLevel Value="0"/> 56 | </Optimizations> 57 | </CodeGeneration> 58 | <Linking> 59 | <Debugging> 60 | <DebugInfoType Value="dsDwarf2Set"/> 61 | <UseHeaptrc Value="True"/> 62 | <TrashVariables Value="True"/> 63 | <UseExternalDbgSyms Value="True"/> 64 | </Debugging> 65 | <Options> 66 | <Win32> 67 | <GraphicApplication Value="True"/> 68 | </Win32> 69 | </Options> 70 | </Linking> 71 | </CompilerOptions> 72 | </Item2> 73 | <Item3 Name="Release"> 74 | <CompilerOptions> 75 | <Version Value="11"/> 76 | <PathDelim Value="\"/> 77 | <Target> 78 | <Filename Value="$Env(PRJOUT)\$NameOnly($(ProjFile))\$NameOnly($(ProjFile))"/> 79 | </Target> 80 | <SearchPaths> 81 | <IncludeFiles Value="$(ProjOutDir)"/> 82 | <UnitOutputDirectory Value="$Env(Temp)\lazarus\lib\$(TargetCPU)-$(TargetOS)"/> 83 | </SearchPaths> 84 | <CodeGeneration> 85 | <SmartLinkUnit Value="True"/> 86 | <Optimizations> 87 | <OptimizationLevel Value="3"/> 88 | </Optimizations> 89 | </CodeGeneration> 90 | <Linking> 91 | <Debugging> 92 | <GenerateDebugInfo Value="False"/> 93 | <StripSymbols Value="True"/> 94 | </Debugging> 95 | <LinkSmart Value="True"/> 96 | <Options> 97 | <Win32> 98 | <GraphicApplication Value="True"/> 99 | </Win32> 100 | </Options> 101 | </Linking> 102 | </CompilerOptions> 103 | </Item3> 104 | </BuildModes> 105 | <PublishOptions> 106 | <Version Value="2"/> 107 | <DestinationDirectory Value="D:\Users\Miguel\Documents\Trabajos\for_GIT\mdEditor"/> 108 | </PublishOptions> 109 | <RunParams> 110 | <FormatVersion Value="2"/> 111 | <Modes Count="1"> 112 | <Mode0 Name="default"/> 113 | </Modes> 114 | </RunParams> 115 | <RequiredPackages Count="7"> 116 | <Item1> 117 | <PackageName Value="ExtraHighlighters"/> 118 | </Item1> 119 | <Item2> 120 | <PackageName Value="BGRABitmapPack"/> 121 | </Item2> 122 | <Item3> 123 | <PackageName Value="laz_synapse"/> 124 | </Item3> 125 | <Item4> 126 | <PackageName Value="FrameViewer09"/> 127 | </Item4> 128 | <Item5> 129 | <PackageName Value="SynEdit"/> 130 | </Item5> 131 | <Item6> 132 | <PackageName Value="fpc_markdown"/> 133 | </Item6> 134 | <Item7> 135 | <PackageName Value="LCL"/> 136 | </Item7> 137 | </RequiredPackages> 138 | <Units Count="2"> 139 | <Unit0> 140 | <Filename Value="mdEditor.lpr"/> 141 | <IsPartOfProject Value="True"/> 142 | </Unit0> 143 | <Unit1> 144 | <Filename Value="mainformu.pas"/> 145 | <IsPartOfProject Value="True"/> 146 | <ComponentName Value="MainForm"/> 147 | <HasResources Value="True"/> 148 | <ResourceBaseClass Value="Form"/> 149 | </Unit1> 150 | </Units> 151 | </ProjectOptions> 152 | <CompilerOptions> 153 | <Version Value="11"/> 154 | <PathDelim Value="\"/> 155 | <Target> 156 | <Filename Value="$Env(PRJOUT)\$NameOnly($(ProjFile))\$NameOnly($(ProjFile))"/> 157 | </Target> 158 | <SearchPaths> 159 | <IncludeFiles Value="$(ProjOutDir)"/> 160 | <UnitOutputDirectory Value="$Env(Temp)\lazarus\lib\$(TargetCPU)-$(TargetOS)"/> 161 | </SearchPaths> 162 | <Linking> 163 | <Options> 164 | <Win32> 165 | <GraphicApplication Value="True"/> 166 | </Win32> 167 | </Options> 168 | </Linking> 169 | <Other> 170 | <CustomOptions Value="-dBorland -dVer150 -dDelphi7 -dCompiler6_Up -dPUREPASCAL"/> 171 | </Other> 172 | </CompilerOptions> 173 | <Debugging> 174 | <Exceptions Count="3"> 175 | <Item1> 176 | <Name Value="EAbort"/> 177 | </Item1> 178 | <Item2> 179 | <Name Value="ECodetoolError"/> 180 | </Item2> 181 | <Item3> 182 | <Name Value="EFOpenError"/> 183 | </Item3> 184 | </Exceptions> 185 | </Debugging> 186 | </CONFIG> 187 | -------------------------------------------------------------------------------- /mdEditor.lpr: -------------------------------------------------------------------------------- 1 | program mdEditor; 2 | 3 | {$mode objfpc}{$H+} 4 | 5 | uses 6 | {$IFDEF UNIX}{$IFDEF UseCThreads} 7 | cthreads, 8 | {$ENDIF}{$ENDIF} 9 | Interfaces, // this includes the LCL widgetset 10 | Forms, mainformu; 11 | 12 | {$R *.res} 13 | 14 | begin 15 | Application.Initialize; 16 | Application.CreateForm(TMainForm, MainForm); 17 | Application.Run; 18 | end. 19 | 20 | --------------------------------------------------------------------------------