;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\300\306!\210\300\307!\210\300\310!\210\300\311!\210\312\313!\203.\300\314!\210\315\316\317\320\321\322\321\323\321\324\325\326\325\327& \210\330\331\332\333\334DD\335\336\337\321\324&\210\330\340\332\333\341DD\342\336\337\321\316&\210\330\343\332\333\344DD\345\336\337\321\316&\210\330\346\332\333\347DD\350\336\337\321\316&\210\330\351\332\333\352DD\353\336\337\321\316&\210\330\354\332\333\355DD\356\336\357\321\316&\210\330\360\332\333\361DD\362\336\363\321\316&\210\330\364\332\333\365DD\366\336\367\321\316&\210\330\370\332\333\371DD\372\336\373\321\316&\210\330\374\332\333\375DD\376\336\373\321\316&\210\330\377\332\333\201@DD\201A\336\337\321\316&\210\330\201B\332\333\201CDD\201D\336\337\321\316&\210\330\201E\332\333\201FDD\201G\336\201H\321\316&\210\330\201I\332\333\201JDD\201K\336\337\321\316&\210\330\201L\332\333\201MDD\201N\336\373\321\316&\210\201O\201P\201Q\201R\321\316%\210\201O\346\201S\201T\321\316%\210\201O\201U\201V\201W\321\316%\210\201O\201X\201Y\201Z\321\316%\207" [require lsp-ui-util lsp-protocol lsp-mode dash goto-addr markdown-mode cl-lib face-remap subr-x featurep xwidget-internal xwidget custom-declare-group lsp-ui-doc nil "Display informations of the current line." :group tools convenience lsp-ui :link (custom-manual "(lsp-ui-doc) Top") (info-link "(lsp-ui-doc) Customizing") custom-declare-variable lsp-ui-doc-enable funcall function #[0 "\300\207" [t] 1] "Whether or not to enable lsp-ui-doc." :type boolean lsp-ui-doc-show-with-mouse #[0 "\300\207" [t] 1] "Move the mouse pointer over a symbol to show its documentation." lsp-ui-doc-show-with-cursor #[0 "\300\207" [t] 1] "Move the cursor over a symbol to show its documentation." lsp-ui-doc-header #[0 "\300\207" [nil] 1] "Whether or not to enable the header which display the symbol string." lsp-ui-doc-include-signature #[0 "\300\207" [nil] 1] "Whether or not to include the object signature/type in the frame." lsp-ui-doc-position #[0 "\300\207" [top] 1] "Where to display the doc when moving the point cursor.\nThis affect the position of the documentation when `lsp-ui-doc-show-with-cursor'\nis non-nil." (choice (const :tag "Top" top) (const :tag "Bottom" bottom) (const :tag "At point" at-point)) lsp-ui-doc-alignment #[0 "\300\207" [frame] 1] "How to align the doc.\nThis only takes effect when `lsp-ui-doc-position' is 'top or 'bottom." (choice (const :tag "Frame" frame) (const :tag "Window" window)) lsp-ui-doc-border #[0 "\300\207" [#1="white"] 1 #1#] "Border color of the frame." color lsp-ui-doc-max-width #[0 "\300\207" [150] 1] "Maximum number of columns of the frame." integer lsp-ui-doc-max-height #[0 "\300\207" [13] 1] "Maximum number of lines in the frame." lsp-ui-doc-use-childframe #[0 "\300\207" [t] 1] "Whether to display documentation in a child-frame or the current frame.\nChild frames requires GNU/Emacs version >= 26 and graphical frames." lsp-ui-doc-use-webkit #[0 "\300\207" [nil] 1] "Whether to display documentation in a WebKit widget in a child-frame.\nThis requires GNU/Emacs version >= 26 and built with the `--with-xwidgets`\noption." lsp-ui-doc-delay #[0 "\300\207" [0.2] 1] "Number of seconds before showing the doc." number lsp-ui-doc-winum-ignore #[0 "\300\207" [t] 1] "Whether to ignore lsp-ui-doc buffers in winum." lsp-ui-doc-text-scale-level #[0 "\300\207" [0] 1] "Text scale amount for doc buffer." custom-declare-face lsp-ui-doc-background ((((background light)) :background "#b3b3b3") (t :background "#272A36")) "Background color of the documentation.\nOnly the `background' is used in this face." ((t :foreground "black" :background "deep sky blue")) "Face used on the header." lsp-ui-doc-highlight-hover ((t :inherit region)) "Face used to highlight the hover symbol/region when using mouse." lsp-ui-doc-url ((t :inherit link)) "Face used on links."] 14) #@44 Frame parameters used to create the frame. (defvar lsp-ui-doc-frame-parameters '((left . -1) (no-focus-on-map . t) (min-width . 0) (width . 0) (min-height . 0) (height . 0) (internal-border-width . 1) (vertical-scroll-bars) (horizontal-scroll-bars) (right-fringe . 0) (menu-bar-lines . 0) (tool-bar-lines . 0) (line-spacing . 0) (unsplittable . t) (undecorated . t) (top . -1) (visibility) (mouse-wheel-frame) (no-other-frame . t) (inhibit-double-buffering . t) (drag-internal-border . t) (no-special-glyphs . t) (desktop-dont-save . t)) (#$ . 4011)) #@202 Function called to format the documentation. The function takes a string as parameter and should return a string. If this variable is nil (the default), the documentation will be rendered as markdown. (defvar lsp-ui-doc-render-function nil (#$ . 4569)) #@98 Hooks run on child-frame creation. The functions receive 2 parameters: the frame and its window. (defvar lsp-ui-doc-frame-hook nil (#$ . 4828)) #@58 Path to the page loaded when a WebKit widget is created. (defvar lsp-ui-doc-webkit-client-path (byte-code "\302\303\206 !\304Q\207" [load-file-name buffer-file-name "file://" file-name-directory "lsp-ui-doc.html"] 3) (#$ . 4978)) #@112 Variables from the parents frame that we want to access in the child. Because some variables are buffer local. (defvar lsp-ui-doc--parent-vars nil (#$ . 5218)) (make-variable-buffer-local 'lsp-ui-doc--parent-vars) #@58 Overlay used to display the documentation in the buffer. (defvar lsp-ui-doc--inline-ov nil (#$ . 5438)) (make-variable-buffer-local 'lsp-ui-doc--inline-ov) #@45 Overlay used to highlight the hover symbol. (defvar lsp-ui-doc--highlight-ov nil (#$ . 5600)) (make-variable-buffer-local 'lsp-ui-doc--highlight-ov) (defvar lsp-ui-doc--bounds nil nil) (make-variable-buffer-local 'lsp-ui-doc--bounds) (defvar lsp-ui-doc--timer nil nil) (make-variable-buffer-local 'lsp-ui-doc--timer) #@54 Non nil when the doc was triggered by a mouse event. (defvar lsp-ui-doc--from-mouse nil (#$ . 5923)) (make-variable-buffer-local 'lsp-ui-doc--from-mouse) #@61 Non nil when the current call is triggered by a mouse event (defvar lsp-ui-doc--from-mouse-current nil (#$ . 6083)) (make-variable-buffer-local 'lsp-ui-doc--from-mouse-current) (defconst lsp-ui-doc--buffer-prefix " *lsp-ui-doc-") #@57 Execute BODY in the lsp-ui-doc buffer. (fn &rest BODY) (defalias 'lsp-ui-doc--with-buffer '(macro . #[128 "\300\301\302\303\304\305\300\306BB\307BBFE\207" [let ((parent-vars (list :buffer (current-buffer) :window (get-buffer-window))) (buffer-list-update-hook nil)) with-current-buffer (get-buffer-create (lsp-ui-doc--make-buffer-name)) (setq lsp-ui-doc--parent-vars parent-vars) prog1 ((buffer-read-only nil) (inhibit-modification-hooks t) (inhibit-point-motion-hooks t) (inhibit-redisplay t)) ((setq buffer-read-only t) (let ((text-scale-mode-step 1.1)) (text-scale-set lsp-ui-doc-text-scale-level)))] 10 (#$ . 6319)])) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put lsp-ui-doc--with-buffer lisp-indent-function 0 put edebug-form-spec t] 5) #@52 Return VAR in `lsp-ui-doc--parent-vars'. (fn VAR) (defalias 'lsp-ui-doc--get-parent '(macro . #[257 "\300\301E\207" [plist-get lsp-ui-doc--parent-vars] 4 (#$ . 7090)])) #@70 Set the frame parameter ‘lsp-ui-doc-frame’ to FRAME. (fn FRAME) (defalias 'lsp-ui-doc--set-frame '(macro . #[257 "\300\301\302F\207" [set-frame-parameter nil 'lsp-ui-doc-frame] 5 (#$ . 7267)])) #@43 Return the child frame. (fn &optional _) (defalias 'lsp-ui-doc--get-frame #[256 "\300\301\302\"\303!\205 \211\207" [frame-parameter nil lsp-ui-doc-frame frame-live-p] 4 (#$ . 7473)]) #@32 Return child frame visibility. (defalias 'lsp-ui-doc--frame-visible-p #[0 "\300 \211\205 \301!\207" [lsp-ui-doc--get-frame frame-visible-p] 3 (#$ . 7665)]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put lsp-ui-doc--frame-visible-p speed -1 put byte-optimizer byte-compile-inline-expand] 5) #@64 Construct the buffer name, it should be unique for each frame. (defalias 'lsp-ui-doc--make-buffer-name #[0 "\301\302\303\"\206\f\301\302\304\"\305Q\207" [lsp-ui-doc--buffer-prefix frame-parameter nil window-id name "*"] 4 (#$ . 7982)]) #@64 Wraps a line of text (STRING) for inline display. (fn STRING) (defalias 'lsp-ui-doc--inline-wrapped-line #[257 "\211\211\300\230\262\203 \300\207\207" [""] 4 (#$ . 8226)]) #@51 Formats STRING for inline rendering. (fn STRING) (defalias 'lsp-ui-doc--inline-formatted-string #[257 "\300\301\302\303\"\304#\207" [mapconcat #[257 "\300\301!!\207" [lsp-ui-doc--inline-wrapped-line string-trim-right] 4 "\n\n(fn LINE)"] split-string "[\n \f ]" "\n"] 6 (#$ . 8407)]) #@80 Render the MARKED-STRING with LANGUAGE. (fn MARKED-STRING &optional LANGUAGE) (defalias 'lsp-ui-doc--extract-marked-string #[513 "\302;\203\n\202 \303!\304!\211\203 \305!\206!\306!\206!\307 \203=\211\2039\211\310\230\2049\311\312#\202O\202O\211\203J\313\314!\"\202O\315\314!!)\266\203!\207" [markdown-hr-display-char lsp-ui-doc-use-webkit string-trim-right lsp:markup-content-value lsp-marked-string\? lsp:marked-string-language lsp:markup-content-kind nil "text" format "```%s\n%s\n```" lsp--render-string lsp-ui-doc--inline-formatted-string lsp--render-element] 10 (#$ . 8699)]) #@57 Filter the LIST-MARKED-STRING. (fn LIST-MARKED-STRING) (defalias 'lsp-ui-doc--filter-marked-string #[257 "\301\211\302\301\"\303\301\211\203;\211A\262\242\262\262T\262\304!\2033\305\306!!\2033B\262\202 B\262\202 \266\237\237D\266\202\203J\207\211A@\207" [lsp-ui-doc-include-signature nil append 0 lsp-marked-string\? lsp-get-renderer lsp:marked-string-language] 10 (#$ . 9313)]) #@238 Extract the documentation from CONTENTS. CONTENTS can be differents type of values: MarkedString | MarkedString[] | MarkupContent (as defined in the LSP). We don't extract the string that `lps-line' is already displaying. (fn CONTENTS) (defalias 'lsp-ui-doc--extract #[257 "\302!\203\303\304\305\306\307\"!\310#\207\311!\203&\312!\203&\304\313!\312!\"\207\211;\2030\304\"\207\311!\203:\304!\207\314!\203O\315!\230\203O\304\316!\"\207\314!\205`\315! \230\205`\316!\207" [lsp/markup-kind-markdown lsp/markup-kind-plain-text vectorp mapconcat lsp-ui-doc--extract-marked-string lsp-ui-doc--filter-marked-string seq-filter identity "\n\n" lsp-marked-string\? lsp:marked-string-language lsp:marked-string-value lsp-markup-content\? lsp:markup-content-kind lsp:markup-content-value] 7 (#$ . 9729)]) #@34 Launch embedded WebKit instance. (defalias 'lsp-ui-doc--webkit-run-xwidget #[0 "\306p\307\310 F\311r\312\313 !q\210\211\311\314\211\211\314\315c\210\316b\210\317\320\311\316\211\311\321 &\322\311\"\210\323``T\324\325\326E$\210\327 \210\330\331\316!\"\210\332 \210\333 \262-\314\334 \335!!\210+\207" [buffer-list-update-hook lsp-ui-doc--parent-vars inhibit-redisplay inhibit-point-motion-hooks inhibit-modification-hooks buffer-read-only :buffer :window get-buffer-window nil get-buffer-create lsp-ui-doc--make-buffer-name t " " 1 make-xwidget webkit buffer-name set-xwidget-query-on-exit-flag put-text-property display xwidget :xwidget xwidget-webkit-mode xwidget-webkit-goto-uri xwidget-at lsp-ui-doc--webkit-set-background lsp-ui-doc--webkit-set-foreground 1.1 text-scale-set inhibit-read-only lsp-ui-doc-webkit-client-path text-scale-mode-step lsp-ui-doc-text-scale-level] 9 (#$ . 10556)]) #@44 Set background color of the WebKit widget. (defalias 'lsp-ui-doc--webkit-set-background #[0 "\300\301\302\303\"!\207" [lsp-ui-doc--webkit-execute-script format "document.body.style.background = '%s';" "#fdfdfd"] 4 (#$ . 11473)]) #@44 Set foreground color of the WebKit widget. (defalias 'lsp-ui-doc--webkit-set-foreground #[0 "\300\301\302\303\304\305\"\"!\207" [lsp-ui-doc--webkit-execute-script format "document.body.style.color = '%s';" face-attribute default :foreground] 6 (#$ . 11708)]) #@26 Return Xwidget instance. (defalias 'lsp-ui-doc--webkit-get-xwidget #[0 "\306p\307\310 F\311r\312\313 !q\210\211\311\314\211\211\315\316!,\314\317\320!\210+\207" [buffer-list-update-hook lsp-ui-doc--parent-vars inhibit-redisplay inhibit-point-motion-hooks inhibit-modification-hooks buffer-read-only :buffer :window get-buffer-window nil get-buffer-create lsp-ui-doc--make-buffer-name t xwidget-at 1 1.1 text-scale-set text-scale-mode-step lsp-ui-doc-text-scale-level] 5 (#$ . 11973)]) #@92 Execute SCRIPT in embedded Xwidget and run optional callback FN. (fn SCRIPT &optional FN) (defalias 'lsp-ui-doc--webkit-execute-script #[513 "\300 \211\205 \301#\207" [lsp-ui-doc--webkit-get-xwidget xwidget-webkit-execute-script] 7 (#$ . 12475)]) #@64 Execute SCRIPT in embedded Xwidget synchronously. (fn SCRIPT) (defalias 'lsp-ui-doc--webkit-execute-script-rv #[257 "\300 \211\205\n\301\"\207" [lsp-ui-doc--webkit-get-xwidget xwidget-webkit-execute-script-rv] 5 (#$ . 12733)]) #@37 Hide the frame. (fn &optional WIN) (defalias 'lsp-ui-doc--hide-frame #[256 "\304\211\305\n!\210\305 !\210\306 \211\205\307!\205\310!\207" [lsp-ui-doc--bounds lsp-ui-doc--from-mouse lsp-ui-doc--inline-ov lsp-ui-doc--highlight-ov nil lsp-ui-util-safe-delete-overlay lsp-ui-doc--get-frame frame-visible-p make-frame-invisible] 5 (#$ . 12970)]) #@37 Calcul the max width of the buffer. (defalias 'lsp-ui-doc--buffer-width #[0 "\306p\307\310 F\311r\312\313 !q\210\211\311\314\211\211\212\315eb\210m\2047\316 \317 Z\211V\2030\211\262\210\320y\210\202\211\262-\314\321\322!\210+\207" [buffer-list-update-hook lsp-ui-doc--parent-vars inhibit-redisplay inhibit-point-motion-hooks inhibit-modification-hooks buffer-read-only :buffer :window get-buffer-window nil get-buffer-create lsp-ui-doc--make-buffer-name t 0 line-end-position line-beginning-position 1 1.1 text-scale-set text-scale-mode-step lsp-ui-doc-text-scale-level] 5 (#$ . 13326)]) #@72 Return the pos-y of the LINE on screen, in pixel. (fn &optional LINE) (defalias 'lsp-ui-doc--line-height #[256 "\300\301!\206\302\303!\205\301!8\206\304\207" [2 window-line-height redisplay t 0] 4 (#$ . 13938)]) #@26 Mark as unused function. (defalias 'lsp-ui-doc--sideline-pos-y #[0 "\301\302\303\300!\205\205\304!!!\207" [lsp-ui-sideline--occupied-lines lsp-ui-doc--line-height line-number-at-pos boundp -min] 4 (#$ . 14165)]) #@69 Callback when resizing using webkit depends on the SIZE. (fn SIZE) (defalias 'lsp-ui-doc--webkit-resize-callback #[257 "\300\301H!\300\302H!\303\304 #\266\305\306 !\207" [round 0 1 xwidget-resize lsp-ui-doc--webkit-get-xwidget lsp-ui-doc--move-frame lsp-ui-doc--get-frame] 7 (#$ . 14389)]) #@68 If the buffer's width is larger than the current frame, resize it. (defalias 'lsp-ui-doc--resize-buffer #[0 "\203 \306\307\310\"\207\311 \312Z^\313 ^V\205I\314p\315\316 F\317r\320\321 !q\210\211\317\322\211\211\323ed\",\322\324\325!\210+\262)\207" [lsp-ui-doc-use-webkit lsp-ui-doc-max-width fill-column buffer-list-update-hook lsp-ui-doc--parent-vars inhibit-redisplay lsp-ui-doc--webkit-execute-script "[document.querySelector('#lsp-ui-webkit').offsetWidth, document.querySelector('#lsp-ui-webkit').offsetHeight];" lsp-ui-doc--webkit-resize-callback frame-width 5 lsp-ui-doc--buffer-width :buffer :window get-buffer-window nil get-buffer-create lsp-ui-doc--make-buffer-name t fill-region 1.1 text-scale-set inhibit-point-motion-hooks inhibit-modification-hooks buffer-read-only text-scale-mode-step lsp-ui-doc-text-scale-level] 6 (#$ . 14691)]) #@471 Return position of FRAME to be where the point is. WIDTH is the child frame width. HEIGHT is the child frame height. START-X is the position x of the current window. START-Y is the position y of the current window. The algorithm prefers to position FRAME just above the symbol at point, to not obstruct the view of the code that follows. If there's no space above in the current window, it places FRAME just below the symbol at point. (fn WIDTH HEIGHT START-X START-Y) (defalias 'lsp-ui-doc--mv-at-point #[1028 "\206\301\302!\303@!\3048\262\206+\211@\305 W\203!\306\211B\202+\303\307 S!\3048\262\262\211A\262\242\\\310 \304_\\\\\311 \312  \\X\203W \\\312 ZZ\206X X\203f\nZ\206i\\\313\314!\203t\314 \202u\306\\ \\ \\B\207" [lsp-ui-doc--bounds bounds-of-thing-at-point symbol posn-at-point 2 window-start 0 window-end frame-char-width frame-char-height frame-outer-width fboundp window-tab-line-height] 15 (#$ . 15569)]) #@36 (fn FRAME LEFT TOP WIDTH HEIGHT) (defalias 'lsp-ui-doc--size-and-pos-changed #[1285 "\300!\211\211A\262\242U\205(U\205(\301\n!U\205(\302\n!U?\207" [frame-position frame-text-height frame-text-width] 12 (#$ . 16536)]) #@40 Place our FRAME on screen. (fn FRAME) (defalias 'lsp-ui-doc--move-frame #[257 "\306\307\310\307\310$\211A\262\242\211A\262\242\211A\262\242\307@\210\311!\312!\313!\314\307\211\315\211\310&\211A\262\242\316_\\_\317\245Z^ _^\n\320\267\202^\321 \202_\n\202_\307 \322=\203p\323$\202\222\211ZZ\324] \325\267\202\220  \\\202\221\326\327!Z\324Z\202\221\307B\211A\262\242\310\307\211*\307\211+,\307-\310.,\203\264+\210\330!\203\315\331\n%\203\315\332!\210\333\334\335BB\336\335\nBB\337\340\341E\342\341E\343\344\345 B\346pB\347BBBBBBBB\"\210\350 \210\330!?\205 \351!.\207" [lsp-ui-doc-max-height lsp-ui-doc-max-width lsp-ui-doc-alignment lsp-ui-doc-position frame-resize-pixelwise move-frame-functions window-edges nil t frame-root-window frame-char-height frame-char-width window-text-pixel-size 10000 1 2 #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (frame 84 window 89)) frame-pixel-width at-point lsp-ui-doc--mv-at-point 10 #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (top 126 bottom 134)) lsp-ui-doc--line-height mode-line frame-visible-p lsp-ui-doc--size-and-pos-changed make-frame-invisible modify-frame-parameters width text-pixels height (user-size . t) left + top (user-position . t) lsp-ui-doc--window-origin selected-window lsp-ui-doc--buffer-origin ((lsp-ui-doc--no-focus . t) (right-fringe . 0) (left-fringe . 0)) lsp-ui-doc--fix-hr-props make-frame-visible window-size-change-functions window-state-change-hook window-state-change-functions window-configuration-change-hook inhibit-redisplay] 31 (#$ . 16778)]) #@52 Visit FILENAME in the parent frame. (fn FILENAME) (defalias 'lsp-ui-doc--visit-file #[257 "\301!\211\205\302\303\304\"\"\207" [lsp-ui-doc--parent-vars find-file-noselect set-window-buffer plist-get :window] 6 (#$ . 18475)]) #@152 Add text properties on text to make it clickable. The text delimiters bound from START to END. FN is the function to call on click. (fn START END FN) (defalias 'lsp-ui-doc--put-click #[771 "\300 \301\302#\210\303\304$\210\303\305\306\307\310\311\312\313\314\307!FF$\210\315\307#\207" [make-sparse-keymap define-key [down-mouse-1] put-text-property keymap mouse-face :inherit lsp-ui-doc-url :box :line-width -1 :color face-foreground add-face-text-property] 16 (#$ . 18712)]) #@16 (fn &rest _) (defalias 'lsp-ui-doc--open-markdown-link #[128 "\304 <\205 @\305=\211\205 A@\211\205\211\211@\262\211\205\"\306!\211\2030\211\307!D\266\204\2025p`D\266\204\211A\262\242@rq\210\310\311\"\211\205_\211\n\304\312\313#)\266\203\205]\314!\262\262)\266\203)\207" [buffer-list-update-hook last-input-event goto-address-url-regexp inhibit-changing-match-data nil mouse-2 window-buffer posn-point get-text-property help-echo t string-match browse-url] 13 (#$ . 19203) "P"]) #@60 Find paths and urls in the buffer and make them clickable. (defalias 'lsp-ui-doc--make-clickable-link #[0 "eb\210\212eb\210\302\303 \302\304#\205!\305\225Tb\210\306\305\224\305\225\307#\210\202 *\207" [case-fold-search goto-address-url-regexp nil re-search-forward t 0 lsp-ui-doc--put-click browse-url-at-mouse] 4 (#$ . 19717)]) #@16 (fn &rest _) (defalias 'lsp-ui-doc--buffer-pre-command #[128 "\301=?\205\302\303\304\"\205\305\306 \307\"\207" [this-command mwheel-scroll frame-parameter nil lsp-ui-doc--no-focus select-frame frame-parent t] 4 (#$ . 20055)]) #@53 Better wrap the document so it fits the doc window. (defalias 'lsp-ui-doc--fill-document #[0 "\302Z\303\211\212eb\210`\262\304\305!\262\306\307\303\310#\2032\304\305!\262 GW\203,\311`\"\210`\262\202 GW\205=\311d\"*\207" [lsp-ui-doc-max-width fill-column 5 nil thing-at-point line re-search-forward "^[ ]*\n" t fill-region] 7 (#$ . 20294)]) #@37 Make empty lines half normal lines. (defalias 'lsp-ui-doc--make-smaller-empty-lines #[0 "\300b\210\301\302\303\304#c\210\300y\210\301\305\303\306#c\210m\204Vl\203Po\204P\212`\307\300!\210`|\210)\310`\311\"\204<\310`\312Z\300]\311\"\203C\310`\313\"\203P\301\305\303\314#\301\302\303\315#\261\210\316y\210\202\301\317\303\320#c\207" [1 propertize "\n" face (:height 0.3) " " (:height 0.1) forward-visible-line get-text-property markdown-heading 2 markdown-hr (:height 0.2) (:height 0.4) nil "\n\n" (:height 0.3)] 5 (#$ . 20657)]) (defalias 'lsp-ui-doc--fix-hr-props #[0 "\306p\307\310 F\311r\312\313 !q\210\211\311\314\211\211\311\315\206 \316\317\"\211\262\205D\320\317\"\203\321\211T\322\323$\210\321T\324\\\322\325$\210\202\262,\314\326\327!\210+\207" [buffer-list-update-hook lsp-ui-doc--parent-vars inhibit-redisplay inhibit-point-motion-hooks inhibit-modification-hooks buffer-read-only :buffer :window get-buffer-window nil get-buffer-create lsp-ui-doc--make-buffer-name t next-single-property-change 1 lsp-ui-doc--replace-hr get-text-property put-text-property display (space :align-to (- right-fringe 1) :height (1)) 2 (space :align-to right-fringe :height (1)) 1.1 text-scale-set text-scale-mode-step lsp-ui-doc-text-scale-level] 7]) (defalias 'lsp-ui-doc--handle-hr-lines #[0 "\300\211\211\211\301b\210\302\206 \301\303\"\211\262\205g\304\303\"\203b\210n\262`Sf\262`\212\305\301!\210`)|\210`Tf\262\205F\306=?\205F\307\310\311\312#\307\313\314\315\316\317\311\320&\307\313\314\321#\306=?\205a\307\322\311\323#Rc\210\202\207" [nil 1 next-single-property-change markdown-hr get-text-property forward-visible-line 10 propertize "\n" face (:height 0.5) " " display (space :height (1)) lsp-ui-doc--replace-hr t (:background "dark grey") (space :height (1)) " \n" (:height 0.2)] 13]) #@60 Set the buffer with STRING and SYMBOL. (fn STRING SYMBOL) (defalias 'lsp-ui-doc--render-buffer #[514 "\306p\307\310 F\311r\312\313 !q\210\211\311\314\211\2110\203-\315\316\317\320!#\321\"\210\202R\322 \210\323!c\210\324 \204C\325 \210\326 \210\327 \210\330\331`\332#\210\333 \210\330\331d\334#\210\335\331!\210\3361\3372\340\341!\210\342!\340\343!\210\331#\340\344!\210\311$\340\345!\210\311%\346\347\350\311\314$\210\351\352!\203\214\340\352!\210\311*\351\353!\203\231\340\353!\210\311+\340\354!\210\311,3\205\250\355P4\311\2115\2116,\314\3567\3578!\210+\207" [buffer-list-update-hook lsp-ui-doc--parent-vars inhibit-redisplay inhibit-point-motion-hooks inhibit-modification-hooks buffer-read-only :buffer :window get-buffer-window nil get-buffer-create lsp-ui-doc--make-buffer-name t lsp-ui-doc--webkit-execute-script format "renderMarkdown('%s', '%s');" url-hexify-string lsp-ui-doc--webkit-resize-callback erase-buffer s-trim lsp-ui-doc--inline-p lsp-ui-doc--fill-document lsp-ui-doc--make-smaller-empty-lines lsp-ui-doc--handle-hr-lines add-text-properties 1 (line-height 1) lsp-ui-doc--make-clickable-link (pointer arrow) lsp-ui-doc-frame-mode (space :height (1) :width 1) (space :height (1) :width 1) make-local-variable face-remapping-alist ((header-line lsp-ui-doc-header)) window-min-height show-trailing-whitespace window-configuration-change-hook add-hook pre-command-hook lsp-ui-doc--buffer-pre-command boundp window-state-change-functions window-state-change-hook window-size-change-functions " " 1.1 text-scale-set lsp-ui-doc-use-webkit wrap-prefix line-prefix lsp-ui-doc-header header-line-format mode-line-format cursor-type text-scale-mode-step lsp-ui-doc-text-scale-level] 10 (#$ . 22502)]) (defalias 'lsp-ui-doc--inline-height #[0 "\306p\307\310 F\311r\312\313 !q\210\211\311\314\211\211\315\316 \317\"G,\314\320\321!\210+\207" [buffer-list-update-hook lsp-ui-doc--parent-vars inhibit-redisplay inhibit-point-motion-hooks inhibit-modification-hooks buffer-read-only :buffer :window get-buffer-window nil get-buffer-create lsp-ui-doc--make-buffer-name t split-string buffer-string "\n" 1.1 text-scale-set text-scale-mode-step lsp-ui-doc-text-scale-level] 5]) #@53 Remove invisible characters in STRING. (fn STRING) (defalias 'lsp-ui-doc--remove-invisibles #[257 "\300\301G\302\303%\211\2030\301O\304\302#\211\205\303O\262P\262\300\301G\302\303%\262\202\207" [text-property-not-all 0 invisible nil next-single-property-change] 8 (#$ . 24732)]) (defvar lsp-ui-doc--inline-width nil nil) (make-variable-buffer-local 'lsp-ui-doc--inline-width) (defalias 'lsp-ui-doc--inline-window-width #[0 "\301 \302 ^\303\300!\203\203\304\305 \\\202\306ZS\207" [display-line-numbers-mode window-text-width window-body-width boundp 2 line-number-display-width 0] 3]) #@14 (fn S1 S2) (defalias 'lsp-ui-doc--inline-zip #[514 "\301 \211Z\302Z\303\211\304\305$P\304\305$\207" [lsp-ui-doc--inline-width lsp-ui-doc--inline-window-width 2 truncate-string-to-width nil 32] 10 (#$ . 25350)]) #@19 (fn STRING LEN) (defalias 'lsp-ui-doc--inline-padding #[514 "\300\301\302!Z\303\"\300R\304\305G\306\307\310\311\312#D\312%\210\207" [" " make-string string-width 32 add-face-text-property 0 :background face-background lsp-ui-doc-background nil t] 11 (#$ . 25574)]) #@20 (fn DOC-STRINGS) (defalias 'lsp-ui-doc--inline-faking-frame #[257 "\301\302\303\304\"\"\211\305\306\307\"\"\207" [lsp-ui-doc--inline-width -max-by > -map string-width mapcar make-closure #[257 "\301\300\"\207" [V0 lsp-ui-doc--inline-padding] 4 "\n\n(fn IT)"]] 6 (#$ . 25853)]) #@15 (fn STRING) (defalias 'lsp-ui-doc--inline-untab #[257 "\301\302\303\304\"\305\306%\207" [tab-width replace-regexp-in-string " " make-string 32 nil t] 7 (#$ . 26143)]) #@16 (fn STRINGS) (defalias 'lsp-ui-doc--inline-merge #[257 "\306\307\310!!\311\"\306\307\310\312p\313\314 F\315r\316\317 !q\210\211\315\320\211\211\321 ,\320\322\323!\210+\262!!\311\"\324!\325\326#\211\311\327\330#\266\202\211\311P\207" [buffer-list-update-hook lsp-ui-doc--parent-vars inhibit-redisplay inhibit-point-motion-hooks inhibit-modification-hooks buffer-read-only split-string lsp-ui-doc--remove-invisibles lsp-ui-doc--inline-untab "\n" :buffer :window get-buffer-window nil get-buffer-create lsp-ui-doc--make-buffer-name t buffer-string 1.1 text-scale-set lsp-ui-doc--inline-faking-frame -zip-with lsp-ui-doc--inline-zip mapconcat identity text-scale-mode-step lsp-ui-doc-text-scale-level] 11 (#$ . 26320)]) #@67 Calcul the position at START + forward n LINES. (fn START LINES) (defalias 'lsp-ui-doc--inline-pos-at #[514 "\212b\210\211y\210`)\207" [] 3 (#$ . 27062)]) #@110 Return a cons of positions where to place the doc. HEIGHT is the documentation number of lines. (fn HEIGHT) (defalias 'lsp-ui-doc--inline-pos #[257 "\300 \301\302 \"\301\"\301\303\"`W\203B\207\301[\"\301`\304\"Y\203-\301[\"B\207\301`\304\"\301`\304\\\"B\207" [window-start lsp-ui-doc--inline-pos-at window-body-height 1 2] 9 (#$ . 27226)]) #@32 Display the doc in the buffer. (defalias 'lsp-ui-doc--inline #[0 "\301 \302!\211A\262\242{\303!\203\202\304\"\211\305#\210\306\307\310#\210\306\311\312!#\210\306\313\314#\210\306\315\316 #\207" [lsp-ui-doc--inline-ov lsp-ui-doc--inline-height lsp-ui-doc--inline-pos overlayp make-overlay move-overlay overlay-put face default display lsp-ui-doc--inline-merge lsp-ui-doc-inline t window selected-window] 11 (#$ . 27589)]) #@80 Return non-nil when the documentation should be display without a child frame. (defalias 'lsp-ui-doc--inline-p #[0 "?\206\301 ?\206\302\303!?\207" [lsp-ui-doc-use-childframe display-graphic-p fboundp display-buffer-in-child-frame] 2 (#$ . 28039)]) (defalias 'lsp-ui-doc--highlight-hover #[0 "\2050 \211A\262\242\303\n!\203\n\202\304\"\211\305#\210\306\307\310#\210\306\311\312 #\266\204\207" [lsp-ui-doc--from-mouse-current lsp-ui-doc--bounds lsp-ui-doc--highlight-ov overlayp make-overlay move-overlay overlay-put face lsp-ui-doc-highlight-hover window selected-window] 8]) #@48 Display the documentation. (fn SYMBOL STRING) (defalias 'lsp-ui-doc--display #[514 "\203\f\303\304!\204\f\305\211\203\211\211\306\230\262\203\307 \207\310 \210\311\"\210\312 \203/\313 \210\202G\314 \204;\315\305\316\317 #\210\204G\320 \210\321\314 !\210 \211\207" [lsp-ui-doc-use-webkit lsp-ui-doc--from-mouse-current lsp-ui-doc--from-mouse featurep xwidget-internal nil "" lsp-ui-doc--hide-frame lsp-ui-doc--highlight-hover lsp-ui-doc--render-buffer lsp-ui-doc--inline-p lsp-ui-doc--inline lsp-ui-doc--get-frame set-frame-parameter lsp-ui-doc-frame lsp-ui-doc--make-frame lsp-ui-doc--resize-buffer lsp-ui-doc--move-frame] 6 (#$ . 28642)]) #@39 Create the child frame and return it. (defalias 'lsp-ui-doc--make-frame #[0 "\305 \210\306\211\307 \310!\311\n\312\313\314 B\315\316 B\317\320\321\322\323\324\325\306\326#B\257\"\327\330BC\"\331!rq\210\332\333!\210)\334\306\335#\210\336\326\"\210\337\340 #\210\341\342!\203V\337\342 #\210\337\343\306#\210\344\345#\210\f\203p\346\347 \350\351#\210\352 \210*\207" [after-make-frame-functions before-make-frame-hook lsp-ui-doc-frame-parameters lsp-ui-doc-border lsp-ui-doc-use-webkit lsp-ui-doc--delete-frame nil lsp-ui-doc--make-buffer-name get-buffer append (name . "") default-minibuffer-frame selected-frame minibuffer minibuffer-window (left-fringe . 0) (right-fringe . 0) (cursor-type) (lsp-ui-doc--no-focus . t) background-color face-background lsp-ui-doc-background t display-buffer-in-child-frame child-frame-parameters window-frame lsp-ui-doc-frame-mode 1 set-frame-parameter lsp-ui-doc-buffer set-window-dedicated-p set-face-background internal-border facep child-frame-border fringe run-hook-with-args lsp-ui-doc-frame-hook define-key current-global-map [xwidget-event] #[0 "A@\211\301=\205\3028\3038!\266\202\207" [last-input-event javascript-callback 3 4] 5 nil nil] lsp-ui-doc--webkit-run-xwidget] 17 (#$ . 29306)]) (defconst lsp-ui-doc--ignore-commands '(lsp-ui-doc-hide lsp-ui-doc--handle-mouse-movement keyboard-quit ignore handle-switch-frame mwheel-scroll)) #@38 Request the documentation to the LS. (defalias 'lsp-ui-doc--make-request #[0 "\204 \203\306\300!\210\307\n\205k \f>?\205k\310\305!\205 ?\205k\311\312!\205k\313 \2035\314\315!\206?\316\317!\205?``TB\211\203g\232?\205i\320 \210\321!\210\322\323p\324\325#\262#\211\202i\320 \262\207" [track-mouse lsp-ui-doc-show-with-mouse lsp-ui-doc-show-with-cursor this-command lsp-ui-doc--ignore-commands lsp-ui-peek-mode make-local-variable t boundp lsp--capability "hoverProvider" symbol-at-point bounds-of-thing-at-point symbol looking-at "[[:graph:]]" lsp-ui-doc--hide-frame lsp-ui-util-safe-kill-timer run-with-idle-timer nil make-closure #[0 "\301p\232\205\302\303\304 \305\306\300\301#\307\310\311\312&\207" [V0 V1 lsp-request-async "textDocument/hover" lsp--text-document-position-params make-closure #[257 "\301p\232\205 \302\300p#\207" [V0 V1 lsp-ui-doc--callback] 5 "\n\n(fn HOVER)"] :mode tick :cancel-token :lsp-ui-doc-hover] 8] lsp-ui-doc--bounds lsp-ui-doc--timer lsp-ui-doc-delay] 9 (#$ . 30713)]) #@14 (fn HOVER) (defalias 'lsp-ui-doc--extract-bounds #[257 "\211\211\2056\300\301\"\211\2054\302!\211\205\303!\262\211\2052\304!\211\205'\303!\262\211\2050B\262\262\262\207" [lsp-get :range lsp:range-start lsp--position-to-point lsp:range-end] 7 (#$ . 31755)]) #@213 Process the received documentation. HOVER is the doc returned by the LS. BOUNDS are points of the symbol that have been requested. BUFFER is the buffer where the request has been made. (fn INPUT0 INPUT1 INPUT2) (defalias 'lsp-ui-doc--callback #[771 "\301!\205 \302\303\"\304!\206\203U`@Y\203U`AX\203Up=\203U\211\305\306\307\310\"\211\205;\311!\262\211\205F\312\313\314#\262\211\205Q\312\315\316#\262\"\207\317 \207" [lsp-ui-doc--bounds ht\? gethash "contents" lsp-ui-doc--extract-bounds lsp-ui-doc--display thing-at-point symbol t lsp-ui-doc--extract replace-regexp-in-string " " "" " " " " lsp-ui-doc--hide-frame] 15 (#$ . 32040)]) #@38 Delete the child frame if it exists. (defalias 'lsp-ui-doc--delete-frame #[0 "\300 \211\205\301!\210\302\303\304\303#\207" [lsp-ui-doc--get-frame delete-frame set-frame-parameter nil lsp-ui-doc-frame] 5 (#$ . 32710)]) #@42 Return whether the LSP UI doc is visible (defalias 'lsp-ui-doc--visible-p #[0 "\301!\206\302 \205\303\302 !\207" [lsp-ui-doc--inline-ov overlayp lsp-ui-doc--get-frame frame-visible-p] 2 (#$ . 32937)]) #@211 Delete the child frame if currently selected window changes. Does nothing if the newly-selected window is the same window as before, or if the new window is the minibuffer. (fn FUN WINDOW &optional NO-RECORD) (defalias 'lsp-ui-doc-hide-frame-on-window-change #[770 "\300 \"\2042\301 \2032\300 \302\303 !\304!\2040\232\2040\211\203-\305!\232\2040\306 \210\266\207" [selected-window lsp-ui-doc--visible-p get-buffer lsp-ui-doc--make-buffer-name window-minibuffer-p window-buffer lsp-ui-doc--hide-frame] 9 (#$ . 33150)]) (byte-code "\300\301!\204\302\303\304\305#\210\306\307\310\"\210\300\207" [boundp window-state-change-functions advice-add select-window :around lsp-ui-doc-hide-frame-on-window-change add-hook window-configuration-change-hook lsp-ui-doc--hide-frame] 4) (defvar lsp-ui-doc--timer-on-changes nil nil) (make-variable-buffer-local 'lsp-ui-doc--timer-on-changes) #@32 (fn FRAME &optional ON-IDLE) (defalias 'lsp-ui-doc--on-state-changed #[513 "\301 \211\205J\302!\205J\303!\205J\304\305 !?\205J\306 \307\310\"=\203/\305 \307\311\"=?\205J\2036\312 \207\313!\203@\314!\210\315\316\317\320\321\"#\211\207" [lsp-ui-doc--timer-on-changes lsp-ui-doc--get-frame frame-live-p frame-visible-p minibufferp window-buffer selected-window frame-parameter lsp-ui-doc--window-origin lsp-ui-doc--buffer-origin lsp-ui-doc--hide-frame timerp cancel-timer run-with-idle-timer 0 nil make-closure #[0 "\301\300\302\"\207" [V0 lsp-ui-doc--on-state-changed t] 3]] 9 (#$ . 34051)]) (byte-code "\300\301\302\303#\210\300\304\302\305#\207" [advice-add load-theme :before #[128 "\300 \207" [lsp-ui-doc--delete-frame] 2 "\n\n(fn &rest _)"] keyboard-quit lsp-ui-doc--hide-frame] 4) #@54 Function called when a FRAME is deleted. (fn FRAME) (defalias 'lsp-ui-doc--on-delete #[257 "\300\301\"\211\205\211\302!\262\262\211\205\211\303!\205\211\262\262\211\205*\211\304!\262\207" [frame-parameter lsp-ui-doc-buffer get-buffer buffer-live-p kill-buffer] 5 (#$ . 34861)]) #@162 Handle scrolling to the document frame. This function is apply to hook `window-scroll-functions'. Argument WIN is current applying window. (fn WIN NEW-START) (defalias 'lsp-ui-doc--handle-scroll #[514 "\302 \303\304 !\203\f\305 \207\211\205E\306=\205E\307!\205E\310 =\205E \203C\304 \311\312\"=\203C` @Y\203C` AX\203C\313!\207\305 \207" [lsp-ui-doc-position lsp-ui-doc--bounds lsp-ui-doc--get-frame minibufferp window-buffer lsp-ui-doc--hide-frame at-point frame-visible-p selected-window frame-parameter lsp-ui-doc--buffer-origin lsp-ui-doc--move-frame] 7 (#$ . 35163)]) (defvar lsp-ui-doc--timer-mouse-movement nil nil) (make-variable-buffer-local 'lsp-ui-doc--timer-mouse-movement) (defvar lsp-ui-doc--last-event nil nil) (make-variable-buffer-local 'lsp-ui-doc--last-event) (defalias 'lsp-ui-doc--mouse-display #[0 "\205G\302\303!\205G\212b\210l?\211\205D\304 \203\305\306!\206)\307\310!\205)``TB\211\205B\211 \232?\205B\311\303\312 \313\314\"\315\316\317\320&\262\262)\207" [lsp-ui-doc--last-event lsp-ui-doc--bounds lsp-feature\? "textDocument/hover" symbol-at-point bounds-of-thing-at-point symbol looking-at "[[:graph:]]" lsp-request-async lsp--text-document-position-params make-closure #[257 "\212 b\210\304\305\306\300p#+\207" [V0 lsp-ui-doc--last-event lsp-ui-doc--from-mouse-current lsp-ui-doc-position at-point t lsp-ui-doc--callback] 5 "\n\n(fn HOVER)"] :mode tick :cancel-token :lsp-ui-doc-hover] 10]) #@75 Show the documentation corresponding to the text under EVENT. (fn EVENT) (defalias 'lsp-ui-doc--handle-mouse-movement #[257 "\205S\305 !\203\306 !\210\211A@\307!\310 \211@\262=\n\203D \203D\203D @W\204A AV\204A\211\203Af\311=\203D\312 \210\211\205Q\313\314\315\316#\211\266\203\207" [lsp-ui-doc-show-with-mouse lsp-ui-doc--timer-mouse-movement lsp-ui-doc--from-mouse lsp-ui-doc--bounds lsp-ui-doc--last-event timerp cancel-timer posn-point selected-window 10 lsp-ui-doc--hide-frame run-with-idle-timer 0.5 nil lsp-ui-doc--mouse-display] 8 (#$ . 36622) "e"]) (defalias 'lsp-ui-doc--disable-mouse-on-prefix #[0 "\303\300!\205'\205'\303\301!\205' \205'\n\205'\304 G\305V\205'\306\302!\210\307\211\207" [lsp-ui-doc-mode lsp-ui-doc--mouse-tracked-by-us track-mouse boundp this-single-command-keys 0 make-local-variable nil] 2]) (defvar lsp-ui-doc--timer-mouse-idle nil) #@95 Nil if `track-mouse' was set by another package. If nil, do not prevent mouse on prefix keys. (defvar lsp-ui-doc--mouse-tracked-by-us nil (#$ . 37524)) (make-variable-buffer-local 'lsp-ui-doc--mouse-tracked-by-us) (defalias 'lsp-ui-doc--setup-mouse #[0 "\205 ?\304\301!\210\305 ?\205\306\307\305\310#\211\207" [lsp-ui-doc-show-with-mouse track-mouse lsp-ui-doc--mouse-tracked-by-us lsp-ui-doc--timer-mouse-idle make-local-variable t run-with-idle-timer 0 lsp-ui-doc--disable-mouse-on-prefix] 4]) #@10 (fn E) (defalias 'lsp-ui-doc--prevent-focus-doc #[257 "\300A@\301\"?\207" [frame-parameter lsp-ui-doc--no-focus] 4 (#$ . 38034)]) #@99 Non-nil if Lsp-Ui-Doc mode is enabled. Use the command `lsp-ui-doc-mode' to change this variable. (defvar lsp-ui-doc-mode nil (#$ . 38173)) (make-variable-buffer-local 'lsp-ui-doc-mode) #@612 Minor mode for showing hover information in child frame. This is a minor mode. If called interactively, toggle the `Lsp-Ui-Doc mode' mode. If the prefix argument is positive, enable the mode, and if it is zero or negative, disable the mode. If called from Lisp, toggle the mode if ARG is `toggle'. Enable the mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, evaluate `lsp-ui-doc-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. (fn &optional ARG) (defalias 'lsp-ui-doc-mode #[256 "\302 \303=\203 ?\202\247\203\304W\203\305\202\306\307\301!\2031\310\300 \"\2031\300 B\203f\311\312\313\"\210\307\314!\203E\315\314\316\"\210\317 \210\320\321\322\323#\210\315\324\325\305\306$\210\315\326\327\305\306$\210\315\330\331\305\306$\210\202\206\332 \210\307\314!\203t\333\314\316\"\210\333\326\327\306#\210\333\324\325\306#\210\333\330\331\306#\210\334\335\203\220\336\202\221\337\"\210\340\341!\203\263\302 \203\245\211\302 \232\203\263\342\343\203\257\344\202\260\345\346#\210\210\347 \210\207" [lsp-ui-doc-mode local-minor-modes current-message toggle 1 nil t boundp delq eval-after-load frameset #[0 "\301\236?\205\302!\303B\211\207" [frameset-filter-alist lsp-ui-doc-frame copy-tree (lsp-ui-doc-frame . :never)] 2] window-state-change-functions add-hook lsp-ui-doc--on-state-changed lsp-ui-doc--setup-mouse advice-add handle-switch-frame :before-while lsp-ui-doc--prevent-focus-doc post-command-hook lsp-ui-doc--make-request window-scroll-functions lsp-ui-doc--handle-scroll delete-frame-functions lsp-ui-doc--on-delete lsp-ui-doc-hide remove-hook run-hooks lsp-ui-doc-mode-hook lsp-ui-doc-mode-on-hook lsp-ui-doc-mode-off-hook called-interactively-p any message "Lsp-Ui-Doc mode %sabled%s" "en" "dis" " in current buffer" force-mode-line-update] 7 (#$ . 38366) (byte-code "\203\n\301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)]) (defvar lsp-ui-doc-mode-hook nil) (byte-code "\300\301N\204\f\302\300\301\303#\210\302\300\304\305#\210\302\300\306\307C#\207" [lsp-ui-doc-mode-hook variable-documentation put "Hook run after entering or leaving `lsp-ui-doc-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" custom-type hook standard-value nil] 4) #@31 Keymap for `lsp-ui-doc-mode'. (defvar lsp-ui-doc-mode-map (byte-code "\300\301BC\302!\203 \207\211<\203\303!\207\304\305\"\207" [[mouse-movement] lsp-ui-doc--handle-mouse-movement keymapp easy-mmode-define-keymap error "Invalid keymap %S"] 4) (#$ . 40831)) (byte-code "\301\302\303\303\211%\207" [lsp-ui-doc-mode-map add-minor-mode lsp-ui-doc-mode nil] 6) #@102 Enable/disable ‘lsp-ui-doc-mode’. It is supposed to be called from `lsp-ui--toggle' (fn ENABLE) (defalias 'lsp-ui-doc-enable #[257 "\300\203 \301\202\n\302!\207" [lsp-ui-doc-mode 1 -1] 3 (#$ . 41201)]) #@42 Trigger display hover information popup. (defalias 'lsp-ui-doc-show #[0 "\300\301\302\303 \"\304\305!\206``TBp#\207" [lsp-ui-doc--callback lsp-request "textDocument/hover" lsp--text-document-position-params bounds-of-thing-at-point symbol] 4 (#$ . 41417) nil]) #@31 Hide hover information popup. (defalias 'lsp-ui-doc-hide #[0 "\300 \207" [lsp-ui-doc--hide-frame] 1 (#$ . 41686) nil]) (defvar lsp-ui-doc--unfocus-frame-timer nil nil) (make-variable-buffer-local 'lsp-ui-doc--unfocus-frame-timer) #@63 Hook to hide hover information popup for `lsp-ui-doc-glance'. (defalias 'lsp-ui-doc--glance-hide-frame #[0 "\302!\204\303 \211\205\304!\262\205#\305 \210\306\307\310\"\210\311\312\313\314#\211\207" [lsp-ui-doc--inline-ov lsp-ui-doc--unfocus-frame-timer overlayp lsp-ui-doc--get-frame frame-visible-p lsp-ui-doc--hide-frame remove-hook post-command-hook lsp-ui-doc--glance-hide-frame run-at-time 1 nil lsp-ui-doc-unfocus-frame] 4 (#$ . 41922)]) #@69 Trigger display hover information popup and hide it on next typing. (defalias 'lsp-ui-doc-glance #[0 "\301 \210\203 \302!\210\303\304\305\"\207" [lsp-ui-doc--unfocus-frame-timer lsp-ui-doc--make-request cancel-timer add-hook post-command-hook lsp-ui-doc--glance-hide-frame] 3 (#$ . 42381) nil]) #@111 Non-nil if Lsp-Ui-Doc-Frame mode is enabled. Use the command `lsp-ui-doc-frame-mode' to change this variable. (defvar lsp-ui-doc-frame-mode nil (#$ . 42686)) (make-variable-buffer-local 'lsp-ui-doc-frame-mode) #@628 Marker mode to add additional key bind for lsp-ui-doc-frame. This is a minor mode. If called interactively, toggle the `Lsp-Ui-Doc-Frame mode' mode. If the prefix argument is positive, enable the mode, and if it is zero or negative, disable the mode. If called from Lisp, toggle the mode if ARG is `toggle'. Enable the mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, evaluate `lsp-ui-doc-frame-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. (fn &optional ARG) (defalias 'lsp-ui-doc-frame-mode #[256 "\302 \303=\203 ?\202\247\203\304W\203\305\202\306\307\301!\2031\310\300 \"\2031\300 B\311\312\203;\313\202<\314\"\210\315\316!\203^\302 \203P\211\302 \232\203^\317\320\203Z\321\202[\322\323#\210\210\324 \210\207" [lsp-ui-doc-frame-mode local-minor-modes current-message toggle 1 nil t boundp delq run-hooks lsp-ui-doc-frame-mode-hook lsp-ui-doc-frame-mode-on-hook lsp-ui-doc-frame-mode-off-hook called-interactively-p any message "Lsp-Ui-Doc-Frame mode %sabled%s" "en" "dis" " in current buffer" force-mode-line-update] 6 (#$ . 42903) (byte-code "\203\n\301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)]) (defvar lsp-ui-doc-frame-mode-hook nil) (byte-code "\300\301N\204\f\302\300\301\303#\210\302\300\304\305#\210\302\300\306\307C#\207" [lsp-ui-doc-frame-mode-hook variable-documentation put "Hook run after entering or leaving `lsp-ui-doc-frame-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" custom-type hook standard-value nil] 4) #@37 Keymap for `lsp-ui-doc-frame-mode'. (defvar lsp-ui-doc-frame-mode-map (byte-code "\300\301!\203\207\211<\203\302!\207\303\304\"\207" [(([113] . lsp-ui-doc-unfocus-frame) ([remap markdown-follow-thing-at-point] . lsp-ui-doc--open-markdown-link) ([remap mouse-drag-region] . ignore)) keymapp easy-mmode-define-keymap error "Invalid keymap %S"] 4) (#$ . 44655)) (byte-code "\301\302\303\304\211%\207" [lsp-ui-doc-frame-mode-map add-minor-mode lsp-ui-doc-frame-mode "" nil] 6) #@30 Focus into lsp-ui-doc-frame. (defalias 'lsp-ui-doc-focus-frame #[0 "\306 \211\205\306 \211\205\307!\262\211\205M\310\311\312#\210\310\313\314#\210\315p\316\317 F\312r\320\321 !q\210\211\312\314\211\211\322 ,\314\323\324!\210+\210\325!\207" [buffer-list-update-hook lsp-ui-doc--parent-vars inhibit-redisplay inhibit-point-motion-hooks inhibit-modification-hooks buffer-read-only lsp-ui-doc--get-frame frame-visible-p set-frame-parameter lsp-ui-doc--no-focus nil cursor-type t :buffer :window get-buffer-window get-buffer-create lsp-ui-doc--make-buffer-name box 1.1 text-scale-set select-frame-set-input-focus text-scale-mode-step lsp-ui-doc-text-scale-level] 7 (#$ . 45142) nil]) #@32 Unfocus from lsp-ui-doc-frame. (defalias 'lsp-ui-doc-unfocus-frame #[0 "\306 \211\203\n\307!\210\210\310 \211\205N\311\312\313#\210\311\314\315#\210\316p\317\320 F\315r\321\322 !q\210\211\315\313\211\211\315\f,\313\323\324!\210+\210\205N\325!\207" [buffer-list-update-hook lsp-ui-doc--parent-vars inhibit-redisplay inhibit-point-motion-hooks inhibit-modification-hooks buffer-read-only frame-parent select-frame-set-input-focus lsp-ui-doc--get-frame set-frame-parameter lsp-ui-doc--no-focus t cursor-type nil :buffer :window get-buffer-window get-buffer-create lsp-ui-doc--make-buffer-name 1.1 text-scale-set make-frame-invisible text-scale-mode-step lsp-ui-doc-text-scale-level lsp-ui-doc--from-mouse] 6 (#$ . 45849) nil]) (provide 'lsp-ui-doc)