@@ -57,7 +57,11 @@ define(function (require, exports, module) {
57
57
DEBUG_OPEN_PREFERENCES_IN_SPLIT_VIEW = "debug.openPrefsInSplitView" ,
58
58
phpServerRunning = false ,
59
59
serverCapabilities ,
60
- currentRootPath ;
60
+ currentRootPath ,
61
+ chProvider ,
62
+ phProvider ,
63
+ lProvider ,
64
+ jdProvider ;
61
65
62
66
PreferencesManager . definePreference ( "php" , "object" , phpConfig , {
63
67
description : Strings . DESCRIPTION_PHP_TOOLING_CONFIGURATION
@@ -66,6 +70,9 @@ define(function (require, exports, module) {
66
70
PreferencesManager . on ( "change" , "php" , function ( ) {
67
71
var newPhpConfig = PreferencesManager . get ( "php" ) ;
68
72
73
+ if ( lProvider && newPhpConfig [ "validateOnType" ] !== phpConfig [ "validateOnType" ] ) {
74
+ lProvider . _validateOnType = ! ( newPhpConfig [ "validateOnType" ] === "false" ) ;
75
+ }
69
76
if ( ( newPhpConfig [ "executablePath" ] !== phpConfig [ "executablePath" ] )
70
77
|| ( newPhpConfig [ "enablePhpTooling" ] !== phpConfig [ "enablePhpTooling" ] ) ) {
71
78
phpConfig = newPhpConfig ;
@@ -76,6 +83,7 @@ define(function (require, exports, module) {
76
83
} ) ;
77
84
78
85
var handleProjectOpen = function ( event , directory ) {
86
+ lProvider . clearExistingResults ( ) ;
79
87
if ( serverCapabilities [ "workspace" ] && serverCapabilities [ "workspace" ] [ "workspaceFolders" ] ) {
80
88
_client . notifyProjectRootsChanged ( {
81
89
foldersAdded : [ directory . fullPath ] ,
@@ -90,17 +98,17 @@ define(function (require, exports, module) {
90
98
} ;
91
99
92
100
function registerToolingProviders ( ) {
93
- var chProvider = new CodeHintsProvider ( _client ) ,
94
- phProvider = new DefaultProviders . ParameterHintsProvider ( _client ) ,
95
- lProvider = new DefaultProviders . LintingProvider ( _client ) ,
96
- jdProvider = new DefaultProviders . JumpToDefProvider ( _client ) ;
101
+ chProvider = new CodeHintsProvider ( _client ) ,
102
+ phProvider = new DefaultProviders . ParameterHintsProvider ( _client ) ,
103
+ lProvider = new DefaultProviders . LintingProvider ( _client ) ,
104
+ jdProvider = new DefaultProviders . JumpToDefProvider ( _client ) ;
97
105
98
106
JumpToDefManager . registerJumpToDefProvider ( jdProvider , [ "php" ] , 0 ) ;
99
107
CodeHintManager . registerHintProvider ( chProvider , [ "php" ] , 0 ) ;
100
108
ParameterHintManager . registerHintProvider ( phProvider , [ "php" ] , 0 ) ;
101
109
CodeInspection . register ( [ "php" ] , {
102
- name : Strings . PHP_DIAGNOSTICS ,
103
- scanFile : lProvider . getInspectionResults . bind ( lProvider )
110
+ name : "" ,
111
+ scanFileAsync : lProvider . getInspectionResultsAsync . bind ( lProvider )
104
112
} ) ;
105
113
106
114
_client . addOnCodeInspection ( lProvider . setInspectionResults . bind ( lProvider ) ) ;
@@ -114,9 +122,7 @@ define(function (require, exports, module) {
114
122
115
123
116
124
if ( phpConfig [ "validateOnType" ] !== "false" ) {
117
- _client . addOnDocumentChangeHandler ( function ( ) {
118
- CodeInspection . requestRun ( Strings . PHP_DIAGNOSTICS ) ;
119
- } ) ;
125
+ lProvider . _validateOnType = true ;
120
126
}
121
127
122
128
_client . addOnProjectOpenHandler ( handleProjectOpen ) ;
@@ -170,12 +176,8 @@ define(function (require, exports, module) {
170
176
EditorManager . off ( "activeEditorChange.php" ) ;
171
177
LanguageManager . off ( "languageModified.php" ) ;
172
178
}
173
-
174
179
evtHandler . handleActiveEditorChange ( null , EditorManager . getActiveEditor ( ) ) ;
175
180
currentRootPath = ProjectManager . getProjectRoot ( ) . _path ;
176
- setTimeout ( function ( ) {
177
- CodeInspection . requestRun ( Strings . PHP_DIAGNOSTICS ) ;
178
- } , 1500 ) ;
179
181
}
180
182
181
183
function runPhpServer ( ) {
0 commit comments