scrings/
error.rs

1use std::array::TryFromSliceError;
2use std::char::DecodeUtf16Error;
3use std::io::Error as IoError;
4use std::result;
5use std::str::Utf8Error;
6use std::string::FromUtf8Error;
7use tree_sitter::LanguageError;
8
9#[derive(Debug)]
10pub enum Error {
11    DecodeUtf16Error(DecodeUtf16Error),
12    Io(IoError),
13    Utf8Error(Utf8Error),
14    TryFromSliceError(TryFromSliceError),
15    FromUtf8Error(FromUtf8Error),
16    LanguageError(LanguageError),
17}
18
19impl From<DecodeUtf16Error> for Error {
20    fn from(e: DecodeUtf16Error) -> Error {
21        Error::DecodeUtf16Error(e)
22    }
23}
24
25impl From<IoError> for Error {
26    fn from(e: IoError) -> Error {
27        Error::Io(e)
28    }
29}
30
31impl From<Utf8Error> for Error {
32    fn from(e: Utf8Error) -> Error {
33        Error::Utf8Error(e)
34    }
35}
36
37impl From<TryFromSliceError> for Error {
38    fn from(e: TryFromSliceError) -> Error {
39        Error::TryFromSliceError(e)
40    }
41}
42
43impl From<FromUtf8Error> for Error {
44    fn from(e: FromUtf8Error) -> Error {
45        Error::FromUtf8Error(e)
46    }
47}
48
49impl From<LanguageError> for Error {
50    fn from(e: LanguageError) -> Error {
51        Error::LanguageError(e)
52    }
53}
54
55pub type Result<T> = result::Result<T, Error>;