aziz / SublimeFileBrowser

Ditch sidebar and browse your files in a normal tab with keyboard, like a pro!
MIT License
394 stars 46 forks source link

[Bug] Command Help conflict #130

Closed Kristinita closed 7 years ago

Kristinita commented 7 years ago

Summary

Command Help plugin not work for me, when enabled SublimeFileBrowser.

Expected behavior

When FileBrowser disabled, I run command_help {} command and Quick Panel Command Help plugin open for me:

Command Help Panel

Actual behavior

When FileBrowser enabled, I get stack trace:

command: command_help {}
Traceback (most recent call last):
  File "E:\Sublime Text 3\sublime_plugin.py", line 797, in run_
    return self.run()
  File "Command Help in E:\Sublime Text 3\Data\Installed Packages\Command Help.sublime-package", line 135, in run
  File "Command Help in E:\Sublime Text 3\Data\Installed Packages\Command Help.sublime-package", line 95, in command_doc
  File "./python3.3/encodings/cp1251.py", line 19, in encode
UnicodeEncodeError: 'charmap' codec can't encode character '\u2190' in position 267: character maps to <undefined>

Steps to reproduce

I tested in a version of Sublime Text without plugins and user settings.

I download FileBrowser and Command Help packages. I press Ctrl+C, H — default key binding for run command_help {} command. If FileBrowser is disabled for me, Command Help successfully work for me, if FieBrowser enabled, I get stack trace.

Environment

Operating system and version: Windows 10.0.14393 Sublime Text: Build 3126

Thanks.

vovkkk commented 7 years ago

It is a bug in CH, so I’m closing it.

The fix is very simple:

--- Command Help.py
+++ Command Help.py
@@ -68,7 +68,7 @@
         has_doc = False

         fn = os.path.join(get_cache_dir(cmd.__module__), "%s.rst" % cn)
-        with open(fn, 'w') as fh:
+        with open(fn, 'w', encoding='utf8') as fh:
             fh.write(cn+"\n")
             fh.write(len(cn)*"="+"\n\n")
             fh.write("Module:\n    %s\n\n" % cmd.__module__)
Kristinita commented 7 years ago

Спасибо, работает!

Точно ли корректна метка invalid, ведь проблема валидна, пусть она заключается и в другом плагине?

Спасибо.

vovkkk commented 7 years ago

Баг-репорт относится к CH и не имеет отношения к SFB, поэтому отметка корректна. Единственное, что связывает SFB с этой проблемой, что мы используем Юникод в doc-strings, а CH не поддерживает это.

Kristinita commented 7 years ago

и не имеет отношения к SFB

Судя по баг-репорту — Command Help конфликтует только с FileBrowser, — и даже Вашему последующему предложению FileBrowser имеет отношение к Command Help.

поэтому отметка корректна.

Полагаю, что в данном суждении некорректно делать заключение из этой посылки.

Аргументация:

мне не удалось найти официального руководства GitHub по использованию меток; я предположил, что логичнее воспользоваться переводом метки. invalid — «невалидно», баг-репорт невалиден; т. е. приведшие к проблеме действия произошли из-за ошибочных действий пользователя, опечаток, неточному следованию документации и т. п. . Данный же случай не относится к таковым: проблема есть, она валидна и возникла не из-за действий пользователя. Для исправления ошибки необходимы действия на стороне разработчиков, а не на стороне пользователей.

Примеры для других репозиториев

В других репозиториях в случае наличия относящейся к приложению проблемы, заключающейся в другом приложении я видел проставление меток works as expected, other app bug, на мой взгляд более точно отражающие суть issue report. Или же метки не проставлялись совсем.

Спасибо.

vovkkk commented 7 years ago

Метки используются/создаются/ставятся по усмотрению участников проекта (в данном случае Аллен и я): проблема происходит не из-за ошибки в SFB, значит невалидно.