autoload/lsp/diag.vim | 5 +++++ plugin/lsp.vim | 2 ++ diff --git a/autoload/lsp/diag.vim b/autoload/lsp/diag.vim index 8e277231dec896c2f7650b71567d0950e1ee23c6..c7dd31a23d800a632ea9a30f78fab58cd948b8b5 100644 --- a/autoload/lsp/diag.vim +++ b/autoload/lsp/diag.vim @@ -487,6 +487,11 @@ JumpDiag(diags[0]) return endif + if which == 'last' + JumpDiag(diags[-1]) + return + endif + # Find the entry just before the current line (binary search) var count = a_count > 1 ? a_count : 1 var curlnum: number = line('.') diff --git a/plugin/lsp.vim b/plugin/lsp.vim index 12271dd470fca5374f41956004fa6c20091a8688..7731f6d4ee8441ac894962fb06f8027605e583b6 100644 --- a/plugin/lsp.vim +++ b/plugin/lsp.vim @@ -82,6 +82,7 @@ command! -nargs=0 -bar -bang LspDiagCurrent lsp.LspShowCurrentDiag(false) command! -nargs=0 -bar LspDiagFirst lsp.JumpToDiag('first') command! -nargs=0 -bar LspDiagHighlightDisable lsp.DiagHighlightDisable() command! -nargs=0 -bar LspDiagHighlightEnable lsp.DiagHighlightEnable() +command! -nargs=0 -bar LspDiagLast lsp.JumpToDiag('last') command! -nargs=0 -bar -count=1 LspDiagNext lsp.JumpToDiag('next', ) command! -nargs=0 -bar -count=1 LspDiagPrev lsp.JumpToDiag('prev', ) command! -nargs=0 -bar LspDiagShow lsp.ShowDiagnostics() @@ -149,6 +150,7 @@ # Diagnostics anoremenu L&sp.Diagnostics.Current :LspDiagCurrent anoremenu L&sp.Diagnostics.Show\ All :LspDiagShow anoremenu L&sp.Diagnostics.First :LspDiagFirst + anoremenu L&sp.Diagnostics.Last :LspDiagLast anoremenu L&sp.Diagnostics.Next :LspDiagNext anoremenu L&sp.Diagnostics.Prev :LspDiagPrev anoremenu L&sp.Diagnostics.This :LspDiagHere