Сегодня вышел 2165 билд прекрасного редактора SublimeText 2, а с ним приехало несколько интересных API методов, среди которых меня прежде всего заинтересовал view.encoding(), который возвращает кодировку открытого файла. Если же файл не открыт а просто создан и еще не сохранен, то этот метод возвращает строку ‘Undefined’.
Для своих плагинов которых работают с текстом я написал небольшой хак который позволяет абстрагироваться от этого, беря также в учет новую настройку ‘default_encoding’ которая содержит кодировку по-умолчанию для новых файлов.
def enc(self):
if self.view.encoding() == 'Undefined':
return self.view.settings().get('default_encoding', 'UTF-8')
else:
return self.view.encoding()