[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [tyndur-devel] [PATCH 2/3] kedit: Syntax-Highlighting [2]



On Thu, Sep 24, 2009 at 02:11:54AM +0200, Alexander Hartmut Kluth wrote:
> * kedit: syntax.pas: Definition der Klasse TSyntax samt Methoden
> + kedit: syntax_c.pas: C-Syntax
> 
> Signed-off-by: Alexander Hartmut Kluth <hartmut@xxxxxxxxxx>
> ---
>  src/modules/pas/kedit/syntax.pas   |  195 ++----------------------------------
>  src/modules/pas/kedit/syntax_c.pas |  197 ++++++++++++++++++++++++++++++++++++
>  2 files changed, 206 insertions(+), 186 deletions(-)
>  create mode 100644 src/modules/pas/kedit/syntax_c.pas
> 
> diff --git a/src/modules/pas/kedit/syntax.pas b/src/modules/pas/kedit/syntax.pas
> index b382265..0f9950e 100644
> --- a/src/modules/pas/kedit/syntax.pas
> +++ b/src/modules/pas/kedit/syntax.pas
> @@ -29,30 +29,18 @@ type
>              property GetState: integer read f_state;
>      end;
>  
> -    TSyntax_C = class(TSyntax)
> -        public
> -            procedure StartLine(s: String; state: integer); override;
> -            function Next: TSyntaxChange; override;
> -    end;
> -
>  
>  function SyntaxColor(c: TSyntaxColor): byte;
>  function SyntaxBgColor(c: TSyntaxColor): byte;
> +function Matches(s: String; pos: integer; pattern: String): boolean;
> +function MatchesNumber(s: string; pos: integer): integer;
> +function MatchesKeyword(s: string; pos: integer; p: Array of String): integer;
> +function MatchesLabel(s: string; pos: integer): integer;
> +function MatchesType(s: string; pos: integer): integer;
> +function MatchesTrailingSpace(s: string; pos: integer): boolean;
>  
>  
>  implementation
> -
> -const
> -    Keywords_C: Array [1..15] of String = (
> -        'if', 'else', 'for', 'while', 'do', 'switch', 'case', 'default', 'goto',
> -        'break', 'continue', 'return', 'sizeof', 'typedef', 'asm'
> -    );
> -    Types_C: Array [1..17] of String = (
> -        'void', 'char', 'short', 'int', 'long', 'signed', 'unsigned', 'float', 'double',
> -        'static', 'inline', 'extern', 'enum', 'struct', 'union', 'volatile', 'const'
> -    );
> -
> -
>  function SyntaxColor(c: TSyntaxColor): byte;
>  begin
>      case c of
> @@ -70,6 +58,7 @@ begin
>      exit(8);
>  end;
>  
> +
>  function SyntaxBgColor(c: TSyntaxColor): byte;
>  begin
>      case c of
> @@ -79,11 +68,13 @@ begin
>      exit(0);
>  end;
>  
> +
>  function Matches(s: String; pos: integer; pattern: String): boolean;
>  begin
>      Matches := (Copy(s, pos, length(pattern)) = pattern);
>  end;
>  
> +
>  function MatchesNumber(s: String; pos: integer): integer;
>  var
>      i: integer;
> @@ -261,172 +252,4 @@ begin
>      color := c;
>  end;

Die zusätzlichen Leerzeilen haben mit dem Patch nicht viel zu tun. Nimm
die noch raus, dann sollte das passen. Bessere Patchüberschrift wäre
auch noch nett, z.B. "kedit: Syntaxhighlighting-Unit aufsplitten"