UNPKG

coffeelint

Version:
46 lines (37 loc) 1.51 kB
module.exports = class NoImplicitParens rule: name: 'no_implicit_parens' strict : true level : 'ignore' message : 'Implicit parens are forbidden' description: """ This rule prohibits implicit parens on function calls. <pre> <code># Some folks don't like this style of coding. myFunction a, b, c # And would rather it always be written like this: myFunction(a, b, c) </code> </pre> Implicit parens are permitted by default, since their use is idiomatic CoffeeScript. """ tokens: ['CALL_END'] lintToken : (token, tokenApi) -> if token.generated unless tokenApi.config[@rule.name].strict is false return true else # If strict mode is turned off it allows implicit parens when # the expression is spread over multiple lines. i = -1 loop t = tokenApi.peek(i) if not t? or (t[0] is 'CALL_START' and t.generated) return true # If we have not found a CALL_START token that is generated, # and we've moved into a new line, this is fine and should # just return. if t[2].first_line isnt token[2].first_line return null i -= 1