You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+60Lines changed: 60 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,66 @@
2
2
3
3
[中文Log](CHANGELOG_CN.md)
4
4
5
+
## [0.9.29] - 2025-9-19
6
+
7
+
### 🔧 Changed
8
+
9
+
-**Refactor LSP Handler**: Refactored LSP handler to improve performance and maintainability.
10
+
-**Refactor Folding Range**: Refactored folding range to support `Intellij`
11
+
-**Add More Semantic Token**: Added more semantic tokens to improve syntax highlighting.
12
+
-**Parser Optimization**: The parser now reports syntax errors more accurately and has improved error recovery.
13
+
-**@type Support for Return Statements**: You can now use `@type` above a return statement to specify the return value type, for example:
14
+
```lua
15
+
---@returnvim.lsp.Config
16
+
return {}
17
+
```
18
+
-**Type Checking Optimization**: Improved type checking algorithms for better performance.
19
+
20
+
### 🐛 Fixed
21
+
-**Fix create progress**: Fixed an issue with the `window/workDoneProgress/create` protocol; it must be sent as a request, not a notification.
22
+
-**Fix Function Overload Algorithm**: Rewrote the function overload algorithm to better handle variadic function parameters.
23
+
-**LSP Handler Order**: Fixed an issue where LSP request donot handle during initialization.it will be handle after initialization complete.
24
+
25
+
### ✨ Added
26
+
-**Support @link in comment**: You can now use `@link` in comments to create clickable links. For example:
27
+
```lua
28
+
--- This is a link to {@link string.format}
29
+
```
30
+
-**Support `--editor` directive**: You can now use the `--editor` directive to specify the editor type. For example:
31
+
```shell
32
+
emmylua_ls --editor intellij
33
+
```
34
+
-**Support range foramt for external tool**: You can now use the `rangeFormat` request to format a specific range of code using an external tool. This feature can be enabled with the following configuration:
35
+
```json
36
+
{
37
+
"format": {
38
+
"externalToolRangeFormat": {
39
+
"program": "stylua",
40
+
"args": [
41
+
"-",
42
+
"--stdin-filepath",
43
+
"${file}",
44
+
"--indent-width=${indent_size}",
45
+
"--indent-type",
46
+
"${use_tabs?Tabs:Spaces}",
47
+
"--range-start=${start_offset}",
48
+
"--range-end=${end_offset}"
49
+
],
50
+
"timeout": 5000
51
+
}
52
+
}
53
+
}
54
+
```
55
+
for more information, please refer to [External Formatter Options](https://github.com/EmmyLuaLs/emmylua-analyzer-rust/blob/main/docs/external_format/external_formatter_options_EN.md).
56
+
-**Add Basic EmmyLua Annotation Documentation**: Added more documentation for EmmyLua annotations, please refer to [EmmyLua Annotation Documentation](https://github.com/EmmyLuaLs/emmylua-analyzer-rust/blob/main/docs/emmylua_doc/annotations_EN/README.md).
57
+
58
+
-**SARIF Format for emmyLua_check**: `emmyLua_check` now supports SARIF format output, enabled via the `--format sarif` command line option.
59
+
-**Generic List Supports T... Syntax**: Generic lists now support the `T...` syntax, for example:
Copy file name to clipboardExpand all lines: syntaxes/schema.json
+28-2Lines changed: 28 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -64,6 +64,7 @@
64
64
"$ref": "#/$defs/EmmyrcReformat",
65
65
"default": {
66
66
"externalTool": null,
67
+
"externalToolRangeFormat": null,
67
68
"useDiff": false
68
69
}
69
70
},
@@ -82,6 +83,7 @@
82
83
"hover": {
83
84
"$ref": "#/$defs/EmmyrcHover",
84
85
"default": {
86
+
"customDetail": null,
85
87
"enable": true
86
88
}
87
89
},
@@ -678,6 +680,7 @@
678
680
"default": ""
679
681
},
680
682
"timeout": {
683
+
"description": "The timeout for the external tool in milliseconds.",
681
684
"type": "integer",
682
685
"format": "uint64",
683
686
"default": 5000,
@@ -717,6 +720,17 @@
717
720
"EmmyrcHover": {
718
721
"type": "object",
719
722
"properties": {
723
+
"customDetail": {
724
+
"description": "The detail number of hover information.\nDefault is `None`, which means using the default detail level.\nYou can set it to a number between `1` and `255` to customize",
725
+
"type": [
726
+
"integer",
727
+
"null"
728
+
],
729
+
"format": "uint8",
730
+
"default": null,
731
+
"maximum": 255,
732
+
"minimum": 0
733
+
},
720
734
"enable": {
721
735
"description": "Enable showing documentation on hover.",
722
736
"type": "boolean",
@@ -873,7 +887,19 @@
873
887
"type": "object",
874
888
"properties": {
875
889
"externalTool": {
876
-
"description": "Whether to enable internal code reformatting.",
890
+
"description": "Whether to enable external tool formatting.",
891
+
"anyOf": [
892
+
{
893
+
"$ref": "#/$defs/EmmyrcExternalTool"
894
+
},
895
+
{
896
+
"type": "null"
897
+
}
898
+
],
899
+
"default": null
900
+
},
901
+
"externalToolRangeFormat": {
902
+
"description": "Whether to enable external tool range formatting.",
0 commit comments