lazarus/components/codetools/tests/laztests/tcompletion_keywords.pas

111 lines
4.1 KiB
ObjectPascal

{%identcomplincludekeywords:on}
unit {completion:+5=!do,!label,!repeat,!else,!inherited,!and,!not}
tcompletion_keywords {completion:+21=!do,!label,!repeat,!else,!inherited,!and,!not}
; {completion:+2=!do,!label,!repeat,!else,!inherited,!and,!not}
{$mode objfpc}{$H+}
{$ModeSwitch typehelpers}
{$ModeSwitch advancedrecords}
interface {completion:+11=!do,!label,!repeat,!else,!inherited,!and,!not}
uses {completion:+5=!do,!label,!repeat,!else,!inherited,!and,!not}
system {completion:+7=!do,!label,!repeat,!else,!inherited,!and,!not}
;
const {completion:+6=!do,!label,!repeat,!else,!inherited,!and,!not}
MYCONST
= {completion:+2=!do,!label,!repeat,!else,!inherited,!and,!not}
1 {completion:+2=!do,!label,!repeat,!else,!inherited,!and,!not}
; {completion:+2=!do,!label,!repeat,!else,!inherited,!and,!not}
MYCONST_B = 'test' ; {completion:+1=!do,!label,!repeat,!else,!inherited,!and,!not}
var {completion:+4=!do,!label,!repeat,!else,!inherited,!and,!not}
MyVar {completion:+6=!do,!label,!repeat,!else,!inherited,!and,!not}
: {completion:+1=!do,!label,!repeat,!else,!inherited,!and,!not}
Integer {completion:+8=!do,!label,!repeat,!else,!inherited,!and,!not}
; {completion:+1=!do,!label,!repeat,!else,!inherited,!and,!not}
MyVar2: TObject ; {completion:+1=!do,!label,!repeat,!else,!inherited,!and,!not,!case}
// TODO: "case" in record
MyVar3: record {completion:+7=!do,!label,!repeat,!else,!inherited,!and,!not}
a: Integer ; {completion:+1=!do,!label,!repeat,!else,!inherited,!and,!not}
a2 {completion:+3=!do,!label,!repeat,!else,!inherited,!and,!not}
: {completion:+1=!do,!label,!repeat,!else,!inherited,!and,!not}
Integer {completion:+8=!do,!label,!repeat,!else,!inherited,!and,!not}
; {completion:+1=!do,!label,!repeat,!else,!inherited,!and,!not}
case
boolean {completion:+8=!do,!label,!repeat,!else,!inherited,!and,!not} // TODO: "of"
of
true: (
b: TObject;
);
false: (
c: array [0..1] of integer;
);
end;
type
TFoo {completion:+5=!do,!label,!repeat,!else,!inherited,!and,!not}
= {completion:+1=!do,!label,!repeat,!else,!inherited,!and,!not}
class {completion:+6=!do,!label,!repeat,!else,!inherited,!and,!not}
;
TIntA = {completion:+1=!do,!label,!repeat,!else,!inherited,!and,!not} // TODO: "array"
array {completion:+6=!do,!label,!repeat,!else,!inherited,!and,!not} // TODO: "of"
of
integer;
TIntB = array
[ 0..9 ] {completion:+1=!do,!label,!repeat,!else,!inherited,!and,!not} // TODO: "of"
of
integer;
TFoo = class {completion:+6=!do,!label,!repeat,!else,!inherited,!and,!not}
( {completion:+1=!do,!label,!repeat,!else,!inherited,!and,!not}
TObject {completion:+8=!do,!label,!repeat,!else,!inherited,!and,!not}
) {completion:+1=!do,!label,!repeat,!else,!inherited,!and,!not}
a {completion:+2=!do,!label,!repeat,!else,!inherited,!and,!not}
: {completion:+1=!do,!label,!repeat,!else,!inherited,!and,!not}
Integer {completion:+8=!do,!label,!repeat,!else,!inherited,!and,!not}
; {completion:+1=!do,!label,!repeat,!else,!inherited,!and,!not}
private
procedure {completion:+10=!do,!label,!repeat,!else,!inherited,!and,!not}
Bar {completion:+5=!do,!label,!repeat,!else,!inherited,!and,!not}
; {completion:+1=!do,!label,!repeat,!else,!inherited,!and,!not}
end;
procedure SomeProc(val: Integer; var v2, v3: TIntA);
function f1: TObject;
implementation
var
bVal: Boolean;
iVal: integer;
ia: TIntA;
procedure SomeProc(val: Integer);
begin {completion:+6=!do,!label,repeat,!else,inherited,!and,!not}
; {completion:+1=!do,!label,repeat,!else,inherited,!and,!not}
end;
procedure SomeProc(val: Integer; var v2, v3: TIntA);
begin
end;
function f1: TObject;
begin
end;
procedure TFoo.Bar;
begin
end;
begin
if {completion:+3=!and,not,inherited} // +3 test in space after if
iVal {completion:!and,!in,not,inherited;+1=!and,!in,!not,inherited;+5=and,in,!not,!inherited} // + 5 in spaces after iVal
end.