Skip to content
This repository was archived by the owner on Mar 6, 2022. It is now read-only.

Commit 9a097f3

Browse files
committed
Move $clientCapabilities to AbstractHandler
1 parent 5aa58fe commit 9a097f3

File tree

11 files changed

+48
-70
lines changed

11 files changed

+48
-70
lines changed

lib/AbstractHandler.php

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?php
2+
3+
namespace Phpactor\Extension;
4+
5+
use Phpactor\LanguageServerProtocol\ClientCapabilities;
6+
7+
abstract class AbstractHandler
8+
{
9+
/**
10+
* @var ClientCapabilities
11+
*/
12+
protected $clientCapabilities;
13+
14+
public function __construct(ClientCapabilities $clientCapabilities)
15+
{
16+
$this->clientCapabilities = $clientCapabilities;
17+
}
18+
}

lib/LanguageServerCompletion/Handler/CompletionHandler.php

+3-7
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
use Amp\CancelledException;
77
use Amp\Delayed;
88
use Amp\Promise;
9+
use Phpactor\Extension\AbstractHandler;
910
use Phpactor\Extension\LanguageServerBridge\Converter\PositionConverter;
1011
use Phpactor\Extension\LanguageServerCodeTransform\Model\NameImport\NameImporter;
1112
use Phpactor\Extension\LanguageServerCodeTransform\Model\NameImport\NameImporterResult;
@@ -29,7 +30,7 @@
2930
use Phpactor\LanguageServer\Core\Workspace\Workspace;
3031
use Phpactor\TextDocument\TextDocumentBuilder;
3132

32-
class CompletionHandler implements Handler, CanRegisterCapabilities
33+
class CompletionHandler extends AbstractHandler implements Handler, CanRegisterCapabilities
3334
{
3435
/**
3536
* @var TypedCompletorRegistry
@@ -56,11 +57,6 @@ class CompletionHandler implements Handler, CanRegisterCapabilities
5657
*/
5758
private $nameImporter;
5859

59-
/**
60-
* @var ClientCapabilities
61-
*/
62-
private ClientCapabilities $clientCapabilities;
63-
6460
public function __construct(
6561
Workspace $workspace,
6662
TypedCompletorRegistry $registry,
@@ -74,7 +70,7 @@ public function __construct(
7470
$this->workspace = $workspace;
7571
$this->suggestionNameFormatter = $suggestionNameFormatter;
7672
$this->nameImporter = $nameImporter;
77-
$this->clientCapabilities = $clientCapabilities;
73+
parent::__construct($clientCapabilities);
7874
}
7975

8076
public function methods(): array

lib/LanguageServerCompletion/Handler/SignatureHelpHandler.php

+3-7
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace Phpactor\Extension\LanguageServerCompletion\Handler;
44

55
use Amp\Promise;
6+
use Phpactor\Extension\AbstractHandler;
67
use Phpactor\Extension\LanguageServerBridge\Converter\PositionConverter;
78
use Phpactor\LanguageServerProtocol\ClientCapabilities;
89
use Phpactor\LanguageServerProtocol\Position;
@@ -18,7 +19,7 @@
1819
use Phpactor\LanguageServer\Core\Workspace\Workspace;
1920
use Phpactor\TextDocument\TextDocumentBuilder;
2021

21-
class SignatureHelpHandler implements Handler, CanRegisterCapabilities
22+
class SignatureHelpHandler extends AbstractHandler implements Handler, CanRegisterCapabilities
2223
{
2324
/**
2425
* @var Workspace
@@ -30,16 +31,11 @@ class SignatureHelpHandler implements Handler, CanRegisterCapabilities
3031
*/
3132
private $helper;
3233

33-
/**
34-
* @var ClientCapabilities
35-
*/
36-
private ClientCapabilities $clientCapabilities;
37-
3834
public function __construct(Workspace $workspace, SignatureHelper $helper, ClientCapabilities $clientCapabilities)
3935
{
4036
$this->workspace = $workspace;
4137
$this->helper = $helper;
42-
$this->clientCapabilities = $clientCapabilities;
38+
parent::__construct($clientCapabilities);
4339
}
4440

4541
/**

lib/LanguageServerHover/Handler/HoverHandler.php

+3-7
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace Phpactor\Extension\LanguageServerHover\Handler;
44

55
use Amp\Promise;
6+
use Phpactor\Extension\AbstractHandler;
67
use Phpactor\Extension\LanguageServerBridge\Converter\PositionConverter;
78
use Phpactor\LanguageServerProtocol\ClientCapabilities;
89
use Phpactor\LanguageServerProtocol\Hover;
@@ -27,7 +28,7 @@
2728
use Phpactor\WorseReflection\Core\Type;
2829
use Phpactor\WorseReflection\Reflector;
2930

30-
class HoverHandler implements Handler, CanRegisterCapabilities
31+
class HoverHandler extends AbstractHandler implements Handler, CanRegisterCapabilities
3132
{
3233
/**
3334
* @var Reflector
@@ -44,11 +45,6 @@ class HoverHandler implements Handler, CanRegisterCapabilities
4445
*/
4546
private $workspace;
4647

47-
/**
48-
* @var ClientCapabilities
49-
*/
50-
private ClientCapabilities $clientCapabilities;
51-
5248
public function __construct(
5349
Workspace $workspace,
5450
Reflector $reflector,
@@ -58,7 +54,7 @@ public function __construct(
5854
$this->reflector = $reflector;
5955
$this->renderer = $renderer;
6056
$this->workspace = $workspace;
61-
$this->clientCapabilities = $clientCapabilities;
57+
parent::__construct($clientCapabilities);
6258
}
6359

6460
public function methods(): array

lib/LanguageServerIndexer/Handler/WorkspaceSymbolHandler.php

+3-7
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace Phpactor\Extension\LanguageServerIndexer\Handler;
44

55
use Amp\Promise;
6+
use Phpactor\Extension\AbstractHandler;
67
use Phpactor\Extension\LanguageServerIndexer\Model\WorkspaceSymbolProvider;
78
use Phpactor\LanguageServerProtocol\ClientCapabilities;
89
use Phpactor\LanguageServerProtocol\ServerCapabilities;
@@ -11,22 +12,17 @@
1112
use Phpactor\LanguageServer\Core\Handler\CanRegisterCapabilities;
1213
use Phpactor\LanguageServer\Core\Handler\Handler;
1314

14-
class WorkspaceSymbolHandler implements Handler, CanRegisterCapabilities
15+
class WorkspaceSymbolHandler extends AbstractHandler implements Handler, CanRegisterCapabilities
1516
{
1617
/**
1718
* @var WorkspaceSymbolProvider
1819
*/
1920
private $provider;
2021

21-
/**
22-
* @var ClientCapabilities
23-
*/
24-
private ClientCapabilities $clientCapabilities;
25-
2622
public function __construct(WorkspaceSymbolProvider $provider, ClientCapabilities $clientCapabilities)
2723
{
2824
$this->provider = $provider;
29-
$this->clientCapabilities = $clientCapabilities;
25+
parent::__construct($clientCapabilities);
3026
}
3127

3228
public function methods(): array

lib/LanguageServerReferenceFinder/Handler/GotoDefinitionHandler.php

+3-7
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace Phpactor\Extension\LanguageServerReferenceFinder\Handler;
44

55
use Amp\Promise;
6+
use Phpactor\Extension\AbstractHandler;
67
use Phpactor\Extension\LanguageServerBridge\Converter\PositionConverter;
78
use Phpactor\LanguageServerProtocol\ClientCapabilities;
89
use Phpactor\LanguageServerProtocol\DefinitionParams;
@@ -15,7 +16,7 @@
1516
use Phpactor\ReferenceFinder\Exception\CouldNotLocateDefinition;
1617
use Phpactor\TextDocument\TextDocumentBuilder;
1718

18-
class GotoDefinitionHandler implements Handler, CanRegisterCapabilities
19+
class GotoDefinitionHandler extends AbstractHandler implements Handler, CanRegisterCapabilities
1920
{
2021
/**
2122
* @var DefinitionLocator
@@ -32,11 +33,6 @@ class GotoDefinitionHandler implements Handler, CanRegisterCapabilities
3233
*/
3334
private $locationConverter;
3435

35-
/**
36-
* @var ClientCapabilities
37-
*/
38-
private ClientCapabilities $clientCapabilities;
39-
4036
public function __construct(
4137
Workspace $workspace,
4238
DefinitionLocator $definitionLocator,
@@ -46,7 +42,7 @@ public function __construct(
4642
$this->definitionLocator = $definitionLocator;
4743
$this->workspace = $workspace;
4844
$this->locationConverter = $locationConverter;
49-
$this->clientCapabilities = $clientCapabilities;
45+
parent::__construct($clientCapabilities);
5046
}
5147

5248
public function methods(): array

lib/LanguageServerReferenceFinder/Handler/GotoImplementationHandler.php

+3-7
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace Phpactor\Extension\LanguageServerReferenceFinder\Handler;
44

55
use Amp\Promise;
6+
use Phpactor\Extension\AbstractHandler;
67
use Phpactor\Extension\LanguageServerBridge\Converter\PositionConverter;
78
use Phpactor\LanguageServerProtocol\ClientCapabilities;
89
use Phpactor\LanguageServerProtocol\ImplementationParams;
@@ -14,7 +15,7 @@
1415
use Phpactor\ReferenceFinder\ClassImplementationFinder;
1516
use Phpactor\TextDocument\TextDocumentBuilder;
1617

17-
class GotoImplementationHandler implements Handler, CanRegisterCapabilities
18+
class GotoImplementationHandler extends AbstractHandler implements Handler, CanRegisterCapabilities
1819
{
1920
/**
2021
* @var Workspace
@@ -31,11 +32,6 @@ class GotoImplementationHandler implements Handler, CanRegisterCapabilities
3132
*/
3233
private $locationConverter;
3334

34-
/**
35-
* @var ClientCapabilities
36-
*/
37-
private ClientCapabilities $clientCapabilities;
38-
3935
public function __construct(
4036
Workspace $workspace,
4137
ClassImplementationFinder $finder,
@@ -46,7 +42,7 @@ public function __construct(
4642
$this->workspace = $workspace;
4743
$this->finder = $finder;
4844
$this->locationConverter = $locationConverter;
49-
$this->clientCapabilities = $clientCapabilities;
45+
parent::__construct($clientCapabilities);
5046
}
5147

5248
/**

lib/LanguageServerReferenceFinder/Handler/HighlightHandler.php

+3-7
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use Amp\Promise;
66
use Amp\Success;
7+
use Phpactor\Extension\AbstractHandler;
78
use Phpactor\Extension\LanguageServerBridge\Converter\PositionConverter;
89
use Phpactor\Extension\LanguageServerReferenceFinder\Model\Highlighter;
910
use Phpactor\LanguageServerProtocol\ClientCapabilities;
@@ -16,7 +17,7 @@
1617
use Phpactor\LanguageServer\Core\Handler\Handler;
1718
use Phpactor\LanguageServer\Core\Workspace\Workspace;
1819

19-
class HighlightHandler implements Handler, CanRegisterCapabilities
20+
class HighlightHandler extends AbstractHandler implements Handler, CanRegisterCapabilities
2021
{
2122
/**
2223
* @var Workspace
@@ -28,16 +29,11 @@ class HighlightHandler implements Handler, CanRegisterCapabilities
2829
*/
2930
private $highlighter;
3031

31-
/**
32-
* @var ClientCapabilities
33-
*/
34-
private ClientCapabilities $clientCapabilities;
35-
3632
public function __construct(Workspace $workspace, Highlighter $highlighter, ClientCapabilities $clientCapabilities)
3733
{
3834
$this->workspace = $workspace;
3935
$this->highlighter = $highlighter;
40-
$this->clientCapabilities = $clientCapabilities;
36+
parent::__construct($clientCapabilities);
4137
}
4238

4339
/**

lib/LanguageServerReferenceFinder/Handler/ReferencesHandler.php

+3-7
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use Amp\Delayed;
66
use Amp\Promise;
7+
use Phpactor\Extension\AbstractHandler;
78
use Phpactor\Extension\LanguageServerBridge\Converter\PositionConverter;
89
use Phpactor\LanguageServerProtocol\ClientCapabilities;
910
use Phpactor\LanguageServerProtocol\Location as LspLocation;
@@ -24,7 +25,7 @@
2425
use Phpactor\TextDocument\Locations;
2526
use Phpactor\TextDocument\TextDocumentBuilder;
2627

27-
class ReferencesHandler implements Handler, CanRegisterCapabilities
28+
class ReferencesHandler extends AbstractHandler implements Handler, CanRegisterCapabilities
2829
{
2930
/**
3031
* @var Workspace
@@ -56,11 +57,6 @@ class ReferencesHandler implements Handler, CanRegisterCapabilities
5657
*/
5758
private $clientApi;
5859

59-
/**
60-
* @var ClientCapabilities
61-
*/
62-
private ClientCapabilities $clientCapabilities;
63-
6460
public function __construct(
6561
Workspace $workspace,
6662
ReferenceFinder $finder,
@@ -76,7 +72,7 @@ public function __construct(
7672
$this->timeoutSeconds = $timeoutSeconds;
7773
$this->locationConverter = $locationConverter;
7874
$this->clientApi = $clientApi;
79-
$this->clientCapabilities = $clientCapabilities;
75+
parent::__construct($clientCapabilities);
8076
}
8177

8278
/**

lib/LanguageServerReferenceFinder/Handler/TypeDefinitionHandler.php

+3-7
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace Phpactor\Extension\LanguageServerReferenceFinder\Handler;
44

55
use Amp\Promise;
6+
use Phpactor\Extension\AbstractHandler;
67
use Phpactor\Extension\LanguageServerBridge\Converter\PositionConverter;
78
use Phpactor\LanguageServerProtocol\ClientCapabilities;
89
use Phpactor\LanguageServerProtocol\Position;
@@ -16,7 +17,7 @@
1617
use Phpactor\ReferenceFinder\TypeLocator;
1718
use Phpactor\TextDocument\TextDocumentBuilder;
1819

19-
class TypeDefinitionHandler implements Handler, CanRegisterCapabilities
20+
class TypeDefinitionHandler extends AbstractHandler implements Handler, CanRegisterCapabilities
2021
{
2122
/**
2223
* @var TypeLocator
@@ -33,11 +34,6 @@ class TypeDefinitionHandler implements Handler, CanRegisterCapabilities
3334
*/
3435
private $locationConverter;
3536

36-
/**
37-
* @var ClientCapabilities
38-
*/
39-
private ClientCapabilities $clientCapabilities;
40-
4137
public function __construct(
4238
Workspace $workspace,
4339
TypeLocator $typeLocator,
@@ -48,7 +44,7 @@ public function __construct(
4844
$this->typeLocator = $typeLocator;
4945
$this->workspace = $workspace;
5046
$this->locationConverter = $locationConverter;
51-
$this->clientCapabilities = $clientCapabilities;
47+
parent::__construct($clientCapabilities);
5248
}
5349

5450
public function methods(): array

lib/LanguageServerSymbolProvider/Handler/DocumentSymbolProviderHandler.php

+3-7
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use Amp\Promise;
66
use Amp\Success;
7+
use Phpactor\Extension\AbstractHandler;
78
use Phpactor\Extension\LanguageServerSymbolProvider\Model\DocumentSymbolProvider;
89
use Phpactor\LanguageServerProtocol\ClientCapabilities;
910
use Phpactor\LanguageServerProtocol\DocumentSymbolOptions;
@@ -14,7 +15,7 @@
1415
use Phpactor\LanguageServer\Core\Handler\Handler;
1516
use Phpactor\LanguageServer\Core\Workspace\Workspace;
1617

17-
class DocumentSymbolProviderHandler implements Handler, CanRegisterCapabilities
18+
class DocumentSymbolProviderHandler extends AbstractHandler implements Handler, CanRegisterCapabilities
1819
{
1920
/**
2021
* @var Workspace
@@ -26,19 +27,14 @@ class DocumentSymbolProviderHandler implements Handler, CanRegisterCapabilities
2627
*/
2728
private $provider;
2829

29-
/**
30-
* @var ClientCapabilities
31-
*/
32-
private ClientCapabilities $clientCapabilities;
33-
3430
public function __construct(
3531
Workspace $workspace,
3632
DocumentSymbolProvider $provider,
3733
ClientCapabilities $clientCapabilities,
3834
) {
3935
$this->workspace = $workspace;
4036
$this->provider = $provider;
41-
$this->clientCapabilities = $clientCapabilities;
37+
parent::__construct($clientCapabilities);
4238
}
4339

4440
/**

0 commit comments

Comments
 (0)