I really enjoy this plugin and the ease of which it brings my normal linting into sublime, however, the version of flake8 included in the repo has a couple significant bugs which have been addressed in later releases.
One of the biggest problems is that there are edge-cases with F821 where the error is not identified. Take the following SQLAlchemy snippet for example:
`
from sqlalchemy import Column
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class MyDataModel(Base):
dbfield = Column(String(10))
`
Actually running this will raise an error because String was not imported along with Column and thus isn't defined. Normally this should show up as an F821 from running flake8 but the version currently included in this plugin (flake8==2.5.2 at time of writing) does not identify it as an error. The latest version (flake8==3.0.4 at time of writing) does not exhibit this issue.
I really enjoy this plugin and the ease of which it brings my normal linting into sublime, however, the version of flake8 included in the repo has a couple significant bugs which have been addressed in later releases.
One of the biggest problems is that there are edge-cases with F821 where the error is not identified. Take the following SQLAlchemy snippet for example: ` from sqlalchemy import Column from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class MyDataModel(Base): dbfield = Column(String(10)) `
Actually running this will raise an error because
String
was not imported along withColumn
and thus isn't defined. Normally this should show up as an F821 from running flake8 but the version currently included in this plugin (flake8==2.5.2 at time of writing) does not identify it as an error. The latest version (flake8==3.0.4 at time of writing) does not exhibit this issue.