about summary refs log tree commit diff
path: root/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833
diff options
context:
space:
mode:
Diffstat (limited to 'configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833')
-rw-r--r--configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-autoloads.el32
-rw-r--r--configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-doc.el653
-rw-r--r--configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-doc.elcbin25443 -> 0 bytes
-rw-r--r--configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-flycheck.el235
-rw-r--r--configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-flycheck.elcbin10512 -> 0 bytes
-rw-r--r--configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-imenu.el241
-rw-r--r--configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-imenu.elcbin9177 -> 0 bytes
-rw-r--r--configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-peek.el732
-rw-r--r--configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-peek.elcbin28187 -> 0 bytes
-rw-r--r--configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-pkg.el17
-rw-r--r--configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-sideline.el506
-rw-r--r--configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-sideline.elcbin20193 -> 0 bytes
-rw-r--r--configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui.el165
-rw-r--r--configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui.elcbin5927 -> 0 bytes
14 files changed, 0 insertions, 2581 deletions
diff --git a/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-autoloads.el b/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-autoloads.el
deleted file mode 100644
index 675068338ef7..000000000000
--- a/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-autoloads.el
+++ /dev/null
@@ -1,32 +0,0 @@
-;;; lsp-ui-autoloads.el --- automatically extracted autoloads
-;;
-;;; Code:
-(add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path))))
-
-;;;### (autoloads nil "lsp-ui" "lsp-ui.el" (23450 31838 9068 354000))
-;;; Generated autoloads from lsp-ui.el
-
-(autoload 'lsp-ui-mode "lsp-ui" "\
-Toggle language server UI mode on or off.
-‘lsp-ui-mode’ is a minor mode that contains a series of useful UI
-integrations for ‘lsp-mode’.  With a prefix argument ARG, enable
-language server UI mode if ARG is positive, and disable it
-otherwise.  If called from Lisp, enable the mode if ARG is
-omitted or nil, and toggle it if ARG is ‘toggle’.
-
-\(fn &optional ARG)" t nil)
-
-;;;***
-
-;;;### (autoloads nil nil ("lsp-ui-doc.el" "lsp-ui-flycheck.el" "lsp-ui-imenu.el"
-;;;;;;  "lsp-ui-peek.el" "lsp-ui-pkg.el" "lsp-ui-sideline.el") (23450
-;;;;;;  31838 15629 803000))
-
-;;;***
-
-;; Local Variables:
-;; version-control: never
-;; no-byte-compile: t
-;; no-update-autoloads: t
-;; End:
-;;; lsp-ui-autoloads.el ends here
diff --git a/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-doc.el b/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-doc.el
deleted file mode 100644
index 3668a825fc65..000000000000
--- a/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-doc.el
+++ /dev/null
@@ -1,653 +0,0 @@
-;;; lsp-ui-doc.el --- Lsp-Ui-Doc  -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 Sebastien Chapuis
-
-;; Author: Sebastien Chapuis <sebastien@chapu.is>
-;; URL: https://github.com/emacs-lsp/lsp-ui
-;; Keywords: lsp, ui
-
-;;; License
-;;
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 3, or (at your option)
-;; any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program; see the file COPYING.  If not, write to
-;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth
-;; Floor, Boston, MA 02110-1301, USA.
-
-;;; Commentary:
-;;
-;; Show documentation of the symbol at point in a child frame
-
-;;; Code:
-
-(require 'lsp-mode)
-(require 'dash)
-(require 'dash-functional)
-(require 'markdown-mode)
-
-(defgroup lsp-ui-doc nil
-  "Display informations of the current line."
-  :group 'tools
-  :group 'convenience
-  :group 'lsp-ui
-  :link '(custom-manual "(lsp-ui-doc) Top")
-  :link '(info-link "(lsp-ui-doc) Customizing"))
-
-(defcustom lsp-ui-doc-enable t
-  "Whether or not to enable lsp-ui-doc."
-  :type 'boolean
-  :group 'lsp-ui)
-
-(defcustom lsp-ui-doc-header nil
-  "Whether or not to enable the header which display the symbol string."
-  :type 'boolean
-  :group 'lsp-ui-doc)
-
-(defcustom lsp-ui-doc-include-signature nil
-  "Whether or not to include the object signature/type in the frame."
-  :type 'boolean
-  :group 'lsp-ui-doc)
-
-(defcustom lsp-ui-doc-position 'top
-  "Where to display the doc."
-  :type '(choice (const :tag "Top" top)
-                 (const :tag "Bottom" bottom)
-                 (const :tag "At point" at-point))
-  :group 'lsp-ui-doc)
-
-(defcustom lsp-ui-doc-border "white"
-  "Border color of the frame."
-  :type 'color
-  :group 'lsp-ui-doc)
-
-(defcustom lsp-ui-doc-max-width 150
-  "Maximum number of columns of the frame."
-  :type 'integer
-  :group 'lsp-ui-doc)
-
-(defcustom lsp-ui-doc-max-height 30
-  "Maximum number of lines in the frame."
-  :type 'integer
-  :group 'lsp-ui-doc)
-
-(defcustom lsp-ui-doc-use-childframe t
-  "Whether to display documentation in a child-frame or the current frame.
-Child frames requires GNU/Emacs version >= 26 and graphical frames."
-  :type 'boolean
-  :group 'lsp-ui-doc)
-
-(defface lsp-ui-doc-background
-  '((((background light)) :background "#b3b3b3")
-    (t :background "#272A36"))
-  "Background color of the documentation.
-Only the `background' is used in this face."
-  :group 'lsp-ui-doc)
-
-(defface lsp-ui-doc-header
-  '((t :foreground "black"
-       :background "deep sky blue"))
-  "Face used on the header."
-  :group 'lsp-ui-doc)
-
-(defface lsp-ui-doc-url
-  '((t :inherit link))
-  "Face used on links."
-  :group 'lsp-ui-doc)
-
-(defvar lsp-ui-doc-frame-parameters
-  '((left . -1)
-    (no-accept-focus . t)
-    (no-focus-on-map . t)
-    (min-width  . 0)
-    (width  . 0)
-    (min-height  . 0)
-    (height  . 0)
-    (internal-border-width . 1)
-    (vertical-scroll-bars . nil)
-    (horizontal-scroll-bars . nil)
-    (right-fringe . 0)
-    (menu-bar-lines . 0)
-    (tool-bar-lines . 0)
-    (line-spacing . 0)
-    (unsplittable . t)
-    (undecorated . t)
-    (top . -1)
-    (visibility . nil)
-    (mouse-wheel-frame . nil)
-    (no-other-frame . t)
-    (cursor-type . nil)
-    (inhibit-double-buffering . t)
-    (drag-internal-border . t)
-    (no-special-glyphs . t)
-    (desktop-dont-save . t))
-  "Frame parameters used to create the frame.")
-
-(defvar lsp-ui-doc-render-function nil
-  "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-custom-markup-modes
-  '((rust-mode "no_run" "rust,no_run" "rust,ignore" "rust,should_panic"))
-  "Mode to uses with markdown code blocks.
-They are added to `markdown-code-lang-modes'")
-
-(defvar lsp-ui-doc-frame-hook nil
-  "Hooks run on child-frame creation.
-The functions receive 2 parameters: the frame and its window.")
-
-(defvar-local lsp-ui-doc--bounds nil)
-(defvar-local lsp-ui-doc--string-eldoc nil)
-
-(declare-function lsp-ui-sideline--get-renderer 'lsp-ui-sideline)
-
-;; Avoid warning with emacs < 26
-(declare-function display-buffer-in-child-frame "window.el")
-
-(defvar-local lsp-ui-doc--parent-vars nil
-  "Variables from the parents frame that we want to access in the child.
-Because some variables are buffer local.")
-
-(defvar-local lsp-ui-doc--inline-ov nil
-  "Overlay used to display the documentation in the buffer.")
-
-(defmacro lsp-ui-doc--with-buffer (&rest body)
-  "Execute BODY in the lsp-ui-doc buffer."
-  `(let ((parent-vars (list :buffer (current-buffer)
-                            :window (get-buffer-window)
-                            :workspace-root (when lsp--cur-workspace
-                                              (lsp--workspace-root lsp--cur-workspace)))))
-     (with-current-buffer (get-buffer-create (lsp-ui-doc--make-buffer-name))
-       (setq lsp-ui-doc--parent-vars parent-vars)
-       (prog1 (let ((buffer-read-only nil))
-                ,@body)
-         (setq buffer-read-only t)))))
-
-(defmacro lsp-ui-doc--get-parent (var)
-  "Return VAR in `lsp-ui-doc--parent-vars'."
-  `(plist-get lsp-ui-doc--parent-vars ,var))
-
-(defmacro lsp-ui-doc--set-frame (frame)
-  "Set the frame parameter ‘lsp-ui-doc-frame’ to FRAME."
-  `(set-frame-parameter nil 'lsp-ui-doc-frame ,frame))
-
-(defun lsp-ui-doc--get-frame (&optional include-deleted-frame)
-  "Return the child frame."
-  (let ((frame (frame-parameter nil 'lsp-ui-doc-frame)))
-    (and (frame-live-p frame) frame)))
-
-(defun lsp-ui-doc--make-buffer-name ()
-  "Construct the buffer name, it should be unique for each frame."
-  (concat " *lsp-ui-doc-"
-          (or (frame-parameter nil 'window-id)
-              (frame-parameter nil 'name))
-          "*"))
-
-(defun lsp-ui-doc--set-eldoc (marked-string)
-  (when marked-string
-    (let ((string (lsp-ui-doc--extract-marked-string marked-string)))
-      (setq lsp-ui-doc--string-eldoc string))))
-
-(defun lsp-ui-doc--eldoc (&rest _)
-  (when (and (lsp--capability "documentHighlightProvider")
-             lsp-highlight-symbol-at-point)
-    (lsp-symbol-highlight))
-  lsp-ui-doc--string-eldoc)
-
-;; ‘markdown-fontify-code-block-default-mode’ isn’t yet available in
-;; Markdown 2.3.
-(defvar markdown-fontify-code-block-default-mode)
-
-(defun lsp-ui-doc--setup-markdown (mode)
-  "Setup the ‘markdown-mode’ in the frame.
-MODE is the mode used in the parent frame."
-  (make-local-variable 'markdown-code-lang-modes)
-  (dolist (mark (alist-get mode lsp-ui-doc-custom-markup-modes))
-    (add-to-list 'markdown-code-lang-modes (cons mark mode)))
-  (setq-local markdown-fontify-code-blocks-natively t)
-  (setq-local markdown-fontify-code-block-default-mode mode)
-  (setq-local markdown-hide-markup t))
-
-(defun lsp-ui-doc--extract-marked-string (marked-string)
-  "Render the MARKED-STRING."
-  (string-trim-right
-   (let* ((string (if (stringp marked-string)
-                      marked-string
-                    (gethash "value" marked-string)))
-          (with-lang (hash-table-p marked-string))
-          (language (and with-lang (gethash "language" marked-string)))
-          (render-fn (if with-lang (lsp-ui-sideline--get-renderer language)
-                       (and (functionp lsp-ui-doc-render-function)
-                            lsp-ui-doc-render-function)))
-          (mode major-mode))
-     (if render-fn
-         (funcall render-fn string)
-       (with-temp-buffer
-         (insert string)
-         (delay-mode-hooks
-           (let ((inhibit-message t))
-             (funcall (cond ((and with-lang (string= "text" language)) 'text-mode)
-                            ((fboundp 'gfm-view-mode) 'gfm-view-mode)
-                            (t 'markdown-mode))))
-           (when (derived-mode-p 'markdown-mode)
-             (lsp-ui-doc--setup-markdown mode))
-           (ignore-errors
-             (font-lock-ensure)))
-         (buffer-string))))))
-
-(defun lsp-ui-doc--filter-marked-string (list-marked-string)
-  (let ((groups (--separate (and (hash-table-p it)
-                                 (lsp-ui-sideline--get-renderer (gethash "language" it)))
-                            list-marked-string)))
-    (lsp-ui-doc--set-eldoc (caar groups))
-    (if lsp-ui-doc-include-signature
-        list-marked-string
-      (cadr groups))))
-
-(defun lsp-ui-doc--extract (contents)
-  "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."
-  (when contents
-    (cond
-     ((stringp contents) contents)
-     ((sequencep contents) ;; MarkedString[]
-      (mapconcat 'lsp-ui-doc--extract-marked-string
-                 (lsp-ui-doc--filter-marked-string contents)
-                 "\n\n"
-                 ;; (propertize "\n\n" 'face '(:height 0.4))
-                 ))
-     ((gethash "kind" contents) (gethash "value" contents)) ;; MarkupContent
-     ((gethash "language" contents) ;; MarkedString
-      (lsp-ui-doc--extract-marked-string contents)))))
-
-(defun lsp-ui-doc--make-request ()
-  "Request the documentation to the LS."
-  (when (and (bound-and-true-p lsp--cur-workspace)
-             (not (bound-and-true-p lsp-ui-peek-mode))
-             (lsp--capability "hoverProvider"))
-    (if (symbol-at-point)
-        (let ((bounds (bounds-of-thing-at-point 'symbol)))
-          (unless (equal lsp-ui-doc--bounds bounds)
-            (lsp--send-request-async (lsp--make-request "textDocument/hover"
-                                                        (lsp--text-document-position-params))
-                                     (lambda (hover)
-                                       (lsp-ui-doc--callback hover bounds (current-buffer))
-                                       ))))
-      (setq lsp-ui-doc--string-eldoc nil)
-      (lsp-ui-doc--hide-frame))))
-
-(defun lsp-ui-doc--callback (hover bounds buffer)
-  "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."
-  (if (and hover
-           (lsp--point-is-within-bounds-p (car bounds) (cdr bounds))
-           (equal buffer (current-buffer)))
-      (let ((doc (lsp-ui-doc--extract (gethash "contents" hover))))
-        (setq lsp-ui-doc--bounds bounds)
-        (lsp-ui-doc--display (thing-at-point 'symbol t) doc))
-    (setq lsp-ui-doc--string-eldoc nil)
-    (lsp-ui-doc--hide-frame)))
-
-(defun lsp-ui-doc--hide-frame ()
-  "Hide the frame."
-  (setq lsp-ui-doc--bounds nil)
-  (when (overlayp lsp-ui-doc--inline-ov)
-    (delete-overlay lsp-ui-doc--inline-ov))
-  (when (lsp-ui-doc--get-frame)
-    (lsp-ui-doc--with-buffer
-     (erase-buffer))
-    (make-frame-invisible (lsp-ui-doc--get-frame))))
-
-(defun lsp-ui-doc--buffer-width ()
-  "Calcul the max width of the buffer."
-  (lsp-ui-doc--with-buffer
-   (save-excursion
-     (let ((max 0))
-       (goto-char (point-min))
-       (while (not (eobp))
-         (let* ((len (- (line-end-position) (line-beginning-position))))
-           (when (> len max)
-             (setq max len)))
-         (forward-line 1))
-       max))))
-
-(defun lsp-ui-doc--line-height (&optional line)
-  "Return the pos-y of the LINE on screen, in pixel."
-  (nth 2 (or (window-line-height line)
-             (and (redisplay t)
-                  (window-line-height line)))))
-
-(defun lsp-ui-doc--sideline-pos-y ()
-  (-> (when (bound-and-true-p lsp-ui-sideline--occupied-lines)
-        (-min lsp-ui-sideline--occupied-lines))
-      (line-number-at-pos)
-      (lsp-ui-doc--line-height)))
-
-(defun lsp-ui-doc--resize-buffer ()
-  "If the buffer's width is larger than the current frame, resize it."
-  (let* ((frame-width (frame-width))
-         (fill-column (min lsp-ui-doc-max-width (- frame-width 5))))
-    (when (> (lsp-ui-doc--buffer-width) (min lsp-ui-doc-max-width frame-width))
-      (lsp-ui-doc--with-buffer
-       (fill-region (point-min) (point-max))))))
-
-(defun lsp-ui-doc--next-to-side-window-p nil
-  "Return non-nil if the window on the left is a side window."
-  (let* ((win (window-at 0 0))
-         (left (window-left (selected-window))))
-    (and (not (eq win (selected-window)))
-         (or (not left) (eq win left))
-         (eq (window-parameter win 'window-side) 'left))))
-
-(defun lsp-ui-doc--mv-at-point (frame height start-x start-y)
-  "Move the FRAME at point.
-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."
-  (-let* (((x . y) (--> (bounds-of-thing-at-point 'symbol)
-                        (nth 2 (posn-at-point (car it)))))
-          (mode-line-y (lsp-ui-doc--line-height 'mode-line))
-          (char-height (frame-char-height))
-          (y (or (and (> y (/ mode-line-y 2))
-                      (<= (- mode-line-y y) (+ char-height height))
-                      (> (- y height) 0)
-                      (- y height))
-                 (+ y char-height))))
-    (set-frame-position frame (+ x start-x) (+ y start-y))))
-
-(defun lsp-ui-doc--move-frame (frame)
-  "Place our FRAME on screen."
-  (lsp-ui-doc--resize-buffer)
-  (-let* (((left top _right _bottom) (window-edges nil nil nil t))
-          (window (frame-root-window frame))
-          ((width . height) (window-text-pixel-size window nil nil 10000 10000 t))
-          (width (+ width (* (frame-char-width frame) 1))) ;; margins
-          (char-h (frame-char-height))
-          (height (min (- (* lsp-ui-doc-max-height char-h) (/ char-h 2)) height))
-          (frame-resize-pixelwise t))
-    (set-frame-size frame width height t)
-    (if (eq lsp-ui-doc-position 'at-point)
-        (lsp-ui-doc--mv-at-point frame height left top)
-      (set-frame-position frame
-                          (if (and (>= left (+ width 10 (frame-char-width)))
-                                   (not (lsp-ui-doc--next-to-side-window-p)))
-                              10
-                            (- (frame-pixel-width) width 10 (frame-char-width)))
-                          (pcase lsp-ui-doc-position
-                            ('top (+ top 10))
-                            ('bottom (- (lsp-ui-doc--line-height 'mode-line)
-                                        height
-                                        10)))))))
-
-(defun lsp-ui-doc--visit-file (filename)
-  "Visit FILENAME in the parent frame."
-  (-some->> (find-file-noselect filename)
-            (set-window-buffer (lsp-ui-doc--get-parent :window))))
-
-(defun lsp-ui-doc--put-click (bounds fn)
-  "Add text properties on text to make it clickable.
-The text delimiters are BOUNDS.
-FN is the function to call on click."
-  (let ((map (make-sparse-keymap)))
-    (define-key map [down-mouse-1] fn)
-    (put-text-property (car bounds) (cdr bounds) 'keymap map)
-    (put-text-property (car bounds) (cdr bounds) 'mouse-face
-                       (list :inherit 'lsp-ui-doc-url
-                             :box (list :line-width -1
-                                        :color (face-foreground 'lsp-ui-doc-url))))
-    (add-face-text-property (car bounds) (cdr bounds) 'lsp-ui-doc-url)))
-
-(defun lsp-ui-doc--make-clickable-link ()
-  "Find paths and urls in the buffer and make them clickable."
-  (goto-char (point-min))
-  (save-excursion
-    (while (not (eobp))
-      ;;; TODO:
-      ;;;  Search path in the whole buffer.
-      ;;;  For now, it searches only on beginning of lines.
-      (-when-let* ((filename (thing-at-point 'filename))
-                   (path (if (file-readable-p filename) filename
-                           (let ((full (concat (lsp-ui-doc--get-parent :workspace-root)
-                                               filename)))
-                             (and (file-readable-p full)
-                                  full)))))
-        (lsp-ui-doc--put-click (or (bounds-of-thing-at-point 'filename)
-                                   (bounds-of-thing-at-point 'url))
-                               (lambda () (interactive)
-                                 (lsp-ui-doc--visit-file path))))
-      (forward-line 1))
-    (goto-char (point-min))
-    (condition-case nil
-        (while (search-forward-regexp "http[s]?://")
-          (lsp-ui-doc--put-click (or (thing-at-point-bounds-of-url-at-point)
-                                     (bounds-of-thing-at-point 'filename))
-                                 'browse-url-at-mouse))
-      (search-failed nil))))
-
-(defun lsp-ui-doc--render-buffer (string symbol)
-  "Set the buffer with STRING."
-  (lsp-ui-doc--with-buffer
-   (erase-buffer)
-   (let ((inline-p (lsp-ui-doc--inline-p)))
-     (insert (concat (unless inline-p (propertize "\n" 'face '(:height 0.2)))
-                     (-> (replace-regexp-in-string "`\\([\n]+\\)" "" string)
-                         (string-trim-right))
-                     (unless inline-p (propertize "\n\n" 'face '(:height 0.3))))))
-   (lsp-ui-doc--make-clickable-link)
-   (setq-local face-remapping-alist `((header-line lsp-ui-doc-header)))
-   (setq-local window-min-height 1)
-   (setq header-line-format (when lsp-ui-doc-header (concat " " symbol))
-         mode-line-format nil
-         cursor-type nil)))
-
-(defun lsp-ui-doc--inline-height ()
-  (lsp-ui-doc--with-buffer
-   (length (split-string (buffer-string) "\n"))))
-
-(defun lsp-ui-doc--remove-invisibles (string)
-  "Remove invisible characters in STRING."
-  (let* ((start (text-property-not-all 0 (length string) 'invisible nil string)))
-    (while start
-      (setq string (concat (substring string 0 start)
-                           (-some->> (next-single-property-change start 'invisible string)
-                                     (substring string))))
-      (setq start (text-property-not-all 0 (length string) 'invisible nil string)))
-    string))
-
-(defvar-local lsp-ui-doc--inline-width nil)
-
-(defun lsp-ui-doc--inline-window-width nil
-  (- (min (window-text-width)
-          (window-body-width))
-     (if (bound-and-true-p display-line-numbers-mode)
-         (+ 2 (line-number-display-width))
-       0)
-     1))
-
-(defun lsp-ui-doc--inline-zip (s1 s2)
-  (let* ((width (lsp-ui-doc--inline-window-width))
-         (max-s1 (- width lsp-ui-doc--inline-width 2)))
-    (truncate-string-to-width
-     (concat (truncate-string-to-width s1 max-s1 nil ?\s) s2)
-     width nil ?\s)))
-
-(defun lsp-ui-doc--inline-padding (string len)
-  (let ((string (concat " " string (make-string (- len (string-width string)) ?\s) " ")))
-    (add-face-text-property 0 (length string) (list :background (face-background 'lsp-ui-doc-background nil t)) t string)
-    string))
-
-(defun lsp-ui-doc--inline-faking-frame (doc-strings)
-  (let* ((len-max (-max-by '> (-map 'string-width doc-strings))))
-    (setq lsp-ui-doc--inline-width len-max)
-    (--map (lsp-ui-doc--inline-padding it len-max) doc-strings)))
-
-(defun lsp-ui-doc--inline-untab (string)
-  (replace-regexp-in-string "\t" (make-string tab-width ?\s) string nil t))
-
-(defun lsp-ui-doc--inline-merge (strings)
-  (let* ((buffer-strings (-> (lsp-ui-doc--inline-untab strings)
-                             (lsp-ui-doc--remove-invisibles)
-                             (split-string "\n")))
-         (doc-strings (-> (lsp-ui-doc--with-buffer (buffer-string))
-                          (lsp-ui-doc--inline-untab)
-                          (lsp-ui-doc--remove-invisibles)
-                          (split-string "\n")))
-         (merged (--> (lsp-ui-doc--inline-faking-frame doc-strings)
-                      (-zip-with 'lsp-ui-doc--inline-zip buffer-strings it)
-                      (string-join it "\n")
-                      (concat it "\n"))))
-    (add-face-text-property 0 (length merged) 'default t merged)
-    merged))
-
-(defun lsp-ui-doc--inline-pos-at (start lines)
-  "Calcul the position at START + forward n LINES."
-  (save-excursion (goto-char start)
-                  (forward-line lines)
-                  (point)))
-
-(defun lsp-ui-doc--inline-pos (height)
-  "Return a cons of positions where to place the doc.
-HEIGHT is the documentation number of lines."
-  (let* ((w-start (window-start))
-         (w-end (lsp-ui-doc--inline-pos-at w-start (window-body-height)))
-         (ov-end (lsp-ui-doc--inline-pos-at w-start height)))
-    (cond
-     ;; Display on top ?
-     ((< (lsp-ui-doc--inline-pos-at ov-end 1) (point))
-      (cons w-start ov-end))
-     ;; Display at the bottom ?
-     ((>= (lsp-ui-doc--inline-pos-at w-end (- height))
-          (lsp-ui-doc--inline-pos-at (point) 2))
-      (cons (lsp-ui-doc--inline-pos-at w-end (- height))
-            w-end))
-     ;; The doc is too long to display it fixed to the bottom ?
-     ;; Then display 2 lines after `point'
-     ;; The end of the documentation won't be visible in the window
-     (t (cons (lsp-ui-doc--inline-pos-at (point) 2)
-              (lsp-ui-doc--inline-pos-at (point) (+ height 2)))))))
-
-(defun lsp-ui-doc--inline ()
-  "Display the doc in the buffer."
-  (-let* ((height (lsp-ui-doc--inline-height))
-          ((start . end) (lsp-ui-doc--inline-pos height))
-          (buffer-string (buffer-substring start end))
-          (ov (if (overlayp lsp-ui-doc--inline-ov) lsp-ui-doc--inline-ov
-                (setq lsp-ui-doc--inline-ov (make-overlay start end)))))
-    (move-overlay ov start end)
-    (overlay-put ov 'display (lsp-ui-doc--inline-merge buffer-string))
-    (overlay-put ov 'lsp-ui-doc-inline t)
-    (overlay-put ov 'window (selected-window))))
-
-(defun lsp-ui-doc--inline-p ()
-  "Return non-nil when the documentation should be display without a child frame."
-  (or (not lsp-ui-doc-use-childframe)
-      (not (display-graphic-p))
-      (not (fboundp 'display-buffer-in-child-frame))))
-
-(defun lsp-ui-doc--display (symbol string)
-  "Display the documentation."
-  (if (or (null string) (string-empty-p string))
-      (lsp-ui-doc--hide-frame)
-    (lsp-ui-doc--render-buffer string symbol)
-    (if (lsp-ui-doc--inline-p)
-        (lsp-ui-doc--inline)
-      (unless (lsp-ui-doc--get-frame)
-        (lsp-ui-doc--set-frame (lsp-ui-doc--make-frame)))
-      (lsp-ui-doc--move-frame (lsp-ui-doc--get-frame))
-      (unless (frame-visible-p (lsp-ui-doc--get-frame))
-        (make-frame-visible (lsp-ui-doc--get-frame))))))
-
-(defun lsp-ui-doc--make-frame ()
-  "Create the child frame and return it."
-  (lsp-ui-doc--delete-frame)
-  (let* ((after-make-frame-functions nil)
-         (before-make-frame-hook nil)
-         (name-buffer (lsp-ui-doc--make-buffer-name))
-         (buffer (get-buffer name-buffer))
-         (params (append lsp-ui-doc-frame-parameters
-                         `((default-minibuffer-frame . ,(selected-frame))
-                           (minibuffer . ,(minibuffer-window))
-                           (left-fringe . ,(frame-char-width))
-                           (background-color . ,(face-background 'lsp-ui-doc-background nil t)))))
-         (window (display-buffer-in-child-frame
-                  buffer
-                  `((child-frame-parameters . ,params))))
-         (frame (window-frame window)))
-    (set-frame-parameter nil 'lsp-ui-doc-buffer buffer)
-    (set-window-dedicated-p window t)
-    (redirect-frame-focus frame (frame-parent frame))
-    (set-face-background 'internal-border lsp-ui-doc-border frame)
-    (run-hook-with-args 'lsp-ui-doc-frame-hook frame window)
-    frame))
-
-(defun lsp-ui-doc--delete-frame ()
-  "Delete the child frame if it exists."
-  (-when-let (frame (lsp-ui-doc--get-frame))
-    (delete-frame frame)
-    (lsp-ui-doc--set-frame nil)))
-
-(defadvice select-window (after lsp-ui-doc--select-window activate)
-  "Delete the child frame if window changes."
-  (unless (equal (ad-get-arg 0) (selected-window))
-    (lsp-ui-doc--hide-frame)))
-
-(advice-add 'load-theme :before (lambda (&rest _) (lsp-ui-doc--delete-frame)))
-(add-hook 'window-configuration-change-hook #'lsp-ui-doc--hide-frame)
-
-(defun lsp-ui-doc-enable-eldoc ()
-  (setq-local eldoc-documentation-function 'lsp-ui-doc--eldoc))
-
-(defun lsp-ui-doc--on-delete (frame)
-  "Function called when a FRAME is deleted."
-  (-some--> (frame-parameter frame 'lsp-ui-doc-buffer)
-            (get-buffer it)
-            (and (buffer-live-p it) it)
-            (kill-buffer it)))
-
-(define-minor-mode lsp-ui-doc-mode
-  "Minor mode for showing hover information in child frame."
-  :init-value nil
-  :group lsp-ui-doc
-  (cond
-   (lsp-ui-doc-mode
-    (progn
-      (with-eval-after-load 'frameset
-        ;; The documentation frame can’t be properly restored.  Especially
-        ;; ‘desktop-save’ will misbehave and save a bogus string "Unprintable
-        ;; entity" in the desktop file.  Therefore we have to prevent
-        ;; ‘frameset-save’ from saving the parameter.
-        (unless (assq 'lsp-ui-doc-frame frameset-filter-alist)
-          ;; Copy the variable first.  See the documentation of
-          ;; ‘frameset-filter-alist’ for explanation.
-          (cl-callf copy-tree frameset-filter-alist)
-          (push '(lsp-ui-doc-frame . :never) frameset-filter-alist)))
-      (add-hook 'lsp-after-open-hook 'lsp-ui-doc-enable-eldoc nil t)
-      (add-hook 'post-command-hook 'lsp-ui-doc--make-request nil t)
-      (add-hook 'delete-frame-functions 'lsp-ui-doc--on-delete nil t)))
-   (t
-    (remove-hook 'delete-frame-functions 'lsp-ui-doc--on-delete t)
-    (remove-hook 'post-command-hook 'lsp-ui-doc--make-request t)
-    (remove-hook 'lsp-after-open-hook 'lsp-ui-doc-enable-eldoc t)
-    (setq-local eldoc-documentation-function 'lsp--on-hover))))
-
-(defun lsp-ui-doc-enable (enable)
-  "Enable/disable ‘lsp-ui-doc-mode’.
-It is supposed to be called from `lsp-ui--toggle'"
-  (lsp-ui-doc-mode (if enable 1 -1)))
-
-(provide 'lsp-ui-doc)
-;;; lsp-ui-doc.el ends here
diff --git a/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-doc.elc b/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-doc.elc
deleted file mode 100644
index dfe8b7e2f83b..000000000000
--- a/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-doc.elc
+++ /dev/null
Binary files differdiff --git a/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-flycheck.el b/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-flycheck.el
deleted file mode 100644
index d6397d074026..000000000000
--- a/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-flycheck.el
+++ /dev/null
@@ -1,235 +0,0 @@
-;;; lsp-ui-flycheck.el --- Flycheck support for lsp-mode -*- lexical-binding: t; -*-
-
-;; Copyright (C) 2017  fmdkdd
-;; URL: https://github.com/emacs-lsp/lsp-ui
-;; Keywords: lsp, ui
-
-;; This program is free software: you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;; Flycheck integration for lsp-mode.  To enable, put this in your config:
-;; (require 'lsp-ui-flycheck)
-;; (with-eval-after-load 'lsp-mode
-;;   (add-hook 'lsp-after-open-hook (lambda () (lsp-ui-flycheck-enable 1))))
-
-;;; Code:
-
-(require 'lsp-notifications)
-(require 'lsp-mode)
-(require 'flycheck)
-(require 'pcase)
-(require 'dash)
-
-(defgroup lsp-ui-flycheck nil
-  "The LSP extension to display syntax checking."
-  :group 'tools
-  :group 'convenience
-  :group 'lsp-ui
-  :link '(custom-manual "(lsp-ui-flycheck) Top")
-  :link '(info-link "(lsp-ui-flycheck) Customizing"))
-
-(defcustom lsp-ui-flycheck-enable t
-  "Whether or not to enable ‘lsp-ui-flycheck’."
-  :type 'boolean
-  :group 'lsp-ui)
-
-(defcustom lsp-ui-flycheck-live-reporting t
-  "If non-nil, diagnostics in buffer will be reported as soon as possible.
-Typically, on every keystroke.
-If nil, diagnostics will be reported according to `flycheck-check-syntax-automatically'."
-  :type 'boolean
-  :group 'lsp-ui-flycheck)
-
-(defcustom lsp-ui-flycheck-list-position 'bottom
-  "Position where `lsp-ui-flycheck-list' will show diagnostics for the whole workspace."
-  :type '(choice (const :tag "Bottom" bottom)
-                 (const :tag "Right" right))
-  :group 'lsp-ui-flycheck)
-
-(defvar-local lsp-ui-flycheck-list--buffer nil)
-
-(defun lsp-ui-flycheck-list--post-command ()
-  (when (eobp)
-    (forward-line -1)))
-
-(defun lsp-ui-flycheck-list--update (window workspace)
-  (let ((buffer-read-only nil)
-        (lsp--cur-workspace workspace))
-    (erase-buffer)
-    (remove-overlays)
-    (maphash (lambda (file diagnostic)
-               (when diagnostic
-                 (overlay-put
-                  (make-overlay (point) (point))
-                  'after-string
-                  (concat (propertize "\n" 'face '(:height 0.2))
-                          (propertize (lsp-ui--workspace-path file)
-                                      'face 'dired-directory)
-                          (propertize "\n" 'face '(:height 0.2)))))
-               (dolist (diag diagnostic)
-                 (let* ((message (or (lsp-diagnostic-message diag) "???"))
-                        (severity (or (lsp-diagnostic-severity diag) 1))
-                        (line (or (lsp-diagnostic-line diag) 1))
-                        (face (cond ((= severity 1) 'error)
-                                    ((= severity 2) 'warning)
-                                    (t 'success)))
-                        (text (concat (propertize (number-to-string line) 'face face)
-                                      ": "
-                                      (car (split-string message "\n")))))
-                   (add-text-properties 0 (length text) `(diag ,diag file ,file window ,window) text)
-                   (insert (concat text "\n")))))
-             lsp--diagnostics))
-  (if (= (point) 1)
-      (overlay-put (make-overlay 1 1)
-                   'after-string "No diagnostic available\n")
-    (goto-char 1))
-  (lsp-ui-flycheck-list-mode))
-
-(defun lsp-ui-flycheck-list ()
-  "List all the diagnostics in the whole workspace."
-  (interactive)
-  (let ((buffer (get-buffer-create "*lsp-diagnostics*"))
-        (workspace lsp--cur-workspace)
-        (window (selected-window)))
-    (with-current-buffer buffer
-      (lsp-ui-flycheck-list--update window workspace))
-    (add-hook 'lsp-after-diagnostics-hook 'lsp-ui-flycheck-list--refresh nil t)
-    (setq lsp-ui-flycheck-list--buffer buffer)
-    (let ((win (display-buffer-in-side-window
-                buffer `((side . ,lsp-ui-flycheck-list-position) (slot . 5) (window-width . 0.20)))))
-      (set-window-dedicated-p win t)
-      (select-window win)
-      (fit-window-to-buffer nil nil 10))))
-
-(defun lsp-ui-flycheck-list--refresh ()
-  (let ((workspace lsp--cur-workspace)
-        (current-window (selected-window)))
-    (when (and (buffer-live-p lsp-ui-flycheck-list--buffer)
-               (get-buffer-window lsp-ui-flycheck-list--buffer)
-               workspace)
-      (with-selected-window (get-buffer-window lsp-ui-flycheck-list--buffer)
-        (lsp-ui-flycheck-list--update current-window workspace)
-        (fit-window-to-buffer nil nil 10)))))
-
-(defun lsp-ui-flycheck-list--open ()
-  (-when-let* ((diag (get-text-property (point) 'diag))
-               (file (get-text-property (point) 'file))
-               (window (get-text-property (point) 'window))
-               (line (lsp-diagnostic-line diag))
-               (column (lsp-diagnostic-column diag))
-               (marker (with-current-buffer
-                           (or (get-file-buffer file)
-                               (find-file-noselect file))
-                         (save-restriction
-                           (widen)
-                           (save-excursion
-                             (goto-char 1)
-                             (forward-line line)
-                             (forward-char column)
-                             (point-marker))))))
-    (set-window-buffer window (marker-buffer marker) t)
-    (with-selected-window window
-      (goto-char marker)
-      (recenter)
-      (pulse-momentary-highlight-one-line (marker-position marker) 'next-error))
-    window))
-
-(defun lsp-ui-flycheck-list--view ()
-  (interactive)
-  (lsp-ui-flycheck-list--open))
-
-(defun lsp-ui-flycheck-list--visit ()
-  (interactive)
-  (select-window (lsp-ui-flycheck-list--open)))
-
-(defun lsp-ui-flycheck-list--quit ()
-  (interactive)
-  (kill-buffer))
-
-(defvar lsp-ui-flycheck-list-mode-map nil
-  "Keymap for ‘lsp-ui-flycheck-list-mode’.")
-(unless lsp-ui-flycheck-list-mode-map
-  (let ((map (make-sparse-keymap)))
-    (define-key map (kbd "q") 'lsp-ui-flycheck-list--quit)
-    (define-key map (kbd "<return>") 'lsp-ui-flycheck-list--view)
-    (define-key map (kbd "<M-return>") 'lsp-ui-flycheck-list--visit)
-    (setq lsp-ui-flycheck-list-mode-map map)))
-
-(define-derived-mode lsp-ui-flycheck-list-mode special-mode "lsp-ui-flycheck-list"
-  "Mode showing flycheck diagnostics for the whole workspace."
-  (setq truncate-lines t)
-  (setq mode-line-format nil)
-  (add-hook 'post-command-hook 'lsp-ui-flycheck-list--post-command nil t))
-
-(defun lsp-ui-flycheck--start (checker callback)
-  "Start an LSP syntax check with CHECKER.
-
-CALLBACK is the status callback passed by Flycheck."
-  ;; Turn all errors from lsp--diagnostics for the current buffer into
-  ;; flycheck-error objects and pass them immediately to the callback
-  (let ((errors))
-    (dolist (diag (or (gethash buffer-file-name lsp--diagnostics)
-                      (gethash (file-truename buffer-file-name) lsp--diagnostics)))
-      (push (flycheck-error-new
-             :buffer (current-buffer)
-             :checker checker
-             :filename buffer-file-name
-             :line (1+ (lsp-diagnostic-line diag))
-             :column (1+ (lsp-diagnostic-column diag))
-             :message (lsp-diagnostic-message diag)
-             :level (pcase (lsp-diagnostic-severity diag)
-                      (1 'error)
-                      (2 'warning)
-                      (_ 'info))
-             :id (lsp-diagnostic-code diag))
-            errors))
-    (funcall callback 'finished errors)))
-
-(flycheck-define-generic-checker 'lsp-ui
-  "A syntax checker using the Language Server Protocol (RLS)
-provided by lsp-mode.
-
-See https://github.com/emacs-lsp/lsp-mode."
-  :start #'lsp-ui-flycheck--start
-  :modes '(python-mode) ; Need a default mode
-  :predicate (lambda () lsp-mode)
-  :error-explainer (lambda (e) (flycheck-error-message e)))
-
-(defun lsp-ui-flycheck-add-mode (mode)
-  "Add MODE as a valid major mode for the lsp checker."
-  (unless (flycheck-checker-supports-major-mode-p 'lsp-ui mode)
-    (flycheck-add-mode 'lsp-ui mode)))
-
-(defun lsp-ui-flycheck--report nil
-  (and flycheck-mode
-       lsp-ui-flycheck-live-reporting
-       (flycheck-buffer)))
-
-;; FIXME: Provide a way to disable lsp-ui-flycheck
-(defun lsp-ui-flycheck-enable (_)
-  "Enable flycheck integration for the current buffer."
-  (when lsp-ui-flycheck-live-reporting
-    (setq-local flycheck-check-syntax-automatically nil))
-  (setq-local flycheck-checker 'lsp-ui)
-  (lsp-ui-flycheck-add-mode major-mode)
-  (add-to-list 'flycheck-checkers 'lsp-ui)
-  (add-hook 'lsp-after-diagnostics-hook 'lsp-ui-flycheck--report nil t))
-
-;; lsp-ui.el loads lsp-ui-flycheck.el, so we can’t ‘require’ lsp-ui.
-;; FIXME: Remove this cyclic dependency.
-(declare-function lsp-ui--workspace-path "lsp-ui" (path))
-
-(provide 'lsp-ui-flycheck)
-;;; lsp-ui-flycheck.el ends here
diff --git a/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-flycheck.elc b/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-flycheck.elc
deleted file mode 100644
index e34b41764817..000000000000
--- a/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-flycheck.elc
+++ /dev/null
Binary files differdiff --git a/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-imenu.el b/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-imenu.el
deleted file mode 100644
index d7005e878e2b..000000000000
--- a/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-imenu.el
+++ /dev/null
@@ -1,241 +0,0 @@
-;;; lsp-ui-imenu.el --- Lsp-Ui-Imenu  -*- lexical-binding: t -*-
-
-;; Copyright (C) 2018 Sebastien Chapuis
-
-;; Author: Sebastien Chapuis <sebastien@chapu.is>
-;; URL: https://github.com/emacs-lsp/lsp-ui
-;; Keywords: lsp, ui
-
-;;; License
-;;
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 3, or (at your option)
-;; any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program; see the file COPYING.  If not, write to
-;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth
-;; Floor, Boston, MA 02110-1301, USA.
-
-;;; Commentary:
-;;
-;; Show imenu entries
-;; Call the function `lsp-ui-imenu'
-;;
-;; (define-key lsp-ui-mode-map (kbd "C-c l") 'lsp-ui-imenu)
-;;
-
-;;; Code:
-
-(require 'lsp-mode)
-(require 'lsp-imenu)
-(require 'dash)
-
-(defgroup lsp-ui-imenu nil
-  "Display imenu entries."
-  :group 'tools
-  :group 'convenience
-  :group 'lsp-ui
-  :link '(custom-manual "(lsp-ui-imenu) Top")
-  :link '(info-link "(lsp-ui-imenu) Customizing"))
-
-(defcustom lsp-ui-imenu-enable t
-  "Whether or not to enable ‘lsp-ui-imenu’."
-  :type 'boolean
-  :group 'lsp-ui)
-
-(defcustom lsp-ui-imenu-kind-position 'top
-  "Where to show the entries kind."
-  :type '(choice (const :tag "Top" top)
-                 (const :tag "Left" left))
-  :group 'lsp-ui-imenu)
-
-(defcustom lsp-ui-imenu-colors '("deep sky blue" "green3")
-  "Color list to cycle through for entry groups."
-  :type '(repeat color)
-  :group 'lsp-ui-menu)
-
-(declare-function imenu--make-index-alist 'imenu)
-(declare-function imenu--subalist-p 'imenu)
-(defvar imenu--index-alist)
-
-(defun lsp-ui-imenu--pad (s len color &optional no-bar)
-  (let ((n (- len (length s))))
-    (propertize (concat (make-string n ?\s) s (unless no-bar " ┃ "))
-                'face `(:foreground ,color))))
-
-(defun lsp-ui-imenu--get-color (index)
-  (nth (mod index (length lsp-ui-imenu-colors)) lsp-ui-imenu-colors))
-
-(defun lsp-ui-imenu--make-line (title index padding entry color-index)
-  (let* ((color (lsp-ui-imenu--get-color color-index))
-         (prefix (if (and (= index 0) (eq lsp-ui-imenu-kind-position 'left)) title " "))
-         (text (concat (lsp-ui-imenu--pad prefix padding color)
-                       (propertize (car entry) 'face 'default)
-                       "\n"))
-         (len (length text)))
-    (add-text-properties 0 len `(index ,index title ,title marker ,(cdr entry) padding ,padding) text)
-    text))
-
-(defvar-local lsp-ui-imenu-ov nil)
-
-(defun lsp-ui-imenu--make-ov nil
-  (or (and (overlayp lsp-ui-imenu-ov) lsp-ui-imenu-ov)
-      (setq lsp-ui-imenu-ov (make-overlay 1 1))))
-
-(defun lsp-ui-imenu--post-command nil
-  (when (eobp)
-    (forward-line -1))
-  (-when-let (padding (get-char-property (point) 'padding))
-    (goto-char (+ 3 (line-beginning-position) padding)))
-  (when (eq lsp-ui-imenu-kind-position 'left)
-    (save-excursion
-      (when (overlayp lsp-ui-imenu-ov)
-        (overlay-put lsp-ui-imenu-ov 'display nil))
-      (redisplay)
-      (goto-char (window-start))
-      (if (not (= (get-text-property (point) 'index) 0))
-          (let* ((ov (lsp-ui-imenu--make-ov))
-                 (padding (get-text-property (point) 'padding))
-                 (title (get-text-property (point) 'title))
-                 (text (buffer-substring (+ (line-beginning-position) padding) (line-end-position))))
-            (move-overlay ov (line-beginning-position) (line-end-position))
-            (overlay-put ov 'display `(string ,(concat (let ((n (- padding (length title))))
-                                                         (propertize (concat (make-string n ?\s) title)))
-                                                       text))))
-        (when (overlayp lsp-ui-imenu-ov)
-          (delete-overlay lsp-ui-imenu-ov))))))
-
-(defvar lsp-ui-imenu--origin nil)
-
-(defun lsp-ui-imenu--put-separator nil
-  (let ((ov (make-overlay (point) (point))))
-    (overlay-put ov 'after-string (propertize "\n" 'face '(:height 0.6)))))
-
-(defun lsp-ui-imenu--put-kind (title padding color-index)
-  (when (eq lsp-ui-imenu-kind-position 'top)
-    (let ((ov (make-overlay (point) (point)))
-          (color (lsp-ui-imenu--get-color color-index)))
-      (overlay-put
-       ov 'after-string
-       (concat (lsp-ui-imenu--pad " " padding color t)
-               "\n"
-               title
-               (propertize "\n" 'face '(:height 1)))))))
-
-(defun lsp-ui-imenu nil
-  (interactive)
-  (setq lsp-ui-imenu--origin (current-buffer))
-  (imenu--make-index-alist)
-  (let ((list imenu--index-alist))
-    (with-current-buffer (get-buffer-create "*lsp-ui-imenu*")
-      (let* ((padding (or (and (eq lsp-ui-imenu-kind-position 'top) 1)
-                          (--> (-filter 'imenu--subalist-p list)
-                               (--map (length (car it)) it)
-                               (-max (or it '(1))))))
-             (grouped-by-subs (-partition-by 'imenu--subalist-p list))
-             (color-index 0)
-             buffer-read-only)
-        (remove-overlays)
-        (erase-buffer)
-        (lsp-ui-imenu--put-separator)
-        (dolist (group grouped-by-subs)
-          (if (imenu--subalist-p (car group))
-              (dolist (kind group)
-                (-let* (((title . entries) kind))
-                  (lsp-ui-imenu--put-kind title padding color-index)
-                  (--each-indexed entries
-                    (insert (lsp-ui-imenu--make-line title it-index padding it color-index)))
-                  (lsp-ui-imenu--put-separator)
-                  (setq color-index (1+ color-index))))
-            (--each-indexed group
-              (insert (lsp-ui-imenu--make-line " " it-index padding it color-index)))
-            (lsp-ui-imenu--put-separator)
-            (setq color-index (1+ color-index))))
-        (lsp-ui-imenu-mode)
-        (setq mode-line-format '(:eval (lsp-ui-imenu--win-separator)))
-        (goto-char 1)
-        (add-hook 'post-command-hook 'lsp-ui-imenu--post-command nil t)
-        ))
-    (let ((win (display-buffer-in-side-window (get-buffer "*lsp-ui-imenu*") '((side . right))))
-          (fit-window-to-buffer-horizontally t))
-      (set-window-margins win 1)
-      (select-window win)
-      (set-window-start win 1)
-      (set-window-dedicated-p win t)
-      (let ((fit-window-to-buffer-horizontally 'only))
-        (fit-window-to-buffer win))
-      (window-resize win 3 t))))
-
-(defun lsp-ui-imenu--win-separator ()
-  (when (and (window-combined-p)
-             (window-next-sibling)
-             (= (window-bottom-divider-width) 0))
-    (propertize (make-string (window-total-width) ?\─) 'face 'window-divider)))
-
-(defun lsp-ui-imenu--kill nil
-  (interactive)
-  (kill-buffer-and-window))
-
-(defun lsp-ui-imenu--jump (direction)
-  (let ((current (get-text-property (point) 'title)))
-    (forward-line direction)
-    (while (and current
-                (not (= (line-number-at-pos) 1))
-                (equal current (get-text-property (point) 'title)))
-      (forward-line direction))))
-
-(defun lsp-ui-imenu--next-kind nil
-  (interactive)
-  (lsp-ui-imenu--jump 1))
-
-(defun lsp-ui-imenu--prev-kind nil
-  (interactive)
-  (lsp-ui-imenu--jump -1)
-  (while (not (= (get-text-property (point) 'index) 0))
-    (forward-line -1)))
-
-(defun lsp-ui-imenu--visit nil
-  (interactive)
-  (let ((marker (get-text-property (point) 'marker)))
-    (select-window (get-buffer-window lsp-ui-imenu--origin))
-    (goto-char marker)
-    (pulse-momentary-highlight-one-line (point) 'next-error)))
-
-(defun lsp-ui-imenu--view nil
-  (interactive)
-  (let ((marker (get-text-property (point) 'marker)))
-    (with-selected-window (get-buffer-window lsp-ui-imenu--origin)
-      (goto-char marker)
-      (recenter)
-      (pulse-momentary-highlight-one-line (point) 'next-error))))
-
-(defvar lsp-ui-imenu-mode-map nil
-  "Keymap for ‘lsp-ui-peek-mode’.")
-(unless lsp-ui-imenu-mode-map
-  (let ((map (make-sparse-keymap)))
-    (define-key map (kbd "q") 'lsp-ui-imenu--kill)
-    (define-key map (kbd "<right>") 'lsp-ui-imenu--next-kind)
-    (define-key map (kbd "<left>") 'lsp-ui-imenu--prev-kind)
-    (define-key map (kbd "<return>") 'lsp-ui-imenu--view)
-    (define-key map (kbd "<M-return>") 'lsp-ui-imenu--visit)
-    (setq lsp-ui-imenu-mode-map map)))
-
-(define-derived-mode lsp-ui-imenu-mode special-mode "lsp-ui-imenu"
-  "Mode showing imenu entries.")
-
-(defun lsp-ui-imenu-enable (enable)
-  (if enable
-      (lsp-enable-imenu)
-    (when (eq imenu-create-index-function 'lsp--imenu-create-index)
-      (setq imenu-create-index-function
-            'imenu-default-create-index-function))))
-
-(provide 'lsp-ui-imenu)
-;;; lsp-ui-imenu.el ends here
diff --git a/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-imenu.elc b/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-imenu.elc
deleted file mode 100644
index d351a80ddf0d..000000000000
--- a/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-imenu.elc
+++ /dev/null
Binary files differdiff --git a/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-peek.el b/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-peek.el
deleted file mode 100644
index ddd128337ef3..000000000000
--- a/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-peek.el
+++ /dev/null
@@ -1,732 +0,0 @@
-;;; lsp-ui-peek.el --- Lsp-Ui-Peek  -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 Sebastien Chapuis
-
-;; Author: Sebastien Chapuis <sebastien@chapu.is>
-;; URL: https://github.com/emacs-lsp/lsp-ui
-;; Keywords: lsp, ui
-;; Version: 0.0.1
-
-;;; License
-;;
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 3, or (at your option)
-;; any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program; see the file COPYING.  If not, write to
-;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth
-;; Floor, Boston, MA 02110-1301, USA.
-
-;;; Commentary:
-;;
-;; Load this file and execute `lsp-ui-peek-find-references'
-;; on a symbol to find its references
-;; or `lsp-ui-peek-find-definitions'.
-;; Type 'q' to close the window.
-;;
-
-;;; Code:
-
-(require 'lsp-mode)
-(require 'xref)
-(require 'dash)
-
-(defgroup lsp-ui-peek nil
-  "Improve version of xref with peek feature."
-  :group 'tools
-  :group 'convenience
-  :group 'lsp-ui
-  :link '(custom-manual "(lsp-ui-peek) Top")
-  :link '(info-link "(lsp-ui-peek) Customizing"))
-
-(defcustom lsp-ui-peek-enable t
-  "Whether or not to enable ‘lsp-ui-peek’."
-  :type 'boolean
-  :group 'lsp-ui)
-
-(defcustom lsp-ui-peek-peek-height 20
-  "Height of the peek code."
-  :type 'integer
-  :group 'lsp-ui-peek)
-
-(defcustom lsp-ui-peek-list-width 50
-  "Width of the right panel."
-  :type 'integer
-  :group 'lsp-ui-peek)
-
-(defcustom lsp-ui-peek-fontify 'on-demand
-  "Whether to fontify chunks of code (use semantics colors).
-WARNING: 'always can heavily slow the processing when `lsp-ui-peek-expand-function'
-expands more than 1 file.  It is recommended to keeps the default value of
-`lsp-ui-peek-expand-function' when this variable is 'always."
-  :type '(choice (const :tag "Never" never)
-                 (const :tag "On demand" on-demand)
-                 (const :tag "Always" always))
-  :group 'lsp-ui-peek)
-
-(defcustom lsp-ui-peek-always-show nil
-  "Show the peek view even if there is only 1 cross reference.
-By default, the peek view isn't shown if there is 1 xref."
-  :type 'boolean
-  :group 'lsp-ui-peek)
-
-(defface lsp-ui-peek-peek
-  '((((background light)) :background "light gray")
-    (t :background "#031A25"))
-  "Face used for the peek."
-  :group 'lsp-ui-peek)
-
-(defface lsp-ui-peek-list
-  '((((background light)) :background "light gray")
-    (t :background "#181818"))
-  "Face used to list references."
-  :group 'lsp-ui-peek)
-
-(defface lsp-ui-peek-filename
-  '((((background light)) :foreground "red")
-    (t :foreground "dark orange"))
-  "Face used for the filename's reference in the list."
-  :group 'lsp-ui-peek)
-
-(defface lsp-ui-peek-line-number
-  '((t :foreground "grey25"))
-  "Line number face."
-  :group 'lsp-ui-peek)
-
-(defface lsp-ui-peek-highlight
-  '((((background light)) :background "dim gray"
-     :foreground "white"
-     :distant-foreground "black")
-    (t :background "white"
-       :foreground "black"
-       :distant-foreground "white"
-       :box (:line-width -1 :color "white")))
-  "Face used to highlight the reference/definition.
-Do not use box, underline or overline prop.  If you want to use
-box, use a negative value for its width.  Those properties deform
-the whole overlay."
-  :group 'lsp-ui-peek)
-
-(defface lsp-ui-peek-header
-  '((((background light)) :background "grey30" :foreground "white")
-    (t :background "white" :foreground "black"))
-  "Face used for the headers."
-  :group 'lsp-ui-peek)
-
-(defface lsp-ui-peek-footer
-  '((t :inherit lsp-ui-peek-header))
-  "Face used for the footers.  Only the background of this face is used."
-  :group 'lsp-ui-peek)
-
-(defface lsp-ui-peek-selection
-  '((((background light)) :background "grey30" :foreground "white")
-    (t :background "white" :foreground "black"))
-  "Face used for the current selection.
-Do not use box, underline or overline prop.  If you want to use
-box, use a negative value for its width.  Those properties
-deform the whole overlay."
-  :group 'lsp-ui-peek)
-
-(defvar lsp-ui-peek-expand-function 'lsp-ui-peek--expand-buffer
-  "A function used to determinate which file(s) to expand in the list of xrefs.
-The function takes one parameter: a list of cons where the car is the
-filename and the cdr is the number of references in that file.
-It should returns a list of filenames to expand.
-WARNING: If you change this variable and expand more than 1 file, it is
-recommended to set `lsp-ui-peek-fontify' to 'never or 'on-demand, otherwise it
-will cause performances issues.")
-
-(defvar-local lsp-ui-peek--overlay nil)
-(defvar-local lsp-ui-peek--list nil)
-(defvar-local lsp-ui-peek--last-xref nil)
-(defvar-local lsp-ui-peek--selection 0)
-(defvar-local lsp-ui-peek--offset 0)
-(defvar-local lsp-ui-peek--size-list 0)
-(defvar-local lsp-ui-peek--win-start nil)
-(defvar-local lsp-ui-peek--kind nil)
-(defvar-local lsp-ui-peek--deactivate-keymap-fn nil)
-
-(defvar lsp-ui-peek--jumps (make-hash-table)
-  "Hashtable which stores all jumps on a per window basis.")
-
-(defvar evil--jumps-window-jumps)  ; defined in evil-jumps.el
-
-(defmacro lsp-ui-peek--with-evil-jumps (&rest body)
-  "Make `evil-jumps.el' commands work on `lsp-ui-peek--jumps'."
-  (declare (indent 1))
-  `(let ((evil--jumps-window-jumps lsp-ui-peek--jumps))
-     ,@body))
-
-(with-eval-after-load 'evil-jumps
-  ;; We need to jump through some hoops to prevent the byte-compiler from
-  ;; compiling this code.  We can’t compile the code without requiring
-  ;; ‘evil-macros’.
-  (eval '(progn
-          (evil-define-motion lsp-ui-peek-jump-backward (count)
-            (lsp-ui-peek--with-evil-jumps
-             (evil--jump-backward count)
-             (run-hooks 'xref-after-return-hook)))
-          (evil-define-motion lsp-ui-peek-jump-forward (count)
-            (lsp-ui-peek--with-evil-jumps
-             (evil--jump-forward count)
-             (run-hooks 'xref-after-return-hook))))
-        t))
-
-(defmacro lsp-ui-peek--prop (prop &optional string)
-  `(get-text-property 0 ,prop (or ,string (lsp-ui-peek--get-text-selection) "")))
-
-(defmacro lsp-ui-peek--add-prop (prop &optional string)
-  `(let ((obj (or ,string (lsp-ui-peek--get-text-selection))))
-     (add-text-properties 0 (length obj) ,prop obj)
-     obj))
-
-(defun lsp-ui-peek--truncate (len s)
-  (if (> (string-width s) len)
-      (format "%s.." (substring s 0 (- len 2)))
-    s))
-
-(defun lsp-ui-peek--get-text-selection (&optional n)
-  (nth (or n lsp-ui-peek--selection)
-       (--remove (get-text-property 0 'lsp-ui-peek-hidden it) lsp-ui-peek--list)))
-
-(defun lsp-ui-peek--get-selection ()
-  (get-text-property 0 'lsp-ui-peek (or (lsp-ui-peek--get-text-selection) "")))
-
-(defun lsp-ui-peek--visual-index ()
-  (- lsp-ui-peek--selection lsp-ui-peek--offset))
-
-(defun lsp-ui-peek--make-line (index src)
-  (-let* (((s1 . s2) src)
-          (len-s1 (length s1))
-          (len-s2 (length s2))
-          (on-selection (= (1+ (lsp-ui-peek--visual-index)) index))
-          (face-left (if (= index 0) 'lsp-ui-peek-header 'lsp-ui-peek-peek))
-          (face-right (cond (on-selection 'lsp-ui-peek-selection)
-                            ((= index 0) 'lsp-ui-peek-header)
-                            (t 'lsp-ui-peek-list))))
-    (when on-selection
-      (setq s2 (copy-sequence s2))
-      (add-face-text-property 0 len-s2 face-right nil s2))
-    (unless (get-text-property 0 'lsp-ui-peek-faced s2)
-      (add-face-text-property 0 len-s2 face-right t s2)
-      (add-text-properties 0 len-s2 '(lsp-ui-peek-faced t) s2)
-      (add-face-text-property 0 len-s2 'default t s2))
-    (add-face-text-property 0 len-s1 face-left t s1)
-    (add-face-text-property 0 len-s1 'default t s1)
-    (concat
-     s1
-     (propertize "_" 'face face-left 'display `(space :align-to (- right-fringe ,(1+ lsp-ui-peek-list-width))))
-     " "
-     s2
-     (propertize "_" 'face face-right 'display `(space :align-to (- right-fringe 1)))
-     (propertize "\n" 'face face-right))))
-
-(defun lsp-ui-peek--adjust (width strings)
-  (-let* (((s1 . s2) strings))
-    (cons (lsp-ui-peek--truncate (- width (1+ lsp-ui-peek-list-width)) s1)
-          (lsp-ui-peek--truncate (- lsp-ui-peek-list-width 2) s2))))
-
-(defun lsp-ui-peek--make-footer ()
-  ;; Character-only terminals don't support characters of different height
-  (when (display-graphic-p)
-    (list
-     (concat
-      (propertize " "
-                  'face `(:background ,(face-background 'lsp-ui-peek-footer nil t) :height 1)
-                  'display `(space :align-to (- right-fringe ,(1+ lsp-ui-peek-list-width))))
-      (propertize " " 'face '(:height 1)
-                  'display `(space :align-to (- right-fringe ,lsp-ui-peek-list-width)))
-      (propertize " "
-                  'face `(:background ,(face-background 'lsp-ui-peek-footer nil t) :height 1)
-                  'display `(space :align-to (- right-fringe 0)))
-      (propertize "\n" 'face '(:height 1))
-      (propertize "\n" 'face '(:height 0.5))))))
-
-(defun lsp-ui-peek--peek-new (src1 src2)
-  (-let* ((win-width (window-text-width))
-          (string (-some--> (-zip-fill "" src1 src2)
-                            (--map (lsp-ui-peek--adjust win-width it) it)
-                            (-map-indexed 'lsp-ui-peek--make-line it)
-                            (-concat it (lsp-ui-peek--make-footer))))
-          (next-line (line-beginning-position 2))
-          (ov (or (when (overlayp lsp-ui-peek--overlay) lsp-ui-peek--overlay)
-                  (make-overlay next-line next-line))))
-    (setq lsp-ui-peek--overlay ov)
-    (overlay-put ov 'after-string (mapconcat 'identity string ""))
-    (overlay-put ov 'display-line-numbers-disable t)
-    (overlay-put ov 'window (get-buffer-window))))
-
-(defun lsp-ui-peek--expand-buffer (files)
-  (if (--any? (equal (car it) buffer-file-name) files)
-      (list buffer-file-name)
-    (list (caar files))))
-
-(defun lsp-ui-peek--expand (xrefs)
-  (let* ((to-expand (->> (--map (cons (plist-get it :file) (plist-get it :count)) xrefs)
-                         (funcall lsp-ui-peek-expand-function)))
-         first)
-    (while (nth lsp-ui-peek--selection lsp-ui-peek--list)
-      (when (and (lsp-ui-peek--prop 'xrefs)
-                 (member (lsp-ui-peek--prop 'file) to-expand))
-        (unless first
-          (setq first (1+ lsp-ui-peek--selection)))
-        (lsp-ui-peek--toggle-file t))
-      (setq lsp-ui-peek--selection (1+ lsp-ui-peek--selection)))
-    (setq lsp-ui-peek--selection (or first 0))
-    (lsp-ui-peek--recenter)))
-
-(defun lsp-ui-peek--show (xrefs)
-  "Create a window to list references/defintions.
-XREFS is a list of references/definitions."
-  (setq lsp-ui-peek--win-start (window-start)
-        lsp-ui-peek--selection 0
-        lsp-ui-peek--offset 0
-        lsp-ui-peek--size-list 0
-        lsp-ui-peek--list nil)
-  (when (eq (logand lsp-ui-peek-peek-height 1) 1)
-    (setq lsp-ui-peek-peek-height (1+ lsp-ui-peek-peek-height)))
-  (when (< (- (line-number-at-pos (window-end)) (line-number-at-pos))
-           (+ lsp-ui-peek-peek-height 3))
-    (recenter 15))
-  (setq xrefs (--sort (string< (plist-get it :file) (plist-get other :file)) xrefs))
-  (--each xrefs
-    (-let* (((&plist :file filename :xrefs xrefs :count count) it)
-            (len-str (number-to-string count)))
-      (setq lsp-ui-peek--size-list (+ lsp-ui-peek--size-list count))
-      (push (concat (propertize (lsp-ui--workspace-path filename)
-                                'face 'lsp-ui-peek-filename
-                                'file filename
-                                'xrefs xrefs)
-                    (propertize " " 'display `(space :align-to (- right-fringe ,(1+ (length len-str)))))
-                    (propertize len-str 'face 'lsp-ui-peek-filename))
-            lsp-ui-peek--list)))
-  (setq lsp-ui-peek--list (nreverse lsp-ui-peek--list))
-  (lsp-ui-peek--expand xrefs)
-  (lsp-ui-peek--peek))
-
-(defun lsp-ui-peek--recenter ()
-  (let ((half-height (/ lsp-ui-peek-peek-height 2)))
-    (when (> lsp-ui-peek--selection half-height)
-      (setq lsp-ui-peek--offset (- lsp-ui-peek--selection (1- half-height))))))
-
-(defun lsp-ui-peek--fill (min-len list)
-  (let ((len (length list)))
-    (if (< len min-len)
-        (append list (-repeat (- min-len len) ""))
-      list)))
-
-(defun lsp-ui-peek--render (major string)
-  (with-temp-buffer
-    (insert string)
-    (delay-mode-hooks
-      (let ((inhibit-message t))
-        (funcall major))
-      (ignore-errors
-        (font-lock-ensure)))
-    (buffer-string)))
-
-(defun lsp-ui-peek--peek ()
-  "Show reference's chunk of code."
-  (-let* ((xref (lsp-ui-peek--get-selection))
-          ((&plist :file file :chunk chunk) (or xref lsp-ui-peek--last-xref))
-          (header (concat " " (lsp-ui--workspace-path file) "\n"))
-          (header2 (format " %s %s" lsp-ui-peek--size-list (symbol-name lsp-ui-peek--kind)))
-          (ref-view (--> chunk
-                         (if (eq lsp-ui-peek-fontify 'on-demand)
-                             (lsp-ui-peek--render major-mode it)
-                           chunk)
-                         (subst-char-in-string ?\t ?\s it)
-                         (concat header it)
-                         (split-string it "\n")))
-          (list-refs (->> lsp-ui-peek--list
-                          (--remove (lsp-ui-peek--prop 'lsp-ui-peek-hidden it))
-                          (-drop lsp-ui-peek--offset)
-                          (-take (1- lsp-ui-peek-peek-height))
-                          (lsp-ui-peek--fill (1- lsp-ui-peek-peek-height))
-                          (-concat (list header2)))))
-    (setq lsp-ui-peek--last-xref (or xref lsp-ui-peek--last-xref))
-    (lsp-ui-peek--peek-new ref-view list-refs)))
-
-(defun lsp-ui-peek--toggle-text-prop (s)
-  (let ((state (lsp-ui-peek--prop 'lsp-ui-peek-hidden s)))
-    (lsp-ui-peek--add-prop `(lsp-ui-peek-hidden ,(not state)) s)))
-
-(defun lsp-ui-peek--toggle-hidden (file)
-  (setq lsp-ui-peek--list
-        (--map-when (string= (plist-get (lsp-ui-peek--prop 'lsp-ui-peek it) :file) file)
-                    (prog1 it (lsp-ui-peek--toggle-text-prop it))
-                    lsp-ui-peek--list)))
-
-(defun lsp-ui-peek--remove-hidden (file)
-  (setq lsp-ui-peek--list
-        (--map-when (string= (plist-get (lsp-ui-peek--prop 'lsp-ui-peek it) :file) file)
-                    (prog1 it (lsp-ui-peek--add-prop '(lsp-ui-peek-hidden nil) it))
-                    lsp-ui-peek--list)))
-
-(defun lsp-ui-peek--make-ref-line (xref)
-  (-let* (((&plist :summary summary :line line :file file) xref)
-          (string (format "%-3s %s"
-                          (propertize (number-to-string (1+ line))
-                                      'face 'lsp-ui-peek-line-number)
-                          (string-trim summary))))
-    (lsp-ui-peek--add-prop `(lsp-ui-peek ,xref file ,file) string)))
-
-(defun lsp-ui-peek--insert-xrefs (xrefs filename index)
-  (setq lsp-ui-peek--list (--> (lsp-ui-peek--get-xrefs-in-file (cons filename xrefs))
-                               (-map 'lsp-ui-peek--make-ref-line it)
-                               (-insert-at (1+ index) it lsp-ui-peek--list)
-                               (-flatten it)))
-  (lsp-ui-peek--add-prop '(xrefs nil)))
-
-(defun lsp-ui-peek--toggle-file (&optional no-update)
-  (interactive)
-  (-if-let* ((xrefs (lsp-ui-peek--prop 'xrefs))
-             (filename (lsp-ui-peek--prop 'file))
-             (index (--find-index (equal (lsp-ui-peek--prop 'file it) filename)
-                                  lsp-ui-peek--list)))
-      (lsp-ui-peek--insert-xrefs xrefs filename index)
-    (let ((file (lsp-ui-peek--prop 'file)))
-      (lsp-ui-peek--toggle-hidden file)
-      (while (not (equal file (lsp-ui-peek--prop 'file)))
-        (lsp-ui-peek--select-prev t))))
-  (unless no-update
-    (lsp-ui-peek--peek)))
-
-(defun lsp-ui-peek--select (index)
-  (setq lsp-ui-peek--selection (+ lsp-ui-peek--selection index)))
-
-(defun lsp-ui-peek--select-next (&optional no-update)
-  (interactive)
-  (when (lsp-ui-peek--get-text-selection (1+ lsp-ui-peek--selection))
-    (lsp-ui-peek--select 1)
-    (while (> (lsp-ui-peek--visual-index) (- lsp-ui-peek-peek-height 2))
-      (setq lsp-ui-peek--offset (1+ lsp-ui-peek--offset)))
-    (unless no-update
-      (lsp-ui-peek--peek))))
-
-(defun lsp-ui-peek--select-prev (&optional no-update)
-  (interactive)
-  (when (> lsp-ui-peek--selection 0)
-    (lsp-ui-peek--select -1)
-    (while (< (lsp-ui-peek--visual-index) 0)
-      (setq lsp-ui-peek--offset (1- lsp-ui-peek--offset))))
-  (unless no-update
-    (lsp-ui-peek--peek)))
-
-(defun lsp-ui-peek--skip-refs (fn)
-  (let ((last-file (lsp-ui-peek--prop 'file))
-        last-selection)
-    (when (lsp-ui-peek--get-selection)
-      (while (and (equal (lsp-ui-peek--prop 'file) last-file)
-                  (not (equal last-selection lsp-ui-peek--selection)))
-        (setq last-selection lsp-ui-peek--selection)
-        (funcall fn t)))))
-
-(defun lsp-ui-peek--select-prev-file ()
-  (interactive)
-  (if (not (lsp-ui-peek--get-selection))
-      (lsp-ui-peek--select-prev)
-    (lsp-ui-peek--skip-refs 'lsp-ui-peek--select-prev)
-    (when (lsp-ui-peek--get-selection)
-      (lsp-ui-peek--skip-refs 'lsp-ui-peek--select-prev)
-      (unless (= lsp-ui-peek--selection 0)
-        (lsp-ui-peek--select-next t))))
-  (if (lsp-ui-peek--prop 'xrefs)
-      (lsp-ui-peek--toggle-file)
-    (lsp-ui-peek--remove-hidden (lsp-ui-peek--prop 'file)))
-  (lsp-ui-peek--select-next t)
-  (lsp-ui-peek--recenter)
-  (lsp-ui-peek--peek))
-
-(defun lsp-ui-peek--select-next-file ()
-  (interactive)
-  (lsp-ui-peek--skip-refs 'lsp-ui-peek--select-next)
-  (if (lsp-ui-peek--prop 'xrefs)
-      (lsp-ui-peek--toggle-file)
-    (lsp-ui-peek--remove-hidden (lsp-ui-peek--prop 'file)))
-  (lsp-ui-peek--select-next t)
-  (lsp-ui-peek--recenter)
-  (lsp-ui-peek--peek))
-
-(defun lsp-ui-peek--peek-hide ()
-  "Hide the chunk of code and restore previous state."
-  (when (overlayp lsp-ui-peek--overlay)
-    (delete-overlay lsp-ui-peek--overlay))
-  (setq lsp-ui-peek--overlay nil
-        lsp-ui-peek--last-xref nil)
-  (set-window-start (get-buffer-window) lsp-ui-peek--win-start))
-
-(defun lsp-ui-peek--deactivate-keymap ()
-  "Deactivate keymap."
-  (-when-let (fn lsp-ui-peek--deactivate-keymap-fn)
-    (setq lsp-ui-peek--deactivate-keymap-fn nil)
-    (funcall fn)))
-
-(defun lsp-ui-peek--goto-xref (&optional x other-window)
-  "Go to a reference/definition."
-  (interactive)
-  (-if-let (xref (or x (lsp-ui-peek--get-selection)))
-      (-let (((&plist :file file :line line :column column) xref)
-             (buffer (current-buffer)))
-        (if (not (file-readable-p file))
-            (user-error "File not readable: %s" file)
-          (setq lsp-ui-peek--win-start nil)
-          (lsp-ui-peek--abort)
-          (let ((marker (with-current-buffer
-                            (or (get-file-buffer file)
-                                (find-file-noselect file))
-                          (save-restriction
-                            (widen)
-                            (save-excursion
-                              ;; When we jump to a file with line/column unspecified,
-                              ;; we do not want to move the point if the buffer exists.
-                              ;; We interpret line=column=0 differently here.
-                              (when (> (+ line column) 0)
-                                (goto-char 1)
-                                (forward-line line)
-                                (forward-char column))
-                              (point-marker)))))
-                (current-workspace lsp--cur-workspace))
-            (if other-window
-                (pop-to-buffer (marker-buffer marker) t)
-              (switch-to-buffer (marker-buffer marker)))
-            (with-current-buffer buffer
-              (lsp-ui-peek-mode -1))
-            (unless lsp--cur-workspace
-              (setq lsp--cur-workspace current-workspace))
-            (unless lsp-mode
-              (lsp-mode 1)
-              (lsp-on-open))
-            (goto-char marker)
-            (run-hooks 'xref-after-jump-hook))))
-    (lsp-ui-peek--toggle-file)))
-
-(defun lsp-ui-peek--goto-xref-other-window ()
-  (interactive)
-  (lsp-ui-peek--goto-xref nil t))
-
-(defvar lsp-ui-peek-mode-map nil
-  "Keymap for ‘lsp-ui-peek-mode’.")
-(unless lsp-ui-peek-mode-map
-  (let ((map (make-sparse-keymap)))
-    (suppress-keymap map t)
-    (define-key map "\e\e\e" 'lsp-ui-peek--abort)
-    (define-key map "\C-g" 'lsp-ui-peek--abort)
-    (define-key map (kbd "M-n") 'lsp-ui-peek--select-next-file)
-    (define-key map (kbd "<right>") 'lsp-ui-peek--select-next-file)
-    (define-key map (kbd "M-p") 'lsp-ui-peek--select-prev-file)
-    (define-key map (kbd "<left>") 'lsp-ui-peek--select-prev-file)
-    (define-key map (kbd "C-n") 'lsp-ui-peek--select-next)
-    (define-key map (kbd "n") 'lsp-ui-peek--select-next)
-    (define-key map (kbd "<down>") 'lsp-ui-peek--select-next)
-    (define-key map (kbd "C-p") 'lsp-ui-peek--select-prev)
-    (define-key map (kbd "p") 'lsp-ui-peek--select-prev)
-    (define-key map (kbd "<up>") 'lsp-ui-peek--select-prev)
-    (define-key map (kbd "TAB") 'lsp-ui-peek--toggle-file)
-    (define-key map (kbd "q") 'lsp-ui-peek--abort)
-    (define-key map (kbd "RET") 'lsp-ui-peek--goto-xref)
-    (define-key map (kbd "M-RET") 'lsp-ui-peek--goto-xref-other-window)
-    (setq lsp-ui-peek-mode-map map)))
-
-(defun lsp-ui-peek--disable ()
-  "Do not call this function, call `lsp-ui-peek--abort' instead."
-  (when (bound-and-true-p lsp-ui-peek-mode)
-    (lsp-ui-peek-mode -1)
-    (lsp-ui-peek--peek-hide)))
-
-(defun lsp-ui-peek--abort ()
-  (interactive)
-  ;; The timer fixes https://github.com/emacs-lsp/lsp-ui/issues/33
-  (run-with-idle-timer 0 nil 'lsp-ui-peek--disable))
-
-(define-minor-mode lsp-ui-peek-mode
-  "Mode for lsp-ui-peek."
-  :init-value nil
-  (if lsp-ui-peek-mode
-      (setq lsp-ui-peek--deactivate-keymap-fn (set-transient-map lsp-ui-peek-mode-map t 'lsp-ui-peek--abort))
-    (lsp-ui-peek--deactivate-keymap)
-    (lsp-ui-peek--peek-hide)))
-
-(defun lsp-ui-peek--find-xrefs (input kind &optional request param)
-  "Find INPUT references.
-KIND is ‘references’, ‘definitions’ or a custom kind."
-  (setq lsp-ui-peek--kind kind)
-  (let ((xrefs (lsp-ui-peek--get-references kind request param)))
-    (unless xrefs
-      (user-error "No %s found for: %s" (symbol-name kind) input))
-    (xref-push-marker-stack)
-    (when (featurep 'evil-jumps)
-      (lsp-ui-peek--with-evil-jumps (evil-set-jump)))
-    (if (and (not lsp-ui-peek-always-show)
-             (not (cdr xrefs))
-             (= (length (plist-get (car xrefs) :xrefs)) 1))
-        (-let* ((xref (car (plist-get (car xrefs) :xrefs)))
-                ((&hash "uri" file "range" range) xref)
-                ((&hash "line" line "character" col) (gethash "start" range))
-                (file (lsp--uri-to-path file)))
-          (lsp-ui-peek--goto-xref `(:file ,file :line ,line :column ,col)))
-      (lsp-ui-peek-mode)
-      (lsp-ui-peek--show xrefs))))
-
-(defun lsp-ui-peek-find-references ()
-  "Find references to the IDENTIFIER at point."
-  (interactive)
-  (lsp-ui-peek--find-xrefs (symbol-at-point)
-                           'references
-                           "textDocument/references"
-                           (lsp--make-reference-params)))
-
-(defun lsp-ui-peek-find-definitions ()
-  "Find definitions to the IDENTIFIER at point."
-  (interactive)
-  (lsp-ui-peek--find-xrefs (symbol-at-point)
-                           'definitions
-                           "textDocument/definition"))
-
-(defun lsp-ui-peek-find-implementation ()
-  "Find implementation locations of the symbol at point."
-  (interactive)
-  (lsp-ui-peek--find-xrefs (symbol-at-point)
-                           'implementation
-                           "textDocument/implementation"))
-
-(defun lsp-ui-peek-find-workspace-symbol (pattern)
-  "Find symbols in the worskpace.
-The symbols are found matching PATTERN."
-  (interactive (list (read-string "workspace/symbol: "
-                                  nil 'xref--read-pattern-history)))
-  (lsp-ui-peek--find-xrefs pattern
-                           'symbols
-                           "workspace/symbol"
-                           (list :query pattern)))
-
-(defun lsp-ui-peek-find-custom (kind request &optional extra)
-  "Find custom references.
-KIND is a symbol to name the references (definition, reference, ..).
-REQUEST is the method string to send the the language server.
-EXTRA is a plist of extra parameters."
-  (lsp-ui-peek--find-xrefs (symbol-at-point) kind request
-                           (append extra (lsp--text-document-position-params))))
-
-(defun lsp-ui-peek--extract-chunk-from-buffer (pos start end)
-  "Return the chunk of code pointed to by POS (a Position object) in the current buffer.
-START and END are delimiters."
-  (let* ((point (lsp--position-to-point pos))
-         (inhibit-field-text-motion t)
-         (line-start (1+ (- 1 (/ lsp-ui-peek-peek-height 2))))
-         (line-end (/ lsp-ui-peek-peek-height 2)))
-    (save-excursion
-      (goto-char point)
-      (let* ((before (buffer-substring (line-beginning-position line-start) (line-beginning-position)))
-             (line (buffer-substring (line-beginning-position) (line-end-position)))
-             (after (buffer-substring (line-end-position) (line-end-position line-end)))
-             (len (length line)))
-        (add-face-text-property (max (min start len) 0)
-                                (max (min end len) 0)
-                                'lsp-ui-peek-highlight t line)
-        `(,line . ,(concat before line after))))))
-
-(defun lsp-ui-peek--xref-make-item (filename location)
-  "Return an item from a LOCATION in FILENAME.
-LOCATION can be either a LSP Location or SymbolInformation."
-  ;; TODO: Read more informations from SymbolInformation.
-  ;;       For now, only the location is used.
-  (-let* ((location (or (gethash "location" location) location))
-          (range (gethash "range" location))
-          ((&hash "start" pos-start "end" pos-end) range)
-          (start (gethash "character" pos-start))
-          (end (gethash "character" pos-end))
-          ((line . chunk) (lsp-ui-peek--extract-chunk-from-buffer pos-start start end)))
-    (list :summary (or line filename)
-          :chunk (or chunk filename)
-          :file filename
-          :line (gethash "line" pos-start)
-          :column start
-          :len (- end start))))
-
-(defun lsp-ui-peek--fontify-buffer (filename)
-  (when (eq lsp-ui-peek-fontify 'always)
-    (unless buffer-file-name
-      (make-local-variable 'delay-mode-hooks)
-      (let ((buffer-file-name filename)
-            (enable-local-variables nil)
-            (inhibit-message t)
-            (delay-mode-hooks t))
-        (set-auto-mode)))
-    (font-lock-ensure)))
-
-(defun lsp-ui-peek--get-xrefs-in-file (file)
-  "Return all references that contain a file.
-FILE is a cons where its car is the filename and the cdr is a list of Locations
-within the file.  We open and/or create the file/buffer only once for all
-references.  The function returns a list of `ls-xref-item'."
-  (let* ((filename (car file))
-         (visiting (find-buffer-visiting filename))
-         (fn (lambda (loc) (lsp-ui-peek--xref-make-item filename loc))))
-    (cond
-     (visiting
-      (with-temp-buffer
-        (insert-buffer-substring-no-properties visiting)
-        (lsp-ui-peek--fontify-buffer filename)
-        (mapcar fn (cdr file))))
-     ((file-readable-p filename)
-      (with-temp-buffer
-        (insert-file-contents-literally filename)
-        (lsp-ui-peek--fontify-buffer filename)
-        (mapcar fn (cdr file))))
-     (t (user-error "Cannot read %s" filename)))))
-
-(defun lsp-ui-peek--get-xrefs-list (file)
-  "Return a list of xrefs in FILE."
-  (-let* (((filename . xrefs) file))
-    `(:file ,filename :xrefs ,xrefs :count ,(length xrefs))))
-
-(defun lsp-ui-peek--locations-to-xref-items (locations)
-  "Return a list of list of item from LOCATIONS.
-LOCATIONS is an array of Location objects:
-
-interface Location {
-	uri: DocumentUri;
-	range: Range;
-}"
-  (-some--> (lambda (loc) (lsp--uri-to-path (gethash "uri" (or (gethash "location" loc) loc))))
-            (seq-group-by it locations)
-            (mapcar #'lsp-ui-peek--get-xrefs-list it)))
-
-(defun lsp-ui-peek--to-sequence (maybe-sequence)
-  "If maybe-sequence is not a sequence, wraps it into a single-element sequence."
-  (if (sequencep maybe-sequence) maybe-sequence (list maybe-sequence)))
-
-(defun lsp-ui-peek--get-references (_kind request &optional param)
-  "Get all references/definitions for the symbol under point.
-Returns item(s)."
-  (-some->> (lsp--send-request (lsp--make-request
-                                request
-                                (or param (lsp--text-document-position-params))))
-            ;; Language servers may return a single LOCATION instead of a sequence of them.
-            (lsp-ui-peek--to-sequence)
-            (lsp-ui-peek--locations-to-xref-items)
-            (-filter 'identity)))
-
-(defvar lsp-ui-mode-map)
-
-(defun lsp-ui-peek-enable (_enable)
-  (interactive)
-  (unless (bound-and-true-p lsp-ui-mode-map)
-    (user-error "Please load lsp-ui before trying to enable lsp-ui-peek")))
-
-;; lsp-ui.el loads lsp-ui-peek.el, so we can’t ‘require’ lsp-ui.
-;; FIXME: Remove this cyclic dependency.
-(declare-function lsp-ui--workspace-path "lsp-ui" (path))
-
-(declare-function evil-set-jump "evil-jumps.el" (&optional pos))
-
-(provide 'lsp-ui-peek)
-;;; lsp-ui-peek.el ends here
diff --git a/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-peek.elc b/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-peek.elc
deleted file mode 100644
index 98ca4d11e8f8..000000000000
--- a/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-peek.elc
+++ /dev/null
Binary files differdiff --git a/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-pkg.el b/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-pkg.el
deleted file mode 100644
index 75d2a3348f7b..000000000000
--- a/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-pkg.el
+++ /dev/null
@@ -1,17 +0,0 @@
-(define-package "lsp-ui" "20180913.833" "UI modules for lsp-mode"
-  '((emacs "25.1")
-    (dash "2.14")
-    (dash-functional "1.2.0")
-    (flycheck "31")
-    (lsp-mode "4.2")
-    (markdown-mode "2.3"))
-  :keywords
-  '("lsp")
-  :authors
-  '(("Tobias Pisani" . "topisani@hamsterpoison.com"))
-  :maintainer
-  '("Tobias Pisani" . "topisani@hamsterpoison.com")
-  :url "https://github.com/emacs-lsp/lsp-ui")
-;; Local Variables:
-;; no-byte-compile: t
-;; End:
diff --git a/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-sideline.el b/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-sideline.el
deleted file mode 100644
index f61e43c895ac..000000000000
--- a/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-sideline.el
+++ /dev/null
@@ -1,506 +0,0 @@
-;;; lsp-ui-sideline.el --- Lsp-Ui-Sideline  -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 Sebastien Chapuis
-
-;; Author: Sebastien Chapuis <sebastien@chapu.is>
-;; URL: https://github.com/emacs-lsp/lsp-ui
-;; Keywords: lsp, ui
-
-;;; License
-;;
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 3, or (at your option)
-;; any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program; see the file COPYING.  If not, write to
-;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth
-;; Floor, Boston, MA 02110-1301, USA.
-
-;;; Commentary:
-;;
-;; Utility to show informations of the current line
-
-;;; Code:
-
-(require 'lsp-mode)
-(require 'flycheck)
-(require 'dash)
-
-(defgroup lsp-ui-sideline nil
-  "Display informations of the current line."
-  :group 'tools
-  :group 'convenience
-  :group 'lsp-ui
-  :link '(custom-manual "(lsp-ui-sideline) Top")
-  :link '(info-link "(lsp-ui-sideline) Customizing"))
-
-(defcustom lsp-ui-sideline-enable t
-  "Whether or not to enable ‘lsp-ui-sideline’."
-  :type 'boolean
-  :group 'lsp-ui)
-
-(defcustom lsp-ui-sideline-ignore-duplicate nil
-  "Control to ignore duplicates when there is a same symbol with the same contents."
-  :type 'boolean
-  :group 'lsp-ui-sideline)
-
-(defcustom lsp-ui-sideline-show-symbol t
-  "When t, show the symbol name on the right of the information."
-  :type 'boolean
-  :group 'lsp-ui-sideline)
-
-(defcustom lsp-ui-sideline-show-hover t
-  "Whether to show hover messages in sideline."
-  :type 'boolean
-  :group 'lsp-ui-sideline)
-
-(defcustom lsp-ui-sideline-show-flycheck t
-  "Whether to show flycheck messages in sideline."
-  :type 'boolean
-  :group 'lsp-ui-sideline)
-
-(defcustom lsp-ui-sideline-show-code-actions t
-  "Whether to show code actions in sideline."
-  :type 'boolean
-  :group 'lsp-ui-sideline)
-
-(defcustom lsp-ui-sideline-update-mode 'line
-  "Define the mode for updating sideline information.
-
-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."
-  :type '(choice (const line)
-                 (const point))
-  :group 'lsp-ui-sideline)
-
-(defcustom lsp-ui-sideline-delay 0.2
-  "Number of seconds to wait before showing sideline."
-  :type 'number
-  :group 'lsp-ui-sideline)
-
-(defvar lsp-ui-sideline-code-actions-prefix ""
-  "Prefix to insert before the code action title.
-This can be used to insert, for example, an unicode character: 💡")
-
-(defvar-local lsp-ui-sideline--ovs nil
-  "Overlays used by `lsp-ui-sideline'.")
-
-(defvar-local lsp-ui-sideline--occupied-lines nil
-  "List of lines occupied by an overlay of `lsp-ui-sideline'.")
-
-(defvar-local lsp-ui-sideline--tag nil
-  "Tag marking where the last operation was based.
-It is used to know when the cursor has changed of line or point.")
-
-(defvar-local lsp-ui-sideline--last-width nil
-  "Value of window's width on the last operation.
-It is used to know when the window has changed of width.")
-
-(defvar-local lsp-ui-sideline--timer nil)
-
-(defface lsp-ui-sideline-symbol
-  '((t :foreground "grey"
-       :box (:line-width -1 :color "grey")
-       :height 0.99))
-  "Face used to highlight symbols."
-  :group 'lsp-ui-sideline)
-
-(defface lsp-ui-sideline-current-symbol
-  '((t :foreground "white"
-       :weight ultra-bold
-       :box (:line-width -1 :color "white")
-       :height 0.99))
-  "Face used to highlight the symbol on point."
-  :group 'lsp-ui-sideline)
-
-(defface lsp-ui-sideline-code-action
-  '((t :foreground "yellow"))
-  "Face used to highlight code action text."
-  :group 'lsp-ui-sideline)
-
-(defface lsp-ui-sideline-symbol-info
-  '((t :slant italic :height 0.99))
-  "Face used to highlight the symbols informations (LSP hover)."
-  :group 'lsp-ui-sideline)
-
-(defface lsp-ui-sideline-global
-  '((t))
-  "Face which apply to all overlays.
-This face have a low priority over the others."
-  :group 'lsp-ui-sideline)
-
-(defun lsp-ui-sideline--calc-space (win-width str-len index)
-  "Calcul whether there is enough space on line.
-If there is enough space, it returns the point of the last
-character on the line.
-
-WIN-WIDTH is the window width.
-STR-LEN is the string size.
-INDEX is the line number (relative to the current line)."
-  (let ((eol (line-end-position index)))
-    (unless (member eol lsp-ui-sideline--occupied-lines)
-      (save-excursion
-        (goto-char eol)
-        (when (>= (- win-width (current-column)) str-len)
-          eol)))))
-
-(defun lsp-ui-sideline--find-line (str-len &optional up)
-  "Find a line where the string can be inserted.
-It loops on the nexts lines to find enough space.
-Returns the point of the last character on the line.
-
-WIN-WIDTH is the window width.
-STR-LEN is the string size.
-if UP is non-nil, it loops on the previous lines.."
-  (let ((win-width (lsp-ui-sideline--window-width))
-        (index 1) pos)
-    (while (and (null pos) (<= (abs index) 30))
-      (setq index (if up (1- index) (1+ index)))
-      (setq pos (lsp-ui-sideline--calc-space win-width str-len index)))
-    (when pos (push pos lsp-ui-sideline--occupied-lines))
-    (if (or (equal pos (point-min))
-            (and up (null pos)))
-        (lsp-ui-sideline--find-line str-len)
-      pos)))
-
-(defun lsp-ui-sideline--delete-ov ()
-  "Delete overlays."
-  (seq-do 'delete-overlay lsp-ui-sideline--ovs)
-  (setq lsp-ui-sideline--ovs nil))
-
-(defun lsp-ui-sideline--get-renderer (language)
-  "Return a function to fontify a string in LANGUAGE."
-  (thread-last lsp--cur-workspace
-    lsp--workspace-client
-    lsp--client-string-renderers
-    (assoc-string language)
-    cdr))
-
-(defun lsp-ui-sideline--get-language ()
-  "Return the language of the buffer."
-  (thread-first lsp--cur-workspace
-    lsp--workspace-client
-    lsp--client-language-id
-    (funcall (current-buffer))))
-
-(defun lsp-ui-sideline--extract-info (contents)
-  "Extract the line to print from CONTENTS.
-CONTENTS can be differents type of values:
-MarkedString | MarkedString[] | MarkupContent (as defined in the LSP).
-We prioritize string with a language (which is probably a type or a
-function signature)."
-  (when contents
-    (cond
-     ((stringp contents) contents)
-     ((sequencep contents) ;; MarkedString[]
-      (seq-find (lambda (it) (and (hash-table-p it)
-                                  (lsp-ui-sideline--get-renderer (gethash "language" it))))
-                contents))
-     ((gethash "kind" contents) (gethash "value" contents)) ;; MarkupContent
-     ((gethash "language" contents) ;; MarkedString
-      (and (lsp-ui-sideline--get-renderer (gethash "language" contents))
-           (gethash "value" contents))))))
-
-(defun lsp-ui-sideline--format-info (marked-string)
-  "Format MARKED-STRING.
-If the string has a language, we fontify it with the function provided
-by `lsp-mode'.
-MARKED-STRING is the string returned by `lsp-ui-sideline--extract-info'."
-  (when marked-string
-    (when (hash-table-p marked-string)
-      (let* ((language (gethash "language" marked-string))
-             (value (gethash "value" marked-string))
-             (renderer (lsp-ui-sideline--get-renderer language)))
-        (setq marked-string (if (and (functionp renderer) value)
-                                (funcall renderer value)
-                              value))))
-    (add-face-text-property 0 (length marked-string) 'lsp-ui-sideline-symbol-info nil marked-string)
-    (add-face-text-property 0 (length marked-string) 'default t marked-string)
-    (replace-regexp-in-string "[\n\t ]+" " " marked-string)))
-
-(defun lsp-ui-sideline--align (&rest lengths)
-  (+ (apply '+ lengths)
-     (if (display-graphic-p) 1 2)))
-
-(defun lsp-ui-sideline--make-display-string (info symbol current)
-  "Make final string to display on buffer.
-INFO is the information to display.
-SYMBOL is the symbol associated to the info.
-CURRENT is non-nil when the point is on the symbol."
-  (let* ((face (if current 'lsp-ui-sideline-current-symbol 'lsp-ui-sideline-symbol))
-         (str (if lsp-ui-sideline-show-symbol
-                  (concat info " " (propertize (concat " " symbol " ") 'face face))
-                info))
-         (len (length str))
-         (margin (lsp-ui-sideline--margin-width)))
-    (add-face-text-property 0 len 'lsp-ui-sideline-global nil str)
-    (concat
-     (propertize " " 'display `(space :align-to (- right-fringe ,(lsp-ui-sideline--align len margin))))
-     str)))
-
-(defun lsp-ui-sideline--check-duplicate (symbol info)
-  (not (when lsp-ui-sideline-ignore-duplicate
-         (--any (and (string= (overlay-get it 'symbol) symbol)
-                     (string= (overlay-get it 'info) info))
-                lsp-ui-sideline--ovs))))
-
-(defun lsp-ui-sideline--margin-width ()
-  (+ (if fringes-outside-margins right-margin-width 0)
-     (or (and (boundp 'fringe-mode)
-              (consp fringe-mode)
-              (or (equal (car fringe-mode) 0)
-                  (equal (cdr fringe-mode) 0))
-              1)
-         0)
-     (if (bound-and-true-p display-line-numbers-mode)
-         (+ 2 (line-number-display-width))
-       0)))
-
-(defun lsp-ui-sideline--window-width ()
-  (- (min (window-text-width) (window-body-width))
-     (lsp-ui-sideline--margin-width)))
-
-(defun lsp-ui-sideline--push-info (symbol tag bounds info)
-  (when (and (= tag (lsp-ui-sideline--calculate-tag))
-             (not (lsp-ui-sideline--stop-p)))
-    (let* ((info (concat (thread-first (gethash "contents" info)
-                           lsp-ui-sideline--extract-info
-                           lsp-ui-sideline--format-info)))
-           (current (and (>= (point) (car bounds)) (<= (point) (cdr bounds)))))
-      (when (and (> (length info) 0)
-                 (lsp-ui-sideline--check-duplicate symbol info))
-        (let* ((final-string (lsp-ui-sideline--make-display-string info symbol current))
-               (pos-ov (lsp-ui-sideline--find-line (length final-string)))
-               (ov (when pos-ov (make-overlay pos-ov pos-ov))))
-          (when pos-ov
-            (overlay-put ov 'info info)
-            (overlay-put ov 'symbol symbol)
-            (overlay-put ov 'bounds bounds)
-            (overlay-put ov 'current current)
-            (overlay-put ov 'after-string final-string)
-            (overlay-put ov 'window (get-buffer-window))
-            (push ov lsp-ui-sideline--ovs)))))))
-
-(defun lsp-ui-sideline--toggle-current (ov current)
-  "Toggle the OV face according to CURRENT."
-  (let* ((info (overlay-get ov 'info))
-         (symbol (overlay-get ov 'symbol))
-         (string (lsp-ui-sideline--make-display-string info symbol current)))
-    (overlay-put ov 'current current)
-    (overlay-put ov 'after-string string)))
-
-(defun lsp-ui-sideline--highlight-current (point)
-  "Update the symbol's face according to POINT."
-  (dolist (ov lsp-ui-sideline--ovs)
-    (let* ((bounds (overlay-get ov 'bounds))
-           (start (car bounds))
-           (end (cdr bounds)))
-      (if (and bounds (>= point start) (<= point end))
-          (unless (overlay-get ov 'current)
-            (lsp-ui-sideline--toggle-current ov t))
-        (when (overlay-get ov 'current)
-          (lsp-ui-sideline--toggle-current ov nil))))))
-
-(defun lsp-ui-sideline--flycheck ()
-  "Show flycheck message(s)."
-  (let ((bol (line-beginning-position))
-        (eol (line-end-position)))
-    (dolist (e (flycheck-overlay-errors-in bol (1+ eol)))
-      (let* ((message (--> (flycheck-error-format-message-and-id e)
-                           (car (split-string it "\n"))
-                           (replace-regexp-in-string "[\n\t ]+" " " it)))
-             (len (length message))
-             (level (flycheck-error-level e))
-             (face (if (eq level 'info) 'success level))
-             (margin (lsp-ui-sideline--margin-width))
-             (message (progn (add-face-text-property 0 len 'lsp-ui-sideline-global nil message)
-                             (add-face-text-property 0 len face nil message)
-                             message))
-             (string (concat (propertize " " 'display `(space :align-to (- right-fringe ,(lsp-ui-sideline--align len margin))))
-                             message))
-             (pos-ov (lsp-ui-sideline--find-line len t))
-             (ov (and pos-ov (make-overlay pos-ov pos-ov))))
-        (when pos-ov
-          (overlay-put ov 'after-string string)
-          (push ov lsp-ui-sideline--ovs))))))
-
-(defvar-local lsp-ui-sideline--code-actions nil)
-
-(defun lsp-ui-sideline-apply-code-actions nil
-  "Choose and apply code action(s) on the current line."
-  (interactive)
-  (unless lsp-ui-sideline--code-actions
-    (user-error "No code actions on the current line"))
-  (let* ((actions lsp-ui-sideline--code-actions)
-         (title (completing-read "Apply: " (--map (gethash "title" it) actions)
-                                 nil t))
-         (action (--first (equal (gethash "title" it) title) actions)))
-    (unless action
-      (error "Fail to apply action"))
-    (lsp-execute-code-action action)))
-
-(defun lsp-ui-sideline--code-actions (actions)
-  "Show code ACTIONS."
-  (setq lsp-ui-sideline--code-actions actions)
-  (seq-doseq (action actions)
-    (-let* ((title (->> (gethash "title" action)
-                        (replace-regexp-in-string "[\n\t ]+" " ")
-                        (concat lsp-ui-sideline-code-actions-prefix)))
-            (margin (lsp-ui-sideline--margin-width))
-            (keymap (let ((map (make-sparse-keymap)))
-                      (define-key map [down-mouse-1] (lambda () (interactive)
-                                                       (save-excursion
-                                                         (lsp-execute-code-action action))))
-                      map))
-            (len (length title))
-            (title (progn (add-face-text-property 0 len 'lsp-ui-sideline-global nil title)
-                          (add-face-text-property 0 len 'lsp-ui-sideline-code-action nil title)
-                          (add-text-properties 0 len `(keymap ,keymap mouse-face highlight) title)
-                          title))
-            (string (concat (propertize " " 'display `(space :align-to (- right-fringe ,(lsp-ui-sideline--align len margin))))
-                            title))
-            (pos-ov (lsp-ui-sideline--find-line (1+ (length title)) t))
-            (ov (and pos-ov (make-overlay pos-ov pos-ov))))
-      (when pos-ov
-        (overlay-put ov 'after-string string)
-        (push ov lsp-ui-sideline--ovs)))))
-
-(defun lsp-ui-sideline--calculate-tag()
-  "Calculate the tag used to determinie whether to update sideline information."
-  (if (equal lsp-ui-sideline-update-mode 'line)
-      (line-number-at-pos)
-    (point)))
-
-(defun lsp-ui-sideline--run ()
-  "Show informations (flycheck + lsp).
-It loops on the symbols of the current line and request information
-to the language server."
-  (lsp-ui-sideline--delete-ov)
-  (when (and lsp--cur-workspace
-             buffer-file-name)
-    (let ((eol (line-end-position))
-          (bol (line-beginning-position))
-          (tag (lsp-ui-sideline--calculate-tag))
-          (line-widen (save-restriction (widen) (line-number-at-pos)))
-          (doc-id (lsp--text-document-identifier)))
-      (save-excursion
-        (setq lsp-ui-sideline--occupied-lines nil
-              lsp-ui-sideline--tag tag
-              lsp-ui-sideline--last-width (window-text-width))
-        (when lsp-ui-sideline-show-flycheck
-          (lsp-ui-sideline--flycheck))
-        (when (and lsp-ui-sideline-show-code-actions (or (lsp--capability "codeActionProvider")
-                                                         (lsp--registered-capability "textDocument/codeAction")))
-          (lsp--send-request-async (lsp--make-request
-                                    "textDocument/codeAction"
-                                    (if (equal lsp-ui-sideline-update-mode 'line)
-                                        (list :textDocument doc-id
-                                              :range (lsp--region-to-range bol eol)
-                                              :context (list :diagnostics (lsp--cur-line-diagnotics)))
-                                      (lsp--text-document-code-action-params)))
-                                   #'lsp-ui-sideline--code-actions))
-        ;; Go through all symbols and request hover information.  Note that the symbols are
-        ;; traversed backwards as `forward-symbol' with a positive argument will jump just past the
-        ;; current symbol.  By going from the end of the line towards the front, point will be placed
-        ;; at the beginning of each symbol.  As the requests are first collected in a list before
-        ;; being processed they are still sent in order from left to right.
-        (when (and lsp-ui-sideline-show-hover (lsp--capability "hoverProvider"))
-          (let ((symbols))
-            (goto-char eol)
-            (while (and (> (point) bol)
-                        (progn (forward-symbol -1)
-                               (>= (point) bol)))
-              (let* ((symbol (thing-at-point 'symbol t))
-                     (bounds (bounds-of-thing-at-point 'symbol))
-                     (parsing-state (syntax-ppss))
-                     (in-string (nth 3 parsing-state))
-                     (outside-comment (eq (nth 4 parsing-state) nil)))
-                ;; Skip strings and comments
-                (when (and symbol (not in-string) outside-comment)
-                  (push (list symbol tag bounds (lsp--position (1- line-widen) (- (point) bol))) symbols))))
-            (dolist (entry symbols)
-              (-let [(symbol tag bounds position) entry]
-                (lsp--send-request-async
-                 (lsp--make-request
-                  "textDocument/hover"
-                  (list :textDocument doc-id :position position))
-                 (lambda (info) (if info (lsp-ui-sideline--push-info symbol tag bounds info))))))))))))
-
-(defun lsp-ui-sideline--stop-p ()
-  "Return non-nil if the sideline should not be display."
-  (or (region-active-p)
-      (bound-and-true-p company-pseudo-tooltip-overlay)
-      (bound-and-true-p lsp-ui-peek--overlay)))
-
-(defun lsp-ui-sideline--hide-before-company (command)
-  "Disable the sideline before company's overlay appears.
-COMMAND is `company-pseudo-tooltip-frontend' parameter."
-  (when (memq command '(post-command update))
-    (lsp-ui-sideline--delete-ov)
-    (setq lsp-ui-sideline--tag nil)))
-
-(defun lsp-ui-sideline ()
-  "Show informations of the current line."
-  (if (lsp-ui-sideline--stop-p)
-      (progn (setq lsp-ui-sideline--tag nil)
-             (lsp-ui-sideline--delete-ov))
-    (if (and (equal (lsp-ui-sideline--calculate-tag) lsp-ui-sideline--tag)
-             (equal (window-text-width) lsp-ui-sideline--last-width))
-        (lsp-ui-sideline--highlight-current (point))
-      (lsp-ui-sideline--delete-ov)
-      (when lsp-ui-sideline--timer
-        (cancel-timer lsp-ui-sideline--timer))
-      (let ((buf (current-buffer)))
-        (setq lsp-ui-sideline--timer
-              (run-with-idle-timer lsp-ui-sideline-delay
-                                   nil
-                                   (lambda ()
-                                     ;; run lsp-ui only if current-buffer is the same.
-                                     (when (equal buf (current-buffer))
-                                       (lsp-ui-sideline--run)))))))))
-
-(defun lsp-ui-sideline-toggle-symbols-info ()
-  "Toggle display of symbols informations.
-This does not toggle display of flycheck diagnostics or code actions."
-  (interactive)
-  (when (bound-and-true-p lsp-ui-sideline-mode)
-    (setq lsp-ui-sideline-show-hover
-          (not lsp-ui-sideline-show-hover))
-    (lsp-ui-sideline--run)))
-
-(defun lsp-ui-sideline--diagnostics-changed ()
-  "Handler for flycheck notifications."
-  (setq lsp-ui-sideline--tag nil)
-  (lsp-ui-sideline))
-
-(define-minor-mode lsp-ui-sideline-mode
-  "Minor mode for showing information of current line."
-  :init-value nil
-  :group lsp-ui-sideline
-  (cond
-   (lsp-ui-sideline-mode
-    (add-hook 'post-command-hook 'lsp-ui-sideline nil t)
-    (advice-add 'company-pseudo-tooltip-frontend :before 'lsp-ui-sideline--hide-before-company)
-    (add-hook 'lsp-after-diagnostics-hook 'lsp-ui-sideline--diagnostics-changed nil t)
-    (setq-local flycheck-display-errors-function nil))
-   (t
-    (setq lsp-ui-sideline--tag nil)
-    (advice-remove 'company-pseudo-tooltip-frontend 'lsp-ui-sideline--hide-before-company)
-    (lsp-ui-sideline--delete-ov)
-    (remove-hook 'lsp-after-diagnostics-hook 'lsp-ui-sideline--diagnostics-changed)
-    (remove-hook 'post-command-hook 'lsp-ui-sideline t))))
-
-(defun lsp-ui-sideline-enable (enable)
-  "Enable/disable `lsp-ui-sideline-mode'."
-  (lsp-ui-sideline-mode (if enable 1 -1)))
-
-(provide 'lsp-ui-sideline)
-;;; lsp-ui-sideline.el ends here
diff --git a/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-sideline.elc b/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-sideline.elc
deleted file mode 100644
index ce2f89e77c1f..000000000000
--- a/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui-sideline.elc
+++ /dev/null
Binary files differdiff --git a/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui.el b/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui.el
deleted file mode 100644
index 355fcf8df3cc..000000000000
--- a/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui.el
+++ /dev/null
@@ -1,165 +0,0 @@
-;;; lsp-ui.el --- UI modules for lsp-mode            -*- lexical-binding: t; -*-
-
-;; Copyright (C) 2017 Tobias Pisani
-
-;; Author:  Tobias Pisani <topisani@hamsterpoison.com>
-;; Keywords: lsp
-;; URL: https://github.com/emacs-lsp/lsp-ui
-;; Package-Requires: ((emacs "25.1") (dash "2.14") (dash-functional "1.2.0") (flycheck "31") (lsp-mode "4.2") (markdown-mode "2.3"))
-;; Version: 0.0.1
-
-;; Permission is hereby granted, free of charge, to any person obtaining a copy
-;; of this software and associated documentation files (the "Software"), to deal
-;; in the Software without restriction, including without limitation the rights
-;; to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-;; copies of the Software, and to permit persons to whom the Software is
-;; furnished to do so, subject to the following conditions:
-
-;; The above copyright notice and this permission notice shall be included in
-;; all copies or substantial portions of the Software.
-
-;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-;; IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-;; FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-;; AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-;; LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-;; OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-;; SOFTWARE.
-
-;;; Commentary:
-
-;; lsp-ui contains a series of useful UI integrations for lsp-mode, like
-;; flycheck support and code lenses.
-
-;;; Code:
-
-(defgroup lsp-ui nil
-  "‘lsp-ui’ contains a series of useful UI integrations for ‘lsp-mode’."
-  :group 'tools
-  :group 'convenience
-  :link '(custom-manual "(lsp-ui) Top")
-  :link '(info-link "(lsp-ui) Customizing"))
-
-(require 'lsp-ui-sideline)
-(require 'lsp-ui-peek)
-(require 'lsp-ui-flycheck)
-(require 'lsp-ui-imenu)
-(require 'lsp-ui-doc)
-
-(defun lsp-ui-peek--render (major string)
-  (with-temp-buffer
-    (insert string)
-    (delay-mode-hooks
-      (let ((inhibit-message t))
-        (funcall major))
-      (ignore-errors
-        (font-lock-ensure)))
-    (buffer-string))
-  )
-
-
-(defun lsp-ui--workspace-path (path)
-  "Return the PATH relative to the workspace.
-If the PATH is not in the workspace, it returns the original PATH."
-  (let* ((path (file-truename path))
-         (root (lsp--workspace-root lsp--cur-workspace))
-         (in-workspace (string-prefix-p root path)))
-    (if in-workspace
-        (substring path (length root))
-      path)))
-
-(defun lsp-ui--toggle (enable)
-  (dolist (feature '(lsp-ui-flycheck lsp-ui-peek lsp-ui-sideline lsp-ui-doc lsp-ui-imenu))
-    (let* ((sym (intern-soft (concat (symbol-name feature) "-enable")))
-           (value (symbol-value sym))
-           (fn (symbol-function sym)))
-      (when (and (or value (not enable))
-                 (functionp fn))
-        (funcall fn enable)))))
-
-(defvar lsp-ui-mode-map (make-sparse-keymap))
-
-;;;###autoload
-(define-minor-mode lsp-ui-mode
-  "Toggle language server UI mode on or off.
-‘lsp-ui-mode’ is a minor mode that contains a series of useful UI
-integrations for ‘lsp-mode’.  With a prefix argument ARG, enable
-language server UI mode if ARG is positive, and disable it
-otherwise.  If called from Lisp, enable the mode if ARG is
-omitted or nil, and toggle it if ARG is ‘toggle’."
-  :init-value nil
-  :group lsp-ui
-  :keymap lsp-ui-mode-map
-  (lsp-ui--toggle lsp-ui-mode))
-
-;; The request is delegated to xref-backend-apropos defined in lsp-mode.
-;; xref-find-apropos does similar job but is less appealing because it splits and
-;; regex quotes the pattern. The language server likely knows more about how
-;; to do fuzzy matching.
-(defun lsp-ui-find-workspace-symbol (pattern)
-  "List project-wide symbols matching the query string PATTERN."
-  (interactive (list (read-string
-                      "workspace/symbol: "
-                      nil 'xref--read-pattern-history)))
-  (xref--find-xrefs pattern 'apropos pattern nil))
-
-(defun lsp-ui--location< (x y)
-  "Compares two triples X and Y.
-Both should have the form (FILENAME LINE COLUMN)."
-  (if (not (string= (car x) (car y)))
-      (string< (car x) (car y))
-    (if (not (= (cadr x) (cadr y)))
-        (< (cadr x) (cadr y))
-      (< (caddr x) (caddr y)))))
-
-(defun lsp-ui--reference-triples (filter-fn)
-  "Return references as a list of (FILENAME LINE COLUMN) triples."
-  (let ((refs (lsp--send-request (lsp--make-request
-                                  "textDocument/references"
-                                  (lsp--make-reference-params)))))
-    (sort
-     (mapcar
-      (lambda (ref)
-        (-let* (((&hash "uri" uri "range" range) ref)
-                ((&hash "line" line "character" col) (gethash "start" range)))
-          (list (lsp--uri-to-path uri) line col)))
-      (if filter-fn (--filter (funcall filter-fn it) refs) refs))
-     #'lsp-ui--location<)))
-
-;; TODO Make it efficient
-(defun lsp-ui-find-next-reference (&optional filter-fn)
-  "Find next reference of the symbol at point."
-  (interactive)
-  (let* ((cur (list buffer-file-name (lsp--cur-line) (lsp--cur-column)))
-         (refs (lsp-ui--reference-triples filter-fn))
-         (idx -1)
-         (res (-first (lambda (ref) (cl-incf idx) (lsp-ui--location< cur ref)) refs)))
-    (if res
-        (progn
-         (find-file (car res))
-         (goto-char 1)
-         (forward-line (cadr res))
-         (forward-char (caddr res))
-         (cons idx (length refs)))
-      (cons 0 0))))
-
-;; TODO Make it efficient
-(defun lsp-ui-find-prev-reference (&optional filter-fn)
-  "Find previous reference of the symbol at point."
-  (interactive)
-  (let* ((cur (list buffer-file-name (lsp--cur-line) (lsp--cur-column)))
-         (refs (lsp-ui--reference-triples filter-fn))
-         (idx -1)
-         (res (-last (lambda (ref) (and (lsp-ui--location< ref cur) (cl-incf idx))) refs)))
-    (if res
-        (progn
-          (find-file (car res))
-          (goto-char 1)
-          (forward-line (cadr res))
-          (forward-char (caddr res))
-          (cons idx (length refs)))
-      (cons 0 0))))
-
-
-(provide 'lsp-ui)
-;;; lsp-ui.el ends here
diff --git a/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui.elc b/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui.elc
deleted file mode 100644
index 531f9ff19c8b..000000000000
--- a/configs/shared/emacs/.emacs.d/elpa/lsp-ui-20180913.833/lsp-ui.elc
+++ /dev/null
Binary files differ