Skip to content

Releases: tact-lang/tact-language-server

Nightly Build v0.8.1

07 Aug 01:28
7d0da5f
Compare
Choose a tag to compare
Nightly Build v0.8.1 Pre-release
Pre-release

🌙 This is an automated nightly build from the master branch.

What's Changed (since v0.8.0)

  • fix: cleanup compile folder before run tests (#765) (7d0da5f)
  • VFS (#720) (2d3f45e)
  • feat(tlb): add hover documentation for declarations and builtin types (#754) (aa7b553)
  • fix(indexing): fix buffer files handling (#750) (7f9db76)

Installation

VS Code Extension

  • Download the .vsix file and install it through VS Code

Other Editors

  • Download tact-language-server-v0.8.1.tar.gz (Linux/macOS) or tact-language-server-v0.8.1.zip (Windows)
  • Extract it to a convenient location
  • Configure your editor to use the language server from the extracted folder

v0.8.1

29 May 18:16
7f9db76
Compare
Choose a tag to compare

Fixed error with buffer files.

v0.8.0

29 May 17:42
733546c
Compare
Choose a tag to compare

Added

  • feat: add flexible toolchain settings in #723
  • feat: don't index .git and allure-results folders in #715
  • feat: support contract Contract.toCell/toSlice from Tact 1.6.11 and Contract.fromCell/fromSlice from Tact 1.6.12 in #746
  • feat(documentation): show number in different number systems on hover in #684
  • feat(documentation): support constant values for message opcodes in #677
  • feat(inspections): add CanBeInline inspection and optimize find references in #691
  • feat(inspections): add DeprecatedSymbolUsage inspection in #690
  • feat(inspections): add MissedMembersInContract inspection with quickfix to implement trait in #686
  • feat(inspections): add NamingConvention inspection in #701
  • feat(inspections): add OptimalMathFunctions inspection in #692
  • feat(inspections): more stable results for Tact compiler and Misti inspections, enable Tact compiler linting by default in #675
  • feat(lenses): add lenses for messages with received and sent count in #733
  • feat(references/resolve): support go-to-references for TL-B types and support multi-declarations in #744
  • feat(renaming): rename import on file rename or move in #698
  • feat(tlb): add TL-B basic highlighting in #666
  • feat(tlb): add basic highlight TL-B code blocks inside Tact comments in #670
  • feat(tlb): add initial completion for declarations, parameters, fields and builtin types in #740
  • feat(tlb): add tree-sitter grammar for TL-B in #669
  • feat(tlb): better highlighting in #741
  • feat(tlb): support document symbols for TL-B in #739
  • feat(tlb/resolving): initial resolving for declarations, fields and type parameters in #674
  • feat(vscode): add intention to extract symbol to new file in #700
  • feat(vscode): automatically disassemble BoC file if changed in #699
  • feat(vscode): show gas consumption for selected instructions in #702
  • feat(vscode): show toolchain information on status bar widget hover in #722
  • feat(vscode): type-based search in #706
  • feat(icons): update icons in #679

Fixes

  • fix(package.json): fix URL to GitHub repository and normalize bin path in #663
  • fix(package.server.json): add publishConfig entry for public publishing in #664
  • fix(completion): add space after name in struct instance completion in #687
  • fix(inspection): fix MissedMembersInContract inspection message in #689
  • fix(inspections): don't suggest inline for assembly functions in #704
  • fix(vscode): remove duplicate command in #705
  • fix(inspections): allow _foo as valid camel case for field names in #707
  • fix(intentions): fix AddImport intention in #729
  • fix(documentation): fix calculation of body length in #730
  • fix: delay file open event until indexing is in progress in #747

Internal

  • feat(ci): move tree-sitter grammars to separate job in #718
  • feat(tests): add filtering for e2e tests and fix e2e tests on windows in #693
  • feat(tests): support multi files tests in #694
  • feat(tests): add code lenses tests in #735
  • feat(tests): add tests for document symbols in #696
  • feat(tests): add tests for type definition in #717
  • refactor: move *-language-configuration.json to client/src/languages in #660
  • refactor: move syntaxes to client/ and stubs to server/ in #709
  • refactor: split languages to separate folders inside server/src/languages in #710
  • refactor: move tree-sitter grammars to language-specific folders in #711
  • refactor: move more files to tact/ folder in #712
  • refactor: simplify and improve server.ts in #713
  • refactor: extract hover documentation and go-to-definitions to language-specific files in #714
  • refactor: better PSI structure for other languages in #725
  • refactor: move more features from server.ts in #726
  • refactor: move more features from server.ts in #727

Other

  • chore: mention Open VSIX in CONTRIBUTING.md in #662
  • chore: update extension logo with new Tact logo in #681
  • chore: add download badges in #683
  • chore: add yarn test:e2e:coverage to CONTRIBUTING.md in #697
  • chore: specify authors and license for source code files in #708
  • chore: add more features to README.md in #731
  • chore: describe more features in README.md in #745

v0.7.1

24 May 06:48
74deb9c
Compare
Choose a tag to compare

Added

  • feat(inspection): add inspection for misspelled initOf and codeOf in #627
  • feat(vscode-package): improve VS Code packaging in #634
  • feat(asm): use the latest TVM specification with fixes in #646
  • feat(stubs): use stdlib stubs.tact if present with fallback to LS stubs.tact in #647

Fixes

  • fix(grammar): support continuation names as method ID variables by @novusnota in #595
  • fix(signature-help): more accurate signature info target selection in #624
  • fix(inspections): don't warn to override/abstract/virtual methods in CanBeStandaloneFunction inspection in #625
  • fix(completion): add contract types to a completion list as well in #626
  • fix(documentation): fix TL-B type for the optional struct / message field in #628
  • fix(rename): support rename when the whole name is selected in #629
  • fix(resolving): search BaseTrait only in stdlib in #630
  • fix(inspections): don't send inspections again if compiler or misti didn't find any issues in #631
  • fix(tlb): fix TL-B for fields with "as remaining" in #640
  • fix(vscode): fix .boc file focus issue in #648
  • fix(rename): fix rename of variable in a short struct instance in #649
  • fix(inlay-hints/documentation): don't show size if it may be incorrect in #650
  • fix: don't run inspections and inlay-hints before full initialization in #651
  • fix: take into account an import tree, make "NotImportedSymbolInspection" warning and improved overall performance in #652

Other

  • fix: set "@textlint/markdown-to-ast": "14.4.2" in #635
  • feat(ci): run unit tests on CI in #645
  • feat(dev-docs): add CONTRIBUTING.md in #641
  • chore: enforce interface/type fields immutability in #623
  • chore: pack LS as NPM package in #654
  • chore: add installation via NPM section in #655
  • chore: mention LLMs documentation files in README-extension.md in #642
  • chore: backport formatter fixes in #644

v0.7.0

01 May 08:46
5f41fc3
Compare
Choose a tag to compare

This release adds support for Tact 1.6.7 and fixes path issues on Windows.

Improvements

  • feat(inspection): don't show "unused" hints for identifiers starting with _ by @novusnota in #604
  • feat: support Message.opcode() method in #606
  • feat: support map literals in #605

Fixes

  • fix(formatter): trailing comments after the last struct field by @novusnota in #602
  • fix: fix path resolution for paths with special characters like @ or > in #609
  • chore(syntaxes): sync Tact grammar with upstream by @novusnota in #560
  • chore: port formatter changes from Tact (map literals and augmented assign) in #607
  • chore: clarify in the description that this is an official extension in #608

Other

  • refactor: use message opcode instead of message ID in #610

v0.6.0

21 Apr 18:46
94cee62
Compare
Choose a tag to compare

Improvements

  • feat: show hint with message ID inside message declaration in #547
  • feat(inspections): add ImplicitMessageId inspection in #550
  • feat(inlay-hints): add inlay hint for binary receivers in #551
  • feat(inspection): add rewrite inspections for self.forward, self.reply, and self.notify in #555
  • feat(documentation): expand small functions (<= 2 lines) in hover documentation in #556
  • feat(vscode): support TASM language with highlighting in #557
  • feat(documentation): re-organize struct and message struct hover info by @novusnota in #568
  • feat(documentation): enable semantic tokens and better hover doc highlighting for sublime text by @novusnota in #580

Fixes

  • fix(find-usages): correctly determine whether some reference is a reference to target declaration and not another in #548
  • fix(documentation): show lazy_deployment_bit in TL-B for contracts in #549
  • fix(inspection): don't require optional type fields in struct instance in #553
  • fix(inspections): augmented assignment for non-commutative operations by @anton-trunov in #587
  • fix(inlay-hints): do not show evaluation result for incorrect ascii() usage by @anton-trunov in #591

v0.5.1

02 Apr 17:13
87cb3e7
Compare
Choose a tag to compare
  • Fixed method ID calculation in #539

v0.5.0

31 Mar 19:50
400e7a2
Compare
Choose a tag to compare

Improvements

  • feat(inlay-hints): show evaluation result for ascii() builtin function in #502
  • feat(inlay-hints): setting to disable all inlay-hints at once in #519
  • feat(inlay-hints): show evaluation result for crc32() builtin function in #508
  • feat(inspections): add inspection for a = a + 10 with quickfix to a += 10 in #507
  • feat(inspections): add an inspection for a function that does not use contract state and can be made standalone in #509
  • feat(inspections): add an inspection for fallback string receiver with branching for message text in #512
  • feat(inspections): add an inspection for implicitly discarded return value of a function call in #514
  • feat(documentation): show TL-B definition for structs, messages and contracts in documentation in #521
  • feat(documentation): add a setting to disable keyword documentation in #523
  • feat(documentation): hover docs for built-in keywords by @novusnota in #493

Fixed

  • fix(documentation): dump() cannot be applied to values of StringBuilder type by @novusnota in #475
  • fix(indexing): fix "URL.parse is not a function" error in #478
  • fix(resolving): correctly resolve sha256 with String argument in #498
  • fix(hover): don't process doc comments content in #500
  • fix(hover): don't process inline comments of previous declaration as doc comment in #503
  • fix(completion): don't add all methods to override completion in #504
  • fix(completion): show TL-B type completion in structs, messages and traits in #506
  • fix(inspections): better heuristic for unused imports in #501
  • fix(inspections): StructInitializationInspection now correctly resolves struct/message declarations in #510
  • fix(inlay-hints): don't show type hint for discard variable in #516

v0.4.1

20 Mar 09:29
0e5f2b7
Compare
Choose a tag to compare
  • fix(indexing): search of stdlib for new projects, and Tact toolchain in Tact compiler repo in #470
  • fix(documentation): grammar and spelling, ordering, links in #465

v0.4.0

10 Mar 18:56
274420f
Compare
Choose a tag to compare

Improvements

  • feat(completion): add completion variants for TL-B types for fields in #455
  • feat(resolving): initial implementation of import-based resolving in #445
  • feat(resolving): prefer local definition when find definitions in #439
  • feat(indexing): improve indexes logic in #443
  • feat(definition): prefer project definitions over stdlib one in #441
  • feat(inlay-hints): don't show parameter hints for call argument with matching name in #425
  • feat(tests): better tests + fixes in #383
  • feat(vscode): add problem matcher to highlight errors after build in #437
  • feat(vscode): add command to run Misti on a project with installation if not installed in #456
  • feat(all): initial support for contract parameters in #374
  • feat(stubs): add doc comments for fromSlice and fromCell functions in #420
  • feat(documentation): add exit code documentation in #400
  • feat(documentation): better documentation for assembly instructions in #459
  • feat(foldings): add folding for Fift blocks in #379
  • feat(inspections): rewrite send() with message() or deploy() in #405
  • feat(inspections): rewrite context().sender with sender() in #404
  • feat(inspections): add inspection for Deployable with quickfix in #457
  • feat(intentions/inspections): add inspection and quickfix for text receivers in #396
  • feat(intentions): support init(init: Init) pattern in #452

Fixed

  • fix(indexing): fix indexing on Windows in #436
  • fix(building): fix constructor modifier in #442
  • fix(document-symbols): document symbols now return whole range of declaration, not only name in #454
  • fix(inlay-hints): don't show size hint for toCellI() in method chain in #432
  • fix(foldings): add missing folding for messages in #428
  • fix(manual): fix link to issues in #427
  • fix(semantic-tokens): fix highlighting for some keywords in doc comments in #424
  • fix(vscode): don't cache disasm for BoC in #422
  • fix(signature-help): fix signature help for initOf for contracts with parameters in #410
  • fix(vscode): fix type of command, add selection of expression on a result, fix type of storage parameter in #406
  • fix(go-to-references): fix use scope for contract parameters in #401
  • fix(tests): fix tests in #382
  • fix(completion): fix completion for types of fields in #381
  • fix(completion): don't show getter completion for incomplete field in #433
  • fix(inspections): run inspections only on Tact files in #378
  • fix(inspections): run some inspections only on Tact 1.6 in #458
  • fix(documentation): correctly show T? type in #380
  • fix(documentation): fix contract parameters in contract documentation in #426
  • fix(documentation/inlay-hints): fix size calculation in #377

Other

  • test: add folding tests in #414
  • chore: fix grammar in README.md in #408
  • chore: better README.md in #397
  • chore: add image to readme in #402