Releases: cushycush/qml-language-server
Releases · cushycush/qml-language-server
Release list
v1.7.0
What's Changed
- Document links for import statements by @cushycush in #16
- Cross-file go-to-definition for workspace components by @cushycush in #17
- Type inference for id member expressions in completion by @cushycush in #18
- docs: README updates for id-member completion, cross-file go-to-def, and document links by @cushycush in #19
Full Changelog: v1.6.0...v1.7.0
v1.6.0
What's Changed
- Fix RELEASE_PAT: use token param instead of env by @cushycush in #14
- Signature help from qmltypes, range formatting, folding ranges (1.6.0) by @cushycush in #13
- Fix AUR workflow: create builder user for makepkg by @cushycush in #15
Full Changelog: v1.5.0...v1.6.0
v1.5.0
Walk prototype chain for inherited completions, drop ResolveProvider,…
v1.4.0
Parse qmltypes/qmldir for full Qt module type discovery (1.4.0) (#7) * feat(qmltypes): add data structures for parsed qmltypes and qmldir * feat(qmltypes): recursive descent parser for .qmltypes DSL Tokenizer and parser that handles Module, Component, Property, Signal, Method, Enum, and Parameter blocks. Supports both Qt5 (object-map) and Qt6 (string-array) enum value formats, dotted C++ type names, and the import preamble. Includes cppTypeToQML for mapping C++ types to QML-visible names. * feat(qmltypes): add qmldir file parser * feat(qmltypes): discover Qt modules and register types at startup Walks /usr/lib/qt6/qml, /usr/lib/qt/qml, and QML_IMPORT_PATH for qmldir files, parses their referenced .qmltypes, and registers types, properties, signals, methods, and enums into the symbol registry. Hard-coded entries are never overwritten — qmltypes augments them. Discovery runs in a goroutine during Initialize. * test(qmltypes): cover parser, qmldir, exports, and real Qt6 files Fixes the identifier lexer to only consume :: (C++ scope operator) and not single : (attribute separator). Adds tests for component attributes, properties, signals, methods, enums (Qt5 and Qt6 format), C++ type mapping, export parsing, qmldir parsing, and an integration test against the real Qt6 QtQuick module. * docs: cut 1.4.0 with qmltypes module discovery * dist: add AUR PKGBUILDs for -bin and -git packages * ci: auto-update AUR -bin package on release Triggers on non-prerelease GitHub releases. Downloads the Linux zip assets, computes sha256sums, updates the PKGBUILD with the new version and checksums, generates .SRCINFO, and pushes to AUR. Requires AUR_SSH_KEY secret. * fix: remove unused lookupPrototype and qtVersionFromExport * docs: update README with new features and AUR installation * docs: restore full blink.cmp config in README * docs: simplify blink.cmp config to essentials
v1.3.1
Fix redundant inlay hints on property bindings (1.3.1) (#6) * fix(inlay-hints): only show parameter hints on function call arguments Inlay hints previously echoed the property name on every ui_binding, which was redundant since the name is already visible in the source. Now hints are only emitted for call-expression arguments whose callee is in the known signature registry (Qt.rect, console.log, etc.), showing the parameter name being filled in. * docs: cut 1.3.1 with inlay hints fix
v1.3.0
Document formatting (1.3.0) (#5) * feat(formatting): re-indent + trim whitespace pass for textDocument/formatting Whitespace-only formatter that walks the document tracking string and comment state so braces inside those don't move the indent depth. Each line is re-indented to its brace depth, trailing whitespace is trimmed, runs of blank lines collapse to one, and the file is given exactly one trailing newline. Honours the client's TabSize and InsertSpaces options. Token content is never modified — broken docs format the parts that parse cleanly. * feat(formatting): advertise DocumentFormattingProvider in capabilities * test(formatting): cover indentation, trim, blanks, tabs, strings, finalize * docs: cut 1.3.0 with document formatting
v1.2.0
Workspace symbol search (1.2.0) (#4) * feat(workspace-symbol): add workspace/symbol search backed by index * feat(workspace-symbol): advertise WorkspaceSymbolProvider in capabilities * test(workspace-symbol): cover empty query, substring filter, case-insensitivity * docs: cut 1.2.0 with workspace symbol search
v1.1.0
Semantic tokens (1.1.0) (#3) * feat(semantic-tokens): emit tokens from the tree-sitter parse tree Adds a textDocument/semanticTokens/full handler that walks the parse tree and emits tokens for imports (namespace + import keyword), object types, property and binding names, signal handlers (event), required properties, comments, strings, numbers, regexes, and keyword literals. Multi-line strings/comments are split per line so clients render every line. Tokens are delta-encoded per the LSP spec. * feat(semantic-tokens): advertise SemanticTokensProvider in capabilities * test(semantic-tokens): cover legend, delta encoding, and token coverage * docs: cut 1.1.0 with semantic tokens, tests, and DocumentSymbol fix
v1.0.2
v1.0.2 — Type-aware property completions
- Property completions now appear inside any `Foo { ... }` body (blank
line, mid-typing, and tree-sitter-collapsed-to-ERROR cases handled
via brace-balance fallback).
- Per-type property tables for Window, Text, Rectangle, Image,
MouseArea, AbstractButton, Flickable, ListView, GridView, Loader,
Timer, Column, Row, Grid, with inheritance (e.g. ApplicationWindow
picks up Window's properties).