File Coverage

blib/lib/PLS/Server/Response/WorkspaceSymbols.pm
Criterion Covered Total %
statement 12 31 38.7
branch 0 4 0.0
condition n/a
subroutine 4 5 80.0
pod 0 1 0.0
total 16 41 39.0


line stmt bran cond sub pod time code
1              
2             use strict;
3 9     9   53 use warnings;
  9         10  
  9         215  
4 9     9   37  
  9         18  
  9         172  
5             use parent 'PLS::Server::Response';
6 9     9   36  
  9         18  
  9         35  
7             use PLS::Parser::Index;
8 9     9   864  
  9         18  
  9         2415  
9             {
10             my ($class, $request) = @_;
11              
12 0     0 0   my $query = $request->{params}{query};
13              
14 0           my $index = PLS::Parser::Index->new();
15             my @symbols;
16 0            
17 0           foreach my $name (keys %{$index->subs})
18             {
19 0           next if ($name !~ /\Q$query\E/i);
  0            
20              
21 0 0         my $refs = $index->subs->{$name};
22              
23 0           foreach my $sub (@{$refs})
24             {
25 0           push @symbols,
  0            
26             {
27 0           name => $name,
28             kind => 12,
29             location => $sub
30             };
31             } ## end foreach my $sub (@{$refs})
32             } ## end foreach my $name (keys %{$index...})
33              
34             foreach my $name (keys %{$index->packages})
35             {
36 0           next if ($name !~ /\Q$query\E/i);
  0            
37              
38 0 0         my $refs = $index->packages->{$name};
39              
40 0           foreach my $package (@{$refs})
41             {
42 0           push @symbols,
  0            
43             {
44 0           name => $name,
45             kind => 4,
46             location => $package
47             };
48             } ## end foreach my $package (@{$refs...})
49             } ## end foreach my $name (keys %{$index...})
50              
51             return
52             bless {
53             id => $request->{id},
54             result => \@symbols
55             }, $class;
56 0           } ## end sub new
57              
58             1;