Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Kevin Morris
    @kevr
    click it with my mouse to get focus (I guess?) and run :q.
    I'm using vim-lsp, vim-lsp-settings, vim-ale, ale and pyls backend language server
    Oh, I'm using nvim.
    latest master on all of that, except for pyls.
    The smaller window that pops up and goes away contains the content you see in that picture, just in a smaller window and fixed around my cursor.
    Kevin Morris
    @kevr
    Welp, it was just a repo sync issue or something. Removed everything, reinstalled, all fine.
    Sorry to bother.
    Kevin Morris
    @kevr
    OK. The problem still exists.
    Jaafar
    @jaafar:kde.org
    [m]
    ALE overrides my tab preferences and now Rust code is using 4 spaces, how do I use 4 space-wide tabs again?
    Jaafar
    @jaafar:kde.org
    [m]
    Wait, sorry, this isn't ALE's fault, nevermind.
    Kevin Choubacha
    @kbacha

    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.

    If I run bundle exec srb in the local directory it produces an error output that includes the file I opened.
    Kevin Choubacha
    @kbacha
    Ok, i tracked down the issue to a bug with sorbet and the LSP having multiple input directories. It's not related to ale
    muppi090909
    @muppi090909
    Hi i am new to ale and have been using vim for some time now so i want to make it my rust IDE but i am not able to because i get this error from omnicompletion
    E121: Undefined variable: g:ale_linter_aliases
    also this is my ~/.vim/ftplugin/rust.vim
    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>
    OS: Ubuntu21.04
    my :ALEInfo
    Current Filetype: rust
    Available Linters: ['analyzer', 'cargo', 'cspell', 'rls', 'rustc']
    Enabled Linters: ['rls', 'rustc']
    Ignored Linters: []
    Suggested Fixers:
    'remove_trailing_lines' - Remove all blank lines at the end of a file.
    'rustfmt' - Fix Rust files with Rustfmt.
    'trim_whitespace' - Remove all trailing whitespace characters at the end
    of every line.
    Linter Variables:
    let g:ale_rust_rls_config = {}
    let g:ale_rust_rls_executable = 'rls'
    let g:ale_rust_rls_toolchain = 'stable'
    let g:ale_rust_rustc_options = '-Z no-codegen'
    Global Variables:
    let g:ale_cache_executable_check_failures = v:null
    let g:ale_change_sign_column_color = v:null
    let g:ale_command_wrapper = v:null
    let g:ale_completion_delay = 100
    let g:ale_completion_enabled = 1
    let g:ale_completion_max_suggestions = 50
    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 = v:null
    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'], 'ru
    st': ['rustfmt, rls']}
    let g:ale_history_enabled = 1
    let g:ale_history_log_output = 1
    let g:ale_keep_list_window_open = v:null
    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_fixers = {'*': ['remove_trailing_lines', 'trim_whitespace'], 'ru
    st': ['rustfmt, rls']}
    let g:ale_history_enabled = 1
    let g:ale_history_log_output = 1
    let g:ale_keep_list_window_open = v:null
    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 = {'rust': ['rustc', 'rls']}
    let g:ale_linters_explicit = 1
    let g:ale_linters_ignore = {}
    let g:ale_list_vertical = v:null
    let g:ale_list_window_size = v:null
    let g:ale_loclist_msg_format = v:null
    let g:ale_max_buffer_history_size = v:null
    let g:ale_max_signs = v:null
    let g:ale_maximum_file_size = v:null
    let g:ale_open_list = v:null
    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 = 1
    let g:ale_sign_error = '>>'
    let g:ale_sign_info = '--'
    let g:ale_sign_offset = v:null
    let g:ale_sign_style_error = '>>'
    let g:ale_sign_style_warning = '--'
    let g:ale_sign_warning = '--'
    let g:ale_sign_highlight_linenrs = v:null
    let g:ale_statusline_format = v:null
    muppi090909
    @muppi090909
    let g:ale_type_map = v:null
    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
    Grzegorz Szansa
    @sarna
    hey, I'm trying to use ALE with ruby but I can't get it to work. I keep getting (executable check - failure) bundle exec solargraph in ALEInfo :( how do I troubleshoot this? nothing I tried helped
    FWIW I use rbenv, I tried initing it everywhere and it didn't help. in emacs it worked fine :( :!bundle exec solargraph works as it should
    Grzegorz Szansa
    @sarna
    in fact if I put any command in g:ale_ruby_solargraph_executable it fails.. even stuff like echo "hello" > /home/me/hello.txt. what's going on?
    Grzegorz Szansa
    @sarna
    FYI: I removed all the custom executable paths and it automagically started working. lol
    Kasper L
    @qqgameover
    Hey! Would this be the right place to ask for some help? Im having a strange issue where ale does not lint the first file i open, but if i close the buffer and open the file again everything works as expected.
    Robin Alexander Dorstijn
    @Drvanon
    Hi, this is my ALEInfo: https://rentry.co/ve7vu. I would expect it to run black when I give the :ALEFix command, but it doesn't do that. Could anybody tell me why>
    John
    @JohnHuddleston
    Hi all, hopefully this is a common issue, but I'm running into some interesting behavior... When opening a .c file I get this from :ALEInfo https://rentry.co/dg5h4 . I've specified clangd as the linter, and ensured it's on the path, but I suspect the issue is a little shallower than that given the lack of a detected filetype
    Okay, so naturally as soon as I got frustrated enough to reach out I ended up finding the right stackoverflow article: I needed to add 'filetype on' to my .vimrc . False alarm!
    Robby Grodin
    @robbytables
    Hello, I'm having issues with getting :ALEGoToDefinition to work. The issue is that when I call the function, nothing happens. I'm using a .vimrc that has worked in the past for python projects, but I am trying to augment it to work with Ruby. Here's my info:
    Current Filetype: ruby
    Available Linters: ['brakeman', 'cspell', 'debride', 'rails_best_practices', 'reek', 'rubocop', 'ruby', 'solargraph', 'sorbet', 'standardrb']
    Linter Aliases:
    'sorbet' -> ['srb']
    Enabled Linters: ['rubocop', 'standardrb']
    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.
    '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_executable = 'rubocop'
    let g:ale_ruby_rubocop_options = ''
    let g:ale_ruby_standardrb_executable = 'standardrb'
    let g:ale_ruby_standardrb_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 = 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 = v:null
    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 = 0
    let g:ale_fixers = {}
    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': ['rubocop', 'standardrb'], 'javascript': ['eslint'], 'python': ['flake8', 'pylint']}
    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) rubocop
    (finished - exit code 1) ['/bin/zsh', '-c', '''rubocop'' --format json --force-exclusion --stdin ''/Users/robby/code/backend/app/models/refund.rb'' < ''/var/folders/rm/xkrxh2lj0llg180d355y76mh0000gn/T/vNo6Tep/3/refund.rb''']
    <<<OUTPUT STARTS>>>
    {"metadata":{"rubocop_version":"1.27.0","ruby_engine":"ruby","ruby_version":"3.0.0","ruby_patchlevel":"0","ruby_platform":"arm64-darwin21"},"files":[{"path":"app/models/refund.rb","offenses":[{"severity":"convention","message":"Missing frozen string literal comment.","cop_name":"Style/FrozenStringLiteralComment","corrected":false,"correctable":true,"location":{"start_line":1,"start_column":1,"last_line":1,"last_column":1,"length":1,"l
    ine":1,"column":1}}]}],"summary":{"offense_count":1,"target_file_count":1,"inspected_file_count":1}}
    <<<OUTPUT ENDS>>>
    (executable check - success) standardrb
    (started) ['/bin/zsh', '-c', '''standardrb'' --format json --force-exclusion --stdin ''/Users/robby/code/backend/app/models/refund.rb'' < ''/var
    Appreciate any help from anyone
    RoachZhao
    @roachsinai
    Hi, three
    It's half month after I made this pr: dense-analysis/ale#4142
    could any memeber/reviewer of ale check it?
    Thanks!
    w0rp
    @w0rp
    @roachsinai I will have a look when I have the chance. I've just been very busy. Some day I'll be able to explain what I've been working on. ;)
    RoachZhao
    @roachsinai
    @w0rp thanks!
    Sean Johnston
    @esran
    is there a way to change the python path for python linters based on the file being edited?
    w0rp
    @w0rp
    I have created a Discord server, and I've started pointing everything at that. Check it out here: https://discord.gg/5zFD6pQxDk
    I would prefer something similar that's FOSS, but most people aren't ready to switch over to Matrix... yet! Maybe in a couple of more years they will be.