Skip to content

emacs-lsp/lsp-ui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

09d4080 · Feb 28, 2025
Feb 28, 2025
May 3, 2020
May 3, 2020
Aug 30, 2020
Apr 12, 2022
Apr 12, 2022
Apr 6, 2024
Feb 28, 2025
Oct 27, 2018
Dec 10, 2022
Jan 31, 2025
Dec 4, 2024
Aug 2, 2021
Jan 3, 2022
Apr 16, 2024
Mar 28, 2024
Mar 28, 2024
Apr 24, 2024
Feb 28, 2025
Jan 21, 2021

Repository files navigation

lsp-ui

MELPA MELPA Stable CI

Table of Contents

Intro

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]

lsp-ui-sideline:

Show informations of the symbols on the current line. It also show flycheck diagnostics and LSP code actions lsp-line

Customization:

  • lsp-ui-sideline-show-diagnostics show diagnostics messages in sideline
  • lsp-ui-sideline-show-hover show hover messages in sideline
  • lsp-ui-sideline-show-code-actions show code actions in sideline
  • lsp-ui-sideline-update-mode When set to 'line' the information will be updated when user changes current line otherwise the information will be updated when user changes current point
  • lsp-ui-sideline-delay seconds to wait before showing sideline
  • lsp-ui-sideline-diagnostic-max-lines default to showing only the first line of diagnostic messages, increase for more verbose messages, decrease if flickering occurs

lsp-ui-peek:

Add peek feature lsp-xref

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-enable enable ‘lsp-ui-peek’
  • lsp-ui-peek-show-directory show the directory of files

lsp-ui-doc

Show object documentation at point in a child frame. lsp-ui-doc

Show documentation in a WebKit widget lsp-ui-doc-webkit

Focus into lsp-ui-doc-frame lsp-ui-doc-focus-frame

Customization:

  • lsp-ui-doc-enable Enable lsp-ui-doc
  • lsp-ui-doc-position Where to display the doc (top, bottom or at-point)
  • lsp-ui-doc-side Where to display the doc (left or right)
  • lsp-ui-doc-delay Number of seconds before showing the doc
  • lsp-ui-doc-show-with-cursor When non-nil, move the cursor over a symbol to show the doc
  • lsp-ui-doc-show-with-mouse When non-nil, move the mouse pointer over a symbol to show the doc

lsp-ui-imenu

Show imenu entries.

lsp-ui-doc

Customization:

  • lsp-ui-imenu-kind-position place to show entries kind
  • lsp-ui-imenu-buffer-position place to show the buffer window
  • lsp-ui-imenu-window-width set window width
  • lsp-ui-imenu-window-fix-width when non-nil, the window will not be resizable (eg. unaffected by balance-windows)
  • lsp-ui-imenu--custom-mode-line-format mode line format
  • lsp-ui-imenu-auto-refresh auto refresh when necessary
  • lsp-ui-imenu-refresh-delay delay to refresh imenu

Contributing

Any kind of help is appreciated. If you want to help us maintaining this package, leave a note.