Где Textmate находит свои правила проверки синтаксиса? - PullRequest
0 голосов
/ 06 декабря 2010

Ruby 1.9.2, приложение Rails 3+.

Я устанавливаю значение по умолчанию в лямбда-блоке:

scope :order_by, lambda { |field, dir='ASC'|
...

TextMate сообщает, что этот синтаксис недопустим каждый разспасти.Еще более досадно, что это приводит меня к рассматриваемой строке, что создает трудности, когда я работаю над файлом ниже, и это поднимает меня вверх.

Естественно, Ruby запускает файл без ошибок.

Где найти правила синтаксиса, чтобы я мог их изменить?Или это как-то проходит через Ruby?

Ответы [ 3 ]

1 голос
/ 06 декабря 2010

Посмотрите на Bundle Editor (в меню Bundles) - пакеты Ruby или Ruby on Rails в вашем случае.Пакеты определяют команды (такие как «Проверка синтаксиса»), фрагменты, макросы, грамматики и т. Д.

0 голосов
/ 01 февраля 2012

Мне удалось это исправить, изменив команду Ruby> Validate and Save

#!/usr/bin/env ruby

require ENV['TM_SUPPORT_PATH'] + '/lib/textmate'

#compiler_ruby = `which rbx`.strip
#if compiler_ruby.length == 0
  compiler_ruby = ENV['TM_RUBY'] || `which ruby`.strip
#end

result = `#{compiler_ruby} -wc "$TM_FILEPATH" 2>&1`

scopes = ENV['TM_SCOPE'].split
if scopes.include? 'source.ruby.rspec.cucumber.steps'
  result.gsub!(/^.+warning: ambiguous first argument; put parentheses or even spaces$/, '')
end

if result =~ /:(\d+):/
  print result
  TextMate.go_to :line => $1
end

Комментируя 5,6, 8 заставляет команду каждый раз использовать TM_RUBY - убедитесь, что у вас есть этот набор в Предпочтения> Дополнительно> Переменные оболочки

Надеюсь, это поможет?

0 голосов
/ 27 января 2011

В Ruby Bundle также есть строка внутри файла 'Validate and Save.tmCommand':
результат = #{compiler_ruby} -wc "$TM_FILEPATH" 2>&1

-w включает предупреждения.
Удаление буквы 'w' помогло мне:

результат = #{compiler_ruby} -c "$TM_FILEPATH" 2>&1

И после изменения любого из пакетов, в textmate вам нужно выполнить:
Пакеты -> Редактор пакетов -> Перезагрузить пакеты

P.S. связки можно найти здесь:
~ / Библиотека / Поддержка приложений / TextMate / Bundles

...