Releases: vlang/v-analyzer
v-analyzer development build
Generated on 2024-12-13 08:45:40 UTC from commit bc2aa29.
0.0.5 - Official fifth public release
What is changed (compared to 0.0.4-beta.1
)
New features and enhancements:
- analyzer: add module index paths and wrapper module path as code block (#102)
- analyzer: add
pub
access modifier to publicly used struct fields (#85) - analyzer: create vtmp directory for check-updates/up commands (#125)
- analyzer: fix anonymous functions are self-invoking type mismatch (#48)
- analyzer: fix build for paths with spaces (#83)
- analyzer: Fix
code_description
(fixes zed-v) (#119) - analyzer: fix doc_comment_extractor (#50)
- analyzer: fix vmodules_root check in setup_vpaths (#95)
- analyzer: fix work progress shown as 0% when finishing indexing (#84)
- analyzer: improve setup, extend client and log messages (#100)
- analyzer: merge creation of vtmp directory for check-updates/up commands (#126)
- analyzer: move const used to download install.vsh script (#127)
- analyzer: reduce nesting in setup_toolchain
- analyzer: rework path handling to simplify and reduce load (#86)
- analyzer: simplify, improve completion context detection
- analyzer: simplify, remove unnecessary abstraction
- analyzer: update deprecated
- analyzer: update deprecated unix time access (#99)
- analyzer: use latest install script when updating (#81)
- analyzer: support shebang syntax (#34)
- analyzer: add inline struct field comments (#52)
- analyzer: use build version aware caching (#57)
- analyzer: update parser.c to align with the current development state (#13), fixes highlighting for code in between 2 block comments
- build: follow a default directory structure for V projects (#25)
- build: update install.vsh to make repeated usage of path expand fn obsolete (#24)
- install: add debug and dev binaries install (#60)
- install: update the
git clone
options for install.vsh - server: add
range_clause
highlight (#9) - tree_sitter: correctly recognize shebang (#26)
- tree_sitter: support
for mut is
clause (#77) - tree_sitter: support short lambda (#56)
- tree_sitter: detach shebang from comment (#32)
Fixes to existing features:
- fix: building of IndexingRoot.v
- fix: fix behaviour of pascal_case_to_snake_case after V commit 5329a0a67
- fix: fix goto definition for field names. (#135)
- fix: fix hanging on vfmt-ing large files on windows (#130)
- fix: fix install.vsh
- fix: fix module index by making sure to index also src/ and modules/ folders too (#138)
- fix: fix raw string with
\
(#64) - fix: fix wrong macos target in release CI (#139)
- fix: move tools/project-checker.v to its corresponding directory
- fix: remove obsolete v.mod file in metadata submod
- fix: resolve compiler complaints (#27)
- fix: restore
.v
extensions for metadata/stubs, add test (#74) - fix: src/analyzer/index/IndexingRoot.v
- fix: tree-sitter bindings examples, extend workflow to run examples
- fix: update npm
generate
script - fix: version regression after eae3f91, add test (#61)
- tree_sitter: fix issuse bug (#42)
- tree_sitter: fix parser error on unescaped dollar identifier in string literals, add test (#79)
- tree_sitter: fix parsing of nested comments, extend tests (#76)
- tree_sitter: fix qualified type (#8)
- tree_sitter: rewrite comment grammar, detach line- and block comments (#71)
- tree_sitter: add sum type to tree node (#87)
Documentation:
- docs: update the instructions to use the platform independent
v download
command (#140) - docs: update README.md with more detailed instructions about how to clone the project locally, fix
v check-md
warnings - docs: fix for Neovim LSP/Mason (#122)
- docs: fix typo in readme
- docs: make submodule info in readme better visible and its commands easier to copy
- docs: refine readme before a potential structural update
- docs: update readme badges (#38)
- docs: update README.md mason install instructions (from v-analyzer/v-analyzer#102)
- docs: update workflow path in tree-sitter badge
Others:
- chore: fix typos (#44)
- chore: format all the files with the new fmt (#112)
- chore: format all the files with the new vfmt (#117)
- chore: format all the files with the new vfmt (#120)
- chore: format all the files with the new vfmt (#121)
- chore: run
v fmt -w install.vsh
- chore: remove obsolete
.editorconfig
file in subdir, format - chore: remove useless
compiler_flag
and copy.exe
on windows (#108) - chore: run the linter CI for changes made to just .vsh files too
- chore: updare editors/code dependencies (#33)
- chore: update deprecated
index_last
tolast_index
(#72) - chore: update .gitattributes (#70)
- chore: update tree-sitter dependencies (#31)
- chore: use
.vv
extension for meta- and testdata files (#53) - ci: add concurrency config (#67)
- ci: add linting and formatting automation to tree-sitter_v (#68)
- ci: add retry to release/build-vscode (#54)
- ci: add step to verify code formatting (#66)
- ci: add
.vsix
artifacts to release asset uploads (#47) - ci: change
actions/upload-artifact@v3
toactions/upload-artifact@v4
(#20) - ci: change
vlang/[email protected]
tovlang/[email protected]
(#19) - ci: extend coverage in workflows
- ci: extend release workflow; automate assets uploads on tag creation (#39)
- ci: fix binary path in nightly ci (#36)
- ci: make sure that install_ci.yml is run for every change.
- ci: simplify, cover CI changes (#30)
- ci: use dedicated lint workflow to verify formatting (#97)
- refactor: decouple tree_sitter grammar and bindings (#37)
- refactor: simplify doc_comment_extractor, reduce load (#51)
- refactor: simplify grammar for
in/!in
andis/!is
- refactor: simplify path handling, remove unused utils (#40)
- refactor: store project metadata in metadata module (#59)
- refactor: update project structure (#69)
- tests: add test for the toolchain path setup (#96)
- tests: fix paths in bindings test, add test to workflow
- tests: fix analyzer test (#92)
- tests: update testdata (#45)
- tests: update tests to run with
v test
(#46) - tree_sitter: add .prettierignore (#89)
- tree_sitter: improve clarity and quality of grammar (#78)
- tree_sitter: improve selector expression grammar
- tree_sitter: minimal cleanup, add optional
;
support between statements in {} blocks (#88) - tree_sitter: Update dependencies (#18)
- tree_sitter: update tree-sitter-cli version to 0.22.2 (#41)
New Contributors:
- @ttytm made their first contribution in #13
- @get200 made their first contribution in #95
- @XiaoPangxie732 made their first contribution in #108
- @yuyi98 made their first contribution in #112
- @lv37 made their first contribution in #119
- @lcheylus made their first contribution in #125
- @phcreery made their first contribution in #130
- @tritao made their first contribution in #135
Full Changelog: https://github.com/vlang/v-analyzer/blob/main/CHANGELOG.md
Fourth public release 0.0.4-beta.1
Note: this is still a beta version, do expect bugs, and report them in
our issues tracker .
Syntax enhancements & bug fixes:
∙ Update comment rule (#5).
∙ Fix string interpolation.
∙ Fix comment string parse error (v-analyzer/v-analyzer#85).
∙ Fix attribute shading (#2).
∙ Fix parameters
.
∙ Fix the type descriptions in the primitives.v stub.
∙ Simplify handle_jsonrpc
(v-analyzer/v-analyzer#86).
VSCode Extension:
∙ Show the full path to the found v-analyzer binary,
when the VSCode extension runs its bootstrap, to make
diagnosing problems easier.
∙ Update the vscode extension package to vscode-v-analyzer-0.0.4.vsix
CI enhancements:
∙ Use ubuntu-20.04
for building the executables, to be compatible with more Linux distros.
∙ Use v build.vsh debug
for nightly releases, so the executables produce usable backtraces.
∙ Silence the nightly releases, simplify the .yml script that builds
them (v-analyzer/v-analyzer#83).
Others:
∙ Update README.md to also include instructions for the mason.nvim Neovim
package manager (v-analyzer/v-analyzer#90).
∙ Fix notices and warnings with latest V.
∙ Exclude .git/* and _test.v
files from indexing by the language server,
see (v-analyzer/v-analyzer#89).
∙ Use a git submodule for https://github.com/tree-sitter/tree-sitter.git, see
(v-analyzer/v-analyzer#81).
∙ Use gcc for building on windows (v-analyzer/v-analyzer#87).
∙ Update build scripts (v-analyzer/v-analyzer#84).
∙ Fix version comparison in install.vsh .
∙ Migrate from https://github.com/v-analyzer/v-analyzer/ to https://github.com/vlang/v-analyzer/ .