diff options
author | Brad King <brad.king@kitware.com> | 2020-10-28 15:25:35 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2020-10-28 15:30:26 (GMT) |
commit | aebdd9ff2cba50f8ace3cb1784dd04582019cc40 (patch) | |
tree | 82f9b0e03df4372b83819eb76d4ff4f7e1308772 /Auxiliary/vim/extract-upper-case.pl | |
parent | dab947fec00175736b304693c1647a6992ae5544 (diff) | |
parent | 7b72d3055fbfa3e35abc7ead869c9197d5d51215 (diff) | |
download | CMake-aebdd9ff2cba50f8ace3cb1784dd04582019cc40.zip CMake-aebdd9ff2cba50f8ace3cb1784dd04582019cc40.tar.gz CMake-aebdd9ff2cba50f8ace3cb1784dd04582019cc40.tar.bz2 |
Merge branch 'upstream-vim-cmake-syntax' into update-vim-syntax
* upstream-vim-cmake-syntax:
vim-cmake-syntax 2020-10-28 (bcc3a97a)
Diffstat (limited to 'Auxiliary/vim/extract-upper-case.pl')
-rwxr-xr-x | Auxiliary/vim/extract-upper-case.pl | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/Auxiliary/vim/extract-upper-case.pl b/Auxiliary/vim/extract-upper-case.pl index 204b496..1179199 100755 --- a/Auxiliary/vim/extract-upper-case.pl +++ b/Auxiliary/vim/extract-upper-case.pl @@ -3,6 +3,8 @@ use strict; use warnings; use POSIX qw(strftime); +use JSON; +use File::Basename; #my $cmake = "/home/pboettch/devel/upstream/cmake/build/bin/cmake"; my $cmake = "cmake"; @@ -96,6 +98,28 @@ close(CMAKE); # transform all properties in a hash my %properties = map { $_ => 1 } @properties; +# read in manually written files +my $modules_dir = dirname(__FILE__) . "/modules"; +opendir(DIR, $modules_dir) || die "can't opendir $modules_dir: $!"; +my @json_files = grep { /\.json$/ && -f "$modules_dir/$_" } readdir(DIR); +closedir DIR; + +foreach my $file (@json_files) { + local $/; # Enable 'slurp' mode + open my $fh, "<", $modules_dir."/".$file; + my $json = <$fh>; + close $fh; + + my $mod = decode_json($json); + foreach my $var (@{$mod->{variables}}) { + $variables{$var} = 1; + } + + while (my ($cmd, $keywords) = each %{$mod->{commands}}) { + $keywords{$cmd} = [ sort @{$keywords} ]; + } +} + # version open(CMAKE, "$cmake --version|"); my $version = 'unknown'; |