Skip to content

Commit 2d49531

Browse files
committed
3.15.0
1 parent 5dc4834 commit 2d49531

16 files changed

+408
-282
lines changed

changelog.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,18 @@
33
## Unreleased
44
<!-- Add all new changes here. They will be moved under a version at release -->
55

6+
## 3.15.0
7+
`2025-6-25`
8+
* `NEW` Support custom addons path for enhanced editor flexibility
9+
* `NEW` Add `Lua.type.maxUnionVariants` which can be set to limit how many union variants are checked against
10+
* `CHG` Add missing locale
11+
* `CHG` Fulfill zh-tw translations
12+
* `FIX` Cannot debug in Linux due to lua-debug expecting host process to have lua54 symbols available
13+
* `FIX` Support hex color codes with `#` in `textDocument/documentColor`
14+
* `FIX` Prevent class methods from triggering missing-fields diagnostics
15+
* `FIX` Updates the EmmyLuaCodeStyle submodule reference to a newer commit, ensuring compatibility with GCC 15
16+
* `FIX` Large unions will no longer erroneously fail to match later variants
17+
618
## 3.14.0
719
`2025-4-7`
820
* `NEW` locale `es-419`, thanks [Felipe Lema](https://codeberg.org/FelipeLema)

package.json

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,12 @@
6868
"scope": "resource",
6969
"type": "string"
7070
},
71+
"Lua.addonRepositoryPath": {
72+
"default": "",
73+
"markdownDescription": "%config.addonRepositoryPath%",
74+
"scope": "resource",
75+
"type": "string"
76+
},
7177
"Lua.codeLens.enable": {
7278
"default": false,
7379
"markdownDescription": "%config.codeLens.enable%",
@@ -3126,6 +3132,12 @@
31263132
"scope": "resource",
31273133
"type": "integer"
31283134
},
3135+
"Lua.type.maxUnionVariants": {
3136+
"default": 0,
3137+
"markdownDescription": "%config.type.maxUnionVariants%",
3138+
"scope": "resource",
3139+
"type": "integer"
3140+
},
31293141
"Lua.type.weakNilCheck": {
31303142
"default": false,
31313143
"markdownDescription": "%config.type.weakNilCheck%",
@@ -3439,5 +3451,5 @@
34393451
"sponsor": {
34403452
"url": "https://github.com/LuaLS/lua-language-server/issues/484"
34413453
},
3442-
"version": "3.14.0"
3454+
"version": "3.15.0"
34433455
}

package.nls.es-419.json

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
"config.addonManager.enable": "Si el manejador de extensiones está habilitado.",
88
"config.addonManager.repositoryBranch": "Especifica la rama de git usada por el manejador de extensiones.",
99
"config.addonManager.repositoryPath": "Especifica la ruta git usada por el manejador de extensiones.",
10+
"config.addonRepositoryPath": "Specifies the addon repository path (not related to the addon manager).",
1011
"config.codeLens.enable": "Habilita el lente para código.",
1112
"config.color.mode": "Modo de coloración.",
1213
"config.color.mode.Grammar": "Coloración de la gramática.",
@@ -137,10 +138,10 @@
137138
"config.doc.packageName": "Trata los nombres específicos de campo como del paquete. Por ejemplo `m_*` significa `XXX.m_id` y `XXX.m_tipo` son de paquete, por lo que solo pueden ser accedidos en el archivo donde son definidos.",
138139
"config.doc.privateName": "Trata los nombres específicos de campo como privados. Por ejemplo `m_*` significa `XXX.m_id` y `XXX.m_tipo` son privados, por lo que solo pueden ser accedidos donde se define la clase.",
139140
"config.doc.protectedName": "Trata los nombres específicos de campo como protegidos. Por ejemplo `m_*` significa `XXX.m_id` y `XXX.m_tipo` son privados, por lo que solo pueden ser accedidos donde se define la clase y sus subclases.",
140-
"config.doc.regengine": "TODO: Needs documentation",
141-
"config.doc.regengine.glob": "TODO: Needs documentation",
142-
"config.doc.regengine.lua": "TODO: Needs documentation",
143-
"config.docScriptPath": "TODO: Needs documentation",
141+
"config.doc.regengine": "The regular expression engine used for matching documentation scope names.",
142+
"config.doc.regengine.glob": "The default lightweight pattern syntax.",
143+
"config.doc.regengine.lua": "Full Lua-style regular expressions.",
144+
"config.docScriptPath": "The regular expression engine used for matching documentation scope names.",
144145
"config.format.defaultConfig": "La configuración de formateo predeterminada. Tiene menor prioridad que el archivo `.editorconfig`\nen el espacio de trabajo.\nRevise [la documentación del formateador](https://github.com/CppCXY/EmmyLuaCodeStyle/tree/master/docs)\npara aprender más sobre su uso.\n",
145146
"config.format.enable": "Habilita el formateador de código.",
146147
"config.hint.arrayIndex": "Muestra las pistas de los índices de arreglos cuando se construye una tabla.",
@@ -174,7 +175,7 @@
174175
"config.language.fixIndent": "(Solo en VSCode) Arregla la auto-indentación incorrecta, como aquella cuando los quiebres de línea ocurren dentro de un string que contengan la palabra \"function\".",
175176
"config.misc.executablePath": "Especifica la ruta del ejecutable en VSCode.",
176177
"config.misc.parameters": "[Parámetros de la línea de comando](https://github.com/LuaLS/lua-telemetry-server/tree/master/method) para iniciar el servidor de lenguage en VSCode.",
177-
"config.nameStyle.config": "Configuración de estilo para nombres.",
178+
"config.nameStyle.config": "Configuración de estilo para nombres.\nRevise [la documentación del formateador](https://github.com/CppCXY/EmmyLuaCodeStyle/tree/master/docs)\npara aprender más sobre su uso.\n",
178179
"config.runtime.builtin": "Ajuste de la habilitación de biblioteca interna provista. Puede deshabilitar (o redefinir) las bibliotecas inexistentes de acuerdo al ambiente de ejecución.\n\n* `default`: Indica que la biblioteca será habilitada o deshabilitada de acuerdo a la versión que se ejecuta.\n* `enable`: Habilitada\n* `disable`: Deshabilitada\n",
179180
"config.runtime.builtin.basic": "TODO: Needs documentation",
180181
"config.runtime.builtin.bit": "TODO: Needs documentation",
@@ -225,7 +226,8 @@
225226
"config.type.castNumberToInteger": "Se permite asignar el tipo \"número\" al tipo \"entero\".",
226227
"config.type.checkTableShape": "Chequea estrictamente la forma de la tabla.\n",
227228
"config.type.inferParamType": "Cuando un tipo de parámetro no está anotado, se infiere su tipo de los lugares donde la función es llamada.\n\nCuando esta configuración es `false`, el tipo del parámetro `any` cuando no puede ser anotado.\n",
228-
"config.type.inferTableSize": "TODO: Needs documentation",
229+
"config.type.inferTableSize": "Maximum number of table fields analyzed during type inference.",
230+
"config.type.maxUnionVariants": "TODO: Needs documentation",
229231
"config.type.weakNilCheck": "Cuando se revisa el tipo de un tipo de unión, los `nil` dentro son ignorados.\n\nCuando esta configuración es `false`, el tipo `number|nil` no puede ser asignado al tipo `number`. Solo se puede con `true`.\n",
230232
"config.type.weakUnionCheck": "Una vez que un sub-tipo de un tipo de unión satisface la condición, el tipo de unión también satisface la condición.\n\nCuando esta configuración es `false`, el tipo `number|boolean` no puede ser asignado al tipo `number`. Solo se puede con `true`.\n",
231233
"config.typeFormat.config": "Configura el comportamiento del formateo mientras se tipea código Lua.",

package.nls.ja-jp.json

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
"config.addonManager.enable": "Whether the addon manager is enabled or not.",
88
"config.addonManager.repositoryBranch": "Specifies the git branch used by the addon manager.",
99
"config.addonManager.repositoryPath": "Specifies the git path used by the addon manager.",
10+
"config.addonRepositoryPath": "Specifies the addon repository path (not related to the addon manager).",
1011
"config.codeLens.enable": "Enable code lens.",
1112
"config.color.mode": "Color mode.",
1213
"config.color.mode.Grammar": "Grammar color.",
@@ -138,10 +139,10 @@
138139
"config.doc.packageName": "Treat specific field names as package, e.g. `m_*` means `XXX.m_id` and `XXX.m_type` are package, witch can only be accessed in the file where the definition is located.",
139140
"config.doc.privateName": "Treat specific field names as private, e.g. `m_*` means `XXX.m_id` and `XXX.m_type` are private, witch can only be accessed in the class where the definition is located.",
140141
"config.doc.protectedName": "Treat specific field names as protected, e.g. `m_*` means `XXX.m_id` and `XXX.m_type` are protected, witch can only be accessed in the class where the definition is located and its subclasses.",
141-
"config.doc.regengine": "TODO: Needs documentation",
142-
"config.doc.regengine.glob": "TODO: Needs documentation",
143-
"config.doc.regengine.lua": "TODO: Needs documentation",
144-
"config.docScriptPath": "TODO: Needs documentation",
142+
"config.doc.regengine": "The regular expression engine used for matching documentation scope names.",
143+
"config.doc.regengine.glob": "The default lightweight pattern syntax.",
144+
"config.doc.regengine.lua": "Full Lua-style regular expressions.",
145+
"config.docScriptPath": "The regular expression engine used for matching documentation scope names.",
145146
"config.format.defaultConfig": "The default format configuration. Has a lower priority than `.editorconfig` file in the workspace.\nRead [formatter docs](https://github.com/CppCXY/EmmyLuaCodeStyle/tree/master/docs) to learn usage.\n",
146147
"config.format.enable": "Enable code formatter.",
147148
"config.hint.arrayIndex": "Show hints of array index when constructing a table.",
@@ -175,7 +176,7 @@
175176
"config.language.fixIndent": "(VSCode only) Fix incorrect auto-indentation, such as incorrect indentation when line breaks occur within a string containing the word \"function.\"",
176177
"config.misc.executablePath": "Specify the executable path in VSCode.",
177178
"config.misc.parameters": "[Command line parameters](https://github.com/LuaLS/lua-telemetry-server/tree/master/method) when starting the language server in VSCode.",
178-
"config.nameStyle.config": "Set name style config",
179+
"config.nameStyle.config": "Set name style config.\nRead [formatter docs](https://github.com/CppCXY/EmmyLuaCodeStyle/tree/master/docs) to learn usage.\n",
179180
"config.runtime.builtin": "Adjust the enabled state of the built-in library. You can disable (or redefine) the non-existent library according to the actual runtime environment.\n\n* `default`: Indicates that the library will be enabled or disabled according to the runtime version\n* `enable`: always enable\n* `disable`: always disable\n",
180181
"config.runtime.builtin.basic": "TODO: Needs documentation",
181182
"config.runtime.builtin.bit": "TODO: Needs documentation",
@@ -226,7 +227,8 @@
226227
"config.type.castNumberToInteger": "Allowed to assign the `number` type to the `integer` type.",
227228
"config.type.checkTableShape": "Strictly check the shape of the table.\n",
228229
"config.type.inferParamType": "When a parameter type is not annotated, it is inferred from the function's call sites.\n\nWhen this setting is `false`, the type of the parameter is `any` when it is not annotated.\n",
229-
"config.type.inferTableSize": "TODO: Needs documentation",
230+
"config.type.inferTableSize": "Maximum number of table fields analyzed during type inference.",
231+
"config.type.maxUnionVariants": "TODO: Needs documentation",
230232
"config.type.weakNilCheck": "When checking the type of union type, ignore the `nil` in it.\n\nWhen this setting is `false`, the `number|nil` type cannot be assigned to the `number` type. It can be with `true`.\n",
231233
"config.type.weakUnionCheck": "Once one subtype of a union type meets the condition, the union type also meets the condition.\n\nWhen this setting is `false`, the `number|boolean` type cannot be assigned to the `number` type. It can be with `true`.\n",
232234
"config.typeFormat.config": "Configures the formatting behavior while typing Lua code.",

package.nls.json

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
"config.addonManager.enable": "Whether the addon manager is enabled or not.",
88
"config.addonManager.repositoryBranch": "Specifies the git branch used by the addon manager.",
99
"config.addonManager.repositoryPath": "Specifies the git path used by the addon manager.",
10+
"config.addonRepositoryPath": "Specifies the addon repository path (not related to the addon manager).",
1011
"config.codeLens.enable": "Enable code lens.",
1112
"config.color.mode": "Color mode.",
1213
"config.color.mode.Grammar": "Grammar color.",
@@ -93,7 +94,7 @@
9394
"config.diagnostics.need-check-nil": "Enable diagnostics for variable usages if `nil` or an optional (potentially `nil`) value was assigned to the variable before.",
9495
"config.diagnostics.neededFileStatus": "* Opened: only diagnose opened files\n* Any: diagnose all files\n* None: disable this diagnostic\n\nEnd with `!` means override the group setting `diagnostics.groupFileStatus`.\n",
9596
"config.diagnostics.newfield-call": "Enable newfield call diagnostics. It is raised when the parenthesis of a function call appear on the following line when defining a field in a table.",
96-
"config.diagnostics.newline-call": "Enable newline call diagnostics. Is's raised when a line starting with `(` is encountered, which is syntactically parsed as a function call on the previous line.",
97+
"config.diagnostics.newline-call": "Enable newline call diagnostics. It's raised when a line starting with `(` is encountered, which is syntactically parsed as a function call on the previous line.",
9798
"config.diagnostics.no-unknown": "Enable diagnostics for cases in which the type cannot be inferred.",
9899
"config.diagnostics.not-yieldable": "Enable diagnostics for calls to `coroutine.yield()` when it is not permitted.",
99100
"config.diagnostics.param-type-mismatch": "Enable diagnostics for function calls where the type of a provided parameter does not match the type of the annotated function definition.",
@@ -138,10 +139,10 @@
138139
"config.doc.packageName": "Treat specific field names as package, e.g. `m_*` means `XXX.m_id` and `XXX.m_type` are package, witch can only be accessed in the file where the definition is located.",
139140
"config.doc.privateName": "Treat specific field names as private, e.g. `m_*` means `XXX.m_id` and `XXX.m_type` are private, witch can only be accessed in the class where the definition is located.",
140141
"config.doc.protectedName": "Treat specific field names as protected, e.g. `m_*` means `XXX.m_id` and `XXX.m_type` are protected, witch can only be accessed in the class where the definition is located and its subclasses.",
141-
"config.doc.regengine": "TODO: Needs documentation",
142-
"config.doc.regengine.glob": "TODO: Needs documentation",
143-
"config.doc.regengine.lua": "TODO: Needs documentation",
144-
"config.docScriptPath": "TODO: Needs documentation",
142+
"config.doc.regengine": "The regular expression engine used for matching documentation scope names.",
143+
"config.doc.regengine.glob": "The default lightweight pattern syntax.",
144+
"config.doc.regengine.lua": "Full Lua-style regular expressions.",
145+
"config.docScriptPath": "The regular expression engine used for matching documentation scope names.",
145146
"config.format.defaultConfig": "The default format configuration. Has a lower priority than `.editorconfig` file in the workspace.\nRead [formatter docs](https://github.com/CppCXY/EmmyLuaCodeStyle/tree/master/docs) to learn usage.\n",
146147
"config.format.enable": "Enable code formatter.",
147148
"config.hint.arrayIndex": "Show hints of array index when constructing a table.",
@@ -172,10 +173,10 @@
172173
"config.intelliSense.fastGlobal": "In the global variable completion, and view `_G` suspension prompt. This will slightly reduce the accuracy of type speculation, but it will have a significant performance improvement for projects that use a lot of global variables.",
173174
"config.intelliSense.searchDepth": "Set the search depth for IntelliSense. Increasing this value increases accuracy, but decreases performance. Different workspace have different tolerance for this setting. Please adjust it to the appropriate value.",
174175
"config.language.completeAnnotation": "(VSCode only) Automatically insert \"---@ \" after a line break following a annotation.",
175-
"config.language.fixIndent": "(VSCode only) Fix incorrect auto-indentation, such as incorrect indentation when line breaks occur within a string containing the word \"function.\"",
176+
"config.language.fixIndent": "(VSCode only) Fix incorrect auto-indentation, such as incorrect indentation when line breaks occur within a string containing the word \"function\".",
176177
"config.misc.executablePath": "Specify the executable path in VSCode.",
177178
"config.misc.parameters": "[Command line parameters](https://github.com/LuaLS/lua-telemetry-server/tree/master/method) when starting the language server in VSCode.",
178-
"config.nameStyle.config": "Set name style config",
179+
"config.nameStyle.config": "Set name style config.\nRead [formatter docs](https://github.com/CppCXY/EmmyLuaCodeStyle/tree/master/docs) to learn usage.\n",
179180
"config.runtime.builtin": "Adjust the enabled state of the built-in library. You can disable (or redefine) the non-existent library according to the actual runtime environment.\n\n* `default`: Indicates that the library will be enabled or disabled according to the runtime version\n* `enable`: always enable\n* `disable`: always disable\n",
180181
"config.runtime.builtin.basic": "TODO: Needs documentation",
181182
"config.runtime.builtin.bit": "TODO: Needs documentation",
@@ -226,7 +227,8 @@
226227
"config.type.castNumberToInteger": "Allowed to assign the `number` type to the `integer` type.",
227228
"config.type.checkTableShape": "Strictly check the shape of the table.\n",
228229
"config.type.inferParamType": "When a parameter type is not annotated, it is inferred from the function's call sites.\n\nWhen this setting is `false`, the type of the parameter is `any` when it is not annotated.\n",
229-
"config.type.inferTableSize": "TODO: Needs documentation",
230+
"config.type.inferTableSize": "Maximum number of table fields analyzed during type inference.",
231+
"config.type.maxUnionVariants": "TODO: Needs documentation",
230232
"config.type.weakNilCheck": "When checking the type of union type, ignore the `nil` in it.\n\nWhen this setting is `false`, the `number|nil` type cannot be assigned to the `number` type. It can be with `true`.\n",
231233
"config.type.weakUnionCheck": "Once one subtype of a union type meets the condition, the union type also meets the condition.\n\nWhen this setting is `false`, the `number|boolean` type cannot be assigned to the `number` type. It can be with `true`.\n",
232234
"config.typeFormat.config": "Configures the formatting behavior while typing Lua code.",

0 commit comments

Comments
 (0)