Skip to content

Error from golangci-lint is not shown #4913

Closed
@exajuk

Description

@exajuk

Information

VIM version

VIM - Vi IMproved 9.1 (2024 Jan 02, compiled Feb 19 2025 00:00:00)
Included patches: 1-1122

Operating System: Fedora release 41 (Forty One)

Golang version: 1.23.6

What went wrong

I'm using golangci-lint for go linting. Generally it works fine, but the following error is being ignored (output from ALEInfo):

(finished - exit code 1) ['/bin/bash', '-c', 'cd ''/home/juk/nosync/git/go_test'' && ''golangci-lint'' run ']                                                                                                                                                                                                                                                          
  7                                                                                                                                                                                                                                                                                                                                                                        
  6 <<<OUTPUT STARTS>>>                                                                                                                                                                                                                                                                                                                                                    
  5 test.go:1: : # test                                                                                                                                                                                                                                                                                                                                                    
  4 ./test.go:4:9: not enough return values                                                                                                                                                                                                                                                                                                                                
  3     have (string)                                                                                                                                                                                                                                                                                                                                                      
  2     want (string, error) (typecheck)                                                                                                                                                                                                                                                                                                                                   
  1 package main                                                                                                                                                                                                                                                                                                                                                           
113 <<<OUTPUT ENDS>>>

Although the command returns 1, the error is not shown at all in vim. Other errors are correctly shown.

Reproducing the bug

Use this code to reproduce the bug:

package main

func break_ale() (string, error) {
	return "test"
}

func main() {
	break_ale()
}

:ALEInfo

 Current Filetype: go
Available Linters: ['bingo', 'cspell', 'gobuild', 'gofmt', 'golangci-lint', 'gopls', 'gosimple', 'gotype', 'govet', 'golangserver', 'revive', 'staticcheck']
   Linter Aliases:
'gobuild' -> ['go build']
'govet' -> ['go vet']
  Enabled Linters: ['golangci-lint']
  Ignored Linters: []
 Suggested Fixers:
  'gofmt' - Fix Go files with go fmt.
  'gofumpt' - Fix Go files with gofumpt, a stricter go fmt.
  'goimports' - Fix Go files imports with goimports.
  'golangci_lint' - Fix Go files with golangci-lint.
  'golines' - Fix Go file long lines with golines
  'gopls' - Fix Go files with gopls.
  'remove_trailing_lines' - Remove all blank lines at the end of a file.
  'trim_whitespace' - Remove all trailing whitespace characters at the end of every line.
 
 Linter Variables:
" Press Space to read :help for a setting
let g:ale_go_go_executable = 'go'
let g:ale_go_gofumpt_executable = 'gofumpt'
let g:ale_go_gofumpt_options = ''
let g:ale_go_goimports_executable = 'goimports'
let g:ale_go_goimports_options = ''
let g:ale_go_golangci_lint_executable = 'golangci-lint'
let g:ale_go_golangci_lint_options = ''
let g:ale_go_golangci_lint_package = 1
let g:ale_go_langserver_executable = 'go-langserver'
let g:ale_go_langserver_options = ''
 
 Global Variables:
" Press Space to read :help for a setting
let g:ale_cache_executable_check_failures = v:null
let g:ale_change_sign_column_color = 0
let g:ale_command_wrapper = ''
let g:ale_completion_delay = v:null
let g:ale_completion_enabled = 0
let g:ale_completion_max_suggestions = v:null
let g:ale_disable_lsp = 1
let g:ale_echo_cursor = 1
let g:ale_echo_msg_error_str = 'E'
let g:ale_echo_msg_format = '[%linter%] %s [%severity%]'
let g:ale_echo_msg_info_str = 'Info'
let g:ale_echo_msg_warning_str = 'W'
let g:ale_enabled = 1
let g:ale_fix_on_save = 1
let g:ale_fixers = {'go': ['goimports', 'gofumpt'], 'python': ['ruff_format']}
let g:ale_history_enabled = 1
let g:ale_info_default_mode = 'preview'
let g:ale_history_log_output = 1
let g:ale_keep_list_window_open = 0
let g:ale_lint_delay = 200
let g:ale_lint_on_enter = 1
let g:ale_lint_on_filetype_changed = 1
let g:ale_lint_on_insert_leave = 1
let g:ale_lint_on_save = 1
let g:ale_lint_on_text_changed = 'normal'
let g:ale_linter_aliases = {}
let g:ale_linters = {'go': ['golangci-lint'], 'python': ['ruff', 'mypy']}
let g:ale_linters_explicit = 1
let g:ale_linters_ignore = {}
let g:ale_list_vertical = 0
let g:ale_list_window_size = 10
let g:ale_loclist_msg_format = '[%linter%] %s [%severity%]'
let g:ale_max_buffer_history_size = 20
let g:ale_max_signs = -1
let g:ale_maximum_file_size = v:null
let g:ale_open_list = 0
let g:ale_pattern_options = v:null
let g:ale_pattern_options_enabled = v:null
let g:ale_root = {}
let g:ale_set_balloons = 0
let g:ale_set_highlights = 1
let g:ale_set_loclist = 1
let g:ale_set_quickfix = 0
let g:ale_set_signs = 1
let g:ale_sign_column_always = 0
let g:ale_sign_error = 'E'
let g:ale_sign_info = 'I'
let g:ale_sign_offset = 1000000
let g:ale_sign_style_error = 'E'
let g:ale_sign_style_warning = 'W'
let g:ale_sign_warning = 'W'
let g:ale_sign_highlight_linenrs = 0
let g:ale_type_map = {}
let g:ale_use_neovim_diagnostics_api = 0
let g:ale_use_global_executables = v:null
let g:ale_virtualtext_cursor = 0
let g:ale_warn_about_trailing_blank_lines = 1
let g:ale_warn_about_trailing_whitespace = 1

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions