mattn / vim-lsp-settings

Auto configurations for Language Server for vim-lsp
MIT License
1.27k stars 229 forks source link

flutter support #482

Open fedorenchik opened 2 years ago

fedorenchik commented 2 years ago

Flutter comes with Dart bundled and Dart support does not work in Flutter projects.

Please, add support for Flutter.

Steps to reproduce:

  1. open any Flutter project, LSP doesn't work.
ryicoh commented 2 years ago

@fedorenchik

It works on my environment.

ryicoh@ryicohs-MacBook-Air flutter_app % flutter --version
Flutter 2.8.0-3.3.pre • channel beta • https://github.com/flutter/flutter.git
Framework • revision 262b70ece1 (10 days ago) • 2021-12-01 13:00:48 -0800
Engine • revision 06a7363b0c
Tools • Dart 2.15.0 (build 2.15.0-268.18.beta)

flutter create flutter_app
cd flutter_app
vim
# command-line mode in vim
:LspInstallServer

my .vimrc

    Plug 'prabirshrestha/vim-lsp'
    Plug 'mattn/vim-lsp-settings'
        function! s:on_lsp_buffer_enabled() abort
            setlocal omnifunc=lsp#complete
            setlocal signcolumn=yes
            if exists('+tagfunc') | setlocal tagfunc=lsp#tagfunc | endif
            nmap <buffer> gd <plug>(lsp-definition)
            nmap <buffer> <leader>rn <plug>(lsp-rename)
            nmap <buffer> [g <plug>(lsp-previous-diagnostic)
            nmap <buffer> ]g <plug>(lsp-next-diagnostic)
            nmap <buffer> ga <plug>(lsp-code-action)
            nmap <buffer> K <plug>(lsp-hover)
            inoremap <buffer> <expr><c-f> lsp#scroll(+4)
            inoremap <buffer> <expr><c-d> lsp#scroll(-4)

            let g:lsp_format_sync_timeout = 200
            autocmd! BufWritePre *.tsx,*.ts,*.rs,*.go call execute('LspDocumentFormatSync')
        endfunction

        augroup lsp_install
            au!
            autocmd User lsp_buffer_enabled call s:on_lsp_buffer_enabled()
        augroup END