Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bump(stylua): update to v2 #7959

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

bump(stylua): update to v2 #7959

wants to merge 1 commit into from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Nov 17, 2024

This PR contains the following updates:

Package Update Change
stylua major v0.20.0 -> v2.0.1

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

johnnymorganz/stylua (stylua)

v2.0.1

Compare Source

[2.0.1] - 2024-11-18

Added
  • Verbose mode will now show resolved options
Fixed
  • Fixed CLI overrides not applying on top of a resolved stylua.toml file (#​925)

Full Changelog: JohnnyMorganz/StyLua@v2.0.0...v2.0.1

v2.0.0

Compare Source

StyLua has officially stabilised to v2.0.0. With this, we make a commitment that the formatting output is fairly stable across minor version bumps. More details: https://github.com/JohnnyMorganz/StyLua/issues/459

Key Changes

This release updates the internal Lua parser, bringing performance improvements and new Luau syntax features.

LuaJIT is now separate from Lua5.2, with its own feature flag.

Runtime syntax selection

By default, StyLua runs with a parser that is able to handle a variety of different Lua syntaxes at once, with a goal of being easily usable on different codebases. However, there are times where 2 different syntax definitions conflict, introducing ambiguity. For example, Lua 5.2 label syntax (::label::) conflicts with Luau's type assertion syntax (x :: number), and the latter ends up taking priority.

Now, you can select a particular style of syntax at runtime to deal with these ambiguities.

In your stylua.toml file, add:

syntax = "Lua52" # Possible values: All, Lua51, Lua52, Lua53, Lua54, LuaJIT, Luau

Or, specify --syntax lua52 on the command line.

The default remains "All" to handle all syntaxes as much as possible.

More details: https://github.com/JohnnyMorganz/StyLua/issues/407

Updated Configuration Resolution

Previously, StyLua would only search for a stylua.toml (or .stylua.toml) file in the directory where the binary was executed - the current working directory (or its ancestors, if --search-parent-directories is enabled). This means that any configuration files present in subdirectories are not taken into account.

This release changes config resolution to pick up stylua.toml files in subdirectories. Now, a file will format based on the stylua.toml configuration closest to its location. StyLua will search backwards from the file location to the current working directory for a configuration file. By default, searching will stop at the current working directory, however it will continue if --search-parent-directories is enabled.

More details: https://github.com/JohnnyMorganz/StyLua/pull/916


[2.0.0] - 2024-11-17

Breaking Changes
  • For automated downloaders: the legacy release artifacts stylua-win64.zip, stylua-linux.zip and stylua-macos.zip are no longer produced in GitHub releases, in favour of more specific names (e.g., stylua-windows-x86_64, stylua-linux-x86_64 and stylua-macos-x86_64).
  • --stdin-filepath no longer respects ignore files by default, in line with passing files directly to the command line. Now, stylua --stdin-filepath foo.lua - will still format the stdin even if foo.lua was in a .styluaignore file. Use --respect-ignores to preserve the original behaviour.
  • Removed deprecated access patterns on Config struct in stylua Rust library
Added
  • Added runtime syntax configuration option syntax to help handle ambiguous syntax. By default, StyLua builds and runs with a parser to handle all Lua versions. However, the syntax of some Lua versions conflict with eachother: most notably, Lua 5.2+ goto label syntax ::label:: and Luau type assertion operator ::. This option allows choosing what syntax to parse, to handle these conflicts. (#​407)
  • Added configuration option space_after_function_names to specify whether to include a space between a function name and parentheses (#​839)
Changed
  • Update internal Lua parser version (full-moon) to v1.1.0. This includes parser performance improvements. (#​854)
  • LuaJIT is now separated from Lua52, and is available in its own feature and syntax flag
  • .stylua.toml config resolution now supports looking up config files next to files being formatted, recursively going
    upwards until reaching the current working directory, then stopping (unless --search-parent-directories was specified).
    For example, for a file ./src/test.lua, executing stylua src/ will look for ./src/stylua.toml and then ./stylua.toml.
  • When collapse_simple_statement is enabled, if the enclosing block is a return, we will check if the return expression is "simple" (currently, not containing a function definition) (#​898)
Fixed
  • Fixed formatting of method call chain when there is a comment between the colon token : and the function name (#​890)
  • Removed accidental random print to stdout when formatting a return statement across multiple lines (#​879)
  • Luau: Fixed incorrect removal of semicolon before compound assignment with parentheses leading to ambiguous syntax error (#​885)
  • Luau: Fixed incorrect collapsing of union/intersection type value with comments in a type table leading to a syntax error (#​893)
  • Fixed --verify panicing due to overflow for very large Hex numbers (#​875, #​889)

What's Changed

New Contributors

Full Changelog: JohnnyMorganz/StyLua@v0.20.0...v2.0.0


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot enabled auto-merge (squash) November 17, 2024 18:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants