Skip to content

Instantly share code, notes, and snippets.

@oatmealine
Created October 30, 2021 03:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save oatmealine/6e2daa2b041541db1c80151dde7d64ce to your computer and use it in GitHub Desktop.
Save oatmealine/6e2daa2b041541db1c80151dde7d64ce to your computer and use it in GitHub Desktop.
Luacheck config meant to be used for Isaac modding
-- isaac-related luacheck config
-- please use luacheck while possible!!
-- if you disagree with any of the policies given here
-- id suggest you discuss it with the team before you change it
-- (unless its a global mistake or similar)
return {
-- isaac has lots of globals and doesnt just drop them into one Isaac
-- namespace like the name would imply. fun!
-- lets define em
-- all globals defined here are read-only:
read_globals = {
-- namespaces
'Isaac', 'Game', 'Input', 'MusicManager', 'SFXManager',
-- classes
'Vector', 'Font', 'Color', 'KColor', 'RNG', 'Sprite', 'EntityPtr', 'EntityRef', 'ProjectileParams',
-- global functions
'RegisterMod', 'Random', 'RandomVector', 'GetPtrHash', 'include',
-- enums
'ActionTriggers', 'ActiveSlot', 'BabySubType', 'BackdropType', 'BatterySubType', 'BedSubType', 'BombSubType', 'BombVariant', 'ButtonAction', 'CacheFlag', 'Card', 'Challenge', 'ChampionColor', 'ChestSubType', 'CoinSubType', 'DamageFlag', 'Difficulty', 'Direction', 'DoorSlot', 'DoorState', 'DoorVariant', 'EntityCollisionClass', 'EntityFlag', 'EntityGridCollisionClass', 'EntityPartition', 'GameStateFlag', 'GridCollisionClass', 'GridEntityType', 'GridRooms', 'HeartSubType', 'InputHook', 'ItemConfig', 'ItemPoolType', 'ItemType', 'Keyboard', 'KeySubType', 'LaserOffset', 'LevelCurse', 'LevelStage', 'LevelStateFlag', 'LocustSubtypes', 'ModCallbacks', 'Mouse', 'Music', 'NpcState', 'NullItemID', 'PickupPrice', 'PickupVariant', 'PillColor', 'PillEffect', 'PlayerForm', 'PlayerSpriteLayer', 'PlayerType', 'PoopPickupSubType', 'ProjectileFlags', 'ProjectileVariant', 'RoomShape', 'RoomTransitionAnim', 'RoomType', 'SackSubType', 'SeedEffect', 'SortingLayer', 'SoundEffect', 'StageType', 'TearFlags', 'TearVariant', 'UseFlag', 'WeaponType',
-- mod namespaces/globals
'EID', 'THSTR', 'TheStrangerRole'
},
-- globals defined here can be modified, added onto or removed
-- this is useful for mostly only enums
-- please only move globals down here if REALLY needed
globals = {
-- the mod global (ideally please keep this to ONE)
'YourModNameHereMod',
-- enums that are added onto
'CollectibleType', 'EntityType', 'FamiliarVariant', 'TrinketType', 'EffectVariant',
},
-- deal with the linter being whiny
ignore = {
-- disables "unused argument self" warnings
-- they pop up everywhere since its convinient to set callbacks
-- to use the : sugar syntax
-- and make them throw the mod variable into the void
--
-- tldr isaac modding is dumb
'212/.*self',
},
-- misc stuff
max_line_length = false, -- honestly? this sucks, but isaac modding man
-- we get shit like EntityType.ENTITY_TEAR and we have to
-- shove 10 of those in 1 function call
-- its not fun
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment