Skip to content

No more compatible with Sublime Text 2? #14

Open

Description

@Baloobear

Hi,

I installed this plugin with the Package Control of ST2, but even after a restart of ST2 the plugin isn't available.

A look at the ST2 console told me the following:

Reloading plugin /Users/dennis/Library/Application Support/Sublime Text 2/Packages/Format SQL/FormatSQL.py
Traceback (most recent call last):
File "./sublime_plugin.py", line 62, in reload_plugin
File "./FormatSQL.py", line 8, in
from sqlparse import format
File "./sqlparse/init.py", line 17, in
from . import engine
File "./sqlparse/engine/init.py", line 8, in
from .. import lexer
File "./sqlparse/lexer.py", line 154
class Lexer(object, metaclass=LexerMeta):
^
SyntaxError: invalid syntax

Unfortunately I cannot update to SF3 (OS X too old) and I also have no idea of python. :(

Is there a chance to make this plugin work in ST2 again?

Thanks,
Dennis

Activity

  1. akloeber commented on Oct 4, 2013

    @akloeber

    Hi there,

    I ran into the same error too after installing FormatSQL an hour ago (ST 2.0.2, Build 2221, Mac OSX 10.8.5, Python 2.7.2).

    Greets
    Andreas

  2. joaquimpedrooliveira commented on Oct 9, 2013

    @joaquimpedrooliveira

    Hello all,

    Same problem here using Ubuntu 10.10, ST 2.0.2, build 2221. Installed FormatSQL from package manager.

    Any tips?

  3. ken-maestro commented on Oct 9, 2013

    @ken-maestro

    I'm running into some syntax error as well (ST2 v2.0.2 build 2221 on OSX 10.8.5). I had python 2.5 and it didn't work then I updated it to python 2.7 and it still doesn't work.

    The error cursor is point to a different spot though:

    File "./sublime_plugin.py", line 62, in reload_plugin
    File "./FormatSQL.py", line 8, in
    from sqlparse import format
    File "./sqlparse/init.py", line 17, in
    from . import engine
    File "./sqlparse/engine/init.py", line 8, in
    from .. import lexer
    File "./sqlparse/lexer.py", line 154
    class Lexer(object, metaclass=LexerMeta):
    ^

    Thanks

  4. akloeber commented on Oct 12, 2013

    @akloeber

    I investigated a little further and found that the cause is the migration from the Python 2 way of defining meta classes with a __metaclass__ attribute to the Python 3 syntax which uses an additional metaclass parameter in the class definition. Unfortunately the Python 2 compiler considers this as a syntax error and even worse the Python 3 compiler just ignores the old __metaclass__ attribute. There is a good explanation at http://mikewatkins.ca/2008/11/29/python-2-and-3-metaclasses/ that describes this and suggests a backward compatible solution that works on Python 2 and 3.

  5. d42ohpaz commented on Nov 1, 2013

    @d42ohpaz

    Simple solution, at least for Sublime Text 2: Clone the latest version of sqlparse (https://github.com/andialbrecht/sqlparse) and then replace the sqlparse folder in this plugin with the copy from the clone you just made; restart sublime and life should be good.

  6. jaredbeck commented on Feb 7, 2014

    @jaredbeck
  7. New-High-Score commented on Feb 17, 2014

    @New-High-Score

    thanks @dohpaz42, you're a lifesaver!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions