;;; lsp-xxx.el --- description -*- lexical-binding: t; -*- ;; Copyright (C) 2020 emacs-lsp maintainers ;; Author: emacs-lsp maintainers ;; Keywords: lsp, hack ;; 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 . ;;; Commentary: ;; LSP Clients for the Hack Programming Language. ;;; Code: (require 'lsp-mode) (defgroup lsp-hack nil "LSP support for Hack, using HHVM." :group 'lsp-mode :link '(url-link "https://docs.hhvm.com/hhvm")) (defcustom lsp-clients-hack-command '("hh_client" "lsp" "--from" "emacs") "Command to start hh_client." :group 'lsp-hack :risky t :type '(repeat string)) (lsp-register-client (make-lsp-client :new-connection (lsp-stdio-connection (lambda () lsp-clients-hack-command)) :major-modes '(hack-mode) :priority -1 :server-id 'hack ;; ignore some unsupported messages from Nuclide :notification-handlers (lsp-ht ("telemetry/event" 'ignore) ("$/cancelRequest" 'ignore)) :request-handlers (lsp-ht ("window/showStatus" 'ignore)))) (lsp-consistency-check lsp-hack) (provide 'lsp-hack) ;;; lsp-hack.el ends here