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>;