diff options
Diffstat (limited to 'codeless/server/src/handlers.rs')
-rw-r--r-- | codeless/server/src/handlers.rs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/codeless/server/src/handlers.rs b/codeless/server/src/handlers.rs new file mode 100644 index 000000000..3f257941a --- /dev/null +++ b/codeless/server/src/handlers.rs | |||
@@ -0,0 +1,13 @@ | |||
1 | use libanalysis::World; | ||
2 | use libeditor; | ||
3 | use {req, Result}; | ||
4 | |||
5 | pub fn handle_syntax_tree( | ||
6 | world: World, | ||
7 | params: req::SyntaxTreeParams | ||
8 | ) -> Result<String> { | ||
9 | let path = params.text_document.uri.to_file_path() | ||
10 | .map_err(|()| format_err!("invalid path"))?; | ||
11 | let file = world.file_syntax(&path)?; | ||
12 | Ok(libeditor::syntax_tree(&file)) | ||
13 | } | ||