added python highlighter

git-svn-id: trunk@5648 -
This commit is contained in:
mattias 2004-07-04 15:58:02 +00:00
parent 8f27c45b9f
commit 38b987e7a3
6 changed files with 1339 additions and 8 deletions

1
.gitattributes vendored
View File

@ -193,6 +193,7 @@ components/synedit/synhighlighterpas.pp svneol=native#text/pascal
components/synedit/synhighlighterperl.pas svneol=native#text/pascal
components/synedit/synhighlighterphp.pas svneol=native#text/pascal
components/synedit/synhighlighterposition.pas svneol=native#text/pascal
components/synedit/synhighlighterpython.pas svneol=native#text/pascal
components/synedit/synhighlightersql.pas svneol=native#text/pascal
components/synedit/synhighlightertex.pas svneol=native#text/pascal
components/synedit/synhighlighterunixshellscript.pas svneol=native#text/pascal

View File

@ -23,6 +23,7 @@ uses
SynEditRegexSearch, SynHighlighterPosition, SynHighlighterJava,
SynHighlighterUNIXShellScript, SynHighlighterCss, SynHighlighterPHP,
SynHighlighterTeX, SynHighlighterHashEntries, SynHighlighterSQL,
SynhighlighterPython,
SynEditLazDsgn;
implementation
@ -32,6 +33,9 @@ end.
{ =============================================================================
$Log$
Revision 1.3 2004/07/04 15:58:02 mattias
added python highlighter
Revision 1.2 2004/03/02 23:04:11 mattias
added sql, php, tex, css synedit highlighter

File diff suppressed because it is too large Load Diff

View File

@ -44,6 +44,7 @@ uses
SynEdit, SynEditHighlighter, SynEditAutoComplete, SynEditKeyCmds,
SynHighlighterPas, SynHighlighterHTML, SynHighlighterCPP, SynHighlighterXML,
SynHighlighterLFM, SynHighlighterPerl, SynHighlighterJava,
SynHighlighterPython,
SynHighlighterUNIXShellScript, Laz_XMLCfg,
IDECommands, CodeTemplateDialog, KeyMapping, InputHistory, IDEOptionDefs,
LazarusIDEStrConsts, KeymapSchemeDlg;
@ -57,7 +58,7 @@ type
TLazSyntaxHighlighter =
(lshNone, lshText, lshFreePascal, lshDelphi, lshLFM, lshXML, lshHTML,
lshCPP, lshPerl, lshJava, lshBash);
lshCPP, lshPerl, lshJava, lshBash, lshPython);
TAdditionalHilightAttribute = (ahaNone, ahaTextBlock, ahaExecutionPoint,
ahaEnabledBreakpoint, ahaDisabledBreakpoint,
@ -81,7 +82,8 @@ const
LazSyntaxHighlighterClasses: array[TLazSyntaxHighlighter] of TCustomSynClass =
(nil, nil, TSynPasSyn, TSynPasSyn, TSynLFMSyn, TSynXMLSyn, TSynHTMLSyn,
TSynCPPSyn, TSynPerlSyn, TSynJavaSyn, TSynUNIXShellScriptSyn);
TSynCPPSyn, TSynPerlSyn, TSynJavaSyn, TSynUNIXShellScriptSyn,
TSynPythonSyn);
{ Comments }
@ -97,7 +99,8 @@ const
comtCPP, // lshCPP
comtPerl, // lshPerl
comtCPP, // lshJava
comtPerl // lshBash
comtPerl, // lshBash
comtPerl // lshPython
);
const
@ -517,7 +520,8 @@ const
'C++',
'Perl',
'Java',
'Bash'
'Bash',
'Python'
);
var
@ -540,8 +544,18 @@ const
// highlighter
CompatibleLazSyntaxHilighter:
array[TLazSyntaxHighlighter] of TLazSyntaxHighlighter= (
lshNone, lshText, lshFreePascal, lshFreePascal, lshLFM, lshXML, lshHTML,
lshCPP, lshPerl, lshJava, lshBash
lshNone,
lshText,
lshFreePascal,
lshFreePascal,
lshLFM,
lshXML,
lshHTML,
lshCPP,
lshPerl,
lshJava,
lshBash,
lshPython
);
DefaultColorScheme = 'Default';
@ -998,6 +1012,41 @@ begin
Add('Symbol=Symbol');
end;
end;
// create info for Python
NewInfo:=TEditOptLanguageInfo.Create;
with NewInfo do begin
TheType:=CompatibleLazSyntaxHilighter[lshPython];
DefaultCommentType:=DefaultCommentTypes[TheType];
SynClass:=LazSyntaxHighlighterClasses[TheType];
FileExtensions:='py';
SampleSource:=
'# Python syntax highlighting'#13#10 +
'import math'#13#10 +
#13#10 +
'""" Documentation """'#13#10 +
'def DoSomething(Liste1,Liste2,param3=3):'#13#10 +
' for i in Liste1:'#13#10 +
' if i in Liste2:'#13#10 +
' Liste1.remove(i)'#13#10 +
'/* Text Block */'#13#10 +
#13#10;
AddAttrSampleLines[ahaTextBlock]:=9;
MappedAttributes:=TStringList.Create;
with MappedAttributes do begin
Add('Comment=Comment');
Add('Identifier=Identifier');
Add('Documentation=Comment');
Add('Reserved_word=Reserved_word');
Add('Number=Number');
Add('Space=Space');
Add('String=String');
Add('Symbol=Symbol');
end;
end;
Add(NewInfo);
Add(NewInfo);
end;

View File

@ -975,6 +975,7 @@ begin
AddFile('synhighlighterphp.pas','SynHighlighterPHP',pftUnit,[],cpBase);
AddFile('synhighlightertex.pas','SynHighlighterTeX',pftUnit,[],cpBase);
AddFile('synhighlightersql.pas','SynHighlighterSQL',pftUnit,[],cpBase);
AddFile('synhighlighterpython.pas','SynHighlighterPython',pftUnit,[],cpBase);
// add unit paths
UsageOptions.UnitPath:=SetDirSeparators(

View File

@ -44,7 +44,7 @@ uses
SynHighlighterPerl, SynHighlighterHTML, SynHighlighterXML,
SynHighlighterLFM, SynHighlighterMulti, SynHighlighterUNIXShellScript,
SynHighlighterCss, SynHighlighterPHP, SynHighlighterTeX,
SynHighlighterSQL,
SynHighlighterSQL, SynHighlighterPython,
LazarusPackageIntf, LazarusIDEStrConsts;
procedure Register;
@ -136,6 +136,11 @@ begin
RegisterComponents('SynEdit',[TSynSQLSyn]);
end;
procedure RegisterSynHighlighterPython;
begin
RegisterComponents('SynEdit',[TSynPythonSyn]);
end;
procedure RegisterSynHighlighterMulti;
begin
RegisterComponents('SynEdit',[TSynMultiSyn]);
@ -161,7 +166,8 @@ begin
RegisterUnit('SynHighlighterPHP',@RegisterSynHighlighterPHP);
RegisterUnit('SynHighlighterTeX',@RegisterSynHighlighterTeX);
RegisterUnit('SynHighlighterSQL',@RegisterSynHighlighterSQL);
RegisterUnit('SynHighlighterPython',@RegisterSynHighlighterPython);
RegisterUnit('SynHighlighterMulti',@RegisterSynHighlighterMulti);
end;