11
11
*******************************************************************************/
12
12
package org .eclipse .lsp4e .ui ;
13
13
14
+ import static org .eclipse .lsp4e .internal .NullSafetyHelper .lazyNonNull ;
15
+
14
16
import java .util .ArrayList ;
15
17
import java .util .List ;
16
18
19
+ import org .eclipse .jdt .annotation .NonNullByDefault ;
20
+ import org .eclipse .jdt .annotation .Nullable ;
17
21
import org .eclipse .jface .action .Action ;
18
22
import org .eclipse .jface .dialogs .IDialogConstants ;
19
23
import org .eclipse .jface .layout .GridDataFactory ;
47
51
48
52
public class LanguageServerPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
49
53
50
- private LanguageServersRegistry registry ;
51
- private List <ContentTypeToLSPLaunchConfigEntry > workingCopy ;
52
- private Button removeButton ;
53
- private CheckboxTableViewer checkboxViewer ;
54
- private TableViewer viewer ;
54
+ private final LanguageServersRegistry registry = LanguageServersRegistry . getInstance () ;
55
+ private List <ContentTypeToLSPLaunchConfigEntry > workingCopy = lazyNonNull () ;
56
+ private Button removeButton = lazyNonNull () ;
57
+ private CheckboxTableViewer checkboxViewer = lazyNonNull () ;
58
+ private TableViewer viewer = lazyNonNull () ;
55
59
private final SelectionAdapter contentTypeLinkListener ;
56
- private List <ContentTypeToLanguageServerDefinition > changedDefinitions ;
60
+ private final List <ContentTypeToLanguageServerDefinition > changedDefinitions = new ArrayList <>() ;
57
61
58
62
public LanguageServerPreferencePage () {
59
63
60
64
contentTypeLinkListener = new SelectionAdapter () {
61
65
@ Override
62
- public void widgetSelected (SelectionEvent e ) {
66
+ public void widgetSelected (@ NonNullByDefault ({}) SelectionEvent e ) {
63
67
if (getContainer () instanceof IWorkbenchPreferenceContainer preferenceContainer ) {
64
68
preferenceContainer .openPage ("org.eclipse.ui.preferencePages.ContentTypes" , null ); //$NON-NLS-1$
65
69
}
@@ -68,9 +72,7 @@ public void widgetSelected(SelectionEvent e) {
68
72
}
69
73
70
74
@ Override
71
- public void init (IWorkbench workbench ) {
72
- this .changedDefinitions = new ArrayList <>();
73
- this .registry = LanguageServersRegistry .getInstance ();
75
+ public void init (@ NonNullByDefault ({}) IWorkbench workbench ) {
74
76
}
75
77
76
78
@ Override
@@ -82,7 +84,7 @@ public void setVisible(boolean visible) {
82
84
}
83
85
84
86
@ Override
85
- protected Control createContents (Composite parent ) {
87
+ protected Control createContents (@ NonNullByDefault ({}) Composite parent ) {
86
88
final var res = new Composite (parent , SWT .NONE );
87
89
res .setLayout (new GridLayout (2 , false ));
88
90
final var intro = new Link (res , SWT .WRAP );
@@ -106,7 +108,7 @@ protected Control createContents(Composite parent) {
106
108
contentTypeColumn .getColumn ().setWidth (200 );
107
109
contentTypeColumn .setLabelProvider (new ColumnLabelProvider () {
108
110
@ Override
109
- public String getText (Object element ) {
111
+ public String getText (@ NonNullByDefault ({}) Object element ) {
110
112
return ((ContentTypeToLanguageServerDefinition )element ).getKey ().getName ();
111
113
}
112
114
});
@@ -115,7 +117,7 @@ public String getText(Object element) {
115
117
launchConfigColumn .getColumn ().setWidth (300 );
116
118
launchConfigColumn .setLabelProvider (new ColumnLabelProvider () {
117
119
@ Override
118
- public String getText (Object element ) {
120
+ public String getText (@ NonNullByDefault ({}) Object element ) {
119
121
return ((ContentTypeToLSPLaunchConfigEntry )element ).getLaunchConfiguration ().getName ();
120
122
}
121
123
});
@@ -124,7 +126,7 @@ public String getText(Object element) {
124
126
launchModeColumn .getColumn ().setWidth (100 );
125
127
launchModeColumn .setLabelProvider (new ColumnLabelProvider () {
126
128
@ Override
127
- public String getText (Object element ) {
129
+ public String getText (@ NonNullByDefault ({}) Object element ) {
128
130
final var res = new StringBuilder ();
129
131
for (String s : ((ContentTypeToLSPLaunchConfigEntry )element ).getLaunchModes ()) {
130
132
res .append (s );
@@ -145,7 +147,7 @@ public String getText(Object element) {
145
147
addButton .setText (Messages .PreferencesPage_Add );
146
148
addButton .addSelectionListener (new SelectionAdapter () {
147
149
@ Override
148
- public void widgetSelected (SelectionEvent e ) {
150
+ public void widgetSelected (@ NonNullByDefault ({}) SelectionEvent e ) {
149
151
NewContentTypeLSPLaunchDialog dialog = new NewContentTypeLSPLaunchDialog (getShell ());
150
152
if (dialog .open () == IDialogConstants .OK_ID ) {
151
153
workingCopy .add (new ContentTypeToLSPLaunchConfigEntry (dialog .getContentType (),
@@ -160,7 +162,7 @@ public void widgetSelected(SelectionEvent e) {
160
162
removeButton .setText (Messages .PreferencesPage_Remove );
161
163
removeButton .addSelectionListener (new SelectionAdapter () {
162
164
@ Override
163
- public void widgetSelected (SelectionEvent e ) {
165
+ public void widgetSelected (@ NonNullByDefault ({}) SelectionEvent e ) {
164
166
ISelection sel = viewer .getSelection ();
165
167
if (!sel .isEmpty () && sel instanceof IStructuredSelection structuredSel ) {
166
168
structuredSel .forEach (workingCopy ::remove );
@@ -188,7 +190,7 @@ private void createStaticServersTable(Composite res) {
188
190
enablementColumn .getColumn ().setWidth (70 );
189
191
enablementColumn .setLabelProvider (new ColumnLabelProvider () {
190
192
@ Override
191
- public String getText (Object element ) {
193
+ public @ Nullable String getText (@ NonNullByDefault ({}) Object element ) {
192
194
return null ;
193
195
}
194
196
});
@@ -198,7 +200,7 @@ public String getText(Object element) {
198
200
contentTypeColumn .getColumn ().setWidth (200 );
199
201
contentTypeColumn .setLabelProvider (new ColumnLabelProvider () {
200
202
@ Override
201
- public String getText (Object element ) {
203
+ public String getText (@ NonNullByDefault ({}) Object element ) {
202
204
return ((ContentTypeToLanguageServerDefinition )element ).getKey ().getName ();
203
205
}
204
206
});
@@ -208,7 +210,7 @@ public String getText(Object element) {
208
210
launchConfigColumn .getColumn ().setWidth (300 );
209
211
launchConfigColumn .setLabelProvider (new ColumnLabelProvider () {
210
212
@ Override
211
- public String getText (Object element ) {
213
+ public String getText (@ NonNullByDefault ({}) Object element ) {
212
214
return ((ContentTypeToLanguageServerDefinition )element ).getValue ().label ;
213
215
}
214
216
});
@@ -223,7 +225,7 @@ public String getText(Object element) {
223
225
conditionColumn .getColumn ().setWidth (150 );
224
226
conditionColumn .setLabelProvider (new ColumnLabelProvider () {
225
227
@ Override
226
- public String getText (Object element ) {
228
+ public String getText (@ NonNullByDefault ({}) Object element ) {
227
229
EnablementTester tester = ((ContentTypeToLanguageServerDefinition ) element )
228
230
.getEnablementCondition ();
229
231
@@ -239,7 +241,7 @@ public String getText(Object element) {
239
241
}
240
242
241
243
@ Override
242
- public Color getBackground (Object element ) {
244
+ public @ Nullable Color getBackground (@ NonNullByDefault ({}) Object element ) {
243
245
EnablementTester tester = ((ContentTypeToLanguageServerDefinition ) element )
244
246
.getEnablementCondition ();
245
247
if (tester == null ) {
@@ -280,7 +282,7 @@ public boolean performOk() {
280
282
return super .performOk ();
281
283
}
282
284
283
- private IEditorReference [] getEditors () {
285
+ private IEditorReference @ Nullable [] getEditors () {
284
286
var page = UI .getActivePage ();
285
287
if (page != null ) {
286
288
return page .getEditorReferences ();
0 commit comments