Skip to content

Error from golangci-lint is not shown #4913

Open
@exajuk

Description

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)

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions