mirror of
https://github.com/reactos/CMake.git
synced 2024-11-23 19:49:51 +00:00
Merge topic 'update-vim-syntax'
84d67356
Merge branch 'upstream-vim-cmake-syntax'88da716c
vim-cmake-syntax 2017-08-30 (40f5f4f3) Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1214
This commit is contained in:
commit
9bad65940c
File diff suppressed because one or more lines are too long
@ -29,8 +29,8 @@ push @modules, "ExternalProject";
|
||||
# variables
|
||||
open(CMAKE, "$cmake --help-variable-list|") or die "could not run cmake";
|
||||
while (<CMAKE>) {
|
||||
next if /\</; # skip if containing < or >
|
||||
chomp;
|
||||
next if /\</; # skip VARIABLES which contained <>-"templates"
|
||||
push @variables, $_;
|
||||
}
|
||||
close(CMAKE);
|
||||
@ -70,11 +70,24 @@ my @generator_expr = extract_upper("$cmake --help-manual cmake-generator-express
|
||||
# properties
|
||||
open(CMAKE, "$cmake --help-property-list|");
|
||||
while (<CMAKE>) {
|
||||
next if /\</; # skip if containing < or >
|
||||
chomp;
|
||||
push @properties, $_;
|
||||
}
|
||||
close(CMAKE);
|
||||
|
||||
# transform all properties in a hash
|
||||
my %properties = map { $_ => 1 } @properties;
|
||||
|
||||
# version
|
||||
open(CMAKE, "$cmake --version|");
|
||||
my $version = 'unknown';
|
||||
while (<CMAKE>) {
|
||||
chomp;
|
||||
$version = $_ if /cmake version/;
|
||||
}
|
||||
close(CMAKE);
|
||||
|
||||
# generate cmake.vim
|
||||
open(IN, "<cmake.vim.in") or die "could not read cmake.vim.in";
|
||||
open(OUT, ">syntax/cmake.vim") or die "could not write to syntax/cmake.vim";
|
||||
@ -102,6 +115,8 @@ while(<IN>)
|
||||
print OUT " " x 12 , "\\ ", join(" ", sort keys %loop), "\n";
|
||||
} elsif ($1 eq "DEPRECATED") {
|
||||
print OUT " " x 12 , "\\ ", join(" ", sort keys %deprecated), "\n";
|
||||
} elsif ($1 eq "PROPERTIES") {
|
||||
print OUT " " x 12 , "\\ ", join(" ", sort keys %properties), "\n";
|
||||
} elsif ($1 eq "KEYWORDS") {
|
||||
foreach my $k (sort keys %keywords) {
|
||||
print OUT "syn keyword cmakeKW$k contained\n";
|
||||
@ -111,6 +126,9 @@ while(<IN>)
|
||||
}
|
||||
} elsif ($1 eq "KEYWORDS_HIGHLIGHT") {
|
||||
print OUT join("\n", @keyword_hi), "\n";
|
||||
} elsif ($1 eq "VERSION") {
|
||||
$_ =~ s/\@VERSION\@/$version/;
|
||||
print OUT $_;
|
||||
} else {
|
||||
print "ERROR do not know how to replace $1\n";
|
||||
}
|
||||
@ -128,7 +146,6 @@ sub extract_upper
|
||||
|
||||
open(KW, $input);
|
||||
while (<KW>) {
|
||||
|
||||
foreach my $w (m/\b([A-Z_]{2,})\b/g) {
|
||||
next
|
||||
if exists $variables{$w} or # skip if it is a variable
|
||||
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user