-- .luacheckrc
-- Defines globals to prevent false positives during the sacred linting process.
read_globals = {
  "require",
  "print",
  "io",
  "os",
  "string",
  "table",
  "math",
  "pcall",
  "setmetatable",
  "getmetatable",
  "ipairs",
  "pairs",
  "tonumber",
  "tostring",
  "type",
  "next",
  "rawget"
}

files['spec/'].read_globals = {
    'describe',
    'it',
    'assert', -- Busted extends the standard assert library.
    'before_each',
    'after_each',
    'setup',
    'teardown'
}

exclude_files = {
    "lib/",
    "src/"
}

-- Ignore specific, non-critical warnings by their numeric code.
-- 111: Line is too long
-- 211: Unused variable
-- 212: Unused argument
-- 213: Unused argument 'self'
-- 631: skyweave/utils.lua:187:121: line is too long (135 > 120)
ignore = {
    "111",
    "211",
    "212",
    "213",
    "631"
}