File tree Expand file tree Collapse file tree 2 files changed +12
-3
lines changed Expand file tree Collapse file tree 2 files changed +12
-3
lines changed Original file line number Diff line number Diff line change @@ -44,6 +44,8 @@ pub struct LspError {
44
44
}
45
45
46
46
impl LspError {
47
+ pub const UNKNOWN_FILE : i32 = -32900 ;
48
+
47
49
pub fn new ( code : i32 , message : String ) -> LspError {
48
50
LspError { code, message }
49
51
}
@@ -805,7 +807,14 @@ where
805
807
let response = match result {
806
808
Ok ( resp) => Response :: new_ok ( id, & resp) ,
807
809
Err ( e) => match e. downcast :: < LspError > ( ) {
808
- Ok ( lsp_error) => Response :: new_err ( id, lsp_error. code , lsp_error. message ) ,
810
+ Ok ( lsp_error) => {
811
+ if lsp_error. code == LspError :: UNKNOWN_FILE {
812
+ // Work-around for https://github.com/rust-analyzer/rust-analyzer/issues/1521
813
+ Response :: new_ok ( id, ( ) )
814
+ } else {
815
+ Response :: new_err ( id, lsp_error. code , lsp_error. message )
816
+ }
817
+ }
809
818
Err ( e) => {
810
819
if is_canceled ( & e) {
811
820
Response :: new_err (
Original file line number Diff line number Diff line change @@ -9,7 +9,6 @@ use std::{
9
9
} ;
10
10
11
11
use crossbeam_channel:: { unbounded, Receiver } ;
12
- use lsp_server:: ErrorCode ;
13
12
use lsp_types:: Url ;
14
13
use parking_lot:: RwLock ;
15
14
use ra_cargo_watch:: { url_from_path_with_drive_lowercasing, CheckOptions , CheckWatcher } ;
@@ -252,8 +251,9 @@ impl WorldSnapshot {
252
251
let path = uri. to_file_path ( ) . map_err ( |( ) | format ! ( "invalid uri: {}" , uri) ) ?;
253
252
let file = self . vfs . read ( ) . path2file ( & path) . ok_or_else ( || {
254
253
// Show warning as this file is outside current workspace
254
+ // FIXME: just handle such files, and remove `LspError::UNKNOWN_FILE`.
255
255
LspError {
256
- code : ErrorCode :: InvalidRequest as i32 ,
256
+ code : LspError :: UNKNOWN_FILE ,
257
257
message : "Rust file outside current workspace is not supported yet." . to_string ( ) ,
258
258
}
259
259
} ) ?;
You can’t perform that action at this time.
0 commit comments