Search code examples
commentssublimetext3jshintsuppress-warningssublimelinter

How can I suppress warnings in SublimeLinter for mixed spaces/tabs in comments?


Here is a link to a screenshot of the warnings:

screenshot

I would like to be able to use the "cmd+/" shortcut to quickly comment out sections of code. Whenever I do, I get a bunch of space/tab mixing errors. I am required to use tabs for coding standards, but it seems Sublime 3 forces spaces for the comments. I also enjoy the error checking for space/tab mixing through non-commented code, so I would like to leave that intact if possible.

Is there a way to modify Sublime's settings to change the commenting shorcuts functionality or is there a way to modify SublimeLinter-jshint's settings to ignore these warnings?

Thanks in advance.


Solution

  • The easiest way to do this is to remove the space from after the //. Open your Packages folder via Preferences -> Browse Packages... and create a folder called JavaScript. I assume you're on OS X, so the full path to the folder is ~/Library/Application Support/Sublime Text 3/Packages. Next, create a new file in Sublime with the following contents:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>name</key>
        <string>Comments</string>
        <key>scope</key>
        <string>source.js, source.json</string>
        <key>settings</key>
        <dict>
            <key>shellVariables</key>
            <array>
                <dict>
                    <key>name</key>
                    <string>TM_COMMENT_START</string>
                    <key>value</key>
                    <string>//</string>
                </dict>
                <dict>
                    <key>name</key>
                    <string>TM_COMMENT_START_2</string>
                    <key>value</key>
                    <string>/*</string>
                </dict>
                <dict>
                    <key>name</key>
                    <string>TM_COMMENT_END_2</string>
                    <key>value</key>
                    <string>*/</string>
                </dict>
            </array>
        </dict>
        <key>uuid</key>
        <string>A67A8BD9-A951-406F-9175-018DD4B52FD1</string>
    </dict>
    </plist>
    

    and save it in the Packages/JavaScript folder as Comments.tmPreferences. You'll notice that the TM_COMMENT_START value is //, whereas in the original it's //. Restart Sublime, and now when you're editing JavaScript or JSON files and hit Command ⌘/ your code will be commented out without the addition of a space.