2012-02-05 8 views
36

Sublime Linter eklentisini (https://github.com/Kronuz/SublimeLinter) Ruby 1.9 sözdizimini tanımak istiyorum. Bunu SublimeText 2'de çalıştırabilecek biri var mı? Bunun benim Yakut için 1.9 yürütülebilir mutlak yolu kullanarak işe başardıRuby 1.9 kullanmak için SubLime Linter Eklentisini yapılandırma Sözdizimi

/* 
    SublimeLinter default settings 
*/ 
{ 
    /* 
     Sets the mode in which SublimeLinter runs: 

     true - Linting occurs in the background as you type (the default). 
     false - Linting only occurs when you initiate it. 
     "load-save" - Linting occurs only when a file is loaded and saved. 
    */ 
    "sublimelinter": true, 

    /* 
     Maps linters to executables for non-built in linters. If the executable 
     is not in the default system path, or on posix systems in /usr/local/bin 
     or ~/bin, then you must specify the full path to the executable. 
     Linter names should be lowercase. 

     This is the effective default map; your mappings may override these. 

     "sublimelinter_executable_map": 
     { 
      "perl": "perl", 
      "php": "php", 
      "ruby": "ruby" 
     }, 
    */ 
    "sublimelinter_executable_map": 
    { 
    }, 

    /* 
     Maps syntax names to linters. This allows variations on a syntax 
     (for example "Python (Django)") to be linted. The key is 
     the base filename of the .tmLanguage syntax files, and the value 
     is the linter name (lowercase) the syntax maps to. 
    */ 
    "sublimelinter_syntax_map": 
    { 
     "Python Django": "python" 
    }, 

    // An array of linter names to disable. Names should be lowercase. 
    "sublimelinter_disable": 
    [ 
    ], 

    /* 
     The minimum delay in seconds (fractional seconds are okay) before 
     a linter is run when the "sublimelinter" setting is true. This allows 
     you to have background linting active, but defer the actual linting 
     until you are idle. When this value is greater than the built in linting delay, 
     errors are erased when the file is modified, since the assumption is 
     you don't want to see errors while you type. 
    */ 
    "sublimelinter_delay": 0, 

    // If true, lines with errors or warnings will be filled in with the outline color. 
    "sublimelinter_fill_outlines": false, 

    // If true, lines with errors or warnings will have a gutter mark. 
    "sublimelinter_gutter_marks": false, 

    // If true, the find next/previous error commands will wrap. 
    "sublimelinter_wrap_find": true, 

    // If true, when the file is saved any errors will appear in a popup list 
    "sublimelinter_popup_errors_on_save": false, 

    // jshint: options for linting JavaScript. See http://jshint.com/#docs for more info. 
    // By deault, eval is allowed. 
    "jshint_options": 
    { 
     "evil": true, 
     "regexdash": true, 
     "browser": true, 
     "wsh": true, 
     "trailing": true, 
     "sub": true, 
     "strict": false 
    }, 

    // A list of pep8 error numbers to ignore. By default "line too long" errors are ignored. 
    // The list of error codes is in this file: https://github.com/jcrocholl/pep8/blob/master/pep8.py. 
    // Search for "Ennn:", where nnn is a 3-digit number. 
    "pep8_ignore": 
    [ 
     "E501" 
    ], 

    /* 
     If you use SublimeLinter for pyflakes checks, you can ignore some of the "undefined name xxx" 
     errors (comes in handy if you work with post-processors, globals/builtins available only at runtime, etc.). 
     You can control what names will be ignored with the user setting "pyflakes_ignore". 

     Example: 

     "pyflakes_ignore": 
      [ 
       "some_custom_builtin_o_mine", 
       "A_GLOBAL_CONSTANT" 
      ], 
    */ 
    "pyflakes_ignore": 
    [ 
    ], 

    /* 
     Ordinarily pyflakes will issue a warning when 'from foo import *' is used, 
     but it is ignored since the warning is not that helpful. If you want to see this warning, 
     set this option to false. 
    */ 
    "pyflakes_ignore_import_*": true, 

    // Objective-J: if true, non-ascii characters are flagged as an error. 
    "sublimelinter_objj_check_ascii": false 
} 

cevap

41

:

İşte benim geçerli varsayılan ayarları dosyasıdır. Ben rbenv kullanıyorum, bu yüzden rbenv which ruby koştuğum yolu almak için /usr/local/bin/ruby veya /usr/local/bin/ruby19'u girmeniz gerekebilir.

Bu benim sublimelinter varsayılan ayarı nasıl göründüğünü isterseniz :) (Çok Proje özel dosya içine bu koyabilirsiniz olduğunu

Preferences -> Package Settings -> SublimeLinter -> Settings - User

"sublimelinter_executable_map": 
{ 
    "ruby": "~/.rbenv/versions/1.9.3-p0/bin/ruby" 
}, 
+0

Teşekkürler, ruby ​​yüklememe işaret ettim ve ya tamamen kırdı ya da tamir etti :-) Bu hafta sonu bir bakacağım ve işe yarayıp yaramadığımı kabul ediyorum. – bittersweetryan

+4

Bunu bir leke tamamen ortadan kalktı denedim. Benim yolum biraz farklı: ~/.rvm/rubies/ruby-1.9.3-p0/bin/ruby' –

+1

Tamam, bu benim için çalışıyor /users/tscott/.rvm/rubies/ruby-1.9.3 -p0/bin/ruby' –

19

Eğer mümkün olmalıdır RVM kullanarak Bunun için rvm-auto-ruby kullanın.

Orada bu bir sorun, ama ben şu anda çözülmüş düşünüyorum: https://github.com/SublimeLinter/SublimeLinter/issues/30

+0

Teşekkürler, bu benim için mükemmel çalışıyor. '{ "sublimelinter_executable_map": { "yakut": "rvm-oto-yakut" } }' –

16

Tümü, sadece uymak istedim çünkü ben de bu konuyu, sahip ve ST2 v 2.0.1 aşağıdaki işleri üzerinde edildi Kullanıcı/SublimeLinter.sublime-settings dosyasında Ubuntu konsoluna gidin ve aşağıdaki çalıştırarak güncellendiğinden emin olun, ST2 yeniden başlatın ekledikten sonra

Preferences -> Package Settings -> SublimeLinter -> Settings - User

{ 
    "sublimelinter_executable_map": { 
    "ruby": "~/.rvm/bin/rvm-auto-ruby" 
    } 
} 

bulunan hangi:

view.settings().get("sublimelinter_executable_map") 

Aşağıdaki çıktıyı almalısınız:

{'ruby': u'~/.rvm/bin/rvm-auto-ruby'} 
+1

OS X için beni w çalıştı/RVM sadece paket için kullanıcı ayarlarında aşağıdaki eklendi – Paul

+0

mükemmel, teşekkürler, OS X 10.6 Sublime 2'de RVM ile bir çekicilik gibi çalıştı – FireDragon

1

Ben de bu (ben bu düşünüyorum sublimelinter_executable_map için rbenv kapak plakasına PATH ve nokta yakut ekleyerek işe başardı önerilir resmi belgelerden de.) Bu ayrıca, aynı zamanda konfigürasyonu güncellemek zorunda kalmadan ruby ​​versiyonlarını değiştirmenizi sağlar. SublimeLinter 3, rbenv (ve umarım rvm) olarak

{ 
    "sublimelinter_executable_map": { 
    "path": "/usr/local/var/rbenv/shims:/Users/luke/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin", 
    "ruby": "/usr/local/var/rbenv/shims/ruby" 

    } 
} 
0

(bunlar kabuk başlangıçta doğru yerde başlatılır emin hariç) hiçbir ekstra yapılandırma ile kutunun dışında desteklenir.