File Coverage

blib/lib/PLS/Server/Request/Workspace/DidChangeWorkspaceFolders.pm
Criterion Covered Total %
statement 15 28 53.5
branch n/a
condition n/a
subroutine 5 6 83.3
pod 0 1 0.0
total 20 35 57.1


line stmt bran cond sub pod time code
1             package PLS::Server::Request::Workspace::DidChangeWorkspaceFolders;
2              
3 11     11   61 use strict;
  11         22  
  11         826  
4 11     11   128 use warnings;
  11         35  
  11         689  
5              
6 11     11   123 use parent 'PLS::Server::Request';
  11         133  
  11         110  
7              
8 11     11   918 use URI;
  11         23  
  11         729  
9              
10 11     11   86 use PLS::Parser::Index;
  11         45  
  11         3261  
11              
12             =head1 NAME
13              
14             PLS::Server::Request::Workspace::DidChangeWorkspaceFolders
15              
16             =head1 DESCRIPTION
17              
18             This is a notification from the client to the server that
19             workspace folders were added or removed.
20              
21             =cut
22              
23             sub service
24             {
25 0     0 0   my ($self) = @_;
26              
27 0           my $added = $self->{params}{event}{added};
28 0           my $removed = $self->{params}{event}{removed};
29              
30 0           my $index = PLS::Parser::Index->new();
31              
32 0           foreach my $folder (@{$removed})
  0            
33             {
34 0           my $path = URI->new($folder->{uri})->file;
35 0           $index->deindex_workspace($path);
36             }
37              
38 0           foreach my $folder (@{$added})
  0            
39             {
40 0           my $path = URI->new($folder->{uri})->file;
41 0           $index->index_workspace($path);
42             }
43              
44 0           return;
45             } ## end sub service
46              
47             1;