Hello, I've been using the ruby sorbet lint for some time and it's pretty much always worked. However, it's stopped picking up errors recently for me. Here is my ALEInfo:
Current Filetype: ruby
Available Linters: ['brakeman', 'debride', 'rails_best_practices', 'reek', 'rubocop', 'ruby', 'solargraph', 'sorbet', 'standardrb']
Linter Aliases:
'sorbet' -> ['srb']
Enabled Linters: ['rubocop', 'sorbet']
Ignored Linters: []
Suggested Fixers:
'prettier' - Apply prettier to a file.
'remove_trailing_lines' - Remove all blank lines at the end of a file.
'rubocop' - Fix ruby files with rubocop --auto-correct.
'rufo' - Fix ruby files with rufo
'sorbet' - Fix ruby files with srb tc --autocorrect.
'standardrb' - Fix ruby files with standardrb --fix
'trim_whitespace' - Remove all trailing whitespace characters at the end of every line.
Linter Variables:
let g:ale_ruby_rails_best_practices_executable = 'rails_best_practices'
let g:ale_ruby_rails_best_practices_options = ''
let g:ale_ruby_rubocop_auto_correct_all = 1
let g:ale_ruby_rubocop_executable = 'bundle'
let g:ale_ruby_rubocop_options = ''
let g:ale_ruby_sorbet_enable_watchman = 0
let g:ale_ruby_sorbet_executable = 'bundle'
let g:ale_ruby_sorbet_options = ''
Global Variables:
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 = 0
let g:ale_echo_cursor = 1
let g:ale_echo_msg_error_str = 'Error'
let g:ale_echo_msg_format = '%code: %%s'
let g:ale_echo_msg_info_str = 'Info'
let g:ale_echo_msg_warning_str = 'Warning'
let g:ale_enabled = 1
let g:ale_fix_on_save = 1
let g:ale_fixers = {'*': ['remove_trailing_lines', 'trim_whitespace'], 'ruby': ['rubocop']}
let g:ale_history_enabled = 1
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 = {'ruby': ['sorbet', 'rubocop']}
let g:ale_linters_explicit = 0
let g:ale_linters_ignore = {}
let g:ale_list_vertical = 0
let g:ale_list_window_size = 10
let g:ale_loclist_msg_format = '%code: %%s'
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 = '>>'
let g:ale_sign_info = '--'
let g:ale_sign_offset = 1000000
let g:ale_sign_style_error = '>>'
let g:ale_sign_style_warning = '--'
let g:ale_sign_warning = '--'
let g:ale_sign_highlight_linenrs = 0
let g:ale_statusline_format = v:null
let g:ale_type_map = {}
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
Command History:
(executable check - success) bundle
That command "bundle" i believe is the sorbet run but even though I have errors in my buffer it's returning success without an output.
bundle exec srb
in the local directory it produces an error output that includes the file I opened.
call plug#begin()
Plug 'scrooloose/nerdtree'
Plug 'jistr/vim-nerdtree-tabs'
Plug 'ctrlpvim/ctrlp.vim'
Plug 'puremourning/vimspector'
Plug 'tpope/vim-fugitive'
Plug 'dense-analysis/ale'
call plug#end()
filetype plugin indent on
au BufNewFile, BufRead *.rs
\ set tabstop=4 |
\ set softtabstop=4 |
\ set shiftwidth=4 |
\ set textwidth=79 |
\ set expandtab |
\ set autoindent |
\ set fileformat=unix
highlight BadWhitespace ctermbg=red guibg=darkred
au BufRead, BufNewFile *.rs BadWhitespace /\s\+$/
set encoding=utf-8
syntax on
let rust_highlight_all=1
cnoreabbrev format RustFmt
" auto complete
set omnifunc=ale#completion#OmniFunc
let g:ale_completion_enabled = 1
let g:ale_completion_autoimport = 1
let g:ale_sign_column_always = 1
let g:ale_fix_on_save = 1
let g:ale_fixers = {
\ '*': ['remove_trailing_lines', 'trim_whitespace'],
\ 'rust': ['rustfmt, rls'],
\}
let g:ale_sign_error = get(g:, 'ale_sign_error', '>>')
let g:ale_sign_style_error = get(g:, 'ale_sign_style_error', g:ale_sign_error)
let g:ale_sign_warning = get(g:, 'ale_sign_warning', '--')
let g:ale_sign_style_warning = get(g:, 'ale_sign_style_warning', g:ale_sign_warning)
let g:ale_sign_info = get(g:, 'ale_sign_info', g:ale_sign_warning)
let g:ale_sign_priority = get(g:, 'ale_sign_priority', 30)
let g:ale_linters = {'rust': ['rustc', 'rls']}
let g:ale_linters_explicit = 1
let g:ale_rust_rls_toolchain = 'stable'
let g:ale_rust_rls_config = {}
let g:ale_rust_rls_executable = 'rls'
function! CleverTab()
let l:line = strpart( getline('.'), 0, col('.')-1)
let l:lastchar = matchstr(getline('.'), '.\%' . col('.') . 'c')
" if popup menu is visible, go to next in the list
if pumvisible()
return "\<C-n>"
" if the just consists of spaces, indent
elseif l:line =~ '^\s*$'
return "\<Tab>"
" if the last character is a slash, call file-completion
elseif l:lastchar =~ "/"
return "\<C-x>\<C-f>"
" call omni completion if has omnifunc
elseif len(&omnifunc) > 0
return "\<C-x>\<C-o>"
" call word completion otherwise
else
return "\<C-n>"
endif
endfunction
inoremap <silent> <Tab> <C-R>=CleverTab()<CR>
nmap <silent> <C-P> <Plug>(ale_previous_wrap)
nmap <silent> <C-N> <Plug>(ale_next_wrap)
nmap <silent> <C-D> :ALEGoToDefinition<CR>
nmap <silent> <C-R> :ALEFindReferences<CR>
:!bundle exec solargraph
works as it should