1
1
from typing import cast
2
2
3
3
import lsprotocol .types as lsp
4
+ import traceback as tb
4
5
from beet import Context , GenericPlugin , Pipeline , Task
5
6
6
7
from .context import LanguageServerContext
@@ -15,7 +16,8 @@ def require(self, *args: GenericPlugin[Context] | str):
15
16
plugin = self .resolve (spec )
16
17
except Exception as exc :
17
18
ls = cast (LanguageServerContext , self .ctx ).ls
18
- message = f"An issue occured while loading plugin: { spec } \n { exc } "
19
+ traceback = '\n ' .join (tb .format_tb (exc .__traceback__ ))
20
+ message = f"An issue occured while loading plugin: { spec } \n { exc } \n { traceback } "
19
21
ls .show_message (message .split ("\n " )[0 ], lsp .MessageType .Warning )
20
22
ls .show_message_log (message , lsp .MessageType .Warning )
21
23
continue
@@ -32,6 +34,7 @@ def require(self, *args: GenericPlugin[Context] | str):
32
34
Task (plugin ).advance (self .ctx )
33
35
except Exception as exc :
34
36
ls = cast (LanguageServerContext , self .ctx ).ls
35
- message = f"An issue occured while running first step of plugin: { plugin } \n { exc } "
37
+ traceback = '\n ' .join (tb .format_tb (exc .__traceback__ ))
38
+ message = f"An issue occured while running first step of plugin: { plugin } \n { exc } \n { traceback } "
36
39
ls .show_message (message .split ("\n " )[0 ], lsp .MessageType .Warning )
37
40
ls .show_message_log (message , lsp .MessageType .Warning )
0 commit comments