<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
On 11/06/2010 21:28, ik wrote:
<blockquote
 cite="mid:AANLkTikaz6VQV9fQTvl33AViXg4yoPIiiD_jIaBYwMpP@mail.gmail.com"
 type="cite">
  <div dir="ltr">Hello List,<br>
  <br>
Following old emails of mine, I've started first doing some very simple
syntax, and decided to create a <a moz-do-not-send="true"
 href="http://github.com/ik5/SynEdit-syntaxes/blob/master/synhighlighterbasicconfig.pas">BasicConfig
syntax highlight</a> (the link is to my code).<br>
I implemented everything I'm thinking that I understand in implementing
the highlight (it will be good to know that it's not the case).<br>
So now I need to understand better what to do next, and what does it
mean each of the method that required to be implemented ?<br>
  </div>
</blockquote>
I am writing this while away, and without full access to my usual work,
so it will not be too detailed.<br>
<br>
There are 2 places in synedit.pp you can look at to see, what is called.<br>
<br>
TSynEdit.ScanRanges<br>
TSynEdit.PaintLines (may be nested procedure)<br>
<br>
They show you all the methods that get called on the highlighter/<br>
On top of this SynExport, or HtmlExport or similar (and some pascal
stuff in the IDE SourceEditorProcs) call SetLine/SetRange directly (so
for now that may need to be supported too)<br>
<br>
in the SynEdit folder docs dir is some xml/fpdoc stuff on
CurrentLines/CurrentRanges ....<br>
<br>
---<br>
Highlighter.ScanRanges must ensure all lines are scanned (a proper
range recored is stored for each line)<br>
<br>
In PaintLines the individual tokens are requested by SynEdit. something
similar to:<br>
- StartAtLine<br>
- GetToken(EX)<br>
- GetAttribute<br>
<br>
The tokens returned per line (GetEOL) must match the length of the
actual line, otherwhise it will crash<br>
<br>
Martin<br>
</body>
</html>