переформатирование текста с двумя пробелами - PullRequest
1 голос
/ 01 апреля 2011

Я установил textmate для использования программных меток 2 пробела в моем файле. Но когда я пытаюсь переформатировать весь документ, он использует 2 жестких вкладки в качестве отступов.

Обычные отступы работают так, как я хочу, только формат документа - нет. В любом случае, чтобы текстовый партнер был послушным?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 04 апреля 2011

Команда «Переформатировать документ / выделение» пакета JavaScript передает текст документа в функцию js_beautify в файле beautify.php пакета (находится в моей системе и, вероятно, по умолчанию в /Applications/TextMate.app/Contents/SharedSupport/Bundles/JavaScript.tmbundle/Support/lib/beautify.php).Если вы посмотрите на определение функции, то увидите, что есть второй параметр, $ tab_size, со значением по умолчанию, равным 4. В комплекте есть строка, которая читает print js_beautify($input);.Измените это на print js_beautify($input, 2);, и вы должны, как я ожидаю, получить табуляции с двумя пробелами.

Чтобы сделать его немного более гибким, используйте переменную среды TextMate TM_TAB_SIZE, как в print js_beautify( $input, getenv('TM_TAB_SIZE' ) );, которая должна обновитькак работает команда, если вы когда-нибудь измените размер вкладки.

Обратите внимание, я проверял нет этого.:) Просто взглянул на пакет и отыскал то, что кажется необходимым.

1 голос
/ 11 апреля 2011

Итак, я попробовал предложение Чака, и оно дало мне ошибку. Я сделал это, чтобы "исправить это". Я уверен, что это можно сделать более элегантно, но у меня это сработало.

Откройте тот же файл, который говорит Чак, чтобы открыть, строка 50 (или около того) должна выглядеть так:

function js_beautify($js_source_text, $tab_size = 4)

изменить $ tab_size на 1

function js_beautify($js_source_text, $tab_size = 1)

Теперь около строки 56, где написано:

$tab_string = str_repeat(' ', $tab_size);

изменить пробел на вкладку следующим образом:

$tab_string = str_repeat("\t", $tab_size); 

Это сработало для меня.

...