mpeterv / luacheck

A tool for linting and static analysis of Lua code.
MIT License
1.92k stars 322 forks source link

Updated Löve standard to 11.1 #178

Closed giann closed 6 years ago

giann commented 6 years ago

See https://love2d.org/wiki/11.0

mpeterv commented 6 years ago

Thank you! Just in case, @Positive07 could you take a look at this?

codecov-io commented 6 years ago

Codecov Report

Merging #178 into master will increase coverage by <.01%. The diff coverage is 100%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #178      +/-   ##
==========================================
+ Coverage   97.85%   97.85%   +<.01%     
==========================================
  Files          45       45              
  Lines        5212     5222      +10     
==========================================
+ Hits         5100     5110      +10     
  Misses        112      112
Impacted Files Coverage Δ
src/luacheck/love_standard.lua 100% <100%> (ø) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 791427b...b47d7e8. Read the comment docs.

pablomayobre commented 6 years ago

That's a lot of stuff... there is also other "not so official" stuff that may be worth having in the standard like love._os, love._version, love._version_codename, love._version_major, love._version_minor and love._version_revision strings, and the love.createhandlers function

Also nitpicking, the engine name is LÖVE, love2d is just the domain (since love.org wasn't available), and the version is 11.0/11.1 not 0.11.0 nor 0.11.1, the version format was changed for this release to display the stability of the engine. 0.11.0 generally refers to per-releases between 0.10.2 and 11.0

giann commented 6 years ago

Thanks for the review. @Positive07 should we remove things ? What of people using earlier version of Löve ?

mpeterv commented 6 years ago

@Positive07 feel free to make any decisions on this. To me it seems that very few fields have been removed but I don't know how often the were used and how common it is for LÖVE users to stay with an older version.

pablomayobre commented 6 years ago

My choice is: Remove those things I pointed.

Staying with older versions is generally advised against... an advantage of luacheck is that you can always provide your own standard, and the 0.10.2 standard exists as a file already, which means you can always grab that standard file and use it. Alternatively you can add the missing features as an extra smaller standard, or just ignore those lines.

So yeah, moving the standard to 11.1 and removing anything that was removed is a sane decision.

On another note love-api remove functions that were removed, and instead has tagged releases for each LÖVE version (I could probably do the same on my luacheck-love repo)

pablomayobre commented 6 years ago

It looks great, I would call this ready to merge (double checked everything).

What do you say about this stuff @giann shall it be added?

There is also other "not so official" stuff that may be worth having in the standard like love._os, love._version, love._version_codename, love._version_major, love._version_minor and love._version_revision strings, and the love.createhandlers function

giann commented 6 years ago

Are those there since 11.0 or before ?

mpeterv commented 6 years ago

@giann thanks for the patch and @Positive07 thanks for the review! Feel free to open another PR if you decide to add these unofficial fields.

pablomayobre commented 6 years ago

@mpeterv No problem! Anytime, I'm fine with reviewing changes to the standard

@giann They are there since way way way before... love._os is what was used before love.system.getOS was implemented, and the version strings were used before love.getVersion came to be...

love.createhandlers is used (and declared) in boot.lua the file that starts the execution of a LÖVE program, it's a function that defines all the basic love.handlers and exists since love.event came to be.