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.3
  • github.​com
  • 23 hours ago
  • 3 hours ago
  • 5 months ago

Installs

  • Total 838
  • Win 261
  • OS X 345
  • Linux 232
Jul 23 Jul 22 Jul 21 Jul 20 Jul 19 Jul 18 Jul 17 Jul 16 Jul 15 Jul 14 Jul 13 Jul 12 Jul 11 Jul 10 Jul 9 Jul 8 Jul 7 Jul 6 Jul 5 Jul 4 Jul 3 Jul 2 Jul 1 Jun 30 Jun 29 Jun 28 Jun 27 Jun 26 Jun 25 Jun 24 Jun 23 Jun 22 Jun 21 Jun 20 Jun 19 Jun 18 Jun 17 Jun 16 Jun 15 Jun 14 Jun 13 Jun 12 Jun 11 Jun 10 Jun 9 Jun 8
Windows 3 7 1 4 2 2 1 3 3 1 3 5 3 3 2 3 2 2 2 3 6 5 3 3 3 2 2 3 2 4 0 0 1 1 6 4 3 5 0 1 0 1 2 1 0 1
OS X 2 3 2 0 3 2 1 4 3 3 4 9 1 6 11 6 4 3 6 4 5 3 3 3 4 8 6 3 7 4 2 0 6 3 2 4 1 2 1 2 0 3 3 1 2 2
Linux 3 3 1 2 0 1 1 3 1 2 1 3 3 3 4 0 2 1 2 1 3 7 2 0 0 1 1 4 1 2 1 1 0 0 1 2 0 0 0 1 1 3 2 3 1 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.