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.2
  • github.​com
  • 2 months ago
  • 20 minutes ago
  • 3 months ago

Installs

  • Total 466
  • Win 133
  • OS X 190
  • Linux 143
May 23 May 22 May 21 May 20 May 19 May 18 May 17 May 16 May 15 May 14 May 13 May 12 May 11 May 10 May 9 May 8 May 7 May 6 May 5 May 4 May 3 May 2 May 1 Apr 30 Apr 29 Apr 28 Apr 27 Apr 26 Apr 25 Apr 24 Apr 23 Apr 22 Apr 21 Apr 20 Apr 19 Apr 18 Apr 17 Apr 16 Apr 15 Apr 14 Apr 13 Apr 12 Apr 11 Apr 10 Apr 9 Apr 8
Windows 0 2 0 2 0 1 2 1 3 1 2 0 0 2 2 2 1 2 4 4 0 1 0 7 1 0 1 2 1 4 5 4 1 2 0 0 1 4 4 0 1 0 0 6 1 0
OS X 2 0 4 3 0 1 2 2 3 4 2 1 3 2 4 2 1 4 5 4 4 2 6 2 3 2 0 7 2 1 3 0 2 0 0 2 1 3 4 2 1 1 1 8 1 6
Linux 1 0 5 0 3 5 2 1 0 2 1 0 2 0 0 3 1 1 5 1 3 3 1 0 2 2 5 1 1 1 3 4 0 2 5 2 0 1 5 4 1 0 0 1 1 2

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.