{"id":13646449,"url":"https://github.com/emacs-lsp/lsp-ui","last_synced_at":"2025-03-24T18:44:21.000Z","repository":{"id":37470699,"uuid":"112288607","full_name":"emacs-lsp/lsp-ui","owner":"emacs-lsp","description":"UI integrations for lsp-mode","archived":false,"fork":false,"pushed_at":"2024-04-09T11:15:17.000Z","size":8650,"stargazers_count":1007,"open_issues_count":163,"forks_count":140,"subscribers_count":33,"default_branch":"master","last_synced_at":"2024-04-13T21:51:33.980Z","etag":null,"topics":["emacs-lsp","flycheck","flycheck-diagnostics","lsp","lsp-ui","peek","sideline","ui","xref"],"latest_commit_sha":null,"homepage":"https://emacs-lsp.github.io/lsp-ui","language":"Emacs Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/emacs-lsp.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.org","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2017-11-28T05:08:15.000Z","updated_at":"2024-04-12T05:52:55.000Z","dependencies_parsed_at":"2023-01-26T07:01:18.429Z","dependency_job_id":"cd62a524-e920-48ff-9057-62ebaaab79ec","html_url":"https://github.com/emacs-lsp/lsp-ui","commit_stats":{"total_commits":592,"total_committers":98,"mean_commits":6.040816326530612,"dds":0.6148648648648649,"last_synced_commit":"8aa8b175fc4cdf2d16f6f3fdb2904e8874610c8a"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emacs-lsp%2Flsp-ui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emacs-lsp%2Flsp-ui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emacs-lsp%2Flsp-ui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emacs-lsp%2Flsp-ui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emacs-lsp","download_url":"https://codeload.github.com/emacs-lsp/lsp-ui/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245330907,"owners_count":20597865,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["emacs-lsp","flycheck","flycheck-diagnostics","lsp","lsp-ui","peek","sideline","ui","xref"],"created_at":"2024-08-02T01:02:55.982Z","updated_at":"2025-03-24T18:44:20.984Z","avatar_url":"https://github.com/emacs-lsp.png","language":"Emacs Lisp","funding_links":[],"categories":["Emacs Lisp"],"sub_categories":[],"readme":"lsp-ui\n======\n\n[![MELPA](https://melpa.org/packages/lsp-ui-badge.svg)](https://melpa.org/#/lsp-ui)\n[![MELPA Stable](https://stable.melpa.org/packages/lsp-ui-badge.svg)](https://stable.melpa.org/#/lsp-ui)\n[![](https://discordapp.com/api/guilds/789885435026604033/widget.png?style=shield)](https://discord.gg/swuxy5AAgT)\n[![CI](https://github.com/emacs-lsp/lsp-ui/actions/workflows/test.yml/badge.svg)](https://github.com/emacs-lsp/lsp-ui/actions/workflows/test.yml)\n\n\u003c!-- markdown-toc start - Don't edit this section. Run M-x markdown-toc-refresh-toc --\u003e\n**Table of Contents**\n\n- [lsp-ui](#lsp-ui)\n    - [Intro](#intro)\n    - [lsp-ui-sideline:](#lsp-ui-sideline)\n    - [lsp-ui-peek:](#lsp-ui-peek)\n    - [lsp-ui-doc](#lsp-ui-doc)\n    - [lsp-ui-imenu](#lsp-ui-imenu)\n    - [Contributing](#contributing)\n\n\u003c!-- markdown-toc end --\u003e\n\n## Intro\n\nThis package contains all the higher level UI modules of `lsp-mode`, like flycheck support and code lenses.\n\nBy default, `lsp-mode` automatically activates `lsp-ui` unless `lsp-auto-configure` is set to `nil`.\n\nYou only have to put `(use-package lsp-ui)` in your config and the package will work out of the box.\n([use-package](https://github.com/jwiegley/use-package))\n\nOr use the builtin package manager.\n\n```\nM-x package-install [RET] lsp-ui [RET]\n```\n\n## lsp-ui-sideline:\n\nShow informations of the symbols on the current line.\nIt also show flycheck diagnostics and LSP code actions\n![lsp-line](images/lsp-line.gif)\n\nCustomization:\n\n- `lsp-ui-sideline-show-diagnostics` show diagnostics messages in sideline\n- `lsp-ui-sideline-show-hover` show hover messages in sideline\n- `lsp-ui-sideline-show-code-actions` show code actions in sideline\n- `lsp-ui-sideline-update-mode`\nWhen set to 'line' the information will be updated when user\nchanges current line otherwise the information will be updated\nwhen user changes current point\n- `lsp-ui-sideline-delay` seconds to wait before showing sideline\n- `lsp-ui-sideline-diagnostic-max-lines` default to showing only the\n  first line of diagnostic messages, increase for more verbose\n  messages, decrease if flickering occurs\n\n## lsp-ui-peek:\n\nAdd [peek](https://code.visualstudio.com/docs/editor/editingevolved#_peek) feature\n![lsp-xref](images/lsp-xref.gif)\n\nYou may remap `xref-find-{definitions,references}` (bound to \u003ckbd\u003eM-.\u003c/kbd\u003e \u003ckbd\u003eM-?\u003c/kbd\u003e by default):\n\n```elisp\n(define-key lsp-ui-mode-map [remap xref-find-definitions] #'lsp-ui-peek-find-definitions)\n(define-key lsp-ui-mode-map [remap xref-find-references] #'lsp-ui-peek-find-references)\n```\n\nThere is a window-local jump list dedicated to cross references:\n```elisp\n(lsp-ui-peek-jump-backward)\n(lsp-ui-peek-jump-forward)\n```\n\nOther cross references:\n```elisp\n(lsp-ui-peek-find-workspace-symbol \"pattern 0\")\n;; If the server supports custom cross references\n(lsp-ui-peek-find-custom 'base \"$cquery/base\")\n```\n\nCustomization:\n\n- `lsp-ui-peek-enable` enable ‘lsp-ui-peek’\n- `lsp-ui-peek-show-directory` show the directory of files\n\n## lsp-ui-doc\n\nShow object documentation at point in a child frame.\n![lsp-ui-doc](images/lsp-ui-doc.gif)\n\nShow documentation in a WebKit widget\n![lsp-ui-doc-webkit](images/lsp-ui-doc-webkit.png)\n\nFocus into lsp-ui-doc-frame\n![lsp-ui-doc-focus-frame](images/lsp-ui-doc-focus-frame.gif)\n\nCustomization:\n\n- `lsp-ui-doc-enable` Enable lsp-ui-doc\n- `lsp-ui-doc-position` Where to display the doc (top, bottom or at-point)\n- `lsp-ui-doc-side` Where to display the doc (left or right)\n- `lsp-ui-doc-delay` Number of seconds before showing the doc\n- `lsp-ui-doc-show-with-cursor` When non-nil, move the cursor over a symbol to show the doc\n- `lsp-ui-doc-show-with-mouse` When non-nil, move the mouse pointer over a symbol to show the doc\n\n## lsp-ui-imenu\n\nShow imenu entries.\n\n![lsp-ui-doc](images/lsp-ui-imenu.png)\n\nCustomization:\n\n- `lsp-ui-imenu-kind-position` place to show entries kind\n- `lsp-ui-imenu-buffer-position` place to show the buffer window\n- `lsp-ui-imenu-window-width` set window width\n- `lsp-ui-imenu-window-fix-width` when non-nil, the window will not be resizable (eg. unaffected by `balance-windows`)\n- `lsp-ui-imenu--custom-mode-line-format` mode line format\n- `lsp-ui-imenu-auto-refresh` auto refresh when necessary\n- `lsp-ui-imenu-refresh-delay` delay to refresh imenu\n\n## Contributing\n\nAny kind of help is appreciated. If you want to help us maintaining this package,\n[leave a note](https://github.com/emacs-lsp/lsp-ui/issues/332).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femacs-lsp%2Flsp-ui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femacs-lsp%2Flsp-ui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femacs-lsp%2Flsp-ui/lists"}