ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Sublime​Linter-golangcilint

by SublimeLinter ST3

This linter plugin for SublimeLinter provides an interface to golangci-lint.

Details

  • 1.1.1
  • github.​com
  • 3 months ago
  • 3 hours ago
  • 3 weeks ago

Installs

  • Total 142
  • Win 41
  • OS X 56
  • Linux 45
Mar 26 Mar 25 Mar 24 Mar 23 Mar 22 Mar 21 Mar 20 Mar 19 Mar 18 Mar 17 Mar 16 Mar 15 Mar 14 Mar 13 Mar 12 Mar 11 Mar 10 Mar 9 Mar 8 Mar 7 Mar 6 Mar 5 Mar 4 Mar 3 Mar 2 Mar 1 Feb 28 Feb 27 Feb 26 Feb 25 Feb 24 Feb 23 Feb 22 Feb 21 Feb 20 Feb 19 Feb 18 Feb 17 Feb 16 Feb 15 Feb 14 Feb 13 Feb 12 Feb 11 Feb 10
Windows 0 1 3 3 1 5 2 4 2 2 2 5 2 3 3 2 0 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
OS X 1 2 1 1 3 6 2 3 5 3 3 1 6 7 1 5 2 1 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Linux 1 1 4 1 1 2 4 2 1 4 2 8 9 5 2 2 5 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Readme

Source
raw.​githubusercontent.​com

SublimeLinter-golangcilint Build Status

This linter plugin for SublimeLinter provides an interface to golangci-lint, a linter for Go (golang).

Note: The project was originally written by @alecthomas as an alternative to SublimeLinter-gometalinter, a linter plugin for gometalinter, both developed by the same person, and deprecated on Apr 7, 2019. The maintenance of the project was passed on to me on Mar 5, 2019 after I suggested some improvements to deal with some false positives in golangci-lint.

Installation

  • Install SublimeLinter 3 from here
  • Install SublimeLinter-golangcilint from here
  • Install the golangci-lint helper from here

screenshot

Configuration

In order for golangci-lint to be executed by SublimeLinter, you must ensure that its path is available to SublimeLinter. Before going any further, please read and follow the steps in Finding a linter executable through “Validating your PATH” in the documentation. Once you have installed golangci-lint, you can proceed to install the plugin if it is not yet installed.

Due to performance issues in golangci-lint, the linter will not attempt to lint more than one-hundred (100) files considering a delay of 100ms and lint_mode equal to “background”. If the user increases the delay, the tool will have more time to scan more files and analyze them. If your project contains more than 300 files, you’ll have to set a delay of 0.3s or more in SublimeLinter settings.

Note: The linter creates a temporary directory to allow SublimeLinter to scan changes in the code that are still in the buffer (aka. not saved yet). If the SublimeText sidebar is visible, you will notice —for a split of a second— that a folder named .golangcilint-* appears and disappears. Make sure to add this folder to your .gitignore file, and also the “folder_exclude_patterns” in SublimeText’s preferences:

{
    "folder_exclude_patterns":
    [
        ".svn",
        ".git",
        ".hg",
        "CVS",
        "cache",
        "uploads",
        ".golangci-*",
        ".golangcilint-*",
        ".gometalinter-*"
    ]
}

Plugin installation

Please use Package Control to install the linter plugin. This will ensure that the plugin will be updated when new versions are available. If you want to install from source so you can modify the source code, you probably know what you are doing so we won’t cover that here.

To install via Package Control, do the following:

  1. Within Sublime Text, “Tools > Command Palette”, then type install. Among the commands you should see Package Control: Install Package. If that command is not highlighted, use the keyboard or mouse to select it. There will be a pause of a few seconds while Package Control fetches the list of available plugins.
  2. When the plugin list appears, type golangci-lint. Among the entries you should see SublimeLinter-golangcilint. If that entry is not highlighted, use the keyboard or mouse to select it.