@@ -15,6 +15,23 @@ use serde::Deserialize;
1515use std:: collections:: HashMap ;
1616use std:: { path:: PathBuf , str:: FromStr , time:: Duration } ;
1717
18+ #[ derive( Deserialize ) ]
19+ pub struct LoggerConfig {
20+ pub logging_file : Option < PathBuf > ,
21+ pub logging_level : log:: LevelFilter ,
22+ }
23+
24+ impl LoggerConfig {
25+ pub fn parse ( vim : Vim ) -> Result < Self > {
26+ let req = r#"{
27+ "logging_file": get(g:, 'LanguageClient_loggingFile', v:null),
28+ "logging_level": get(g:, 'LanguageClient_loggingLevel', 'WARN'),
29+ }"# ;
30+ let res: LoggerConfig = vim. eval ( req. replace ( "\n " , "" ) ) ?;
31+ Ok ( res)
32+ }
33+ }
34+
1835#[ derive( Debug ) ]
1936pub struct Config {
2037 pub auto_start : bool ,
@@ -34,8 +51,6 @@ pub struct Config {
3451 pub hover_preview : HoverPreviewOption ,
3552 pub completion_prefer_text_edit : bool ,
3653 pub is_nvim : bool ,
37- pub logging_file : Option < PathBuf > ,
38- pub logging_level : log:: LevelFilter ,
3954 pub server_stderr : Option < String > ,
4055 pub diagnostics_signs_max : Option < usize > ,
4156 pub diagnostics_max_severity : DiagnosticSeverity ,
@@ -88,8 +103,6 @@ impl Default for Config {
88103 preferred_markup_kind : None ,
89104 enable_extensions : None ,
90105 is_nvim : false ,
91- logging_file : None ,
92- logging_level : log:: LevelFilter :: Off ,
93106 restart_on_crash : true ,
94107 max_restart_retries : 5 ,
95108 }
@@ -98,8 +111,6 @@ impl Default for Config {
98111
99112#[ derive( Deserialize ) ]
100113struct DeserializableConfig {
101- logging_file : Option < PathBuf > ,
102- logging_level : log:: LevelFilter ,
103114 server_stderr : Option < String > ,
104115 auto_start : u8 ,
105116 server_commands : HashMap < String , ServerCommand > ,
@@ -170,8 +181,6 @@ impl Config {
170181 "code_lens_display": get(g:, 'LanguageClient_codeLensDisplay', v:null),
171182 "restart_on_crash": get(g:, 'LanguageClient_restartOnCrash', 1),
172183 "max_restart_retries": get(g:, 'LanguageClient_maxRestartRetries', 5),
173- "logging_file": get(g:, 'LanguageClient_loggingFile', v:null),
174- "logging_level": get(g:, 'LanguageClient_loggingLevel', 'WARN'),
175184 "server_stderr": get(g:, 'LanguageClient_serverStderr', v:null),
176185 }"# ;
177186
@@ -221,8 +230,6 @@ impl Config {
221230 hover_preview,
222231 completion_prefer_text_edit : res. completion_prefer_text_edit == 1 ,
223232 is_nvim : res. is_nvim == 1 ,
224- logging_file : res. logging_file ,
225- logging_level : res. logging_level ,
226233 server_stderr : res. server_stderr ,
227234 diagnostics_signs_max : res. diagnostics_signs_max ,
228235 diagnostics_max_severity : diagnostics_severity ( & res. diagnostics_max_severity ) ?,
0 commit comments