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 9     9   54 use strict;
  9         9  
  9         240  
4 9     9   38 use warnings;
  9         17  
  9         192  
5              
6 9     9   44 use parent 'PLS::Server::Request';
  9         91  
  9         55  
7              
8 9     9   554 use URI;
  9         18  
  9         268  
9              
10 9     9   46 use PLS::Parser::Index;
  9         17  
  9         1679  
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;