Releases: tact-lang/tact-language-server
Releases · tact-lang/tact-language-server
Nightly Build v0.8.1
🌙 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
v0.8.0
Added
- feat: add flexible toolchain settings in #723
- feat: don't index
.git
andallure-results
folders in #715 - feat: support contract
Contract.toCell/toSlice
from Tact 1.6.11 andContract.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
toclient/src/languages
in #660 - refactor: move syntaxes to
client/
and stubs toserver/
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
Added
- feat(inspection): add inspection for misspelled
initOf
andcodeOf
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
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 ofmessage ID
in #610
v0.6.0
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
, andself.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
v0.5.0
- Formatter in #476
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 toa += 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 ofStringBuilder
type by @novusnota in #475 - fix(indexing): fix "URL.parse is not a function" error in #478
- fix(resolving): correctly resolve
sha256
withString
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
v0.4.0
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
andfromCell
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()
withmessage()
ordeploy()
in #405 - feat(inspections): rewrite
context().sender
withsender()
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