@codingame/monaco-editor-wrapper 5.3.0 → 5.4.0-workbench.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/dist/assets/Angular.ng-template-17.1.0.vsix/CHANGELOG.md +969 -0
  2. package/dist/assets/Angular.ng-template-17.1.0.vsix/README.md +69 -0
  3. package/dist/assets/Angular.ng-template-17.1.0.vsix/angular.png +0 -0
  4. package/dist/assets/Dart-Code.dart-code-3.81.20240117.vsix/CHANGELOG.md +1 -0
  5. package/dist/assets/Dart-Code.dart-code-3.81.20240117.vsix/README.md +89 -0
  6. package/dist/assets/Dart-Code.dart-code-3.81.20240117.vsix/dart.png +0 -0
  7. package/dist/assets/IMCTradingBV.svlangserver-0.4.1.vsix/CHANGELOG.md +56 -0
  8. package/dist/assets/IMCTradingBV.svlangserver-0.4.1.vsix/README.md +320 -0
  9. package/dist/assets/IMCTradingBV.svlangserver-0.4.1.vsix/icon.png +0 -0
  10. package/dist/assets/JakeBecker.elixir-ls-0.19.0.vsix/CHANGELOG.md +997 -0
  11. package/dist/assets/JakeBecker.elixir-ls-0.19.0.vsix/README.md +219 -0
  12. package/dist/assets/JakeBecker.elixir-ls-0.19.0.vsix/logo.png +0 -0
  13. package/dist/assets/JuanBlanco.solidity-0.0.165.vsix/README.md +416 -0
  14. package/dist/assets/JuanBlanco.solidity-0.0.165.vsix/icon.png +0 -0
  15. package/dist/assets/REditorSupport.r-2.8.2.vsix/CHANGELOG.md +987 -0
  16. package/dist/assets/REditorSupport.r-2.8.2.vsix/README.md +78 -0
  17. package/dist/assets/REditorSupport.r-2.8.2.vsix/Rlogo.png +0 -0
  18. package/dist/assets/alefragnani.pascal-9.6.0.vsix/CHANGELOG.md +188 -0
  19. package/dist/assets/alefragnani.pascal-9.6.0.vsix/README.md +249 -0
  20. package/dist/assets/alefragnani.pascal-9.6.0.vsix/icon.png +0 -0
  21. package/dist/assets/batisteo.vscode-django-1.15.0.vsix/CHANGELOG.md +7 -0
  22. package/dist/assets/batisteo.vscode-django-1.15.0.vsix/README.md +99 -0
  23. package/dist/assets/batisteo.vscode-django-1.15.0.vsix/vscode-django-icon.png +0 -0
  24. package/dist/assets/bitwisecook.tcl-0.4.3.vsix/CHANGELOG.md +4 -0
  25. package/dist/assets/bitwisecook.tcl-0.4.3.vsix/README.md +19 -0
  26. package/dist/assets/bitwisecook.tcl-0.4.3.vsix/Tcl-powered.png +0 -0
  27. package/dist/assets/broadcomMFD.cobol-language-support-2.1.0.vsix/CHANGELOG.md +469 -0
  28. package/dist/assets/broadcomMFD.cobol-language-support-2.1.0.vsix/README.md +401 -0
  29. package/dist/assets/broadcomMFD.cobol-language-support-2.1.0.vsix/logo.png +0 -0
  30. package/dist/assets/castwide.solargraph-0.24.1.vsix/CHANGELOG.md +256 -0
  31. package/dist/assets/castwide.solargraph-0.24.1.vsix/README.md +178 -0
  32. package/dist/assets/castwide.solargraph-0.24.1.vsix/solargraph.png +0 -0
  33. package/dist/assets/ckolkman.vscode-postgres-1.4.3.vsix/CHANGELOG.md +232 -0
  34. package/dist/assets/ckolkman.vscode-postgres-1.4.3.vsix/README.md +86 -0
  35. package/dist/assets/golang.Go-0.40.3.vsix/CHANGELOG.md +2934 -0
  36. package/dist/assets/golang.Go-0.40.3.vsix/README.md +217 -0
  37. package/dist/assets/golang.Go-0.40.3.vsix/go-logo-blue.png +0 -0
  38. package/dist/assets/johnsoncodehk.vscode-angular-1.0.22.vsix/README.md +44 -0
  39. package/dist/assets/justusadam.language-haskell-3.6.0.vsix/CHANGELOG.md +357 -0
  40. package/dist/assets/justusadam.language-haskell-3.6.0.vsix/README.md +68 -0
  41. package/dist/assets/justusadam.language-haskell-3.6.0.vsix/logo.png +0 -0
  42. package/dist/assets/mathiasfrohlich.Kotlin-1.7.1.vsix/CHANGELOG.md +43 -0
  43. package/dist/assets/mathiasfrohlich.Kotlin-1.7.1.vsix/README.md +40 -0
  44. package/dist/assets/mathiasfrohlich.Kotlin-1.7.1.vsix/icon.png +0 -0
  45. package/dist/assets/ms-dotnettools.csharp-2.16.24.vsix/CHANGELOG.md +1697 -0
  46. package/dist/assets/ms-dotnettools.csharp-2.16.24.vsix/README.md +87 -0
  47. package/dist/assets/ms-dotnettools.csharp-2.16.24.vsix/csharpIcon.png +0 -0
  48. package/dist/assets/ms-python.python-2023.25.10221012.vsix/CHANGELOG.md +11139 -0
  49. package/dist/assets/ms-python.python-2023.25.10221012.vsix/README.md +105 -0
  50. package/dist/assets/ms-python.python-2023.25.10221012.vsix/icon.png +0 -0
  51. package/dist/assets/ms-vscode.cpptools-1.19.2.vsix/CHANGELOG.md +2180 -0
  52. package/dist/assets/ms-vscode.cpptools-1.19.2.vsix/LanguageCCPP_color_128x.png +0 -0
  53. package/dist/assets/ms-vscode.cpptools-1.19.2.vsix/README.md +78 -0
  54. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/CHANGELOG.md +510 -0
  55. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/README.md +539 -0
  56. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/logo.png +0 -0
  57. package/dist/assets/pgourlain.erlang-0.9.8.vsix/CHANGELOG.md +802 -0
  58. package/dist/assets/pgourlain.erlang-0.9.8.vsix/README.md +101 -0
  59. package/dist/assets/pgourlain.erlang-0.9.8.vsix/icon.png +0 -0
  60. package/dist/assets/redhat.java-1.27.2024012608.vsix/CHANGELOG.md +1571 -0
  61. package/dist/assets/redhat.java-1.27.2024012608.vsix/README.md +283 -0
  62. package/dist/assets/redhat.java-1.27.2024012608.vsix/icon128.png +0 -0
  63. package/dist/assets/scala-lang.scala-0.5.7.vsix/CHANGELOG.md +276 -0
  64. package/dist/assets/scala-lang.scala-0.5.7.vsix/README.md +33 -0
  65. package/dist/assets/scala-lang.scala-0.5.7.vsix/smooth-spiral.png +0 -0
  66. package/dist/assets/scalameta.metals-1.27.3.vsix/README.md +600 -0
  67. package/dist/assets/scalameta.metals-1.27.3.vsix/logo.png +0 -0
  68. package/dist/assets/sumneko.lua-3.7.4.vsix/README.md +101 -0
  69. package/dist/assets/sumneko.lua-3.7.4.vsix/changelog.md +1965 -0
  70. package/dist/assets/sumneko.lua-3.7.4.vsix/logo.png +0 -0
  71. package/dist/assets/svelte.svelte-vscode-108.2.1.vsix/CHANGELOG.md +3 -0
  72. package/dist/assets/svelte.svelte-vscode-108.2.1.vsix/README.md +100 -0
  73. package/dist/assets/svelte.svelte-vscode-108.2.1.vsix/logo.png +0 -0
  74. package/dist/assets/webfreak.code-d-0.23.2.vsix/CHANGELOG.md +543 -0
  75. package/dist/assets/webfreak.code-d-0.23.2.vsix/README.md +81 -0
  76. package/dist/assets/webfreak.code-d-0.23.2.vsix/dlogo-square.png +0 -0
  77. package/dist/extensions/Angular.ng-template-17.1.0.vsix.js +7 -1
  78. package/dist/extensions/Dart-Code.dart-code-3.81.20240117.vsix.js +7 -1
  79. package/dist/extensions/IMCTradingBV.svlangserver-0.4.1.vsix.js +7 -1
  80. package/dist/extensions/JakeBecker.elixir-ls-0.19.0.vsix.js +7 -1
  81. package/dist/extensions/JuanBlanco.solidity-0.0.165.vsix.js +5 -1
  82. package/dist/extensions/REditorSupport.r-2.8.2.vsix.js +7 -1
  83. package/dist/extensions/alefragnani.pascal-9.6.0.vsix.js +7 -1
  84. package/dist/extensions/batisteo.vscode-django-1.15.0.vsix.js +7 -1
  85. package/dist/extensions/bitwisecook.tcl-0.4.3.vsix.js +7 -1
  86. package/dist/extensions/broadcomMFD.cobol-language-support-2.1.0.vsix.js +7 -1
  87. package/dist/extensions/castwide.solargraph-0.24.1.vsix.js +7 -1
  88. package/dist/extensions/ckolkman.vscode-postgres-1.4.3.vsix.js +5 -1
  89. package/dist/extensions/golang.Go-0.40.3.vsix.js +7 -1
  90. package/dist/extensions/johnsoncodehk.vscode-angular-1.0.22.vsix.js +3 -1
  91. package/dist/extensions/justusadam.language-haskell-3.6.0.vsix.js +7 -1
  92. package/dist/extensions/mathiasfrohlich.Kotlin-1.7.1.vsix.js +7 -1
  93. package/dist/extensions/ms-dotnettools.csharp-2.16.24.vsix.js +7 -1
  94. package/dist/extensions/ms-python.python-2023.25.10221012.vsix.js +7 -1
  95. package/dist/extensions/ms-vscode.cpptools-1.19.2.vsix.js +7 -1
  96. package/dist/extensions/ocamllabs.ocaml-platform-1.16.1.vsix.js +7 -1
  97. package/dist/extensions/pgourlain.erlang-0.9.8.vsix.js +7 -1
  98. package/dist/extensions/redhat.java-1.27.2024012608.vsix.js +7 -1
  99. package/dist/extensions/scala-lang.scala-0.5.7.vsix.js +7 -1
  100. package/dist/extensions/scalameta.metals-1.27.3.vsix.js +5 -1
  101. package/dist/extensions/sumneko.lua-3.7.4.vsix.js +7 -1
  102. package/dist/extensions/svelte.svelte-vscode-108.2.1.vsix.js +7 -1
  103. package/dist/extensions/webfreak.code-d-0.23.2.vsix.js +7 -1
  104. package/dist/features/views.js +0 -4
  105. package/dist/features/workbench.d.ts +5 -0
  106. package/dist/services.js +3 -1
  107. package/package.json +77 -77
  108. package/stats.html +1 -1
@@ -0,0 +1,1965 @@
1
+ # changelog
2
+
3
+ ## 3.7.4
4
+ `2024-1-5`
5
+ * `FIX` rename to unicode with `Lua.runtime.unicodeName = true`
6
+
7
+ ## 3.7.3
8
+ `2023-11-14`
9
+ * `FIX` can not infer arg type in some cases.
10
+
11
+ ## 3.7.2
12
+ `2023-11-9`
13
+ * `FIX` [#2407]
14
+
15
+ [#2407]: https://github.com/LuaLS/lua-language-server/issues/2407
16
+
17
+ ## 3.7.1
18
+ `2023-11-7`
19
+ * `FIX` [#2299]
20
+ * `FIX` [#2335]
21
+
22
+ [#2299]: https://github.com/LuaLS/lua-language-server/issues/2299
23
+ [#2335]: https://github.com/LuaLS/lua-language-server/issues/2335
24
+
25
+ ## 3.7.0
26
+ `2023-8-24`
27
+ * `NEW` support `---@type` and `--[[@as]]` for return statement
28
+ * `NEW` commandline parameter `--force-accept-workspace`: allowing the use of the root directory or home directory as the workspace
29
+ * `NEW` diagnostic: `inject-field`
30
+ * `NEW` `---@enum` supports attribute `key`
31
+ ```lua
32
+ ---@enum (key) AnimalType
33
+ local enum = {
34
+ Cat = 1,
35
+ Dog = 2,
36
+ }
37
+
38
+ ---@param animal userdata
39
+ ---@param atp AnimalType
40
+ ---@return boolean
41
+ local function isAnimalType(animal, atp)
42
+ return API.isAnimalType(animal, enum[atp])
43
+ end
44
+
45
+ assert(isAnimalType(animal, 'Cat'))
46
+ ```
47
+ * `NEW` `---@class` supports attribute `exact`
48
+ ```lua
49
+ ---@class (exact) Point
50
+ ---@field x number
51
+ ---@field y number
52
+ local m = {}
53
+ m.x = 1 -- OK
54
+ m.y = 2 -- OK
55
+ m.z = 3 -- Warning
56
+ ```
57
+
58
+ * `FIX` wrong hover and signature for method with varargs and overloads
59
+ * `FIX` [#2155]
60
+ * `FIX` [#2224]
61
+ * `FIX` [#2252]
62
+ * `FIX` [#2267]
63
+
64
+ [#2155]: https://github.com/LuaLS/lua-language-server/issues/2155
65
+ [#2224]: https://github.com/LuaLS/lua-language-server/issues/2224
66
+ [#2252]: https://github.com/LuaLS/lua-language-server/issues/2252
67
+ [#2267]: https://github.com/LuaLS/lua-language-server/issues/2267
68
+
69
+ ## 3.6.25
70
+ `2023-7-26`
71
+ * `FIX` [#2214]
72
+
73
+ [#2214]: https://github.com/LuaLS/lua-language-server/issues/2214
74
+
75
+ ## 3.6.24
76
+ `2023-7-21`
77
+ * `NEW` diagnostic: `missing-fields`
78
+ * `FIX` shake of `codeLens`
79
+ * `FIX` [#2145]
80
+
81
+ [#2145]: https://github.com/LuaLS/lua-language-server/issues/2145
82
+
83
+ ## 3.6.23
84
+ `2023-7-7`
85
+ * `CHG` signature: narrow by inputed literal
86
+
87
+ ## 3.6.22
88
+ `2023-6-14`
89
+ * `FIX` [#2038]
90
+ * `FIX` [#2042]
91
+ * `FIX` [#2062]
92
+ * `FIX` [#2083]
93
+ * `FIX` [#2088]
94
+ * `FIX` [#2110]
95
+ * `FIX` [#2129]
96
+
97
+ [#2038]: https://github.com/LuaLS/lua-language-server/issues/2038
98
+ [#2042]: https://github.com/LuaLS/lua-language-server/issues/2042
99
+ [#2062]: https://github.com/LuaLS/lua-language-server/issues/2062
100
+ [#2083]: https://github.com/LuaLS/lua-language-server/issues/2083
101
+ [#2088]: https://github.com/LuaLS/lua-language-server/issues/2088
102
+ [#2110]: https://github.com/LuaLS/lua-language-server/issues/2110
103
+ [#2129]: https://github.com/LuaLS/lua-language-server/issues/2129
104
+
105
+ ## 3.6.21
106
+ `2023-5-24`
107
+ * `FIX` disable ffi plugin
108
+
109
+ ## 3.6.20
110
+ `2023-5-23`
111
+ * `NEW` support connecting by socket with `--socket=PORT`
112
+ * `FIX` [#2113]
113
+
114
+ [#2113]: https://github.com/LuaLS/lua-language-server/issues/2113
115
+
116
+ ## 3.6.19
117
+ `2023-4-26`
118
+ * `FIX` commandline parameter `checklevel` may not work
119
+ * `FIX` [#2036]
120
+ * `FIX` [#2037]
121
+ * `FIX` [#2056]
122
+ * `FIX` [#2077]
123
+ * `FIX` [#2081]
124
+
125
+ [#2036]: https://github.com/LuaLS/lua-language-server/issues/2036
126
+ [#2037]: https://github.com/LuaLS/lua-language-server/issues/2037
127
+ [#2056]: https://github.com/LuaLS/lua-language-server/issues/2056
128
+ [#2077]: https://github.com/LuaLS/lua-language-server/issues/2077
129
+ [#2081]: https://github.com/LuaLS/lua-language-server/issues/2081
130
+
131
+ ## 3.6.18
132
+ `2023-3-23`
133
+ * `FIX` [#1943]
134
+ * `FIX` [#1996]
135
+ * `FIX` [#2004]
136
+ * `FIX` [#2013]
137
+
138
+ [#1943]: https://github.com/LuaLS/lua-language-server/issues/1943
139
+ [#1996]: https://github.com/LuaLS/lua-language-server/issues/1996
140
+ [#2004]: https://github.com/LuaLS/lua-language-server/issues/2004
141
+ [#2013]: https://github.com/LuaLS/lua-language-server/issues/2013
142
+
143
+ ## 3.6.17
144
+ `2023-3-9`
145
+ * `CHG` export documents: export global variables
146
+ * `FIX` [#1715]
147
+ * `FIX` [#1753]
148
+ * `FIX` [#1914]
149
+ * `FIX` [#1922]
150
+ * `FIX` [#1924]
151
+ * `FIX` [#1928]
152
+ * `FIX` [#1945]
153
+ * `FIX` [#1955]
154
+ * `FIX` [#1978]
155
+
156
+ [#1715]: https://github.com/LuaLS/lua-language-server/issues/1715
157
+ [#1753]: https://github.com/LuaLS/lua-language-server/issues/1753
158
+ [#1914]: https://github.com/LuaLS/lua-language-server/issues/1914
159
+ [#1922]: https://github.com/LuaLS/lua-language-server/issues/1922
160
+ [#1924]: https://github.com/LuaLS/lua-language-server/issues/1924
161
+ [#1928]: https://github.com/LuaLS/lua-language-server/issues/1928
162
+ [#1945]: https://github.com/LuaLS/lua-language-server/issues/1945
163
+ [#1955]: https://github.com/LuaLS/lua-language-server/issues/1955
164
+ [#1978]: https://github.com/LuaLS/lua-language-server/issues/1978
165
+
166
+ ## 3.6.13
167
+ `2023-3-2`
168
+ * `FIX` setting: `Lua.addonManager.enable` should be `true` by default
169
+ * `FIX` failed to publish to Windows
170
+
171
+ ## 3.6.12
172
+ `2023-3-2`
173
+ * `NEW` [Addon Manager](https://github.com/LuaLS/lua-language-server/discussions/1607), try it with command `lua.addon_manager.open`. Thanks to [carsakiller](https://github.com/carsakiller)!
174
+
175
+ ## 3.6.11
176
+ `2023-2-13`
177
+ * `CHG` completion: don't show loading process
178
+ * `FIX` [#1886]
179
+ * `FIX` [#1887]
180
+ * `FIX` [#1889]
181
+ * `FIX` [#1895]
182
+ * `FIX` [#1902]
183
+
184
+ [#1886]: https://github.com/LuaLS/lua-language-server/issues/1886
185
+ [#1887]: https://github.com/LuaLS/lua-language-server/issues/1887
186
+ [#1889]: https://github.com/LuaLS/lua-language-server/issues/1889
187
+ [#1895]: https://github.com/LuaLS/lua-language-server/issues/1895
188
+ [#1902]: https://github.com/LuaLS/lua-language-server/issues/1902
189
+
190
+ ## 3.6.10
191
+ `2023-2-7`
192
+ * `FIX` [#1869]
193
+ * `FIX` [#1872]
194
+
195
+ [#1869]: https://github.com/LuaLS/lua-language-server/issues/1869
196
+ [#1872]: https://github.com/LuaLS/lua-language-server/issues/1872
197
+
198
+ ## 3.6.9
199
+ `2023-2-2`
200
+ * `FIX` [#1864]
201
+ * `FIX` [#1868]
202
+ * `FIX` [#1869]
203
+ * `FIX` [#1871]
204
+
205
+ [#1864]: https://github.com/LuaLS/lua-language-server/issues/1864
206
+ [#1868]: https://github.com/LuaLS/lua-language-server/issues/1868
207
+ [#1869]: https://github.com/LuaLS/lua-language-server/issues/1869
208
+ [#1871]: https://github.com/LuaLS/lua-language-server/issues/1871
209
+
210
+ ## 3.6.8
211
+ `2023-1-31`
212
+ * `NEW` command `lua.exportDocument` . VSCode will display this command in the right-click menu
213
+ * `CHG` setting `Lua.workspace.supportScheme` has been removed. All schemes are supported if the language id is `lua`
214
+ * `FIX` [#1831]
215
+ * `FIX` [#1838]
216
+ * `FIX` [#1841]
217
+ * `FIX` [#1851]
218
+ * `FIX` [#1855]
219
+ * `FIX` [#1857]
220
+
221
+ [#1831]: https://github.com/LuaLS/lua-language-server/issues/1831
222
+ [#1838]: https://github.com/LuaLS/lua-language-server/issues/1838
223
+ [#1841]: https://github.com/LuaLS/lua-language-server/issues/1841
224
+ [#1851]: https://github.com/LuaLS/lua-language-server/issues/1851
225
+ [#1855]: https://github.com/LuaLS/lua-language-server/issues/1855
226
+ [#1857]: https://github.com/LuaLS/lua-language-server/issues/1857
227
+
228
+ ## 3.6.7
229
+ `2023-1-20`
230
+ * `FIX` [#1810]
231
+ * `FIX` [#1829]
232
+
233
+ [#1810]: https://github.com/LuaLS/lua-language-server/issues/1810
234
+ [#1829]: https://github.com/LuaLS/lua-language-server/issues/1829
235
+
236
+ ## 3.6.6
237
+ `2023-1-17`
238
+ * `FIX` [#1825]
239
+ * `FIX` [#1826]
240
+
241
+ [#1825]: https://github.com/LuaLS/lua-language-server/issues/1825
242
+ [#1826]: https://github.com/LuaLS/lua-language-server/issues/1826
243
+
244
+ ## 3.6.5
245
+ `2023-1-16`
246
+ * `NEW` support casting global variables
247
+ * `NEW` code lens: this feature is disabled by default.
248
+ * `NEW` settings:
249
+ * `Lua.codeLens.enable`: Enable code lens.
250
+ * `CHG` improve memory usage for large libraries
251
+ * `CHG` definition: supports finding definitions for `@class` and `@alias`, since they may be defined multi times
252
+ * `CHG` rename: supports `@field`
253
+ * `CHG` improve patch for `.luarc.json`
254
+ * `CHG` `---@meta [name]`: once declared `name`, user can only require this file by declared name. meta file can not be required with name `_`
255
+ * `CHG` remove telemetry
256
+ * `FIX` [#831]
257
+ * `FIX` [#1729]
258
+ * `FIX` [#1737]
259
+ * `FIX` [#1751]
260
+ * `FIX` [#1767]
261
+ * `FIX` [#1796]
262
+ * `FIX` [#1805]
263
+ * `FIX` [#1808]
264
+ * `FIX` [#1811]
265
+ * `FIX` [#1824]
266
+
267
+ [#831]: https://github.com/LuaLS/lua-language-server/issues/831
268
+ [#1729]: https://github.com/LuaLS/lua-language-server/issues/1729
269
+ [#1737]: https://github.com/LuaLS/lua-language-server/issues/1737
270
+ [#1751]: https://github.com/LuaLS/lua-language-server/issues/1751
271
+ [#1767]: https://github.com/LuaLS/lua-language-server/issues/1767
272
+ [#1796]: https://github.com/LuaLS/lua-language-server/issues/1796
273
+ [#1805]: https://github.com/LuaLS/lua-language-server/issues/1805
274
+ [#1808]: https://github.com/LuaLS/lua-language-server/issues/1808
275
+ [#1811]: https://github.com/LuaLS/lua-language-server/issues/1811
276
+ [#1824]: https://github.com/LuaLS/lua-language-server/issues/1824
277
+
278
+ ## 3.6.4
279
+ `2022-11-29`
280
+ * `NEW` modify `require` after renaming files
281
+ * `FIX` circulation reference in process analysis
282
+ ```lua
283
+ ---@type number
284
+ local x
285
+
286
+ ---@type number
287
+ local y
288
+
289
+ x = y
290
+
291
+ y = x --> Can not infer `y` before
292
+ ```
293
+ * `FIX` [#1698]
294
+ * `FIX` [#1704]
295
+ * `FIX` [#1717]
296
+
297
+ [#1698]: https://github.com/LuaLS/lua-language-server/issues/1698
298
+ [#1704]: https://github.com/LuaLS/lua-language-server/issues/1704
299
+ [#1717]: https://github.com/LuaLS/lua-language-server/issues/1717
300
+
301
+ ## 3.6.3
302
+ `2022-11-14`
303
+ * `FIX` [#1684]
304
+ * `FIX` [#1692]
305
+
306
+ [#1684]: https://github.com/LuaLS/lua-language-server/issues/1684
307
+ [#1692]: https://github.com/LuaLS/lua-language-server/issues/1692
308
+
309
+ ## 3.6.2
310
+ `2022-11-10`
311
+ * `FIX` incorrect type check for generic with nil
312
+ * `FIX` [#1676]
313
+ * `FIX` [#1677]
314
+ * `FIX` [#1679]
315
+ * `FIX` [#1680]
316
+
317
+ [#1676]: https://github.com/LuaLS/lua-language-server/issues/1676
318
+ [#1677]: https://github.com/LuaLS/lua-language-server/issues/1677
319
+ [#1679]: https://github.com/LuaLS/lua-language-server/issues/1679
320
+ [#1680]: https://github.com/LuaLS/lua-language-server/issues/1680
321
+
322
+ ## 3.6.1
323
+ `2022-11-8`
324
+ * `FIX` wrong diagnostics for `pcall` and `xpcall`
325
+ * `FIX` duplicate fields in table hover
326
+ * `FIX` description disapeared for overloaded function
327
+ * `FIX` [#1675]
328
+
329
+ [#1675]: https://github.com/LuaLS/lua-language-server/issues/1675
330
+
331
+ ## 3.6.0
332
+ `2022-11-8`
333
+ * `NEW` supports `private`/`protected`/`public`/`package`
334
+ * mark in `doc.field`
335
+ ```lua
336
+ ---@class unit
337
+ ---@field private uuid integer
338
+ ```
339
+ * mark with `---@private`, `---@protected`, `---@public` and `---@package`
340
+ ```lua
341
+ ---@class unit
342
+ local mt = {}
343
+
344
+ ---@private
345
+ function mt:init()
346
+ end
347
+
348
+ ---@protected
349
+ function mt:update()
350
+ end
351
+ ```
352
+ * mark by settings `Lua.doc.privateName`, `Lua.doc.protectedName` and `Lua.doc.packageName`
353
+ ```lua
354
+ ---@class unit
355
+ ---@field _uuid integer --> treat as private when `Lua.doc.privateName` has `"_*"`
356
+ ```
357
+ * `NEW` settings:
358
+ * `Lua.misc.executablePath`: [#1557] specify the executable path in VSCode
359
+ * `Lua.diagnostics.workspaceEvent`: [#1626] set the time to trigger workspace diagnostics.
360
+ * `Lua.doc.privateName`: treat matched fields as private
361
+ * `Lua.doc.protectedName`: treat matched fields as protected
362
+ * `Lua.doc.packageName`: treat matched fields as package
363
+ * `NEW` CLI `--doc [path]` to make docs.
364
+ server will generate `doc.json` and `doc.md` in `LOGPATH`.
365
+ `doc.md` is generated by `doc.json` by example code `script/cli/doc2md.lua`.
366
+ * `CHG` [#1558] detect multi libraries
367
+ * `CHG` [#1458] `semantic-tokens`: global variable is setted to `variable.global`
368
+ ```jsonc
369
+ // color global variables to red
370
+ "editor.semanticTokenColorCustomizations": {
371
+ "rules": {
372
+ "variable.global": "#ff0000"
373
+ }
374
+ }
375
+ ```
376
+ * `CHG` [#1177] re-support for symlinks, users need to maintain the correctness of symlinks themselves
377
+ * `CHG` [#1561] infer definitions and types across chain expression
378
+ ```lua
379
+ ---@class myClass
380
+ local myClass = {}
381
+
382
+ myClass.a.b.c.e.f.g = 1
383
+
384
+ ---@type myClass
385
+ local class
386
+
387
+ print(class.a.b.c.e.f.g) --> inferred as integer
388
+ ```
389
+ * `CHG` [#1582] the following diagnostics consider `overload`
390
+ * `missing-return`
391
+ * `missing-return-value`
392
+ * `redundant-return-value`
393
+ * `return-type-mismatch`
394
+ * `CHG` workspace-symbol: supports chain fields based on global variables and types. try `io.open` or `iolib.open`
395
+ * `CHG` [#1641] if a function only has varargs and has `---@overload`, the varargs will be ignored
396
+ * `CHG` [#1575] search definitions by first argument of `setmetatable`
397
+ ```lua
398
+ ---@class Object
399
+ local obj = setmetatable({
400
+ initValue = 1,
401
+ }, mt)
402
+
403
+ print(obj.initValue) --> `obj.initValue` is integer
404
+ ```
405
+ * `CHG` [#1153] infer type by generic parameters or returns of function
406
+ ```lua
407
+ ---@generic T
408
+ ---@param f fun(x: T)
409
+ ---@return T[]
410
+ local function x(f) end
411
+
412
+ ---@type fun(x: integer)
413
+ local cb
414
+
415
+ local arr = x(cb) --> `arr` is inferred as `integer[]`
416
+ ```
417
+ * `CHG` [#1201] infer parameter type by expected returned function of parent function
418
+ ```lua
419
+ ---@return fun(x: integer)
420
+ local function f()
421
+ return function (x) --> `x` is inferred as `integer`
422
+ end
423
+ end
424
+ ```
425
+ * `CHG` [#1332] infer parameter type when function in table
426
+ ```lua
427
+ ---@class A
428
+ ---@field f fun(x: string)
429
+
430
+ ---@type A
431
+ local t = {
432
+ f = function (x) end --> `x` is inferred as `string`
433
+ }
434
+ ```
435
+ * `CHG` find reference: respect `includeDeclaration` (although I don't know how to turn off this option in VSCode)
436
+ * `CHG` [#1344] improve `---@see`
437
+ * `CHG` [#1484] setting `runtime.special` supports fields
438
+ ```jsonc
439
+ {
440
+ "runtime.special": {
441
+ "sandbox.require": "require"
442
+ }
443
+ }
444
+ ```
445
+ * `CHG` [#1533] supports completion with table field of function
446
+ * `CHG` [#1457] infer parameter type by function type
447
+ ```lua
448
+ ---@type fun(x: number)
449
+ local function f(x) --> `x` is inferred as `number`
450
+ end
451
+ ```
452
+ * `CHG` [#1663] check parameter types of generic extends
453
+ ```lua
454
+ ---@generic T: string | boolean
455
+ ---@param x T
456
+ ---@return T
457
+ local function f(x)
458
+ return x
459
+ end
460
+
461
+ local x = f(1) --> Warning: Cannot assign `integer` to parameter `<T:boolean|string>`.
462
+ ```
463
+ * `CHG` [#1434] type check: check the fields in table:
464
+ ```lua
465
+ ---@type table<string, string>
466
+ local x
467
+
468
+ ---@type table<string, number>
469
+ local y
470
+
471
+ x = y --> Warning: Cannot assign `<string, number>` to `<string, string>`
472
+ ```
473
+ * `CHG` [#1374] type check: supports array part in literal table
474
+ ```lua
475
+ ---@type boolean[]
476
+ local t = { 1, 2, 3 } --> Warning: Cannot assign `integer` to `boolean`
477
+ ```
478
+ * `CHG` `---@enum` supports runtime values
479
+ * `FIX` [#1479]
480
+ * `FIX` [#1480]
481
+ * `FIX` [#1567]
482
+ * `FIX` [#1593]
483
+ * `FIX` [#1595]
484
+ * `FIX` [#1599]
485
+ * `FIX` [#1606]
486
+ * `FIX` [#1608]
487
+ * `FIX` [#1637]
488
+ * `FIX` [#1640]
489
+ * `FIX` [#1642]
490
+ * `FIX` [#1662]
491
+ * `FIX` [#1672]
492
+
493
+ [#1153]: https://github.com/LuaLS/lua-language-server/issues/1153
494
+ [#1177]: https://github.com/LuaLS/lua-language-server/issues/1177
495
+ [#1201]: https://github.com/LuaLS/lua-language-server/issues/1201
496
+ [#1202]: https://github.com/LuaLS/lua-language-server/issues/1202
497
+ [#1332]: https://github.com/LuaLS/lua-language-server/issues/1332
498
+ [#1344]: https://github.com/LuaLS/lua-language-server/issues/1344
499
+ [#1374]: https://github.com/LuaLS/lua-language-server/issues/1374
500
+ [#1434]: https://github.com/LuaLS/lua-language-server/issues/1434
501
+ [#1457]: https://github.com/LuaLS/lua-language-server/issues/1457
502
+ [#1458]: https://github.com/LuaLS/lua-language-server/issues/1458
503
+ [#1479]: https://github.com/LuaLS/lua-language-server/issues/1479
504
+ [#1480]: https://github.com/LuaLS/lua-language-server/issues/1480
505
+ [#1484]: https://github.com/LuaLS/lua-language-server/issues/1484
506
+ [#1533]: https://github.com/LuaLS/lua-language-server/issues/1533
507
+ [#1557]: https://github.com/LuaLS/lua-language-server/issues/1557
508
+ [#1558]: https://github.com/LuaLS/lua-language-server/issues/1558
509
+ [#1561]: https://github.com/LuaLS/lua-language-server/issues/1561
510
+ [#1567]: https://github.com/LuaLS/lua-language-server/issues/1567
511
+ [#1575]: https://github.com/LuaLS/lua-language-server/issues/1575
512
+ [#1582]: https://github.com/LuaLS/lua-language-server/issues/1582
513
+ [#1593]: https://github.com/LuaLS/lua-language-server/issues/1593
514
+ [#1595]: https://github.com/LuaLS/lua-language-server/issues/1595
515
+ [#1599]: https://github.com/LuaLS/lua-language-server/issues/1599
516
+ [#1606]: https://github.com/LuaLS/lua-language-server/issues/1606
517
+ [#1608]: https://github.com/LuaLS/lua-language-server/issues/1608
518
+ [#1626]: https://github.com/LuaLS/lua-language-server/issues/1626
519
+ [#1637]: https://github.com/LuaLS/lua-language-server/issues/1637
520
+ [#1640]: https://github.com/LuaLS/lua-language-server/issues/1640
521
+ [#1641]: https://github.com/LuaLS/lua-language-server/issues/1641
522
+ [#1642]: https://github.com/LuaLS/lua-language-server/issues/1642
523
+ [#1662]: https://github.com/LuaLS/lua-language-server/issues/1662
524
+ [#1663]: https://github.com/LuaLS/lua-language-server/issues/1663
525
+ [#1670]: https://github.com/LuaLS/lua-language-server/issues/1670
526
+ [#1672]: https://github.com/LuaLS/lua-language-server/issues/1672
527
+
528
+ ## 3.5.6
529
+ `2022-9-16`
530
+ * `FIX` [#1439](https://github.com/LuaLS/lua-language-server/issues/1439)
531
+ * `FIX` [#1467](https://github.com/LuaLS/lua-language-server/issues/1467)
532
+ * `FIX` [#1506](https://github.com/LuaLS/lua-language-server/issues/1506)
533
+ * `FIX` [#1537](https://github.com/LuaLS/lua-language-server/issues/1537)
534
+
535
+ ## 3.5.5
536
+ `2022-9-7`
537
+ * `FIX` [#1529](https://github.com/LuaLS/lua-language-server/issues/1529)
538
+ * `FIX` [#1530](https://github.com/LuaLS/lua-language-server/issues/1530)
539
+
540
+ ## 3.5.4
541
+ `2022-9-6`
542
+ * `NEW` `type-formatting`: fix wrong indentation of VSCode
543
+ * `CHG` `document-symbol`: redesigned to better support for `Sticky Scroll` feature of VSCode
544
+ * `FIX` `diagnostics.workspaceDelay` can not prevent first workspace diagnostic
545
+ * `FIX` [#1476](https://github.com/LuaLS/lua-language-server/issues/1476)
546
+ * `FIX` [#1490](https://github.com/LuaLS/lua-language-server/issues/1490)
547
+ * `FIX` [#1493](https://github.com/LuaLS/lua-language-server/issues/1493)
548
+ * `FIX` [#1499](https://github.com/LuaLS/lua-language-server/issues/1499)
549
+ * `FIX` [#1526](https://github.com/LuaLS/lua-language-server/issues/1526)
550
+
551
+ ## 3.5.3
552
+ `2022-8-13`
553
+ * `FIX` [#1409](https://github.com/LuaLS/lua-language-server/issues/1409)
554
+ * `FIX` [#1422](https://github.com/LuaLS/lua-language-server/issues/1422)
555
+ * `FIX` [#1425](https://github.com/LuaLS/lua-language-server/issues/1425)
556
+ * `FIX` [#1428](https://github.com/LuaLS/lua-language-server/issues/1428)
557
+ * `FIX` [#1430](https://github.com/LuaLS/lua-language-server/issues/1430)
558
+ * `FIX` [#1431](https://github.com/LuaLS/lua-language-server/issues/1431)
559
+ * `FIX` [#1446](https://github.com/LuaLS/lua-language-server/issues/1446)
560
+ * `FIX` [#1451](https://github.com/LuaLS/lua-language-server/issues/1451)
561
+ * `FIX` [#1461](https://github.com/LuaLS/lua-language-server/issues/1461)
562
+ * `FIX` [#1463](https://github.com/LuaLS/lua-language-server/issues/1463)
563
+
564
+ ## 3.5.2
565
+ `2022-8-1`
566
+ * `FIX` [#1395](https://github.com/LuaLS/lua-language-server/issues/1395)
567
+ * `FIX` [#1403](https://github.com/LuaLS/lua-language-server/issues/1403)
568
+ * `FIX` [#1405](https://github.com/LuaLS/lua-language-server/issues/1405)
569
+ * `FIX` [#1406](https://github.com/LuaLS/lua-language-server/issues/1406)
570
+ * `FIX` [#1418](https://github.com/LuaLS/lua-language-server/issues/1418)
571
+
572
+ ## 3.5.1
573
+ `2022-7-26`
574
+ * `NEW` supports [color](https://github.com/LuaLS/lua-language-server/pull/1379)
575
+ * `NEW` setting `Lua.runtime.pluginArgs`
576
+ * `CHG` setting `type.castNumberToInteger` default by `true`
577
+ * `CHG` improve supports for multi-workspace
578
+ * `FIX` [#1354](https://github.com/LuaLS/lua-language-server/issues/1354)
579
+ * `FIX` [#1355](https://github.com/LuaLS/lua-language-server/issues/1355)
580
+ * `FIX` [#1363](https://github.com/LuaLS/lua-language-server/issues/1363)
581
+ * `FIX` [#1365](https://github.com/LuaLS/lua-language-server/issues/1365)
582
+ * `FIX` [#1367](https://github.com/LuaLS/lua-language-server/issues/1367)
583
+ * `FIX` [#1368](https://github.com/LuaLS/lua-language-server/issues/1368)
584
+ * `FIX` [#1370](https://github.com/LuaLS/lua-language-server/issues/1370)
585
+ * `FIX` [#1375](https://github.com/LuaLS/lua-language-server/issues/1375)
586
+ * `FIX` [#1391](https://github.com/LuaLS/lua-language-server/issues/1391)
587
+
588
+ ## 3.5.0
589
+ `2022-7-19`
590
+ * `NEW` `LuaDoc`: `---@operator`:
591
+ ```lua
592
+ ---@class fspath
593
+ ---@operator div(string|fspath): fspath
594
+
595
+ ---@type fspath
596
+ local root
597
+
598
+ local fileName = root / 'script' / 'main.lua' -- `fileName` is `fspath` here
599
+ ```
600
+ * `NEW` `LuaDoc`: `---@source`:
601
+ ```lua
602
+ -- Also supports absolute path or relative path (based on current file path)
603
+ ---@source file:///xxx.c:50:20
604
+ XXX = 1 -- when finding definitions of `XXX`, returns `file:///xxx.c:50:20` instead here.
605
+ ```
606
+ * `NEW` `LuaDoc`: `---@enum`:
607
+ ```lua
608
+ ---@enum animal
609
+ Animal = {
610
+ Cat = 1,
611
+ Dog = 2,
612
+ }
613
+
614
+ ---@param x animal
615
+ local function f(x) end
616
+
617
+ f() -- suggests `Animal.Cat`, `Animal.Dog`, `1`, `2` as the first parameter
618
+ ```
619
+ * `NEW` diagnostics:
620
+ * `unknown-operator`
621
+ * `unreachable-code`
622
+ * `NEW` settings:
623
+ * `diagnostics.unusedLocalExclude`
624
+ * `NEW` VSCode: add support for [EmmyLuaUnity](https://marketplace.visualstudio.com/items?itemName=CppCXY.emmylua-unity)
625
+ * `CHG` support multi-type:
626
+ ```lua
627
+ ---@type number, _, boolean
628
+ local a, b, c -- `a` is `number`, `b` is `unknown`, `c` is `boolean`
629
+ ```
630
+ * `CHG` treat `_ENV = XXX` as `local _ENV = XXX`
631
+ * `_ENV = nil`: disable all globals
632
+ * `_ENV = {}`: allow all globals
633
+ * `_ENV = {} ---@type mathlib`: only allow globals in `mathlib`
634
+ * `CHG` hover: dose not show unknown `---@XXX` as description
635
+ * `CHG` contravariance is allowed at the class declaration
636
+ ```lua
637
+ ---@class BaseClass
638
+ local BaseClass
639
+
640
+ ---@class MyClass: BaseClass
641
+ local MyClass = BaseClass -- OK!
642
+ ```
643
+ * `CHG` hover: supports path in link
644
+ ```lua
645
+ --![](https://github.com/LuaLS/lua-language-server/raw/HEAD/image.png) --> will convert to `--![](file:///xxxx/image.png)`
646
+ local x
647
+ ```
648
+ * `CHG` signature: only show signatures matching the entered parameters
649
+ * `FIX` [#880](https://github.com/LuaLS/lua-language-server/issues/880)
650
+ * `FIX` [#1284](https://github.com/LuaLS/lua-language-server/issues/1284)
651
+ * `FIX` [#1292](https://github.com/LuaLS/lua-language-server/issues/1292)
652
+ * `FIX` [#1294](https://github.com/LuaLS/lua-language-server/issues/1294)
653
+ * `FIX` [#1306](https://github.com/LuaLS/lua-language-server/issues/1306)
654
+ * `FIX` [#1311](https://github.com/LuaLS/lua-language-server/issues/1311)
655
+ * `FIX` [#1317](https://github.com/LuaLS/lua-language-server/issues/1317)
656
+ * `FIX` [#1320](https://github.com/LuaLS/lua-language-server/issues/1320)
657
+ * `FIX` [#1330](https://github.com/LuaLS/lua-language-server/issues/1330)
658
+ * `FIX` [#1345](https://github.com/LuaLS/lua-language-server/issues/1345)
659
+ * `FIX` [#1346](https://github.com/LuaLS/lua-language-server/issues/1346)
660
+ * `FIX` [#1348](https://github.com/LuaLS/lua-language-server/issues/1348)
661
+
662
+ ## 3.4.2
663
+ `2022-7-6`
664
+ * `CHG` diagnostic: `type-check` ignores `nil` in `getfield`
665
+ * `CHG` diagnostic: `---@diagnostic disable: <ERR_NAME>` can suppress syntax errors
666
+ * `CHG` completion: `completion.callSnippet` no longer generate parameter types
667
+ * `CHG` hover: show `---@type {x: number, y: number}` as detail instead of `table`
668
+ * `CHG` dose not infer as `nil` by `t.field = nil`
669
+ * `FIX` [#1278](https://github.com/LuaLS/lua-language-server/issues/1278)
670
+ * `FIX` [#1288](https://github.com/LuaLS/lua-language-server/issues/1288)
671
+
672
+ ## 3.4.1
673
+ `2022-7-5`
674
+ * `NEW` settings:
675
+ * `type.weakNilCheck`
676
+ * `CHG` allow type contravariance for `setmetatable` when initializing a class
677
+ ```lua
678
+ ---@class A
679
+ local a = {}
680
+
681
+ ---@class B: A
682
+ local b = setmetatable({}, { __index = a }) -- OK!
683
+ ```
684
+ * `FIX` [#1256](https://github.com/LuaLS/lua-language-server/issues/1256)
685
+ * `FIX` [#1257](https://github.com/LuaLS/lua-language-server/issues/1257)
686
+ * `FIX` [#1267](https://github.com/LuaLS/lua-language-server/issues/1267)
687
+ * `FIX` [#1269](https://github.com/LuaLS/lua-language-server/issues/1269)
688
+ * `FIX` [#1273](https://github.com/LuaLS/lua-language-server/issues/1273)
689
+ * `FIX` [#1275](https://github.com/LuaLS/lua-language-server/issues/1275)
690
+ * `FIX` [#1279](https://github.com/LuaLS/lua-language-server/issues/1279)
691
+
692
+ ## 3.4.0
693
+ `2022-6-29`
694
+ * `NEW` diagnostics:
695
+ * `cast-local-type`
696
+ * `assign-type-mismatch`
697
+ * `param-type-mismatch`
698
+ * `unknown-cast-variable`
699
+ * `cast-type-mismatch`
700
+ * `missing-return-value`
701
+ * `redundant-return-value`
702
+ * `missing-return`
703
+ * `return-type-mismatch`
704
+ * `NEW` settings:
705
+ * `diagnostics.groupSeverity`
706
+ * `diagnostics.groupFileStatus`
707
+ * `type.castNumberToInteger`
708
+ * `type.weakUnionCheck`
709
+ * `hint.semicolon`
710
+ * `CHG` infer `nil` as redundant return value
711
+ ```lua
712
+ local function f() end
713
+ local x = f() -- `x` is `nil` instead of `unknown`
714
+ ```
715
+ * `CHG` infer called function by params num
716
+ ```lua
717
+ ---@overload fun(x: number, y: number):string
718
+ ---@overload fun(x: number):number
719
+ ---@return boolean
720
+ local function f() end
721
+
722
+ local n1 = f() -- `n1` is `boolean`
723
+ local n2 = f(0) -- `n2` is `number`
724
+ local n3 = f(0, 0) -- `n3` is `string`
725
+ ```
726
+ * `CHG` semicolons and parentheses can be used in `DocTable`
727
+ ```lua
728
+ ---@type { (x: number); (y: boolean) }
729
+ ```
730
+ * `CHG` return names and parentheses can be used in `DocFunction`
731
+ ```lua
732
+ ---@type fun():(x: number, y: number, ...: number)
733
+ ```
734
+ * `CHG` supports `---@return boolean ...`
735
+ * `CHG` improve experience for diagnostics and semantic-tokens
736
+ * `FIX` diagnostics flash when opening a file
737
+ * `FIX` sometimes workspace diagnostics are not triggered
738
+ * `FIX` [#1228](https://github.com/LuaLS/lua-language-server/issues/1228)
739
+ * `FIX` [#1229](https://github.com/LuaLS/lua-language-server/issues/1229)
740
+ * `FIX` [#1242](https://github.com/LuaLS/lua-language-server/issues/1242)
741
+ * `FIX` [#1243](https://github.com/LuaLS/lua-language-server/issues/1243)
742
+ * `FIX` [#1249](https://github.com/LuaLS/lua-language-server/issues/1249)
743
+
744
+ ## 3.3.1
745
+ `2022-6-17`
746
+ * `FIX` [#1213](https://github.com/LuaLS/lua-language-server/issues/1213)
747
+ * `FIX` [#1215](https://github.com/LuaLS/lua-language-server/issues/1215)
748
+ * `FIX` [#1217](https://github.com/LuaLS/lua-language-server/issues/1217)
749
+ * `FIX` [#1218](https://github.com/LuaLS/lua-language-server/issues/1218)
750
+ * `FIX` [#1220](https://github.com/LuaLS/lua-language-server/issues/1220)
751
+ * `FIX` [#1223](https://github.com/LuaLS/lua-language-server/issues/1223)
752
+
753
+ ## 3.3.0
754
+ `2022-6-15`
755
+ * `NEW` `LuaDoc` supports `` `CODE` ``
756
+ ```lua
757
+ ---@type `CONST.X` | `CONST.Y`
758
+ local x
759
+
760
+ if x == -- suggest `CONST.X` and `CONST.Y` here
761
+ ```
762
+ * `CHG` infer type by `error`
763
+ ```lua
764
+ ---@type integer|nil
765
+ local n
766
+
767
+ if not n then
768
+ error('n is nil')
769
+ end
770
+
771
+ print(n) -- `n` is `integer` here
772
+ ```
773
+ * `CHG` infer type by `t and t.x`
774
+ ```lua
775
+ ---@type table|nil
776
+ local t
777
+
778
+ local s = t and t.x or 1 -- `t` in `t.x` is `table`
779
+ ```
780
+ * `CHG` infer type by `type(x)`
781
+ ```lua
782
+ local x
783
+
784
+ if type(x) == 'string' then
785
+ print(x) -- `x` is `string` here
786
+ end
787
+
788
+ local tp = type(x)
789
+
790
+ if tp == 'boolean' then
791
+ print(x) -- `x` is `boolean` here
792
+ end
793
+ ```
794
+ * `CHG` infer type by `>`/`<`/`>=`/`<=`
795
+ * `FIX` with clients that support LSP 3.17 (VSCode), workspace diagnostics are triggered every time when opening a file.
796
+ * `FIX` [#1204](https://github.com/LuaLS/lua-language-server/issues/1204)
797
+ * `FIX` [#1208](https://github.com/LuaLS/lua-language-server/issues/1208)
798
+
799
+ ## 3.2.5
800
+ `2022-6-9`
801
+ * `NEW` provide config docs in `LUA_LANGUAGE_SERVER/doc/`
802
+ * `FIX` [#1148](https://github.com/LuaLS/lua-language-server/issues/1148)
803
+ * `FIX` [#1149](https://github.com/LuaLS/lua-language-server/issues/1149)
804
+ * `FIX` [#1192](https://github.com/LuaLS/lua-language-server/issues/1192)
805
+
806
+ ## 3.2.4
807
+ `2022-5-25`
808
+ * `NEW` settings:
809
+ + `workspace.supportScheme`: `["file", "untitled", "git"]`
810
+ + `diagnostics.disableScheme`: `["git"]`
811
+ * `NEW` folding: support folding `---@alias`
812
+ * `CHG` if `rootUri` or `workspaceFolder` is set to `ROOT` or `HOME`, this extension will refuse to load these directories and show an error message.
813
+ * `CHG` show warning message when scanning more than 100,000 files.
814
+ * `CHG` upgrade [LSP](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/) to `3.17`
815
+ * `FIX` hover: can not union `table` with other basic types
816
+ * `FIX` [#1125](https://github.com/LuaLS/lua-language-server/issues/1125)
817
+ * `FIX` [#1131](https://github.com/LuaLS/lua-language-server/issues/1131)
818
+ * `FIX` [#1134](https://github.com/LuaLS/lua-language-server/issues/1134)
819
+ * `FIX` [#1141](https://github.com/LuaLS/lua-language-server/issues/1141)
820
+ * `FIX` [#1144](https://github.com/LuaLS/lua-language-server/issues/1144)
821
+ * `FIX` [#1150](https://github.com/LuaLS/lua-language-server/issues/1150)
822
+ * `FIX` [#1155](https://github.com/LuaLS/lua-language-server/issues/1155)
823
+
824
+ ## 3.2.3
825
+ `2022-5-16`
826
+ * `CHG` parse `.luarc.json` as jsonc. In order to please the editor, it also supports `.luarc.jsonc` as the file name.
827
+ * `CHG` dose not load files in symbol links
828
+ * `FIX` memory leak with symbol links
829
+ * `FIX` diagnostic: send empty results to every file after startup
830
+ * `FIX` [#1103](https://github.com/LuaLS/lua-language-server/issues/1103)
831
+ * `FIX` [#1107](https://github.com/LuaLS/lua-language-server/issues/1107)
832
+
833
+ ## 3.2.2
834
+ `2022-4-26`
835
+ * `FIX` diagnostic: `unused-function` cannot handle recursion correctly
836
+ * `FIX` [#1092](https://github.com/LuaLS/lua-language-server/issues/1092)
837
+ * `FIX` [#1093](https://github.com/LuaLS/lua-language-server/issues/1093)
838
+ * `FIX` runtime errors reported by telemetry, see [#1091](https://github.com/LuaLS/lua-language-server/issues/1091)
839
+
840
+ ## 3.2.1
841
+ `2022-4-25`
842
+ * `FIX` broken in VSCode
843
+
844
+ ## 3.2.0
845
+ `2022-4-25`
846
+ * `NEW` supports infer of callback parameter
847
+ ```lua
848
+ ---@type string[]
849
+ local t
850
+
851
+ table.sort(t, function (a, b)
852
+ -- `a` and `b` is `string` here
853
+ end)
854
+ ```
855
+ * `NEW` using `---@overload` as class constructor
856
+ ```lua
857
+ ---@class Class
858
+ ---@overload fun():Class
859
+ local mt
860
+
861
+ local x = mt() --> x is `Class` here
862
+ ```
863
+ * `NEW` add `--[[@as type]]`
864
+ ```lua
865
+ local x = true
866
+ local y = x--[[@as integer]] -- y is `integer` here
867
+ ```
868
+ * `NEW` add `---@cast`
869
+ * `---@cast localname type`
870
+ * `---@cast localname +type`
871
+ * `---@cast localname -type`
872
+ * `---@cast localname +?`
873
+ * `---@cast localname -?`
874
+ * `NEW` generic: resolve `T[]` by `table<integer, type>` or `---@field [integer] type`
875
+ * `NEW` resolve `class[1]` by `---@field [integer] type`
876
+ * `NEW` diagnostic: `missing-parameter`
877
+ * `NEW` diagnostic: `need-check-nil`
878
+ * `CHG` diagnostic: no longer mark `redundant-parameter` as `Unnecessary`
879
+ * `FIX` diagnostic: `unused-function` does not recognize recursion
880
+ * `FIX` [#1051](https://github.com/LuaLS/lua-language-server/issues/1051)
881
+ * `FIX` [#1072](https://github.com/LuaLS/lua-language-server/issues/1072)
882
+ * `FIX` [#1077](https://github.com/LuaLS/lua-language-server/issues/1077)
883
+ * `FIX` [#1088](https://github.com/LuaLS/lua-language-server/issues/1088)
884
+ * `FIX` runtime errors
885
+
886
+ ## 3.1.0
887
+ `2022-4-17`
888
+ * `NEW` support find definition in method
889
+ * `CHG` hint: move to LSP. Its font is now controlled by the client.
890
+ * `CHG` hover: split `local` into `local` / `parameter` / `upvalue` / `self`.
891
+ * `CHG` hover: added parentheses to some words, such as `global` / `field` / `class`.
892
+ * `FIX` definition of `table<k, v>`
893
+ * `FIX` [#994](https://github.com/LuaLS/lua-language-server/issues/994)
894
+ * `FIX` [#1057](https://github.com/LuaLS/lua-language-server/issues/1057)
895
+ * `FIX` runtime errors reported by telemetry, see [#1058](https://github.com/LuaLS/lua-language-server/issues/1058)
896
+
897
+ ## 3.0.2
898
+ `2022-4-15`
899
+ * `FIX` `table<string, boolean>[string] -> boolean`
900
+ * `FIX` goto `type definition`
901
+ * `FIX` [#1050](https://github.com/LuaLS/lua-language-server/issues/1050)
902
+
903
+ ## 3.0.1
904
+ `2022-4-11`
905
+ * `FIX` [#1033](https://github.com/LuaLS/lua-language-server/issues/1033)
906
+ * `FIX` [#1034](https://github.com/LuaLS/lua-language-server/issues/1034)
907
+ * `FIX` [#1035](https://github.com/LuaLS/lua-language-server/issues/1035)
908
+ * `FIX` [#1036](https://github.com/LuaLS/lua-language-server/issues/1036)
909
+ * `FIX` runtime errors reported by telemetry, see [#1037](https://github.com/LuaLS/lua-language-server/issues/1037)
910
+
911
+ ## 3.0.0
912
+ `2022-4-10`
913
+ * `CHG` [break changes](https://github.com/LuaLS/lua-language-server/issues/980)
914
+ * `CHG` diagnostic:
915
+ + `type-check`: removed for now
916
+ + `no-implicit-any`: renamed to `no-unknown`
917
+ * `CHG` formatter: no longer need` --preview`
918
+ * `CHG` `LuaDoc`: supports `---@type (string|integer)[]`
919
+ * `FIX` semantic: color of `function`
920
+ * `FIX` [#1027](https://github.com/LuaLS/lua-language-server/issues/1027)
921
+ * `FIX` [#1028](https://github.com/LuaLS/lua-language-server/issues/1028)
922
+
923
+ ## 2.6.8
924
+ `2022-4-9`
925
+ * `CHG` completion: call snippet shown as `Function` instead of `Snippet` when `Lua.completion.callSnippet` is `Replace`
926
+ * `FIX` [#976](https://github.com/LuaLS/lua-language-server/issues/976)
927
+ * `FIX` [#995](https://github.com/LuaLS/lua-language-server/issues/995)
928
+ * `FIX` [#1004](https://github.com/LuaLS/lua-language-server/issues/1004)
929
+ * `FIX` [#1008](https://github.com/LuaLS/lua-language-server/issues/1008)
930
+ * `FIX` [#1009](https://github.com/LuaLS/lua-language-server/issues/1009)
931
+ * `FIX` [#1011](https://github.com/LuaLS/lua-language-server/issues/1011)
932
+ * `FIX` [#1014](https://github.com/LuaLS/lua-language-server/issues/1014)
933
+ * `FIX` [#1016](https://github.com/LuaLS/lua-language-server/issues/1016)
934
+ * `FIX` [#1017](https://github.com/LuaLS/lua-language-server/issues/1017)
935
+ * `FIX` runtime errors reported by telemetry
936
+
937
+ ## 2.6.7
938
+ `2022-3-9`
939
+ * `NEW` diagnosis report, [read more](https://luals.github.io/wiki/diagnosis-report/)
940
+ * `CHG` `VSCode`: 1.65 has built in new `Lua` syntax files, so this extension no longer provides syntax files, which means you can install other syntax extensions in the marketplace. If you have any suggestions or issues, please [open issues here](https://github.com/LuaLS/lua.tmbundle).
941
+ * `CHG` telemetry: the prompt will only appear in VSCode to avoid repeated prompts in other platforms due to the inability to automatically modify the settings.
942
+ * `FIX` [#965](https://github.com/LuaLS/lua-language-server/issues/965)
943
+ * `FIX` [#975](https://github.com/LuaLS/lua-language-server/issues/975)
944
+
945
+ ## 2.6.6
946
+ `2022-2-21`
947
+ * `NEW` formatter preview, use `--preview` to enable this feature, [read more](https://github.com/LuaLS/lua-language-server/issues/960)
948
+ * `FIX` [#958](https://github.com/LuaLS/lua-language-server/issues/958)
949
+ * `FIX` runtime errors
950
+
951
+ ## 2.6.5
952
+ `2022-2-17`
953
+ * `FIX` telemetry is not disabled by default (since 2.6.0)
954
+ * `FIX` [#934](https://github.com/LuaLS/lua-language-server/issues/934)
955
+ * `FIX` [#952](https://github.com/LuaLS/lua-language-server/issues/952)
956
+
957
+ ## 2.6.4
958
+ `2022-2-9`
959
+ * `CHG` completion: reduced sorting priority for postfix completion
960
+ * `FIX` [#936](https://github.com/LuaLS/lua-language-server/issues/936)
961
+ * `FIX` [#937](https://github.com/LuaLS/lua-language-server/issues/937)
962
+ * `FIX` [#940](https://github.com/LuaLS/lua-language-server/issues/940)
963
+ * `FIX` [#941](https://github.com/LuaLS/lua-language-server/issues/941)
964
+ * `FIX` [#941](https://github.com/LuaLS/lua-language-server/issues/942)
965
+ * `FIX` [#943](https://github.com/LuaLS/lua-language-server/issues/943)
966
+ * `FIX` [#946](https://github.com/LuaLS/lua-language-server/issues/946)
967
+
968
+ ## 2.6.3
969
+ `2022-1-25`
970
+ * `FIX` new files are not loaded correctly
971
+ * `FIX` [#923](https://github.com/LuaLS/lua-language-server/issues/923)
972
+ * `FIX` [#926](https://github.com/LuaLS/lua-language-server/issues/926)
973
+
974
+ ## 2.6.2
975
+ `2022-1-25`
976
+ * `FIX` [#925](https://github.com/LuaLS/lua-language-server/issues/925)
977
+
978
+ ## 2.6.1
979
+ `2022-1-24`
980
+ * `CHG` default values of settings:
981
+ + `Lua.diagnostics.workspaceDelay`: `0` sec -> `3` sec
982
+ + `Lua.workspace.maxPreload`: `1000` -> `5000`
983
+ + `Lua.workspace.preloadFileSize`: `100` KB -> `500` KB
984
+ * `CHG` improve performance
985
+ * `FIX` modify luarc failed
986
+ * `FIX` library files not recognized correctly
987
+ * `FIX` [#903](https://github.com/LuaLS/lua-language-server/issues/903)
988
+ * `FIX` [#906](https://github.com/LuaLS/lua-language-server/issues/906)
989
+ * `FIX` [#920](https://github.com/LuaLS/lua-language-server/issues/920)
990
+
991
+ ## 2.6.0
992
+ `2022-1-13`
993
+ * `NEW` supports multi-workspace in server side, for developers of language clients, please [read here](https://luals.github.io/wiki/developing/#multiple-workspace-support) to learn more.
994
+ * `NEW` setting:
995
+ + `Lua.hint.arrayIndex`
996
+ + `Lua.semantic.enable`
997
+ + `Lua.semantic.variable`
998
+ + `Lua.semantic.annotation`
999
+ + `Lua.semantic.keyword`
1000
+ * `CHG` completion: improve response speed
1001
+ * `CHG` completion: can be triggered in `LuaDoc` and strings
1002
+ * `CHG` diagnostic: smoother
1003
+ * `CHG` settings `Lua.color.mode` removed
1004
+ * `FIX` [#876](https://github.com/LuaLS/lua-language-server/issues/876)
1005
+ * `FIX` [#879](https://github.com/LuaLS/lua-language-server/issues/879)
1006
+ * `FIX` [#884](https://github.com/LuaLS/lua-language-server/issues/884)
1007
+ * `FIX` [#885](https://github.com/LuaLS/lua-language-server/issues/885)
1008
+ * `FIX` [#886](https://github.com/LuaLS/lua-language-server/issues/886)
1009
+ * `FIX` [#902](https://github.com/LuaLS/lua-language-server/issues/902)
1010
+
1011
+ ## 2.5.6
1012
+ `2021-12-27`
1013
+ * `CHG` diagnostic: now syntax errors in `LuaDoc` are shown as `Warning`
1014
+ * `FIX` [#863](https://github.com/LuaLS/lua-language-server/issues/863)
1015
+ * `FIX` return type of `math.floor`
1016
+ * `FIX` runtime errors
1017
+
1018
+ ## 2.5.5
1019
+ `2021-12-16`
1020
+ * `FIX` dose not work in VSCode
1021
+
1022
+ ## 2.5.4
1023
+ `2021-12-16`
1024
+ * `FIX` [#847](https://github.com/LuaLS/lua-language-server/issues/847)
1025
+ * `FIX` [#848](https://github.com/LuaLS/lua-language-server/issues/848)
1026
+ * `FIX` completion: incorrect cache
1027
+ * `FIX` hover: always view string
1028
+
1029
+ ## 2.5.3
1030
+ `2021-12-6`
1031
+ * `FIX` [#842](https://github.com/LuaLS/lua-language-server/issues/844)
1032
+ * `FIX` [#844](https://github.com/LuaLS/lua-language-server/issues/844)
1033
+
1034
+ ## 2.5.2
1035
+ `2021-12-2`
1036
+ * `FIX` [#815](https://github.com/LuaLS/lua-language-server/issues/815)
1037
+ * `FIX` [#825](https://github.com/LuaLS/lua-language-server/issues/825)
1038
+ * `FIX` [#826](https://github.com/LuaLS/lua-language-server/issues/826)
1039
+ * `FIX` [#827](https://github.com/LuaLS/lua-language-server/issues/827)
1040
+ * `FIX` [#831](https://github.com/LuaLS/lua-language-server/issues/831)
1041
+ * `FIX` [#837](https://github.com/LuaLS/lua-language-server/issues/837)
1042
+ * `FIX` [#838](https://github.com/LuaLS/lua-language-server/issues/838)
1043
+ * `FIX` postfix
1044
+ * `FIX` runtime errors
1045
+
1046
+ ## 2.5.1
1047
+ `2021-11-29`
1048
+ * `FIX` incorrect syntax error
1049
+
1050
+ ## 2.5.0
1051
+ `2021-11-29`
1052
+ * `NEW` settings:
1053
+ + `Lua.runtime.pathStrict`: not check subdirectories when using `runtime.path`
1054
+ + `Lua.hint.await`: display `await` when calling a function marked as async
1055
+ + `Lua.completion.postfix`: the symbol that triggers postfix, default is `@`
1056
+ * `NEW` add supports for `lovr`
1057
+ * `NEW` file encoding supports `utf16le` and `utf16be`
1058
+ * `NEW` full IntelliSense supports for literal tables, see [#720](https://github.com/LuaLS/lua-language-server/issues/720) and [#727](https://github.com/LuaLS/lua-language-server/issues/727)
1059
+ * `NEW` `LuaDoc` annotations:
1060
+ + `---@async`: mark a function as async
1061
+ + `---@nodiscard`: the return value of the marking function cannot be discarded
1062
+ * `NEW` diagnostics:
1063
+ + `await-in-sync`: check whether calls async function in sync function. disabled by default.
1064
+ + `not-yieldable`: check whether the function supports async functions as parameters. disabled by default.
1065
+ + `discard-returns`: check whether the return value is discarded.
1066
+ * `NEW` locale `pt-br`, thanks [Jeferson Ferreira](https://github.com/jefersonf)
1067
+ * `NEW` supports [utf-8-offsets](https://clangd.llvm.org/extensions#utf-8-offsets)
1068
+ * `NEW` supports quickfix for `.luarc.json`
1069
+ * `NEW` completion postifx: `@function`, `@method`, `@pcall`, `@xpcall`, `@insert`, `@remove`, `@concat`, `++`, `++?`
1070
+ * `CHG` `LuaDoc`:
1071
+ + `---@class` can be re-declared
1072
+ + supports unicode
1073
+ + supports `---@param ... number`, equivalent to `---@vararg number`
1074
+ + supports `fun(...: string)`
1075
+ + supports `fun(x, y, ...)`, equivalent to `fun(x: any, y: any, ...: any)`
1076
+ * `CHG` settings from `--configpath`, `.luarc.json`, `client` no longer prevent subsequent settings, instead they are merged in order
1077
+ * `CHG` no longer asks to trust plugin in VSCode, because VSCode already provides the workspace trust feature
1078
+ * `CHG` skip huge files (>= 10 MB)
1079
+ * `CHG` after using `Lua.runtime.nonstandardSymbol` to treat `//` as a comment, `//` is no longer parsed as an operator
1080
+
1081
+ ## 2.4.11
1082
+ `2021-11-25`
1083
+ * `FIX` [#816](https://github.com/LuaLS/lua-language-server/issues/816)
1084
+ * `FIX` [#817](https://github.com/LuaLS/lua-language-server/issues/817)
1085
+ * `FIX` [#818](https://github.com/LuaLS/lua-language-server/issues/818)
1086
+ * `FIX` [#820](https://github.com/LuaLS/lua-language-server/issues/820)
1087
+
1088
+ ## 2.4.10
1089
+ `2021-11-23`
1090
+ * `FIX` [#790](https://github.com/LuaLS/lua-language-server/issues/790)
1091
+ * `FIX` [#798](https://github.com/LuaLS/lua-language-server/issues/798)
1092
+ * `FIX` [#804](https://github.com/LuaLS/lua-language-server/issues/804)
1093
+ * `FIX` [#805](https://github.com/LuaLS/lua-language-server/issues/805)
1094
+ * `FIX` [#806](https://github.com/LuaLS/lua-language-server/issues/806)
1095
+ * `FIX` [#807](https://github.com/LuaLS/lua-language-server/issues/807)
1096
+ * `FIX` [#809](https://github.com/LuaLS/lua-language-server/issues/809)
1097
+
1098
+ ## 2.4.9
1099
+ `2021-11-18`
1100
+ * `CHG` for performance reasons, some of the features that are not cost-effective in IntelliSense have been disabled by default, and you can re-enable them through the following settings:
1101
+ + `Lua.IntelliSense.traceLocalSet`
1102
+ + `Lua.IntelliSense.traceReturn`
1103
+ + `Lua.IntelliSense.traceBeSetted`
1104
+ + `Lua.IntelliSense.traceFieldInject`
1105
+
1106
+ [read more](https://github.com/LuaLS/lua-language-server/wiki/IntelliSense-optional-features)
1107
+
1108
+ ## 2.4.8
1109
+ `2021-11-15`
1110
+ * `FIX` incorrect IntelliSense in specific situations
1111
+ * `FIX` [#777](https://github.com/LuaLS/lua-language-server/issues/777)
1112
+ * `FIX` [#778](https://github.com/LuaLS/lua-language-server/issues/778)
1113
+ * `FIX` [#779](https://github.com/LuaLS/lua-language-server/issues/779)
1114
+ * `FIX` [#780](https://github.com/LuaLS/lua-language-server/issues/780)
1115
+
1116
+ ## 2.4.7
1117
+ `2021-10-27`
1118
+ * `FIX` [#762](https://github.com/LuaLS/lua-language-server/issues/762)
1119
+
1120
+ ## 2.4.6
1121
+ `2021-10-26`
1122
+ * `NEW` diagnostic: `redundant-return`
1123
+ * `FIX` [#744](https://github.com/LuaLS/lua-language-server/issues/744)
1124
+ * `FIX` [#748](https://github.com/LuaLS/lua-language-server/issues/748)
1125
+ * `FIX` [#749](https://github.com/LuaLS/lua-language-server/issues/749)
1126
+ * `FIX` [#752](https://github.com/LuaLS/lua-language-server/issues/752)
1127
+ * `FIX` [#753](https://github.com/LuaLS/lua-language-server/issues/753)
1128
+ * `FIX` [#756](https://github.com/LuaLS/lua-language-server/issues/756)
1129
+ * `FIX` [#758](https://github.com/LuaLS/lua-language-server/issues/758)
1130
+ * `FIX` [#760](https://github.com/LuaLS/lua-language-server/issues/760)
1131
+
1132
+ ## 2.4.5
1133
+ `2021-10-18`
1134
+ * `FIX` accidentally load lua files from user workspace
1135
+
1136
+ ## 2.4.4
1137
+ `2021-10-15`
1138
+ * `CHG` improve `.luarc.json`
1139
+ * `FIX` [#722](https://github.com/LuaLS/lua-language-server/issues/722)
1140
+
1141
+ ## 2.4.3
1142
+ `2021-10-13`
1143
+ * `FIX` [#713](https://github.com/LuaLS/lua-language-server/issues/713)
1144
+ * `FIX` [#718](https://github.com/LuaLS/lua-language-server/issues/718)
1145
+ * `FIX` [#719](https://github.com/LuaLS/lua-language-server/issues/719)
1146
+ * `FIX` [#725](https://github.com/LuaLS/lua-language-server/issues/725)
1147
+ * `FIX` [#729](https://github.com/LuaLS/lua-language-server/issues/729)
1148
+ * `FIX` [#730](https://github.com/LuaLS/lua-language-server/issues/730)
1149
+ * `FIX` runtime errors
1150
+
1151
+ ## 2.4.2
1152
+ `2021-10-8`
1153
+ * `FIX` [#702](https://github.com/LuaLS/lua-language-server/issues/702)
1154
+ * `FIX` [#706](https://github.com/LuaLS/lua-language-server/issues/706)
1155
+ * `FIX` [#707](https://github.com/LuaLS/lua-language-server/issues/707)
1156
+ * `FIX` [#709](https://github.com/LuaLS/lua-language-server/issues/709)
1157
+ * `FIX` [#712](https://github.com/LuaLS/lua-language-server/issues/712)
1158
+
1159
+ ## 2.4.1
1160
+ `2021-10-2`
1161
+ * `FIX` broken with single file
1162
+ * `FIX` [#698](https://github.com/LuaLS/lua-language-server/issues/698)
1163
+ * `FIX` [#699](https://github.com/LuaLS/lua-language-server/issues/699)
1164
+
1165
+ ## 2.4.0
1166
+ `2021-10-1`
1167
+ * `NEW` loading settings from `.luarc.json`
1168
+ * `NEW` settings:
1169
+ + `Lua.diagnostics.libraryFiles`
1170
+ + `Lua.diagnostics.ignoredFiles`
1171
+ + `Lua.completion.showWord`
1172
+ + `Lua.completion.requireSeparator`
1173
+ * `NEW` diagnostics:
1174
+ + `different-requires`
1175
+ * `NEW` `---@CustomClass<string, number>`
1176
+ * `NEW` supports `$/cancelRequest`
1177
+ * `NEW` `EventEmitter`
1178
+ ```lua
1179
+ --- @class Emit
1180
+ --- @field on fun(eventName: string, cb: function)
1181
+ --- @field on fun(eventName: '"died"', cb: fun(i: integer))
1182
+ --- @field on fun(eventName: '"won"', cb: fun(s: string))
1183
+ local emit = {}
1184
+
1185
+ emit:on(--[[support autocomplete fr "died" and "won"]])
1186
+
1187
+ emit:on("died", function (i)
1188
+ -- should be i: integer
1189
+ end)
1190
+
1191
+ emit:on('won', function (s)
1192
+ -- should be s: string
1193
+ end)
1194
+ ```
1195
+ * `NEW` `---@module 'moduleName'`
1196
+ ```lua
1197
+ ---@module 'mylib'
1198
+ local lib -- the same as `local lib = require 'mylib'`
1199
+ ```
1200
+ * `NEW` add supports of `skynet`
1201
+ * `CHG` hover: improve showing multi defines
1202
+ * `CHG` hover: improve showing multi comments at enums
1203
+ * `CHG` hover: shows method
1204
+ * `CHG` hint: `Lua.hint.paramName` now supports `Disable`, `Literal` and `All`
1205
+ * `CHG` only search first file by `require`
1206
+ * `CHG` no longer infer by usage
1207
+ * `CHG` no longer ignore file names case in Windows
1208
+ * `CHG` watching library changes
1209
+ * `CHG` completion: improve misspelling results
1210
+ * `CHG` completion: `Lua.completion.displayContext` default to `0`
1211
+ * `CHG` completion: `autoRequire` has better inserting position
1212
+ * `CHG` diagnostics:
1213
+ + `redundant-parameter` default severity to `Warning`
1214
+ + `redundant-value` default severity to `Warning`
1215
+ * `CHG` infer: more strict of calculation results
1216
+ * `CHG` [#663](https://github.com/LuaLS/lua-language-server/issues/663)
1217
+ * `FIX` runtime errors
1218
+ * `FIX` hint: may show param-2 as `self`
1219
+ * `FIX` semantic: may fail when scrolling
1220
+ * `FIX` [#647](https://github.com/LuaLS/lua-language-server/issues/647)
1221
+ * `FIX` [#660](https://github.com/LuaLS/lua-language-server/issues/660)
1222
+ * `FIX` [#673](https://github.com/LuaLS/lua-language-server/issues/673)
1223
+
1224
+ ## 2.3.7
1225
+ `2021-8-17`
1226
+ * `CHG` improve performance
1227
+ * `FIX` [#244](https://github.com/LuaLS/lua-language-server/issues/244)
1228
+
1229
+ ## 2.3.6
1230
+ `2021-8-9`
1231
+ * `FIX` completion: can not find global fields
1232
+ * `FIX` globals and class may lost
1233
+
1234
+ ## 2.3.5
1235
+ `2021-8-9`
1236
+ * `CHG` improve memory usage
1237
+ * `CHG` completion: call snip triggers signature (VSCode only)
1238
+ * `FIX` completion: may not find results
1239
+
1240
+ ## 2.3.4
1241
+ `2021-8-6`
1242
+ * `CHG` improve performance
1243
+ * `FIX` [#625](https://github.com/LuaLS/lua-language-server/issues/625)
1244
+
1245
+ ## 2.3.3
1246
+ `2021-7-26`
1247
+ * `NEW` config supports prop
1248
+ * `FIX` [#612](https://github.com/LuaLS/lua-language-server/issues/612)
1249
+ * `FIX` [#613](https://github.com/LuaLS/lua-language-server/issues/613)
1250
+ * `FIX` [#618](https://github.com/LuaLS/lua-language-server/issues/618)
1251
+ * `FIX` [#620](https://github.com/LuaLS/lua-language-server/issues/620)
1252
+
1253
+ ## 2.3.2
1254
+ `2021-7-21`
1255
+ * `NEW` `LuaDoc`: supports `['string']` as field:
1256
+ ```lua
1257
+ ---@class keyboard
1258
+ ---@field ['!'] number
1259
+ ---@field ['?'] number
1260
+ ---@field ['#'] number
1261
+ ```
1262
+ * `NEW` add supports of `love2d`
1263
+ * `FIX` gitignore pattern `\` broken initialization
1264
+ * `FIX` runtime errors
1265
+
1266
+ ## 2.3.1
1267
+ `2021-7-19`
1268
+ * `NEW` setting `Lua.workspace.userThirdParty`, add private user [third-parth](https://github.com/LuaLS/lua-language-server/tree/master/meta/3rd) by this setting
1269
+ * `CHG` path in config supports `~/xxxx`
1270
+ * `FIX` `autoRequire` inserted incorrect code
1271
+ * `FIX` `autoRequire` may provide dumplicated options
1272
+ * `FIX` [#606](https://github.com/LuaLS/lua-language-server/issues/606)
1273
+ * `FIX` [#607](https://github.com/LuaLS/lua-language-server/issues/607)
1274
+
1275
+ ## 2.3.0
1276
+ `2021-7-16`
1277
+ * `NEW` `VSCode`: click the status bar icon to operate:
1278
+ * run workspace diagnostics
1279
+ * `NEW` `LuaDoc`: supports `[1]` as field:
1280
+ ```lua
1281
+ ---@class position
1282
+ ---@field [1] number
1283
+ ---@field [2] number
1284
+ ---@field [3] number
1285
+ ```
1286
+ * `NEW` hover: view array `local array = {'a', 'b', 'c'}`:
1287
+ ```lua
1288
+ local array: {
1289
+ [1]: string = "a",
1290
+ [2]: string = "b",
1291
+ [3]: string = "c",
1292
+ }
1293
+ ```
1294
+ * `NEW` completion: supports enums in `fun()`
1295
+ ```lua
1296
+ ---@type fun(x: "'aaa'"|"'bbb'")
1297
+ local f
1298
+
1299
+ f(--[[show `'aaa'` and `'bbb'` here]])
1300
+ ```
1301
+ * `FIX` loading workspace may hang
1302
+ * `FIX` `debug.getuservalue` and `debug.setuservalue` should not exist in `Lua 5.1`
1303
+ * `FIX` infer of `---@type class[][]`
1304
+ * `FIX` infer of `---@type {}[]`
1305
+ * `FIX` completion: displaying `@fenv` in `Lua 5.1`
1306
+ * `FIX` completion: incorrect at end of line
1307
+ * `FIX` when a file is renamed, the file will still be loaded even if the new file name has been set to ignore
1308
+ * `FIX` [#596](https://github.com/LuaLS/lua-language-server/issues/596)
1309
+ * `FIX` [#597](https://github.com/LuaLS/lua-language-server/issues/597)
1310
+ * `FIX` [#598](https://github.com/LuaLS/lua-language-server/issues/598)
1311
+ * `FIX` [#601](https://github.com/LuaLS/lua-language-server/issues/601)
1312
+
1313
+ ## 2.2.3
1314
+ `2021-7-9`
1315
+ * `CHG` improve `auto require`
1316
+ * `CHG` will not sleep anymore
1317
+ * `FIX` incorrect doc: `debug.getlocal`
1318
+ * `FIX` completion: incorrect callback
1319
+ * `FIX` [#592](https://github.com/LuaLS/lua-language-server/issues/592)
1320
+
1321
+ ## 2.2.2
1322
+ `2021-7-9`
1323
+ * `FIX` incorrect syntax color
1324
+ * `FIX` incorrect type infer
1325
+
1326
+ ## 2.2.1
1327
+ `2021-7-8`
1328
+ * `FIX` change setting may failed
1329
+
1330
+ ## 2.2.0
1331
+ `2021-7-8`
1332
+ * `NEW` detect and apply third-party libraries, including:
1333
+ * OpenResty
1334
+ * Cocos4.0
1335
+ * Jass
1336
+ * `NEW` `LuaDoc`: supports literal table:
1337
+ ```lua
1338
+ ---@generic T
1339
+ ---@param x T
1340
+ ---@return { x: number, y: T, z?: boolean}
1341
+ local function f(x) end
1342
+
1343
+ local t = f('str')
1344
+ -- hovering "t" shows:
1345
+ local t: {
1346
+ x: number,
1347
+ y: string,
1348
+ z?: boolean,
1349
+ }
1350
+ ```
1351
+ * `CHG` improve changing config from server side
1352
+ * `CHG` improve hover color
1353
+ * `CHG` improve performance
1354
+ * `CHG` telemetry: sends version of this extension
1355
+ * `FIX` supports for file with LF
1356
+ * `FIX` may infer a custom class as a string
1357
+
1358
+ ## 2.1.0
1359
+ `2021-7-2`
1360
+ * `NEW` supports local config file, using `--configpath="config.json"`, [learn more here](https://luals.github.io/wiki/usage/#--configpath)
1361
+ * `NEW` goto `type definition`
1362
+ * `NEW` infer type by callback param:
1363
+ ```lua
1364
+ ---@param callback fun(value: string)
1365
+ local function work(callback)
1366
+ end
1367
+
1368
+ work(function (value)
1369
+ -- value is string here
1370
+ end)
1371
+ ```
1372
+ * `NEW` optional field `---@field name? type`
1373
+ * `CHG` [#549](https://github.com/LuaLS/lua-language-server/issues/549)
1374
+ * `CHG` diagnostics: always ignore the ignored files even if they are opened
1375
+ * `FIX` completion: `type() ==` may does not work
1376
+
1377
+ ## 2.0.5
1378
+ `2021-7-1`
1379
+ * `NEW` `hover` and `completion` reports initialization progress
1380
+ * `CHG` `class field` consider implicit definition
1381
+ ```lua
1382
+ ---@class Class
1383
+ local mt = {}
1384
+
1385
+ function mt:init()
1386
+ self.xxx = 1
1387
+ end
1388
+
1389
+ function mt:func()
1390
+ print(self.xxx) -- self.xxx is defined
1391
+ end
1392
+ ```
1393
+ * `CHG` improve performance
1394
+ * `FIX` [#580](https://github.com/LuaLS/lua-language-server/issues/580)
1395
+
1396
+ ## 2.0.4
1397
+ `2021-6-25`
1398
+ * `FIX` [#550](https://github.com/LuaLS/lua-language-server/issues/550)
1399
+ * `FIX` [#555](https://github.com/LuaLS/lua-language-server/issues/555)
1400
+ * `FIX` [#574](https://github.com/LuaLS/lua-language-server/issues/574)
1401
+
1402
+ ## 2.0.3
1403
+ `2021-6-24`
1404
+ * `CHG` improve memory usage
1405
+ * `FIX` some dialog boxes block the initialization process
1406
+ * `FIX` diagnostics `undefined-field`: blocks main thread
1407
+ * `FIX` [#565](https://github.com/LuaLS/lua-language-server/issues/565)
1408
+
1409
+ ## 2.0.2
1410
+ `2021-6-23`
1411
+ * `NEW` supports literal table in `pairs`
1412
+ ```lua
1413
+ local t = { a = 1, b = 2, c = 3 }
1414
+ for k, v in pairs(t) do
1415
+ -- `k` is string and `v` is integer here
1416
+ end
1417
+ ```
1418
+ * `CHG` view `local f ---@type fun(x:number):boolean`
1419
+ ```lua
1420
+ ---before
1421
+ function f(x: number)
1422
+ -> boolean
1423
+ ---after
1424
+ local f: fun(x: number): boolean
1425
+ ```
1426
+ * `FIX` [#558](https://github.com/LuaLS/lua-language-server/issues/558)
1427
+ * `FIX` [#567](https://github.com/LuaLS/lua-language-server/issues/567)
1428
+ * `FIX` [#568](https://github.com/LuaLS/lua-language-server/issues/568)
1429
+ * `FIX` [#570](https://github.com/LuaLS/lua-language-server/issues/570)
1430
+ * `FIX` [#571](https://github.com/LuaLS/lua-language-server/issues/571)
1431
+
1432
+ ## 2.0.1
1433
+ `2021-6-21`
1434
+ * `FIX` [#566](https://github.com/LuaLS/lua-language-server/issues/566)
1435
+
1436
+ ## 2.0.0
1437
+ `2021-6-21`
1438
+ * `NEW` implement
1439
+ * `CHG` diagnostics `undefined-field`, `deprecated`: default by `Opened` instead of `None`
1440
+ * `CHG` setting `Lua.runtime.plugin`: default by `""` instead of `".vscode/lua/plugin.lua"` (for security)
1441
+ * `CHG` setting `Lua.intelliSense.searchDepth`: removed
1442
+ * `CHG` setting `Lua.misc.parameters`: `string array` instead of `string`
1443
+ * `CHG` setting `Lua.develop.enable`, `Lua.develop.debuggerPort`, `Lua.develop.debuggerWait`: removed, use `Lua.misc.parameters` instead
1444
+ * `FIX` [#441](https://github.com/LuaLS/lua-language-server/issues/441)
1445
+ * `FIX` [#493](https://github.com/LuaLS/lua-language-server/issues/493)
1446
+ * `FIX` [#531](https://github.com/LuaLS/lua-language-server/issues/531)
1447
+ * `FIX` [#542](https://github.com/LuaLS/lua-language-server/issues/542)
1448
+ * `FIX` [#543](https://github.com/LuaLS/lua-language-server/issues/543)
1449
+ * `FIX` [#553](https://github.com/LuaLS/lua-language-server/issues/553)
1450
+ * `FIX` [#562](https://github.com/LuaLS/lua-language-server/issues/562)
1451
+ * `FIX` [#563](https://github.com/LuaLS/lua-language-server/issues/563)
1452
+
1453
+ ## 1.21.3
1454
+ `2021-6-17`
1455
+ * `NEW` supports `untrusted workspaces`
1456
+ * `FIX` performance issues, thanks to [folke](https://github.com/folke)
1457
+
1458
+ ## 1.21.2
1459
+ `2021-5-18`
1460
+ * `FIX` loaded new file with ignored filename
1461
+ * `FIX` [#536](https://github.com/LuaLS/lua-language-server/issues/536)
1462
+ * `FIX` [#537](https://github.com/LuaLS/lua-language-server/issues/537)
1463
+ * `FIX` [#538](https://github.com/LuaLS/lua-language-server/issues/538)
1464
+ * `FIX` [#539](https://github.com/LuaLS/lua-language-server/issues/539)
1465
+
1466
+ ## 1.21.1
1467
+ `2021-5-8`
1468
+ * `FIX` [#529](https://github.com/LuaLS/lua-language-server/issues/529)
1469
+
1470
+ ## 1.21.0
1471
+ `2021-5-7`
1472
+ * `NEW` setting: `completion.showParams`
1473
+ * `NEW` `LuaDoc`: supports multiline comments
1474
+ * `NEW` `LuaDoc`: tail comments support lua string
1475
+
1476
+ ## 1.20.5
1477
+ `2021-4-30`
1478
+ * `NEW` setting: `completion.autoRequire`
1479
+ * `NEW` setting: `hover.enumsLimit`
1480
+ * `CHG` folding: supports `-- #region`
1481
+ * `FIX` completion: details may be suspended
1482
+ * `FIX` [#522](https://github.com/LuaLS/lua-language-server/issues/522)
1483
+ * `FIX` [#523](https://github.com/LuaLS/lua-language-server/issues/523)
1484
+
1485
+ ## 1.20.4
1486
+ `2021-4-13`
1487
+ * `NEW` diagnostic: `deprecated`
1488
+ * `FIX` [#464](https://github.com/LuaLS/lua-language-server/issues/464)
1489
+ * `FIX` [#497](https://github.com/LuaLS/lua-language-server/issues/497)
1490
+ * `FIX` [#502](https://github.com/LuaLS/lua-language-server/issues/502)
1491
+
1492
+ ## 1.20.3
1493
+ `2021-4-6`
1494
+ * `FIX` [#479](https://github.com/LuaLS/lua-language-server/issues/479)
1495
+ * `FIX` [#483](https://github.com/LuaLS/lua-language-server/issues/483)
1496
+ * `FIX` [#485](https://github.com/LuaLS/lua-language-server/issues/485)
1497
+ * `FIX` [#487](https://github.com/LuaLS/lua-language-server/issues/487)
1498
+ * `FIX` [#488](https://github.com/LuaLS/lua-language-server/issues/488)
1499
+ * `FIX` [#490](https://github.com/LuaLS/lua-language-server/issues/490)
1500
+ * `FIX` [#495](https://github.com/LuaLS/lua-language-server/issues/495)
1501
+
1502
+ ## 1.20.2
1503
+ `2021-4-2`
1504
+ * `CHG` `LuaDoc`: supports `---@param self TYPE`
1505
+ * `CHG` completion: does not show suggests after `\n`, `{` and `,`, unless your setting `editor.acceptSuggestionOnEnter` is `off`
1506
+ * `FIX` [#482](https://github.com/LuaLS/lua-language-server/issues/482)
1507
+
1508
+ ## 1.20.1
1509
+ `2021-3-27`
1510
+ * `FIX` telemetry window blocks initializing
1511
+ * `FIX` [#468](https://github.com/LuaLS/lua-language-server/issues/468)
1512
+
1513
+ ## 1.20.0
1514
+ `2021-3-27`
1515
+ * `CHG` telemetry: change to opt-in, see [#462](https://github.com/LuaLS/lua-language-server/issues/462) and [Privacy-Policy](https://luals.github.io/privacy/#language-server)
1516
+ * `FIX` [#467](https://github.com/LuaLS/lua-language-server/issues/467)
1517
+
1518
+ ## 1.19.1
1519
+ `2021-3-22`
1520
+ * `CHG` improve performance
1521
+ * `FIX` [#457](https://github.com/LuaLS/lua-language-server/issues/457)
1522
+ * `FIX` [#458](https://github.com/LuaLS/lua-language-server/issues/458)
1523
+
1524
+ ## 1.19.0
1525
+ `2021-3-18`
1526
+ * `NEW` VSCode: new setting `Lua.misc.parameters`
1527
+ * `NEW` new setting `Lua.runtime.builtin`, used to disable some built-in libraries
1528
+ * `NEW` quick fix: disable diagnostic in line/file
1529
+ * `NEW` setting: `Lua.runtime.path` supports absolute path
1530
+ * `NEW` completion: field in table
1531
+ ```lua
1532
+ ---@class A
1533
+ ---@field x number
1534
+ ---@field y number
1535
+ ---@field z number
1536
+
1537
+ ---@type A
1538
+ local t = {
1539
+ -- provide `x`, `y` and `z` here
1540
+ }
1541
+ ```
1542
+ * `NEW` `LuaDoc`: supports multi-line comment before resume
1543
+ ```lua
1544
+ ---this is
1545
+ ---a multi line
1546
+ ---comment
1547
+ ---@alias XXXX
1548
+ ---comment 1
1549
+ ---comment 1
1550
+ ---| '1'
1551
+ ---comment 2
1552
+ ---comment 2
1553
+ ---| '2'
1554
+
1555
+ ---@param x XXXX
1556
+ local function f(x)
1557
+ end
1558
+
1559
+ f( -- view comments of `1` and `2` in completion
1560
+ ```
1561
+ * `CHG` intelli-scense: search from generic param to return
1562
+ * `CHG` intelli-scense: search across vararg
1563
+ * `CHG` text-document-synchronization: refactored
1564
+ * `CHG` diagnostic: improve `newline-call`
1565
+ * `CHG` completion: improve `then .. end`
1566
+ * `CHG` improve initialization speed
1567
+ * `CHG` improve performance
1568
+ * `FIX` missed syntax error `function m['x']() end`
1569
+ * `FIX` [#452](https://github.com/LuaLS/lua-language-server/issues/452)
1570
+
1571
+ ## 1.18.1
1572
+ `2021-3-10`
1573
+ * `CHG` semantic-tokens: improve colors of `const` and `close`
1574
+ * `CHG` type-formating: improve execution conditions
1575
+ * `FIX` [#444](https://github.com/LuaLS/lua-language-server/issues/444)
1576
+
1577
+ ## 1.18.0
1578
+ `2021-3-9`
1579
+ * `NEW` `LuaDoc`: supports `---@diagnostic disable`
1580
+ * `NEW` code-action: convert JSON to Lua
1581
+ * `NEW` completion: provide `then .. end` snippet
1582
+ * `NEW` type-formating:
1583
+ ```lua
1584
+ -- press `enter` at $
1585
+ local function f() $ end
1586
+ -- formating result:
1587
+ local function f()
1588
+ $
1589
+ end
1590
+
1591
+ -- as well as
1592
+ do $ end
1593
+ -- formating result
1594
+ do
1595
+ $
1596
+ end
1597
+ ```
1598
+ * `CHG` `Windows`: dose not provide `ucrt` any more
1599
+ * `CHG` `Lua.workspace.library`: use `path[]` instead of `<path, true>`
1600
+ * `FIX` missed syntax error `local a <const>= 1`
1601
+ * `FIX` workspace: preload blocked when hitting `Lua.workspace.maxPreload`
1602
+ * `FIX` [#443](https://github.com/LuaLS/lua-language-server/issues/443)
1603
+ * `FIX` [#445](https://github.com/LuaLS/lua-language-server/issues/445)
1604
+
1605
+ ## 1.17.4
1606
+ `2021-3-4`
1607
+ * `FIX` [#437](https://github.com/LuaLS/lua-language-server/issues/437) again
1608
+ * `FIX` [#438](https://github.com/LuaLS/lua-language-server/issues/438)
1609
+
1610
+ ## 1.17.3
1611
+ `2021-3-3`
1612
+ * `CHG` intelli-scense: treat `V[]` as `table<integer, V>` in `pairs`
1613
+ * `FIX` completion: `detail` disappears during continuous input
1614
+ * `FIX` [#435](https://github.com/LuaLS/lua-language-server/issues/435)
1615
+ * `FIX` [#436](https://github.com/LuaLS/lua-language-server/issues/436)
1616
+ * `FIX` [#437](https://github.com/LuaLS/lua-language-server/issues/437)
1617
+
1618
+ ## 1.17.2
1619
+ `2021-3-2`
1620
+ * `FIX` running in Windows
1621
+
1622
+ ## 1.17.1
1623
+ `2021-3-1`
1624
+ * `CHG` intelli-scense: improve infer across `table<K, V>` and `V[]`.
1625
+ * `CHG` intelli-scense: improve infer across `pairs` and `ipairs`
1626
+ * `FIX` hover: shows nothing when hovering unknown function
1627
+ * `FIX` [#398](https://github.com/LuaLS/lua-language-server/issues/398)
1628
+ * `FIX` [#421](https://github.com/LuaLS/lua-language-server/issues/421)
1629
+ * `FIX` [#422](https://github.com/LuaLS/lua-language-server/issues/422)
1630
+
1631
+ ## 1.17.0
1632
+ `2021-2-24`
1633
+ * `NEW` diagnostic: `duplicate-set-field`
1634
+ * `NEW` diagnostic: `no-implicit-any`, disabled by default
1635
+ * `CHG` completion: improve field and table
1636
+ * `CHG` improve infer cross `ipairs`
1637
+ * `CHG` cache globals when loading
1638
+ * `CHG` completion: remove trigger character `\n` for now, see [#401](https://github.com/LuaLS/lua-language-server/issues/401)
1639
+ * `FIX` diagnositc: may open file with wrong uri case
1640
+ * `FIX` [#406](https://github.com/LuaLS/lua-language-server/issues/406)
1641
+
1642
+ ## 1.16.1
1643
+ `2021-2-22`
1644
+ * `FIX` signature: parameters may be misplaced
1645
+ * `FIX` completion: interface in nested table
1646
+ * `FIX` completion: interface not show after `,`
1647
+ * `FIX` [#400](https://github.com/LuaLS/lua-language-server/issues/400)
1648
+ * `FIX` [#402](https://github.com/LuaLS/lua-language-server/issues/402)
1649
+ * `FIX` [#403](https://github.com/LuaLS/lua-language-server/issues/403)
1650
+ * `FIX` [#404](https://github.com/LuaLS/lua-language-server/issues/404)
1651
+ * `FIX` runtime errors
1652
+
1653
+ ## 1.16.0
1654
+ `2021-2-20`
1655
+ * `NEW` file encoding supports `ansi`
1656
+ * `NEW` completion: supports interface, see [#384](https://github.com/LuaLS/lua-language-server/issues/384)
1657
+ * `NEW` `LuaDoc`: supports multiple class inheritance: `---@class Food: Burger, Pizza, Pie, Pasta`
1658
+ * `CHG` rename `table*` to `tablelib`
1659
+ * `CHG` `LuaDoc`: revert compatible with `--@`, see [#392](https://github.com/LuaLS/lua-language-server/issues/392)
1660
+ * `CHG` improve performance
1661
+ * `FIX` missed syntax error `f() = 1`
1662
+ * `FIX` missed global `bit` in `LuaJIT`
1663
+ * `FIX` completion: may insert error text when continuous inputing
1664
+ * `FIX` completion: may insert error text after resolve
1665
+ * `FIX` [#349](https://github.com/LuaLS/lua-language-server/issues/349)
1666
+ * `FIX` [#396](https://github.com/LuaLS/lua-language-server/issues/396)
1667
+
1668
+ ## 1.15.1
1669
+ `2021-2-18`
1670
+ * `CHG` diagnostic: `unused-local` excludes `doc.param`
1671
+ * `CHG` definition: excludes values, see [#391](https://github.com/LuaLS/lua-language-server/issues/391)
1672
+ * `FIX` not works on Linux and macOS
1673
+
1674
+ ## 1.15.0
1675
+ `2021-2-9`
1676
+ * `NEW` LUNAR YEAR, BE HAPPY!
1677
+ * `CHG` diagnostic: when there are too many errors, the main errors will be displayed first
1678
+ * `CHG` main thread no longer loop sleeps, see [#329](https://github.com/LuaLS/lua-language-server/issues/329) [#386](https://github.com/LuaLS/lua-language-server/issues/386)
1679
+ * `CHG` improve performance
1680
+
1681
+ ## 1.14.3
1682
+ `2021-2-8`
1683
+ * `CHG` hint: disabled by default, see [#380](https://github.com/LuaLS/lua-language-server/issues/380)
1684
+ * `FIX` [#381](https://github.com/LuaLS/lua-language-server/issues/381)
1685
+ * `FIX` [#382](https://github.com/LuaLS/lua-language-server/issues/382)
1686
+ * `FIX` [#388](https://github.com/LuaLS/lua-language-server/issues/388)
1687
+
1688
+ ## 1.14.2
1689
+ `2021-2-4`
1690
+ * `FIX` [#356](https://github.com/LuaLS/lua-language-server/issues/356)
1691
+ * `FIX` [#375](https://github.com/LuaLS/lua-language-server/issues/375)
1692
+ * `FIX` [#376](https://github.com/LuaLS/lua-language-server/issues/376)
1693
+ * `FIX` [#377](https://github.com/LuaLS/lua-language-server/issues/377)
1694
+ * `FIX` [#378](https://github.com/LuaLS/lua-language-server/issues/378)
1695
+ * `FIX` [#379](https://github.com/LuaLS/lua-language-server/issues/379)
1696
+ * `FIX` a lot of runtime errors
1697
+
1698
+ ## 1.14.1
1699
+ `2021-2-2`
1700
+ * `FIX` [#372](https://github.com/LuaLS/lua-language-server/issues/372)
1701
+
1702
+ ## 1.14.0
1703
+ `2021-2-2`
1704
+ * `NEW` `VSCode` hint
1705
+ * `NEW` flush cache after 5 min
1706
+ * `NEW` `VSCode` help semantic color with market theme
1707
+ * `CHG` create/delete/rename files no longer reload workspace
1708
+ * `CHG` `LuaDoc`: compatible with `--@`
1709
+ * `FIX` `VSCode` settings
1710
+ * `FIX` [#368](https://github.com/LuaLS/lua-language-server/issues/368)
1711
+ * `FIX` [#371](https://github.com/LuaLS/lua-language-server/issues/371)
1712
+
1713
+ ## 1.13.0
1714
+ `2021-1-28`
1715
+ * `NEW` `VSCode` status bar
1716
+ * `NEW` `VSCode` options in some window
1717
+ * `CHG` performance optimization
1718
+ * `FIX` endless loop
1719
+
1720
+ ## 1.12.2
1721
+ `2021-1-27`
1722
+ * `CHG` performance optimization
1723
+ * `FIX` modifying the code before loading finish makes confusion
1724
+ * `FIX` signature: not works
1725
+
1726
+ ## 1.12.1
1727
+ `2021-1-27`
1728
+ * `FIX` endless loop
1729
+
1730
+ ## 1.12.0
1731
+ `2021-1-26`
1732
+ * `NEW` progress
1733
+ * `NEW` [#340](https://github.com/LuaLS/lua-language-server/pull/340): supports `---@type table<string, number>`
1734
+ * `FIX` [#355](https://github.com/LuaLS/lua-language-server/pull/355)
1735
+ * `FIX` [#359](https://github.com/LuaLS/lua-language-server/issues/359)
1736
+ * `FIX` [#361](https://github.com/LuaLS/lua-language-server/issues/361)
1737
+
1738
+ ## 1.11.2
1739
+ `2021-1-7`
1740
+ * `FIX` [#345](https://github.com/LuaLS/lua-language-server/issues/345): not works with unexpect args
1741
+ * `FIX` [#346](https://github.com/LuaLS/lua-language-server/issues/346): dont modify the cache
1742
+
1743
+ ## 1.11.1
1744
+ `2021-1-5`
1745
+ * `CHG` performance optimization
1746
+
1747
+ ## 1.11.0
1748
+ `2021-1-5`
1749
+ * `NEW` `Lua.runtime.plugin`
1750
+ * `NEW` intelli-scense: improved `m.f = function (self) end` from `self` to `m`
1751
+ * `CHG` performance optimization
1752
+ * `CHG` completion: improve performance of workspace words
1753
+ * `FIX` hover: tail comments may be cutted
1754
+ * `FIX` runtime errors
1755
+
1756
+ ## 1.10.0
1757
+ `2021-1-4`
1758
+ * `NEW` workspace: supports `.dll`(`.so`) in `require`
1759
+ * `NEW` folding: `---@class`, `--#region` and docs of function
1760
+ * `NEW` diagnostic: `count-down-loop`
1761
+ * `CHG` supports `~` in command line
1762
+ * `CHG` completion: improve workspace words
1763
+ * `CHG` completion: show words in string
1764
+ * `CHG` completion: split `for .. in` to `for .. ipairs` and `for ..pairs`
1765
+ * `CHG` diagnostic: `unused-function` checks recursive
1766
+ * `FIX` [#339](https://github.com/LuaLS/lua-language-server/issues/339)
1767
+
1768
+ ## 1.9.0
1769
+ `2020-12-31`
1770
+ * `NEW` YEAR! Peace and love!
1771
+ * `NEW` specify path of `log` and `meta` by `--logpath=xxx` and `--metapath=XXX` in command line
1772
+ * `NEW` completion: worksapce word
1773
+ * `NEW` completion: show words in comment
1774
+ * `NEW` completion: generate function documentation
1775
+ * `CHG` got arg after script name: `lua-language-server.exe main.lua --logpath=D:\log --metapath=D:\meta --develop=false`
1776
+ * `FIX` runtime errors
1777
+
1778
+ ## 1.8.2
1779
+ `2020-12-29`
1780
+ * `CHG` performance optimization
1781
+
1782
+ ## 1.8.1
1783
+ `2020-12-24`
1784
+ * `FIX` telemetry: connect failed caused not working
1785
+
1786
+ ## 1.8.0
1787
+ `2020-12-23`
1788
+ * `NEW` runtime: support nonstandard symbol
1789
+ * `NEW` diagnostic: `close-non-object`
1790
+ * `FIX` [#318](https://github.com/LuaLS/lua-language-server/issues/318)
1791
+
1792
+ ## 1.7.4
1793
+ `2020-12-20`
1794
+ * `FIX` workspace: preload may failed
1795
+
1796
+ ## 1.7.3
1797
+ `2020-12-20`
1798
+ * `FIX` luadoc: typo of `package.config`
1799
+ * `FIX` [#310](https://github.com/LuaLS/lua-language-server/issues/310)
1800
+
1801
+ ## 1.7.2
1802
+ `2020-12-17`
1803
+ * `CHG` completion: use custom tabsize
1804
+ * `FIX` [#307](https://github.com/LuaLS/lua-language-server/issues/307)
1805
+ * `FIX` a lot of runtime errors
1806
+
1807
+ ## 1.7.1
1808
+ `2020-12-16`
1809
+ * `NEW` setting: `diagnostics.neededFileStatus`
1810
+ * `FIX` scan workspace may fails
1811
+ * `FIX` quickfix: `newline-call` failed
1812
+ * `FIX` a lot of other runtime errors
1813
+
1814
+ ## 1.7.0
1815
+ `2020-12-16`
1816
+ * `NEW` diagnostic: `undefined-field`
1817
+ * `NEW` telemetry:
1818
+ + [What data will be sent](https://github.com/LuaLS/lua-language-server/blob/master/script/service/telemetry.lua)
1819
+ + [How to use this data](https://github.com/LuaLS/lua-telemetry-server/tree/master/method)
1820
+ * `CHG` diagnostic: `unused-function` ignores function with `<close>`
1821
+ * `CHG` semantic: not cover local call
1822
+ * `CHG` language client: update to [7.0.0](https://github.com/microsoft/vscode-languageserver-node/commit/20681d7632bb129def0c751be73cf76bd01f2f3a)
1823
+ * `FIX` semantic: tokens may not be updated correctly
1824
+ * `FIX` completion: require path broken
1825
+ * `FIX` hover: document uri
1826
+ * `FIX` [#291](https://github.com/LuaLS/lua-language-server/issues/291)
1827
+ * `FIX` [#294](https://github.com/LuaLS/lua-language-server/issues/294)
1828
+
1829
+ ## 1.6.0
1830
+ `2020-12-14`
1831
+ * `NEW` completion: auto require local modules
1832
+ * `NEW` completion: support delegate
1833
+ * `NEW` hover: show function by keyword `function`
1834
+ * `NEW` code action: swap params
1835
+ * `CHG` standalone: unbind the relative path between binaries and scripts
1836
+ * `CHG` hover: `LuaDoc` also catchs `--` (no need `---`)
1837
+ * `CHG` rename: support doc
1838
+ * `CHG` completion: keyword considers expression
1839
+ * `FIX` [#297](https://github.com/LuaLS/lua-language-server/issues/297)
1840
+
1841
+ ## 1.5.0
1842
+ `2020-12-5`
1843
+ * `NEW` setting `runtime.unicodeName`
1844
+ * `NEW` fully supports `---@generic T`
1845
+ * `FIX` [#274](https://github.com/LuaLS/lua-language-server/issues/274)
1846
+ * `FIX` [#276](https://github.com/LuaLS/lua-language-server/issues/276)
1847
+ * `FIX` [#279](https://github.com/LuaLS/lua-language-server/issues/279)
1848
+ * `FIX` [#280](https://github.com/LuaLS/lua-language-server/issues/280)
1849
+
1850
+ ## 1.4.0
1851
+ `2020-12-3`
1852
+ * `NEW` setting `hover.previewFields`: limit how many fields are shown in table hover
1853
+ * `NEW` fully supports `---@type Object[]`
1854
+ * `NEW` supports `---@see`
1855
+ * `NEW` diagnostic `unbalanced-assignments`
1856
+ * `CHG` resolves infer of `string|table`
1857
+ * `CHG` `unused-local` ignores local with `---@class`
1858
+ * `CHG` locale file format changes to `lua`
1859
+
1860
+ ## 1.3.0
1861
+ `2020-12-1`
1862
+
1863
+ * `NEW` provides change logs, I think it's good idea for people knowing what's new ~~(bugs)~~
1864
+ * `NEW` meta files of LuaJIT
1865
+ * `NEW` support completion of `type(o) == ?`
1866
+ * `CHG` now I think it's a bad idea as it took me nearly an hour to complete the logs started from version `1.0.0`
1867
+ * `FIX` closing ignored or library file dose not clean diagnostics
1868
+ * `FIX` searching of `t.f1` when `t.f1 = t.f2`
1869
+ * `FIX` missing signature help of global function
1870
+
1871
+ ## 1.2.1
1872
+ `2020-11-27`
1873
+
1874
+ * `FIX` syntaxes tokens: [#272](https://github.com/LuaLS/lua-language-server/issues/272)
1875
+
1876
+ ## 1.2.0
1877
+ `2020-11-27`
1878
+
1879
+ * `NEW` hover shows comments from `---@param` and `---@return`: [#135](https://github.com/LuaLS/lua-language-server/issues/135)
1880
+ * `NEW` support `LuaDoc` as tail comment
1881
+ * `FIX` `---@class` inheritance
1882
+ * `FIX` missed syntaxes token: `punctuation.definition.parameters.finish.lua`
1883
+
1884
+ ## 1.1.4
1885
+ `2020-11-25`
1886
+
1887
+ * `FIX` wiered completion suggests for require paths in `Linux` and `macOS`: [#269](https://github.com/LuaLS/lua-language-server/issues/269)
1888
+
1889
+ ## 1.1.3
1890
+ `2020-11-25`
1891
+
1892
+ * `FIX` extension not works in `Ubuntu`: [#268](https://github.com/LuaLS/lua-language-server/issues/268)
1893
+
1894
+ ## 1.1.2
1895
+ `2020-11-24`
1896
+
1897
+ * `NEW` auto completion finds globals from `Lua.diagnostics.globals`
1898
+ * `NEW` support tail `LuaDoc`
1899
+ * `CHG` no more `Lua.intelliScense.fastGlobal`, now globals always fast and accurate
1900
+ * `CHG` `LuaDoc` supports `--- @`
1901
+ * `CHG` `find reference` uses extra `Lua.intelliSense.searchDepth`
1902
+ * `CHG` diagnostics are limited by `100` in each file
1903
+ * `FIX` library files are under limit of `Lua.workspace.maxPreload`: [#266](https://github.com/LuaLS/lua-language-server/issues/266)
1904
+
1905
+ ## 1.1.1
1906
+ `2020-11-23`
1907
+
1908
+ * `NEW` auto completion special marks deprecated items
1909
+ * `FIX` diagnostics may push wrong uri in `Linux` and `macOS`
1910
+ * `FIX` diagnostics not cleaned up when closing ignored lua file
1911
+ * `FIX` reload workspace remains old caches
1912
+ * `FIX` incorrect hover of local attribute
1913
+
1914
+ ## 1.1.0
1915
+ `2020-11-20`
1916
+
1917
+ * `NEW` no longer `BETA`
1918
+ * `NEW` use `meta.lua` instead of `meta.lni`, now you can find the definition of builtin function
1919
+ * `CHG` Lua files outside of workspace no longer launch a new server
1920
+
1921
+ ## 1.0.6
1922
+ `2020-11-20`
1923
+
1924
+ * `NEW` diagnostic `code-after-break`
1925
+ * `CHG` optimize performance
1926
+ * `CHG` updated language client
1927
+ * `CHG` `unused-function` ignores global functions (may used out of Lua)
1928
+ * `CHG` checks if client supports `Lua.completion.enable`: [#259](https://github.com/LuaLS/lua-language-server/issues/259)
1929
+ * `FIX` support for single Lua file
1930
+ * `FIX` [#257](https://github.com/LuaLS/lua-language-server/issues/257)
1931
+
1932
+ ## 1.0.5
1933
+ `2020-11-14`
1934
+
1935
+ * `NEW` `LuaDoc` supports more `EmmyLua`
1936
+
1937
+ ## 1.0.4
1938
+ `2020-11-12`
1939
+
1940
+ * `FIX` extension not works
1941
+
1942
+ ## 1.0.3
1943
+ `2020-11-12`
1944
+
1945
+ * `NEW` server kills itself when disconnecting
1946
+ * `NEW` `LuaDoc` supports more `EmmyLua`
1947
+ * `FIX` `Lua.diagnostics.enable` not works: [#251](https://github.com/LuaLS/lua-language-server/issues/251)
1948
+
1949
+ ## 1.0.2
1950
+ `2020-11-11`
1951
+
1952
+ * `NEW` supports `---|` after `doc.type`
1953
+ * `CHG` `lowcase-global` ignores globals with `---@class`
1954
+ * `FIX` endless loop
1955
+ * `FIX` [#244](https://github.com/LuaLS/lua-language-server/issues/244)
1956
+
1957
+ ## 1.0.1
1958
+ `2020-11-10`
1959
+
1960
+ * `FIX` autocompletion not works.
1961
+
1962
+ ## 1.0.0
1963
+ `2020-11-9`
1964
+
1965
+ * `NEW` implementation, NEW start!