Skip to content

Commit 03db103

Browse files
Henry Wongzfy0701
authored andcommitted
[Code] Enabgle go language of the monaco editor. (#33476)
This change will make the code plugin have the ability in the development mode to highlight the go source code and send the go-to definition request to the lang server.
1 parent b9389f5 commit 03db103

File tree

3 files changed

+10
-2
lines changed

3 files changed

+10
-2
lines changed

x-pack/plugins/code/public/monaco/monaco.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ import lightTheme from '@elastic/eui/dist/eui_theme_light.json';
6363
// import 'monaco-editor/esm/vs/basic-languages/css/css.contribution.js';
6464
// import 'monaco-editor/esm/vs/basic-languages/dockerfile/dockerfile.contribution.js';
6565
// import 'monaco-editor/esm/vs/basic-languages/fsharp/fsharp.contribution.js';
66-
// import 'monaco-editor/esm/vs/basic-languages/go/go.contribution.js';
66+
import 'monaco-editor/esm/vs/basic-languages/go/go.contribution.js';
6767
// import 'monaco-editor/esm/vs/basic-languages/handlebars/handlebars.contribution.js';
6868
// import 'monaco-editor/esm/vs/basic-languages/html/html.contribution.js';
6969
// import 'monaco-editor/esm/vs/basic-languages/ini/ini.contribution.js';

x-pack/plugins/code/public/monaco/monaco_helper.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
*/
66

77
import { editor } from 'monaco-editor';
8+
import chrome from 'ui/chrome';
89
import { ResizeChecker } from 'ui/resize_checker';
910
import { EditorActions } from '../components/editor/editor';
1011
import { provideDefinition } from './definition/definition_provider';
@@ -43,6 +44,9 @@ export class MonacoHelper {
4344
this.monaco.languages.registerDefinitionProvider('java', definitionProvider);
4445
this.monaco.languages.registerDefinitionProvider('typescript', definitionProvider);
4546
this.monaco.languages.registerDefinitionProvider('javascript', definitionProvider);
47+
if (chrome.getInjected('enableLangserversDeveloping', false) === true) {
48+
this.monaco.languages.registerDefinitionProvider('go', definitionProvider);
49+
}
4650
const codeEditorService = new EditorService();
4751
codeEditorService.setMonacoHelper(this);
4852
this.editor = monaco.editor.create(

x-pack/plugins/code/server/init.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,14 +133,18 @@ async function initCodeNode(server: Server, serverOptions: ServerOptions, log: L
133133
log.info('Initializing Code plugin as code-node.');
134134
const queueIndex: string = server.config().get('xpack.code.queueIndex');
135135
const queueTimeout: number = server.config().get('xpack.code.queueTimeout');
136+
const devMode: boolean = server.config().get('env.dev');
136137
const adminCluster = server.plugins.elasticsearch.getCluster('admin');
137138

138139
// @ts-ignore
139140
const esClient: EsClient = adminCluster.clusterClient.client;
140141
const repoConfigController = new RepositoryConfigController(esClient);
141142

143+
server.injectUiAppVars('code', () => ({
144+
enableLangserversDeveloping: devMode,
145+
}));
142146
// Enable the developing language servers in development mode.
143-
if (server.config().get('env.dev') === true) {
147+
if (devMode === true) {
144148
LanguageServers.push(...LanguageServersDeveloping);
145149
}
146150

0 commit comments

Comments
 (0)