Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Configuring the SubLime Linter Plugin to use Ruby 1.9 Syntax

I'd like to get the SubLime Linter plugin (https://github.com/Kronuz/SublimeLinter) to recognize Ruby 1.9 syntax. Has anybody been able to get this to work in SublimeText 2?

Here is my current default settings file:

/*     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 } 
like image 478
bittersweetryan Avatar asked Feb 05 '12 21:02

bittersweetryan


People also ask

How do I enable lint in Sublime Text?

You can quickly toggle a linter on or off. To do so: Bring up the Command Palette ( cmd+shift+p on Mac OS X, ctrl+shift+p on Linux/Windows) and type toggle , disable , or enable according to what you want to view all linters, only enabled linters, or only disabled linters.

What is sublime Linter?

Sublime Linter is the package of Sublime Text that helps you to perform linting in Sublime. It helps in creating files in different modes for the manipulation of code base. It is not an in built package and you need to install it manually.


1 Answers

I was able to get it to work using the absolute path to my ruby 1.9 executable. I’m using rbenv, so to get the path I ran rbenv which ruby, you might need to put in /usr/local/bin/ruby or /usr/local/bin/ruby19.

This is how my sublimelinter default setting looks like (you can put this into a project-specific file too if you prefer:)

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

"sublimelinter_executable_map": {     "ruby": "~/.rbenv/versions/1.9.3-p0/bin/ruby" }, 
like image 100
gerrit Avatar answered Nov 08 '22 18:11

gerrit