ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/urxvt.pm
(Generate patch)

Comparing rxvt-unicode/src/urxvt.pm (file contents):
Revision 1.209 by root, Tue Jun 5 22:38:17 2012 UTC vs.
Revision 1.210 by root, Wed Jun 6 11:46:11 2012 UTC

943 }; 943 };
944} 944}
945 945
946no warnings 'utf8'; 946no warnings 'utf8';
947 947
948sub resource { 948sub parse_resource {
949 my ($term, $name, $isarg, $flag, $value) = @_; 949 my ($term, $name, $isarg, $longopt, $flag, $value) = @_;
950 950
951 $term->scan_meta; 951 $term->scan_meta;
952 952
953 warn "resourece<@_>\n";#d# 953 warn "resourece<@_>\n";#d#
954
955 my $r = $term->{meta}{resource};
956 while (my ($pattern, $v) = each %$r) {
957 $name =~ y/-/./ if $isarg;
958
959 if (
960 $pattern =~ s/\*$//
961 ? $pattern eq substr $name, 0, length $pattern
962 : $pattern eq $name
963 ) {
964 $name = "$urxvt::RESCLASS.$name";
965 warn "set option <$name=$value>\n";#d#
966 #TODO: queue $v->[0] for loading
967 if ($v->[1] eq "boolean") {
968 $term->put_option_db ($name, $flag ? "true" : "false");
969 return 1;
970 } else {
971 $term->put_option_db ($name, $value);
972 return 1 + 2;
973 }
974 }
975 }
954 976
955 0 977 0
956} 978}
957 979
958sub usage { 980sub usage {
960 982
961 $term->scan_meta; 983 $term->scan_meta;
962 984
963 my $r = $term->{meta}{resource}; 985 my $r = $term->{meta}{resource};
964 986
965 for my $regex (sort keys %$r) { 987 for my $pattern (sort keys %$r) {
966 my ($ext, $type, $desc) = @{ $r->{$regex} }; 988 my ($ext, $type, $desc) = @{ $r->{$pattern} };
967 989
968 $desc .= " (-pe $ext)"; 990 $desc .= " (-pe $ext)";
969 991
970 if ($usage_type == 1) { 992 if ($usage_type == 1) {
993 $pattern =~ y/./-/;
994 $pattern =~ s/\*/.../g;
995
971 if ($type eq "boolean") { 996 if ($type eq "boolean") {
972 urxvt::log sprintf " -%-20.20s %s\n", "/+$regex", $desc; 997 urxvt::log sprintf " -%-30s %s\n", "/+$pattern", $desc;
973 } else { 998 } else {
974 urxvt::log sprintf " -%-20.20s %s\n", "$regex $type", $desc; 999 urxvt::log sprintf " -%-30s %s\n", "$pattern $type", $desc;
975 } 1000 }
976 } else { 1001 } else {
977 urxvt::log sprintf " %-19.19s %s\n", "$regex:", $type; 1002 urxvt::log sprintf " %-31s %s\n", "$pattern:", $type;
978 } 1003 }
979 } 1004 }
980} 1005}
981 1006
982my $verbosity = $ENV{URXVT_PERL_VERBOSITY}; 1007my $verbosity = $ENV{URXVT_PERL_VERBOSITY};
1333 and $ext ne ".." 1358 and $ext ne ".."
1334 and open my $fh, "<", "$dir/$ext" 1359 and open my $fh, "<", "$dir/$ext"
1335 or next; 1360 or next;
1336 1361
1337 while (<$fh>) { 1362 while (<$fh>) {
1338 if (/^#:META:RESOURCE:(.*)/) { 1363 if (/^#:META:X_RESOURCE:(.*)/) {
1339 my ($regex, $type, $desc) = split /:/, $1; 1364 my ($pattern, $type, $desc) = split /:/, $1;
1340 $regex =~ s/\$\$/$ext/g; # $$ in regex == extension name 1365 $pattern =~ s/^%\./$ext./g; # $$ in pattern == extension name
1366 if ($pattern =~ /[^a-zA-Z\*\.]/) {
1367 warn "$dir/$ext: meta resource '$pattern' contains illegal characters (not alphanumeric nor . nor *)\n";
1368 } else {
1341 $meta{resource}{$regex} = [$ext, $type, $desc]; 1369 $meta{resource}{$pattern} = [$ext, $type, $desc];
1370 }
1342 } elsif (/^\s*(?:#|$)/) { 1371 } elsif (/^\s*(?:#|$)/) {
1343 # skip other comments and empty lines 1372 # skip other comments and empty lines
1344 } else { 1373 } else {
1345 last; # stop parsing on first non-empty non-comment line 1374 last; # stop parsing on first non-empty non-comment line
1346 } 1375 }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines