Adopt Eclipse semantic tokens

This commit is contained in:
aboyko
2024-12-17 10:19:22 -05:00
parent 3a6dd8b012
commit 1bc1e85ac2
3 changed files with 15 additions and 2 deletions

View File

@@ -14,6 +14,9 @@ import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.preference.BooleanFieldEditor;
import org.eclipse.jface.preference.FieldEditorPreferencePage;
import org.eclipse.jface.preference.FileFieldEditor;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.lsp4e.jdt.LanguageServerJdtPlugin;
import org.eclipse.lsp4e.jdt.LspJdtConstants;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.IWorkbench;
@@ -41,6 +44,16 @@ public class BootJavaPreferencesPage extends FieldEditorPreferencePage implement
addField(new BooleanFieldEditor(Constants.PREF_START_LS_EARLY, "Start Language Server at startup if Spring Boot is a dependency", fieldEditorParent));
addField(new BooleanFieldEditor(Constants.PREF_SCAN_JAVA_TEST_SOURCES, "Scan Java test sources", fieldEditorParent));
addField(new BooleanFieldEditor(LspJdtConstants.PREF_SEMANTIC_TOKENS_SWITCH, "Embedded languages syntax highlighting in Java Editor", fieldEditorParent) {
@Override
public void setPreferenceStore(IPreferenceStore store) {
super.setPreferenceStore(store == null ? null : LanguageServerJdtPlugin.getDefault().getPreferenceStore());
}
});
// JPQL Support switch
addField(new BooleanFieldEditor(Constants.PREF_JPQL, "JPA Query language support", fieldEditorParent));

View File

@@ -50,7 +50,7 @@ import org.springframework.ide.vscode.parser.jpql.JpqlParser.State_fieldContext;
public class JpqlSemanticTokens implements SemanticTokensDataProvider {
private static List<String> TOKEN_TYPES = List.of("keyword", "type", "class", "string", "number", "operator",
"variable", "method", "regexp", "parameter");
"variable", "method", "parameter");
private final Optional<SpelSemanticTokens> optSpelTokens;

View File

@@ -46,7 +46,7 @@ import org.springframework.ide.vscode.parser.mysql.MySqlParserBaseListener;
public class MySqlSemanticTokens implements SemanticTokensDataProvider {
private static List<String> TOKEN_TYPES = List.of("keyword", "type", "string", "number", "operator",
"variable", "regexp", "comment", "parameter", "method");
"variable", "comment", "parameter", "method");
private final Optional<SpelSemanticTokens> optSpelTokens;
private final Optional<Consumer<RecognitionException>> parseErrorHandler;