1) For the icon in the gutter:
uses SynEditMarks;
AMark := TSynEditMark.Create(TheSynEdit);
TheSynEdit.Marks.Add(AMark)
Look through the properties.
For the image either use:
TheSynEdit.BookMarkOpt.BookmarkImages
//or
AMark.ImageList // I have not actually tested that.
and then
AMark.ImageIndex
2) for the lines color:
uses SyneditMarkupSpecialline
TheSynEdit.MarkupByClass[TSynEditMarkupSpecialLine].OnSpecialLineColors
this callback will be called very often and during paint. So it must be fast, and not do any big stuff. Do not modify other components/controls.
---
alternatively, use TSynEditMarkupGutterMark (that is what the IDE does)
See unit SourceSynEditor for how to set it up.
In this case, you need to create marks of the class TSynEditMarkupMark
All defined in SynEditMarkupGutterMark
Only to add you own markup-class, you need to subclass synedit, as MarkupManager is protected