Table of Contents
This package contains all the higher level UI modules of lsp-mode, like flycheck support and code lenses.
By default, lsp-mode automatically activates lsp-ui unless lsp-auto-configure is set to nil.
You only have to put (use-package lsp-ui) in your config and the package will work out of the box.
(use-package)
Or use the builtin package manager.
M-x package-install [RET] lsp-ui [RET]
Show informations of the symbols on the current line.
It also show flycheck diagnostics and LSP code actions
Customization:
lsp-ui-sideline-show-diagnosticsshow diagnostics messages in sidelinelsp-ui-sideline-show-hovershow hover messages in sidelinelsp-ui-sideline-show-code-actionsshow code actions in sidelinelsp-ui-sideline-update-modeWhen set to 'line' the information will be updated when user changes current line otherwise the information will be updated when user changes current pointlsp-ui-sideline-delayseconds to wait before showing sidelinelsp-ui-sideline-diagnostic-max-linesdefault to showing only the first line of diagnostic messages, increase for more verbose messages, decrease if flickering occurs
Add peek feature
You may remap xref-find-{definitions,references} (bound to M-. M-? by default):
(define-key lsp-ui-mode-map [remap xref-find-definitions] #'lsp-ui-peek-find-definitions)
(define-key lsp-ui-mode-map [remap xref-find-references] #'lsp-ui-peek-find-references)There is a window-local jump list dedicated to cross references:
(lsp-ui-peek-jump-backward)
(lsp-ui-peek-jump-forward)Other cross references:
(lsp-ui-peek-find-workspace-symbol "pattern 0")
;; If the server supports custom cross references
(lsp-ui-peek-find-custom 'base "$cquery/base")Customization:
lsp-ui-peek-enableenable ‘lsp-ui-peek’lsp-ui-peek-show-directoryshow the directory of files
Show object documentation at point in a child frame.
Show documentation in a WebKit widget
Customization:
lsp-ui-doc-enableEnable lsp-ui-doclsp-ui-doc-positionWhere to display the doc (top, bottom or at-point)lsp-ui-doc-sideWhere to display the doc (left or right)lsp-ui-doc-delayNumber of seconds before showing the doclsp-ui-doc-show-with-cursorWhen non-nil, move the cursor over a symbol to show the doclsp-ui-doc-show-with-mouseWhen non-nil, move the mouse pointer over a symbol to show the doc
Show imenu entries.
Customization:
lsp-ui-imenu-kind-positionplace to show entries kindlsp-ui-imenu-buffer-positionplace to show the buffer windowlsp-ui-imenu-window-widthset window widthlsp-ui-imenu-window-fix-widthwhen non-nil, the window will not be resizable (eg. unaffected bybalance-windows)lsp-ui-imenu--custom-mode-line-formatmode line formatlsp-ui-imenu-auto-refreshauto refresh when necessarylsp-ui-imenu-refresh-delaydelay to refresh imenu
Any kind of help is appreciated. If you want to help us maintaining this package, leave a note.