mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-15 04:29:27 +02:00
added python highlighter
git-svn-id: trunk@5648 -
This commit is contained in:
parent
8f27c45b9f
commit
38b987e7a3
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
1270
components/synedit/synhighlighterpython.pas
Normal file
1270
components/synedit/synhighlighterpython.pas
Normal file
File diff suppressed because it is too large
Load Diff
@ -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;
|
||||
|
||||
|
@ -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(
|
||||
|
@ -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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user