monaco-editor添加 MATLAB 语言支持

		// 注册 MATLAB 语言
		monaco.languages.register({ id: 'matlab' });

		// 设置语言配置 (缩进/括号等)
		monaco.languages.setLanguageConfiguration('matlab', {
			comments: {
				lineComment: '%',
				blockComment: ['%{', '%}'],
			},
			brackets: [
				['(', ')'],
				['[', ']'],
				['{', '}'],
			],
			indentationRules: {
				increaseIndentPattern: /^.*(function|if|else|elseif|switch|case|for|while|try|catch|classdef|properties|methods).*$/i,
				decreaseIndentPattern: /^.*(end|else|elseif|case|catch).*$/i,
			},
		});

		// 设置基础语法高亮 (简化版)
		monaco.languages.setMonarchTokensProvider('matlab', {
			tokenizer: {
				root: [
					[/(\%{)[\s\S]*?(\%\})/, 'comment'],
					[/\%.*$/, 'comment'],
					[
						/[a-zA-Z_]\w*/,
						{
							cases: {
								'@keywords': 'keyword',
								'@default': 'identifier',
							},
						},
					],
					[/[0-9]+(\.[0-9]+)?(e[+-]?[0-9]+)?/, 'number'],
				],
			},
			keywords: [
				'function',
				'end',
				'if',
				'else',
				'elseif',
				'switch',
				'case',
				'otherwise',
				'for',
				'while',
				'try',
				'catch',
				'return',
				'break',
				'continue',
				'classdef',
				'properties',
				'methods',
			],
		});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值