diff --git a/test/test.tsl b/test/test.tsl index a145ac3..9a19ae0 100644 --- a/test/test.tsl +++ b/test/test.tsl @@ -1,13 +1,22 @@ // SYNTAX TEST "tsl" -// 字符串,数字,注释 // 注释 TODO -// abc(); -a := "string"; // 字符串 -b := 123; // 数字 -c := 1.23; // 浮点数 -a := "字符串函数func()"; +// TODO: 注释 +{aaaaa TODO} +(* abcdef *) +// 数字 +num6 := 123; // 数字 +num7 := 1.23; // 浮点数 +num1 := 0xAF123; +num2 := 0O12357; +num3 := 0B010111; +num4 := 1.2e-12; +num5 := +3E15; + +// 字符串 +string1 := '123'; +string2 := "func2()"; // 类相关 type MyClass = class @@ -44,7 +53,8 @@ data.items.count; // 函数声明 function f(); // 无参数 function f(a, b); // 参数无类型 -function f(a: real; b: DD); // 参数有类型 +function f(a: real; b: DD); // 参数有类型1 +function f(a: real, b: DD); // 参数有类型2 function f(a: real = 1; b: string = "123"; c: number = abc.CONST1): def; // 带返回类型 // 函数调用 diff --git a/vscode/CHANGELOG.md b/vscode/CHANGELOG.md index 8f8c52d..48656c9 100644 --- a/vscode/CHANGELOG.md +++ b/vscode/CHANGELOG.md @@ -14,6 +14,11 @@ Notable changes to the `TSL` extension will be documented in thio file. - `tsl.server.arguments`: `tsl-server`的启动参数 - `tsl.interpreter.executable`: `tsl`解释器的路径 +## [2.3.0]: 2025-08-29 + +- 支持`begin|else|do|then`等换行增加缩进 +- 支持`end`等换行减少缩进 + ## [2.2.0]: 2025-07-02 - 代码重构 diff --git a/vscode/language-configuration.json b/vscode/language-configuration.json index 75fa918..c335dc9 100644 --- a/vscode/language-configuration.json +++ b/vscode/language-configuration.json @@ -22,15 +22,9 @@ ["\"", "\""], ["'", "'"] ], - "folding": { - "markers": { - "start": "^\\s*\\{\\s*$", - "end": "^\\s*\\}\\s*$" - } - }, "wordPattern": "\\b[a-zA-Z_][a-zA-Z0-9_]*\\b", "indentationRules": { - "increaseIndentPattern": "^.*(\\{[^}\"']*|\\([^)\"']*|\\[[^\\]\"']*)$", - "decreaseIndentPattern": "^(.*\\*\\/)?\\s*[\\}\\]\\)].*$" + "increaseIndentPattern": "^.*\\b([Bb][Ee][Gg][Ii][Nn]|[Dd][Oo]|[Tt][Hh][Ee][Nn]|[Ee][Ll][Ss][Ee])\\b.*$", + "decreaseIndentPattern": "^\\s*\\b([Ee][Nn][Dd])\\b.*$" } } diff --git a/vscode/package-lock.json b/vscode/package-lock.json index e9a957c..44e318e 100644 --- a/vscode/package-lock.json +++ b/vscode/package-lock.json @@ -1,12 +1,12 @@ { "name": "tsl-devkit", - "version": "2.2.0", + "version": "2.3.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "tsl-devkit", - "version": "2.2.0", + "version": "2.3.0", "license": "AGPL-3.0-or-later", "dependencies": { "vscode-languageclient": "^9.0.1" diff --git a/vscode/package.json b/vscode/package.json index cc4936b..3ce1f91 100644 --- a/vscode/package.json +++ b/vscode/package.json @@ -1,7 +1,7 @@ { "name": "tsl-tools", "displayName": "TSL", - "version": "2.3.1", + "version": "2.3.0", "description": "VSCode extension for TSL, with syntax highlighting, code completion, and formatting", "publisher": "csh", "homepage": "https://git.mytsl.cn/csh/tsl-devkit", diff --git a/vscode/src/extension.ts b/vscode/src/extension.ts index 0ed8fd8..60edfcd 100644 --- a/vscode/src/extension.ts +++ b/vscode/src/extension.ts @@ -45,10 +45,18 @@ export function activate(context: vscode.ExtensionContext) { vscode.window.showErrorMessage( "Cannot find tsl-server. Please install it globally or include it in your extension's server directory." ) - } else { - const serverOptions: ServerOptions = { - run: {command: serverExe, transport: TransportKind.stdio, args: serverArguments}, - debug: {command: serverExe, transport: TransportKind.stdio, args: serverArguments} + return + } + + const serverOptions: ServerOptions = { + run: {command: serverExe, transport: TransportKind.stdio, args: ['--log=trace', '--log-stderr']}, + debug: {command: serverExe, transport: TransportKind.stdio, args: ['--log=trace', '--log-stderr']} + } + + const clientOptions: LanguageClientOptions = { + documentSelector: [{scheme: 'file', language: 'tsl'}], + synchronize: { + fileEvents: vscode.workspace.createFileSystemWatcher('**/*.tsl') } const clientOptions: LanguageClientOptions = { diff --git a/vscode/tsl-devkit-2.3.0.vsix b/vscode/tsl-devkit-2.3.0.vsix new file mode 100644 index 0000000..4820576 Binary files /dev/null and b/vscode/tsl-devkit-2.3.0.vsix differ diff --git a/vscode/tsl-tools-2.3.1.vsix b/vscode/tsl-tools-2.3.1.vsix deleted file mode 100644 index 66844b5..0000000 Binary files a/vscode/tsl-tools-2.3.1.vsix and /dev/null differ