2014-08-27 11 views
12

Mam moduł Cython, który chciałbym lint PEP8 stylu, jednak pylint błędów składni na składni Cython cdef. Czy ktoś ma sugestię, w jaki sposób zachować standardy kodowania Pythona dla kodu Cython?Opcje dla linting kod Cython

+2

Nie słyszałem o narzędziach, które mogą to zrobić - chociaż społeczność Cython może być wdzięczna, jeśli udało ci się wymyślić, jak to zrobić samemu ;-) – mgilson

+0

Myślę, że powinieneś odłożyć na "cythona" kompilator do wykrywania, które bloki kodu są C i które są Python. Gdy to zrobisz, prawdopodobnie zhakujesz linter i/lub odwzorujesz bloki Pythona na syntaktycznie równoważny kod Pythona, który można leczyć za pomocą istniejących narzędzi. –

Odpowiedz

1

Używam edytora Sublime Text z SublimeLinter Flake8 package.

My Flake8 config to:

"flake8": { 
      "@disable": false, 
      "args": [ 
       "--doctests" 
      ], 
      "builtins": "", 
      "excludes": [], 
      "ignore": "", 
      "ignore_match": { 
       "pyx": [ 
        "SyntaxError" 
       ] 
      }, 
      "jobs": "1", 
      "max-complexity": 7, 
      "max-line-length": null, 
      "select": "", 
      "show-code": false 
     }, 

"ignore_match" klucz jest używany do definiowania wyrażeń regularnych, które ignorują niektóre błędy zgłaszane przez puchu.

W tym przypadku użyłem go do zignorowania błędów składniowych w plikach .pyx. Możesz zdefiniować nowe wyrażenia, aby spełnić Twoje potrzeby.

Przepraszam, ponieważ nie jest to wykładzina Cythona, to tylko sztuczka, aby przydać się w Pythonie.

Więcej informacji pod numerem sublimelinter official docs.