forked from PuqiAR/Fig-TreeWalker
[Fix][Impl] 为了消除类构造带来的语法歧义,同时保持实现简洁和括号省略的语法,自此版本,引入了 `new` 操作符
造成歧义的原方法:
if a == A{}
条件是 a == A,还是 a == A{} ?
因此,现在使用 new a_struct{}来构造类
[Opti] 相较于 Fig v0.4.1-alpha版本,release O3同编译条件下
Fib普通递归法性能提升 ~50%
具体方式:
增加了小整数优化,-128~127的整数现在会直接从IntPool获取而不是新构造
...忘了
[Fix] 类构造 shorthand模式忘写了,现在补上了
[Feat][Impl] 类型声明现在接受一个表达式,原为Identifier。实现 var start: time.Time = time.now() 的效果
这是符合语法和语言特性的支持,类型为一等公民。类似Python的 <class 'type'>
[Impl] 修改了部分错误输出的细节
60 lines
1.3 KiB
JSON
60 lines
1.3 KiB
JSON
{
|
|
"name": "fig-vscode",
|
|
"displayName": "Fig Language",
|
|
"description": "VSCode extension for Fig language with syntax highlighting",
|
|
"version": "0.4.2",
|
|
"publisher": "PuqiAR",
|
|
"engines": {
|
|
"vscode": "^1.90.0"
|
|
},
|
|
"categories": [
|
|
"Programming Languages"
|
|
],
|
|
"repository": {
|
|
"url":"https://github.com/PuqiAR/Fig"
|
|
},
|
|
"activationEvents": [],
|
|
"main": "./out/extension.js",
|
|
"contributes": {
|
|
"languages": [
|
|
{
|
|
"id": "fig",
|
|
"aliases": [
|
|
"Fig"
|
|
],
|
|
"extensions": [
|
|
".fig"
|
|
],
|
|
"configuration": "./language-configuration.json"
|
|
}
|
|
],
|
|
"semanticTokenModifiers": [
|
|
{
|
|
"fig": {
|
|
"variable": "variable.other.fig",
|
|
"function": "entity.name.function.fig"
|
|
}
|
|
}
|
|
],
|
|
"grammars": [
|
|
{
|
|
"language": "fig",
|
|
"scopeName": "source.fig",
|
|
"path": "./syntaxes/fig.tmLanguage.json"
|
|
}
|
|
]
|
|
},
|
|
"scripts": {
|
|
"vscode:prepublish": "npm run compile",
|
|
"compile": "tsc -p ./",
|
|
"watch": "tsc -watch -p ./",
|
|
"pretest": "npm run compile",
|
|
"test": "node ./out/test/runTest.js"
|
|
},
|
|
"devDependencies": {
|
|
"typescript": "^5.2.2",
|
|
"vscode": "^1.90.0",
|
|
"@types/node": "^20.6.0"
|
|
}
|
|
}
|