www.pudn.com > TMS.Component.Pack.v5.0.rar > advmcshs.pas, change:2009-01-24,size:6862b
{***************************************************************************}
{ TAdvMemo styler component }
{ for Delphi & C++Builder }
{ version 2.0 }
{ }
{ written by TMS Software }
{ copyright © 2002 - 2006 }
{ Email : info@tmssoftware.com }
{ Web : http://www.tmssoftware.com }
{ }
{ The source code is given as is. The author is not responsible }
{ for any possible damage done due to the use of this code. }
{ The component can be freely used in any application. The complete }
{ source code remains property of the author and may not be distributed, }
{ published, given or sold in any form as such. No parts of the source }
{ code can be included in any other component or application without }
{ written authorization of TMS software. }
{***************************************************************************}
{$I TMSDEFS.INC}
unit AdvmCSHS;
interface
uses
Classes, AdvMemo,
{$IFDEF TMSCLX}
QGraphics
{$ENDIF}
{$IFNDEF TMSCLX}
Graphics
{$ENDIF}
;
type
TAdvCSharpMemoStyler=class(TAdvCustomMemoStyler)
private
FVersion: string;
public
constructor Create(AOwner: TComponent); override;
published
property BlockStart;
property BlockEnd;
property LineComment;
property MultiCommentLeft;
property MultiCommentRight;
property CommentStyle;
property NumberStyle;
property AllStyles;
property AutoCompletion;
property HintParameter;
property HexIdentifier;
property Version: string read FVersion;
property Description;
property Filter;
property DefaultExtension;
property StylerName;
property Extensions;
property RegionDefinitions;
end;
implementation
{ TAdvPascalMemoStyler }
constructor TAdvCSharpMemoStyler.Create(AOwner: TComponent);
var
itm:TElementStyle;
begin
inherited;
FVersion := '1.0';
Description := 'C# Styler';
Filter := 'C# files|*.cs';
DefaultExtension := '.';
StylerName := 'C# Styler';
Extensions := 'cs';
LineComment := '//';
MultiCommentLeft := '/*';
MultiCommentRight := '*/';
CommentStyle.TextColor := clNavy;
CommentStyle.BkColor := clWhite;
CommentStyle.Style := [fsItalic];
NumberStyle.TextColor := clFuchsia;
NumberStyle.BkColor := clWhite;
NumberStyle.Style := [fsBold];
BlockStart := '{';
BlockEnd := '}';
Literal := '\';
HexIdentifier := '0x';
//------------C# Standard Default-------------
itm := AllStyles.Add;
itm.Info := 'C# Standard Default';
itm.Font.Color := clGreen;
itm.Font.Style := [fsBold];
with itm.KeyWords do
begin
Add('NAMESPACE');
Add('USING');
Add('GET');
Add('SET');
Add('PRIVATE');
Add('PUBLIC');
Add('INTERNAL');
Add('TYPEOF');
Add('TYPE');
Add('INTERFACE');
Add('DELEGATE');
Add('EVENT');
Add('IF');
Add('ELSE');
Add('SWITCH');
Add('CASE');
Add('DEFAULT');
Add('DO');
Add('WHILE');
Add('FOR');
Add('FOREACH');
Add('BREAK');
Add('CONTINUE');
Add('RETURN');
Add('THROW');
Add('CATCH');
Add('TRY');
Add('FINALLY');
Add('CHECKED');
Add('UNCHECKED');
Add('LOCK');
Add('THIS');
Add('VALUE');
Add('TRUE');
Add('FALSE');
Add('NULL');
Add('CLASS');
Add('STRUCT');
Add('STATIC');
Add('VOID');
Add('UNSAFE');
Add('INT');
Add('BOOL');
Add('STRING');
Add('OBJECT');
Add('SBYTE');
Add('SHORT');
Add('LONG');
Add('USHORT');
Add('UBYTE');
Add('UINT');
Add('ULONG');
Add('FLOAT');
Add('DOUBLE');
Add('CHAR');
Add('DECIMAL');
Add('ENUM');
Add('IMPLEMENTATION');
Add('CONST');
Add('PROGRAM');
Add('PUBLISHED');
Add('PROTECTED');
Add('SEALED');
Add('PROPERTY');
Add('FUNCTION');
Add('PARAMS');
Add('REF');
Add('BASE');
Add('EXTERN');
Add('OPERATOR');
Add('GOTO');
Add('NOT');
Add('TO');
Add('IS');
Add('EXPLICIT');
Add('IMPLICIT');
Add('ABSTRACT');
Add('VIRTUAL');
Add('OVERRIDE');
Add('READONLY');
Add('DEFAULT');
Add('FIXED');
end;
itm := AllStyles.Add;
itm.Info := 'C# Regions';
itm.Font.Color := clBlue;
itm.Font.Style := [fsBold];
with itm.KeyWords do
begin
Add('#region');
Add('#endregion');
end;
itm := AllStyles.Add;
itm.Info := 'C# Conditional defines';
itm.Font.Color := clNavy;
itm.Font.Style := [fsBold];
with itm.KeyWords do
begin
Add('#if');
Add('#else');
Add('#endif');
Add('#define');
Add('#undef');
Add('#error');
Add('#warning');
Add('#line');
end;
//------------Simple Quote ' '----------------
itm := AllStyles.Add;
itm.StyleType := stBracket;
itm.Info := 'Simple Quote';
itm.Font.Color := clBlue;
itm.Font.Style := [];
itm.BracketStart := #39;
itm.BracketEnd := #39;
//------------Double Quote " "----------------
itm := AllStyles.Add;
itm.StyleType := stBracket;
itm.Info := 'Double Quote';
itm.Font.Color := clBlue;
itm.Font.Style := [];
itm.BracketStart := '"';
itm.BracketEnd := '"';
//----------SYMBOL --------------
itm := AllStyles.Add;
itm.StyleType := stSymbol;
itm.Info := 'Symbols Delimiters';
itm.Font.Color := clred;
itm.Font.Style := [];
itm.Symbols := #32+',;:.()[]=-*/^%&^<>|!~'+#13+#10;
//-------------- Region Definition
with RegionDefinitions.Add do
begin
Identifier := 'namespace';
RegionStart := '{';
RegionEnd := '}';
RegionType := rtClosed;
end;
with RegionDefinitions.Add do
begin
Identifier := '#region';
RegionStart := '#region';
RegionEnd := '#endregion';
RegionType := rtClosed;
end;
with RegionDefinitions.Add do
begin
Identifier := 'public';
RegionStart := '{';
RegionEnd := '}';
RegionType := rtClosed;
end;
with RegionDefinitions.Add do
begin
Identifier := 'private';
RegionStart := '{';
RegionEnd := '}';
RegionType := rtClosed;
end;
end;
end.