Skip to content

Releases: FPtje/GLuaFixer

1.24.1

21 Feb 16:51
Compare
Choose a tag to compare

Fixes #144, where pretty-printing a(function() end) would cause glualint to print <<loop>> and exit without pretty printing the code.

1.24.0

08 Jan 17:01
Compare
Choose a tag to compare
  • Add: lint_maxLineLength config option. When set to anything greater than 0, it will warn for every line that is longer than the given length. Use this to enforce a line length limit

1.23.0

21 Nov 19:29
Compare
Choose a tag to compare

This release contains no new features in the executable, but it does come with a newly supported platform! Aarch64-linux!

This is what Raspberry Pis and similar embedded systems run.

Note the naming of the two Linux releases:

  • x86_64-linux - For most computers that just run Linux. If you're in doubt, choose this one
  • aarch64-linux - For embedded Linux systems, such as the Raspberry Pi, or other systems that run Linux on an ARM64 platform.

1.22.0

05 Nov 17:14
Compare
Choose a tag to compare
  • Add: When selecting the GitHub output format, also print in the standard output format. #139
  • Add: lint_spaceAfterComma and lint_spaceBeforeComma. Disabled by default. #138
  • Fix lint_ignoreFiles not ignoring *.lua: #136
  • Rename (lint|prettyprint)_spaceAfter... to (lint|prettyprint)_spaceBetween... for brackets, parentheses and braces. Note that the old options still work. #137
  • Fix warning message being wrong for spaces before end brackets. It requested the removal of a space after the bracket instead of before. #137

1.21.1

23 Jul 12:09
Compare
Choose a tag to compare

Fix another pretty print bug where the following would be pretty printed to some syntactically invalid code:

local table = {
    function()
    return nil -- comment
  end
}

1.21.0

01 May 12:49
Compare
Choose a tag to compare

This release comes with some new features:

  • Linting the adding of removing spaces between parentheses, braces and brackets. E.g. it will warn you for print( 1 ) to turn it into print(1). Note that this depends on the prettyprint_spaceAfterParens and prettyprint_spaceEmptyParens options. If those are set such that you want spaces, then it will actually warn you to turn print(1) into print( 1 ).

    Thanks to @wrefgtzweve in #126 for the idea!

  • @brandonsturgeon made an improvement in the Github formatting in #122, making warnings and error messages appear below the affected code, rather than in between.

  • Thanks also to @brandonsturgeon, GitHub will now show a short title of an issue in GitHub actions. See #124

1.20.1

01 Apr 17:10
Compare
Choose a tag to compare

This release consists of a change in the executable for Linux. This is now a static executable, rather than a dynamic one. This has some benefits:

  • Works on more Linux distributions
  • No more hassle with fixing interpreter paths
  • Faster startup time of the executable

For Windows and OSX the releases remain exactly the same.

1.20.0

05 Mar 21:05
Compare
Choose a tag to compare

This exciting new release brings OSX support! This has been requested several times in the past, so I've given in and added a Semaphore CI job to automatically build it.

I still don't have an OSX device, but the Semaphore job runs the executable, so it should work.

Other changes:

  • Removed the code that rewrote legacy DarkRP code, it bugged out. See #117
  • Fixed a bug in the pretty printer that would generate invalid code: #118

1.19.1

07 Jan 20:44
Compare
Choose a tag to compare

Update 01-03-2022

I have attempted to create an OSX release. Please tell me if it works.

Thanks to @cannon, this release comes with an amazing new feature: automatically removing redundant parameters. There are three new options that control how this works:

  • prettyprint_removeRedundantParens: On by default. Whether to remove unnecessary parentheses (e.g. x = (1 + 2), if ((1) + (2) == 3) then)
  • prettyprint_minimizeParens: Off by default. Removes parentheses which are unnecessary due to operator precedence (e.g. (1 * 2) + 3). This option also removes redundant parameters, regardless of whether prettyprint_removeRedundantParens is enabled.
  • prettyprint_assumeOperatorAssociativity: On by default. Only takes effect when prettyprint_minimizeParens is true. It decides whether parameters can be removed when the involved operators are assumed associative. Examples: a * (b * c), a and (b and c). This assumption is generally true, except for floating point numbers, where removing parentheses can actually change the outcome of the calculation. See Stack Overflow. This option is set to true by default, because the expectation is that this will not be problematic even if it affects your code. In a very rare case, this might cause trouble, though. You might want to consider turning this off if you have floating point code that heavily relies on evaluation order. You may also choose to leave this option on and ensure evaluation order by explicitly setting variables.

Note: This was originally supposed to be in release 1.19.0, but it turned out my other device had some unpushed commits. This release replaces 1.19.0.

1.18.3

25 Jul 10:57
Compare
Choose a tag to compare

Made warning for using gotos as identifier more clear.
Add lint_goto_identifier config option to disable that warning

Fixes #108