- Update to version 2.0.2:
* Fixed regression where configuration present in current working directory
not used when formatting from stdin and no --stdin-filepath is provided
* Luau: fixed incorrect indentation for leading token in union / intersection
when hanging
* Verbose mode will now show resolved options
* Fixed CLI overrides not applying on top of a resolved stylua.toml file
* 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 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 :🏷️: and Luau type assertion
operator ::. This option allows choosing what syntax to parse, to handle
these conflicts.
* Added configuration option space_after_function_names to specify whether
to include a space between a function name and parentheses
* Update internal Lua parser version (full-moon) to v1.1.0. This includes
parser performance improvements.
* 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
OBS-URL: https://build.opensuse.org/request/show/1230949
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/StyLua?expand=0&rev=16
* Fixed regression where configuration present in current working directory
not used when formatting from stdin and no --stdin-filepath is provided
* Luau: fixed incorrect indentation for leading token in union / intersection
when hanging
* Verbose mode will now show resolved options
* Fixed CLI overrides not applying on top of a resolved stylua.toml file
* 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 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 :🏷️: and Luau type assertion
operator ::. This option allows choosing what syntax to parse, to handle
these conflicts.
* Added configuration option space_after_function_names to specify whether
to include a space between a function name and parentheses
* Update internal Lua parser version (full-moon) to v1.1.0. This includes
parser performance improvements.
* 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
OBS-URL: https://build.opensuse.org/package/show/devel:languages:lua/StyLua?expand=0&rev=43
- Update to version 0.20.0:
### Changed
- Files excluded by git (via .gitignore or global git configuration), as well as in an .ignore file
(used by ripgrep and The Silver Searcher) will now also be ignored by StyLua
(as if they were all .styluaignore files).
### Fixed
* General
- The CLI tool will now only write files if the contents differ, and not modify the file if there
is no change after formatting
- Fixed function body parentheses being placed on multiple lines unnecessarily when there are no parameters
- Fixed directory paths w/o globs in .styluaignore not matching when using --respect-ignores
* Luau
- Fixed handling of floor division (//) syntax when only Luau command line flag is enabled
- Fixed missing space when table is inside of Luau interpolated string expression ({{ is invalid syntax)
- Fixed parentheses around a Luau compound type inside of a type table indexer being removed causing a syntax error
OBS-URL: https://build.opensuse.org/request/show/1154441
OBS-URL: https://build.opensuse.org/package/show/devel:languages:lua/StyLua?expand=0&rev=38
### Added
- Added flag `--respect-ignores`. By default, files explicitly passed
to stylua (e.g. `stylua foo.lua`) will always be formatted, regardless of
whether the file is ignored. Enabling this flag will consider `.styluaignore`
or glob matches before formatting the file.
- Note: for backwards compatibility reasons, formatting via stdin always
respects ignores. This behaviour will change in the next major release
### Changed
- Updated parser crate with following changes:
- Support Luau floor division (`//`)
- Fix Luau string interpolation parsing
- Fix Luau `\z` escape parsing
- Simplified access and modification patterns for StyLua configuration. You
can now access the properties directly
- **Deprecated:** the old access patterns of `.property()` and
`.with_property()` are now deprecated
- **Breaking Change (WASM):** due to JS/TS lack of differentiation
between `.property` / `.property()` implementation, the `.property()`
functions were removed from WASM output.
- Multiline comments before commas will now remain in place and not move
to after the comma. This is to support type-assertions-via-comments that
is commonly used by some language servers.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:lua/StyLua?expand=0&rev=36
* Fixed LuaJIT suffixes LL/ULL causing a panic when running in --verify mode
* Fixed incorrect formatting of conditionals when collapse_simple_statement is enabled and the block begins with an empty line
* Fixed formatting of dot function call chains with comment between dot and names
OBS-URL: https://build.opensuse.org/package/show/devel:languages:lua/StyLua?expand=0&rev=34
- Update to version 0.18.0:
* Multiline ignores (-- stylua: ignore start / -- stylua: ignore end) will now work within table fields
* Added option "Input" to call_parentheses setting, where call parentheses are retained based on their presence in the original input code.
* Improved heuristics around Luau type excess parentheses removal, so unnecessary parentheses around types are removed in more locations
* Function calls are now formatted onto multiple lines if the opening brace { of a multiline table forces one of the lines over width
* Fixed missing option --sort-requires to enable sort requires on the command line
* Fixed parentheses removed around Luau optional type (B?) causing syntax errors when present in an intersection A & (B?)
* Fixed comments lost when parentheses removed around Luau types
* Fixed race condition where if a file is passed more than once as an argument to format, then it could potentially be wiped completely
(for example, if an ancestor directory is passed and recursively searched, as well as the file itself)
OBS-URL: https://build.opensuse.org/request/show/1093613
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/StyLua?expand=0&rev=9
* Multiline ignores (-- stylua: ignore start / -- stylua: ignore end) will now work within table fields
* Added option "Input" to call_parentheses setting, where call parentheses are retained based on their presence in the original input code.
* Improved heuristics around Luau type excess parentheses removal, so unnecessary parentheses around types are removed in more locations
* Function calls are now formatted onto multiple lines if the opening brace { of a multiline table forces one of the lines over width
* Fixed missing option --sort-requires to enable sort requires on the command line
* Fixed parentheses removed around Luau optional type (B?) causing syntax errors when present in an intersection A & (B?)
* Fixed comments lost when parentheses removed around Luau types
* Fixed race condition where if a file is passed more than once as an argument to format, then it could potentially be wiped completely
(for example, if an ancestor directory is passed and recursively searched, as well as the file itself)
OBS-URL: https://build.opensuse.org/package/show/devel:languages:lua/StyLua?expand=0&rev=28
* Bumped internal parser dependency which should fix parsing problems for comments with Chinese characters, and multiline string escapes
* Fixed comments in punctuated lists for return statements or assignments being incorrectly formatted leading to syntax errors
* Fixed line endings not being correctly formatted in multiline string literals and comments
OBS-URL: https://build.opensuse.org/package/show/devel:languages:lua/StyLua?expand=0&rev=26
* General
- Fixed mistransformation of a function argument in a multilined function call when the argument contains a comment, causing a syntax error. We now attempt to hang the expression (#648)
* Luau
- Fixed verify AST flagging a false positive for parentheses removed around a Luau type (#643)
OBS-URL: https://build.opensuse.org/package/show/devel:languages:lua/StyLua?expand=0&rev=13
* Fixed an anonymous function assignment local x = function() being unnecessarily indented if the function body contains a comment (#627)
* Fixed malformed formatting when there is a newline between a return token and the expressions (#605)
* Fixed malformed formatting of multi-assignment or multi-returns where there is a comment within the expressions list (#637)
* Update internal parser:
- (lua52) Support Lua 5.2 fractional hexidecimal / hexidecimal with exponents (#621)
- (lua52) Support LuaJIT number suffixes LL/ULL/i (#621)
- (lua52) Support \z escape sequences in strings (#613)
- (luau) Support Luau string interpolation (#607)
* Several optimisations applied to formatting functions to reduce time taken. Files which previously did not terminate (6MB+) now finish in reasonable time. (#591)
* Assignments of the form local name = function will no longer hang at the equals token, and instead force parameters multiline, to reduce unnecessary indentation. (#595)
* Unnecessary parentheses around Luau types will now be removed (#611)
* Collapse a body containing only a goto statement when collapse_simple_statement is set (#618)
OBS-URL: https://build.opensuse.org/package/show/devel:languages:lua/StyLua?expand=0&rev=9
* Fixed necessary parentheses removed in (-X) ^ Y causing change in semantics
* Take into account function token size when formatting an anonymous function function() end (particularly relevant when collapsing simple statements)
* Support hanging inside of Luau type arrays { T } to fix formatting issues when comments are present
OBS-URL: https://build.opensuse.org/package/show/devel:languages:lua/StyLua?expand=0&rev=6