Releases: tact-lang/tact-language-server
Releases · tact-lang/tact-language-server
v0.3.0
Improvements
- feat(all): initial support for a destruct statement in #355
- feat(all): initial support for
codeOf
in #356 - feat(all): add support for
get
methods with explicit ID in #358 - feat(grammar): port remaining grammar changes for 1.6.0 in #359
- feat(vscode): integrate BoC decompiler in #281
- feat(vscode): split settings to groups in #312
- feat(vscode): port the latest version of TextMate grammar in #353
- feat(inlay-hints): improve type hints in #286
- feat(inlay-hints): don't show an obvious type hint for variable initialized with
Foo.fromCell()
in #347 - feat(documentation/inlay-hints): show type for struct, messages and
toCell()
calls in #318 - feat(highlighting): highlight code in doc comments in #309
- feat(completion): add completion for getters in #310
- feat(foldings): folding of doc comments in #311
- feat(linters): run compiler and Misti checks on files in #267
- feat(gas): take branching into account for gas calculation in #321
- feat(build-system): add a Test task for Blueprint and Tact Template in #335
- feat(build-system): add "build all contracts", "build and test all contracts" commands in #336
Manual
- manual: add initial completion page in #289
- manual: add troubleshooting.md in #314
- manual: add code lenses in #305
- manual: add highlighting in #315
- manual: add initial navigation in #316
- manual: add gas-calculation page in #322
- manual: add inlay hints in #350
Fixed
- fix(vscode): use flat settings keys in #313
- fix(vscode): fix LS run on workspace without an open folder and on non-saved buffers in #320
- fix(vscode): better wording for
compiler path
setting in #328 - fix(imports): check for
name.tact
as well in #323 - fix(linters): run compiler and Misti even for projects without
tact.config.json
in #333 - fix(vscode): make command names uniform in #334
- fix(completion): for contract/trait top-level in #348
- fix(completion): fix auto imports for the current file elements and elements from files on level - X in #296
- fix(resolving): support path with explicit
.tact
extension in #349 - fix(indexing): don't ignore too many files in Tact compiler repo in #351
Other
- feat(ci): add changelog to nightly builds in #324
- fix(tests): fix inlay hints tests in #299
- feat(test): add completion tests with applying in editor by @xpyctumo in #276
- feat(test): more completion tests in #279
- feat(test): more intentions tests in #280
- chore: update README.md in #266
- chore: change priorities of editors in the README by @novusnota in #278
- disabling
postinstall
scripts for third-party dependencies by @Danil42Russia in #288 - chore: use @tact-lang/opcode v0.2 in #295
- chore(documentation): override completions in Sublime Text by @novusnota in #354
Nightly Build v0.3.0
🌙 This is an automated nightly build from the master branch.
What's Changed (since v0.3.0)
Installation
VS Code Extension
- Download the .vsix file and install it through VS Code
Other Editors
- Download tact-language-server-v0.3.0.tar.gz (Linux/macOS) or tact-language-server-v0.3.0.zip (Windows)
- Extract it to a convenient location
- Configure your editor to use the language server from the extracted folder
v0.2.1
v0.2.0
Improvements
- feat(inlay-hints): add parameters hints for
initOf Foo()
in #216 - feat(inlay-hints): show
as int257
hint inside map types as well in #228 - feat(inlay-hints): don't show inlay hints in some cases in #230
- feat(inlay-hints): show stack info for ASM instruction (disabled by default) in #244
- feat(vscode): add Tact code highlighting inside Markdown code blocks in #212
- feat(vscode): initial support for Blueprint and Tact Template build systems in #237
- feat(documentation): add missing functions to
stubs/
and adjust the format to match the rest of other stdlib doc///
comments by @novusnota in #189 - feat(documentation): show use documentation for receiver and init functions in #227
- feat(documentation): show exit code in hover documentation of
require()
in #243 - feat(documentation): add missing comptime functions to
stubs.tact
by @novusnota in #248 - feat(documentation): show members of trait and contract in hover documentation in #256
- feat(completion): automatically add necessary imports for symbols from other files in #257
- feat(completion): show
self
type fields/methods in completion list in #262 - feat(asm): better asm functions support in #225
- feat(asm): show hint for top element in stack info, show new styled stack info in doc and completion in #264
- feat(completion/resolving): better handling of imports in #241
- feat(completion/resolving/documentation): add support for
fromCell
andfromSlice
methods on structs and messages in #233 - feat(linters): add Misti static analyzer to display by @skulidropek in #26
- feat(compiler): initial compiler integration in #236
Fixed
- fix(fift): parsing of
DECLGLOBVAR
in Fift ASM in #215 - fix(completion): fix documentation for function completion items in #210
- fix(completion): for functions return type in #218
- fix(completion): don't add extra
()
ininitOf
completion in #226 - fix(completion): add parameters to contract completion inside
initOf
in #258 - fix(inspections): don't warn on symbols with several declarations in #232
- fix(documentation): fix list rendering in #255
- fix(signature-help): for struct init inside function call in #259
- fix(inspections): fix unused params inspection for function declarations in #260
- fix(inlay-hints): don't show parameters hints for unary functions from stubs in #263
- fix(resolving/completion): for methods on
T?
in #229
Testing
- feat(tests): add tests for Inlay Hints by @xpyctumo in #206
- feat(tests): add more tests for inlay hints in #209
- feat(tests): add tests for Signature Help by @xpyctumo in #253
Other
- adding
unicorn
foreslint
by @Danil42Russia in #192 - more strict
typescript-eslint
rules by @Danil42Russia in #194 - updated the nightly build by @Danil42Russia in #195
- chore: add mention of Open VSX Registry in #213
- feat(documentation): add installation instructions for Vim 8+ by @novusnota in #231
New Contributors
v0.1.0
Improvements
- feat(definition): add go to definition for
initOf
keyword in #101 - feat(references): add find references for
init
function in #104 - feat(completion): add completion for
initOf
and contracts in it in #102 - feat(completion): take into account type of field inside default value completion in #100
- feat(completion): add
do
snippet in #106 - feat(completion): add constant declaration completion in traits and contracts in #105
- feat(completion): add empty
receiver() {}
to completion in #108 - feat(completion): add
external() {}
to completion in #111 - feat(completion): add
bounced<>
to completion in #112 - feat(completion): add
virtual fun foo() {}
to completion in #114 - feat(completion): add
extends mutates fun foo(self: Type) {}
to completion in #115 - feat(completion): add struct/message/trait/constant declaration completion in #116
- feat(completion): show only messages in
bounced()
andexternal()
receivers in #124 - feat(completion): add initial implementation of postfix completion in #166
- feat(completion): add
as
keyword completion in #158 - feat(hover): show name of struct/message in hover documentation for fields/constants/functions in #95
- feat(hover): show TL-B types in field documentation in #125
- feat(hover): add documentation for TL-B types in #110
- feat(hover): add documentation for receivers (
receive
,bounced
,external
) andinit()
constructor in #145 - feat(signature-help): add Signature help for
initOf
in #103 - feat(signature-help): add signature help for struct/message fields in #135
- feat(document-symbols): sort elements by position in #136
- feat(document-symbols): add imports, init() and message receivers (receive, external, bounced) in #137
- feat(document-symbols): add settings to turn on/off fields in #143
- feat(documentation): add mention of VSCodium / Cursor / Windsurf in README.md in #138
- feat(documentation): add
tact
as language of code blocks for better highlighting in Helix/Neovim in #139 - feat(ci): add archive with LS to nightly releases in #147
- feat(find-usages): add setting for "Find Usages" scope in #157
- feat(vscode-language-configuration): auto-insertion of
///
and concealment of/**/
comments by @novusnota in #93 - feat(vscode-language-configuration): add foldings of
// region:
and// endregion:
andcolorizedBracketPairs
in #160 - feat(intentions): initial intention to fill all/required struct/message fields in #133
- feat(intention): add "Add explicit type" intention in #127
- feat(intention): add initial implementation of intention to initialize field in
init()
in #164 - feat(intention): add initial implementation of "wrap to" with try, try-catch and repeat in #165
- feat(inline-hints): show
as int257
forInt
fields in #97 - feat(inspections): add inspection for symbols from other files without explicit import in #129
- feat(configuration): add configuration for all type hints, code lenses and inspections in #131
- feat(workspace): show error message if stdlib not found in #132
Fixed
- fix(hover): LS hangs when calling hover documentation on
receive() {}
in #96 - fix(resolving): don't resolve variable before its declaration in #118
- fix(completion): fix completion of variants with the same name in #119
- fix(completion): and add brackets only if they are not there yet in #120
- fix(completion): disable completion in variable declaration name in #121
- fix(completion): disable completion in all function declaration names in #122
- fix(completion): don't complete anything in parameters in #156
- fix(resolve) resolving of inherited constants in #45
- fix(resolve): inherit trait fields in child trait in #99
- fix(resolve): function call with same name variable in scope in #159
- fix(intention): don't do anything for "Fill in required fields..." if there are no such fields, or no fields to fill in at all in #162
- fix(type-inference): for ternary expression with null branch in #141
- fix(vscode-extension): fix Tact file icons in #168
- fix(inspections): fix unused inspection for
_
names in #107
Other
- use
vscode-tact
id in #37 - More eslint rules in #56
- added
eslint
to thehusky
pre-hook by @Danil42Russia in #134 - feat(CI): add nightly builds in #142
- chore: update README.md in #146
- refactor: fix
eslint
unicorn
issues in #169 - refactor: enable eslint all in #170
- refactor: enable more eslint rules in #171
Alpha development release
Initial development release for alpha testers