Skip to content

Instantly share code, notes, and snippets.

@twlz0ne
Created October 24, 2018 15:27
Show Gist options
  • Save twlz0ne/81556401794b7064248117f9a1c2a84e to your computer and use it in GitHub Desktop.
Save twlz0ne/81556401794b7064248117f9a1c2a84e to your computer and use it in GitHub Desktop.
Test lsp-typescript, reproduce issue that Error from the Language Server: Request textDocument/hover failed with message: Cannot read property ’map’ of undefined (Internal Error) [7996 times] #Emacs #lsp #typescript
;;; Test lsp-typescript, reproduce issue that Error from the Language Server: Request textDocument/hover failed with message: Cannot read property ’map’ of undefined (Internal Error) [7996 times]
;;; Usage: /path/to/emacs -nw -Q -l /path/to/test-lsp-typescript-issue535.el /path/to/Microsoft/TypeScriptSamples/angular2/app/todo.ts
;;; Date: 2018-10-24_22.25.12
(toggle-debug-on-error)
(global-set-key (kbd "C-h") 'delete-backward-char)
(global-set-key (kbd "M-h") 'backward-kill-word)
(global-set-key (kbd "<f1>") 'help-command)
(define-key isearch-mode-map "\C-h" 'isearch-delete-char)
;; ------------------------------------------------------------------
(setq user-emacs-directory (format "~/.emacs.d/%s/%s/" (file-name-base load-file-name) emacs-version))
(setq package-user-dir (concat user-emacs-directory "elpa/"))
(unless (load "~/.emacs.d/elpa.el" t)
(setq package-archives
'(("gnu" . "https://elpa.gnu.org/packages/")
("melpa" . "https://melpa.org/packages/"))))
(package-initialize)
(defun require-packages (&rest packages)
(dolist (pkg packages)
(unless (package-installed-p pkg)
(package-refresh-contents)
(package-install pkg))
(require pkg)))
;; ------------------------------------------------------------------
;; (setq el-get-dir (concat user-emacs-directory "el-get/"))
;; (add-to-list 'load-path (concat el-get-dir "el-get"))
;;
;; (setq el-get-git-shallow-clone t)
;; (setq el-get-byte-compile nil)
;; (setq el-get-bundle-byte-compile nil)
;; (setq el-get-install-skip-emacswiki-recipes t)
;;
;; (unless (require 'el-get nil 'noerror)
;; (with-current-buffer
;; (url-retrieve-synchronously
;; "https://raw.githubusercontent.com/dimitri/el-get/master/el-get-install.el")
;; (goto-char (point-max))
;; (eval-print-last-sexp)))
;;
;; (remove-hook 'el-get-post-install-hooks 'el-get-post-install-notification)
;; ------------------------------------------------------------------
(require-packages
'nodenv
'lsp-mode
'lsp-ui
'lsp-typescript
)
(add-hook 'after-init-hook
(lambda ()
;; node
(setq nodenv-path (expand-file-name "~/.nodenv/shims"))
(setenv "PATH" (concat nodenv-path ":" (getenv "PATH")))
(add-to-list 'exec-path nodenv-path)
(with-eval-after-load 'lsp-typescript
(advice-add 'lsp-typescript-enable :before #'nodenv-mode))
;; lsp
(add-hook 'prog-major-mode #'lsp-prog-major-mode-enable)
(add-hook 'lsp-mode-hook #'lsp-ui-mode)
(add-hook 'typescript-mode-hook #'lsp-typescript-enable)
;; (setq lsp-typescript-server-args
;; (append `("--log-level" "4")
;; lsp-typescript-server-args))
;; other
(view-echo-area-messages)
))
(run-hooks 'after-init-hook)
;;; test-lsp-typescript-issue535.el ends here
@twlz0ne
Copy link
Author

twlz0ne commented Oct 24, 2018

After adding option --tsserver-path, the issue dispeared:

(setq lsp-typescript-server-args
      (append `(
                ,(concat "--tsserver-path=" (executable-find "tsserver"))
                )
              lsp-typescript-server-args))

Seems lsp-ui depends on --tsserver-path, if not specified, it will keep asking. Is this the problem?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment