diff --git a/config/before/ale.vim b/config/before/ale.vim index 4ec90f7..d78997a 100644 --- a/config/before/ale.vim +++ b/config/before/ale.vim @@ -9,13 +9,13 @@ let g:ale_sign_warning = '~>' let g:ale_elixir_elixir_ls_release = '/usr/lib/elixir-ls/' let g:ale_java_javalsp_executable = '/usr/bin/java-language-server' +"\ 'rust': ['rust-analyzer'], let g:ale_linters = { \ 'javascript': ['eslint'], \ 'javascriptreact': ['eslint'], \ 'typescript': ['tsserver', 'tslint'], \ 'typescriptreact': ['tsserver', 'tslint'], \ 'python': ['pyright'], -\ 'rust': ['rust-analyzer'], \ 'elixir': ['elixir-ls'], \ 'go': ['gopls'], \ 'json': ['jsonlint'], @@ -35,11 +35,11 @@ let g:ale_fixers = { \ 'javascriptreact': ['prettier'], \ 'typescriptreact': ['prettier'], \ 'python': ['black'], -\ 'rust': ['rustfmt'], \ 'elixir': ['mix_format'], \ 'graphql': ['prettier'], \ 'perl': ['perltidy'], \ 'go': ['gofmt'], +\ 'rust': ['rustfmt'], \ 'json': ['prettier'], \ 'vala': ['uncrustify'], \ 'dart': ['dartfmt'], @@ -48,7 +48,8 @@ let g:ale_fixers = { let g:ale_rust_rls_config = { \ 'rust': { -\ 'clippy_preference': 'on' +\ 'clippy_preference': 'on', +\ 'ale_rust_cargo_default_feature_behavior': 'all' \ } \ } diff --git a/config/before/language-client.vim b/config/before/language-client.vim index efc484e..8e25ec4 100644 --- a/config/before/language-client.vim +++ b/config/before/language-client.vim @@ -9,8 +9,23 @@ set hidden " \ 'ruby': ['~/.rbenv/shims/solargraph', 'stdio'], " \ } +if !empty($RUST_VERSION) + let g:LanguageClient_rustVersion = $RUST_VERSION +else + let g:LanguageClient_rustVersion = 'stable' +endif + let g:LanguageClient_serverCommands = { -\ 'rust': ['/usr/bin/rustup', 'run', 'stable', 'rls'], +"\ 'rust': ['/usr/bin/rustup', 'run', g:LanguageClient_rustVersion, 'rust-analyzer'], +\ 'rust': { +\ 'name': 'rust-analyzer', +\ 'command': ['/usr/bin/rustup', 'run', g:LanguageClient_rustVersion, 'rust-analyzer'], +\ 'initializationOptions': { +\ 'cargo': { +\ 'features': 'true', +\ } +\ }, +\ }, \ 'elixir': ['/usr/lib/elixir-ls/language_server.sh'], \ 'elm': ['/usr/bin/elm-language-server'], \ 'python': ['/usr/bin/pyls'], @@ -25,6 +40,7 @@ let g:LanguageClient_rootMarkers = { \ 'elm': ['elm.json'], \ 'typescript': ['package.json'], \ 'typescriptreact': ['package.json'], +\ 'rust': ['Cargo.toml'], \ } let g:LanguageClient_hoverPreview = 'always'