Mercurial > malikania
annotate vera/rules/T004.tcl @ 99:0addfab87b17
Common: implement basic tilesets, closes #664
author | David Demelier <markand@malikania.fr> |
---|---|
date | Fri, 18 Aug 2017 18:45:07 +0200 |
parents | 0edaba9986ba |
children |
rev | line source |
---|---|
54
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 #!/usr/bin/tclsh |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 # Some keywords should be immediately followed by a colon |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
4 set keywords { |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 default |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 private |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 protected |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 public |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 } |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 proc isKeyword {s} { |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 global keywords |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 return [expr [lsearch $keywords $s] != -1] |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 } |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 foreach f [getSourceFileNames] { |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 set lastKeywordLine 0 |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 set lastKeywordColumn 0 |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
19 set lastKeywordValue "" |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
20 set last "" |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
21 foreach t [getTokens $f 1 0 -1 -1 [concat $keywords colon]] { |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
22 set tokenValue [lindex $t 0] |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
23 set tokenName [lindex $t 3] |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
24 if {$tokenName == "colon"} { |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
25 if {$last == "keyword" && $lastKeywordLine != 0} { |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
26 set line [lindex $t 1] |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
27 set column [lindex $t 2] |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
28 if {$line != $lastKeywordLine || |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
29 $column != [expr $lastKeywordColumn + [string length $lastKeywordValue]]} { |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
30 set nonWhiteFound "false" |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
31 foreach tb [getTokens $f $lastKeywordLine [expr $lastKeywordColumn + 1] $line $column {}] { |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
32 set tbName [lindex $tb 3] |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
33 if {[lsearch {space newline ccomment cppcomment} $tbName] == -1} { |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
34 set nonWhiteFound "true" |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
35 break |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
36 } |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
37 } |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
38 if {$nonWhiteFound == "false"} { |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
39 report $f $line "colon not immediately after the \'$lastKeywordValue\' keyword" |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
40 } |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
41 } |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
42 } |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
43 set last "colon" |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
44 } else { |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
45 set lastKeywordLine [lindex $t 1] |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
46 set lastKeywordColumn [lindex $t 2] |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
47 set lastKeywordValue $tokenValue |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
48 set last "keyword" |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
49 } |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
50 } |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
51 } |