1. Берем модуль SynHighlighterPas и сохраняем в проект как SynHighlighterDPas

2. Переименовываем через рефакторинг классы, константы с именами *Pascal*, *pas*, в *DPascal*, *DPas*

3. Изменяем RESERVED_WORDS_TP, дополняем ключевыми словами method, elseif и т.д. (смотреть как было в предыдущем варианте).

4. RESERVED_WORDS_DELPHI и RESERVED_WORDS_FPC закомментировать

5. procedure MakeIdentTable; заменить IsNumberChar на IsNumberChar[I]:=(I in ['0'..'9', '.', 'e', 'E']);

6. DPascalFoldTypeCompatibility как в предыдущем

7. TDPascalCompilerMode = (
    pcmDP
    );
    
9 implementation добавить константы
const
  SYNS_FilterDPascal             =  'DieselPascal Files (*.dps)|*.dps';
  SYNS_LangDPascal = 'DieselPascal';    
  
8 constructor TSynDPasSyn.Create(AOwner: TComponent);
****
CompilerMode:=pcmDP;
****
fDefaultFilter := SYNS_FilterDPascal;

9 procedure TSynDPasSyn.DirectiveProc;
***
if TextComp('mode') then begin
    // $mode directive
    inc(Run,4);
    // skip space
    while (fLine[Run] in [' ',#9,#10,#13]) do inc(Run);
    CompilerMode:=pcmDP;
end; 