Skip to content

Commit e83a640

Browse files
author
Junfeng Li
committed
Support set logging level with variable.
1 parent c52d961 commit e83a640

File tree

4 files changed

+19
-2
lines changed

4 files changed

+19
-2
lines changed

doc/LanguageClient.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,13 @@ Whether to load language server settings.
165165
Default: 0
166166
Valid options: 1 | 0
167167

168+
2.13 g:LanguageClient_loggingLevel *g:LanguageClient_loggingLevel*
169+
170+
Logging level.
171+
172+
Default: 'WARN'
173+
Valid options: 'DEBUG' | 'INFO' | 'WARN' | 'ERROR'
174+
168175
==============================================================================
169176
3. Commands *LanguageClientCommands*
170177

min-init.vim

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@ autocmd BufReadPost *.rs setlocal filetype=rust
99
let g:LanguageClient_serverCommands = {
1010
\ 'rust': ['rustup', 'run', 'nightly', 'rls'],
1111
\ }
12+
let g:LanguageClient_loggingLevel = 'DEBUG'

src/languageclient.rs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -435,13 +435,14 @@ impl ILanguageClient for Arc<Mutex<State>> {
435435
}
436436

437437
fn sync_settings(&self) -> Result<()> {
438-
let (autoStart, serverCommands, mut selectionUI, trace, settingsPath, loadSettings): (
438+
let (autoStart, serverCommands, mut selectionUI, trace, settingsPath, loadSettings, loggingLevel): (
439439
u64,
440440
HashMap<String, Vec<String>>,
441441
String,
442442
String,
443443
String,
444444
u64,
445+
String,
445446
) = self.eval(
446447
&[
447448
"!!get(g:, 'LanguageClient_autoStart', 1)",
@@ -450,6 +451,7 @@ impl ILanguageClient for Arc<Mutex<State>> {
450451
"get(g:, 'LanguageClient_trace', 'Off')",
451452
"get(g:, 'LanguageClient_settingsPath', '.vim/settings.json')",
452453
"!!get(g:, 'LanguageClient_loadSettings', 1)",
454+
"get(g:, 'LanguageClient_loggingLevel', 'WARN')",
453455
][..],
454456
)?;
455457
// vimscript use 1 for true, 0 for false.
@@ -475,6 +477,12 @@ impl ILanguageClient for Arc<Mutex<State>> {
475477
_ => return Err(format_err!("Unknown selectionUI option: {:?}", selectionUI)),
476478
};
477479

480+
let logger = LOGGER
481+
.deref()
482+
.as_ref()
483+
.or_else(|_| Err(format_err!("No logger")))?;
484+
logger::set_logging_level(logger, &loggingLevel)?;
485+
478486
let (diagnosticsEnable, diagnosticsList, diagnosticsDisplay, windowLogMessageLevel): (
479487
u64,
480488
DiagnosticsList,

tests/data/vimrc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ let $LANGUAGECLIENT_DEBUG = 1
1010
let g:LanguageClient_serverCommands = {
1111
\ 'javascript': ['javascript-typescript-stdio'],
1212
\ }
13-
let g:LanguageClient_selectionUI = "location-list"
13+
let g:LanguageClient_selectionUI = 'location-list'
14+
let g:LanguageClient_loggingLevel = 'DEBUG'
1415

1516
autocmd BufReadPost *.rs setlocal filetype=rust

0 commit comments

Comments
 (0)