Skip to content

Commit f736b52

Browse files
author
Junfeng Li
committed
Add support setting diagnostics list dynamically.
Close #583.
1 parent f903cbd commit f736b52

File tree

5 files changed

+27
-3
lines changed

5 files changed

+27
-3
lines changed

autoload/LanguageClient.vim

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -709,6 +709,13 @@ function! LanguageClient#setLoggingLevel(level) abort
709709
return LanguageClient#Call('languageClient/setLoggingLevel', l:params, v:null)
710710
endfunction
711711

712+
function! LanguageClient#setDiagnosticsList(diagnosticsList) abort
713+
let l:params = {
714+
\ 'diagnosticsList': a:diagnosticsList,
715+
\ }
716+
return LanguageClient#Call('languageClient/setDiagnosticsList', l:params, v:null)
717+
endfunction
718+
712719
function! LanguageClient#registerHandlers(handlers, ...) abort
713720
let l:handle = a:0 > 0 ? a:1 : v:null
714721
return LanguageClient#Call('languageClient/registerHandlers', a:handlers, l:handle)

doc/LanguageClient.txt

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -492,10 +492,16 @@ Execute a workspace command.
492492
*LanguageClient_setLoggingLevel()*
493493
Signature: LanguageClient#setLoggingLevel(level: String)
494494

495-
Set the plugin logging level. By default, only errors are logged into
496-
/tmp/LanguageClient.log (%TMP%/LanguageClient.log for Windows).
495+
Set the plugin logging level.
497496

498-
Valid logging levels are 'ERROR'(default), 'INFO', 'DEBUG'.
497+
Valid logging levels are 'ERROR', 'WARN'(default), 'INFO', 'DEBUG'.
498+
499+
*LanguageClient#setDiagnosticsList()*
500+
Signature: LanguageClient#setDiagnosticsList(diagnosticsList: String)
501+
502+
Set the destination of diagnostics.
503+
504+
Valid options are 'Quickfix', 'Location', 'Disabled'.
499505

500506
*LanguageClient#registerServerCommands()*
501507
*LanguageClient_registerServerCommands()*

src/languageclient.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2065,6 +2065,15 @@ impl State {
20652065
Ok(Value::Null)
20662066
}
20672067

2068+
pub fn languageClient_setDiagnosticsList(&mut self, params: &Value) -> Result<Value> {
2069+
info!("Begin {}", REQUEST__SetDiagnosticsList);
2070+
let (diagnosticsList,): (DiagnosticsList,) =
2071+
self.gather_args(&["diagnosticsList"], params)?;
2072+
self.diagnosticsList = diagnosticsList;
2073+
info!("End {}", REQUEST__SetDiagnosticsList);
2074+
Ok(Value::Null)
2075+
}
2076+
20682077
pub fn languageClient_registerHandlers(&mut self, params: &Value) -> Result<Value> {
20692078
info!("Begin {}", REQUEST__RegisterHandlers);
20702079
let handlers: HashMap<String, String> = params.clone().to_lsp()?;

src/rpchandler.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ impl State {
5454
REQUEST__StartServer => self.languageClient_startServer(&params),
5555
REQUEST__RegisterServerCommands => self.languageClient_registerServerCommands(&params),
5656
REQUEST__SetLoggingLevel => self.languageClient_setLoggingLevel(&params),
57+
REQUEST__SetDiagnosticsList => self.languageClient_setDiagnosticsList(&params),
5758
REQUEST__RegisterHandlers => self.languageClient_registerHandlers(&params),
5859
REQUEST__NCMRefresh => self.NCM_refresh(&params),
5960
REQUEST__NCM2OnComplete => self.NCM2_on_complete(&params),

src/types.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ pub const REQUEST__StartServer: &str = "languageClient/startServer";
1515
pub const REQUEST__RegisterServerCommands: &str = "languageClient/registerServerCommands";
1616
pub const REQUEST__OmniComplete: &str = "languageClient/omniComplete";
1717
pub const REQUEST__SetLoggingLevel: &str = "languageClient/setLoggingLevel";
18+
pub const REQUEST__SetDiagnosticsList: &str = "languageClient/setDiagnosticsList";
1819
pub const REQUEST__RegisterHandlers: &str = "languageClient/registerHandlers";
1920
pub const REQUEST__NCMRefresh: &str = "LanguageClient_NCMRefresh";
2021
pub const REQUEST__NCM2OnComplete: &str = "LanguageClient_NCM2OnComplete";

0 commit comments

Comments
 (0)