2019-02-21 16:08:27 -05:00
|
|
|
;;; feature/lsp/autoload.el -*- lexical-binding: t; -*-
|
|
|
|
|
2019-05-21 00:34:32 -04:00
|
|
|
;;;###autodef
|
2019-06-29 00:28:13 +02:00
|
|
|
(defun lsp! (&optional arg)
|
|
|
|
"Enable `lsp-mode' in the current buffer.
|
|
|
|
|
|
|
|
Meant to be a lighter alternative to `lsp', which is too eager about
|
|
|
|
initializing lsp-ui-mode, company, yasnippet and flycheck. Instead, these have
|
|
|
|
been moved out to their respective modules, or these hooks:
|
|
|
|
|
|
|
|
+ `+lsp|init-company' (on `lsp-mode-hook')
|
|
|
|
+ `+lsp|init-ui-flycheck-or-flymake' (on `lsp-ui-mode-hook')"
|
|
|
|
(when lsp-auto-configure
|
|
|
|
(require 'lsp-clients))
|
|
|
|
(when (and (buffer-file-name)
|
|
|
|
(setq-local lsp--buffer-workspaces
|
|
|
|
(or (lsp--try-open-in-library-workspace)
|
|
|
|
(lsp--try-project-root-workspaces (equal arg '(4))
|
|
|
|
(and arg (not (equal arg 1)))))))
|
|
|
|
(lsp-mode 1)
|
|
|
|
(lsp--info "Connected to %s."
|
|
|
|
(apply 'concat (--map (format "[%s]" (lsp--workspace-print it))
|
|
|
|
lsp--buffer-workspaces)))))
|