Migration complete
This commit is contained in:
69
.config.d/15-lsp.el
Normal file
69
.config.d/15-lsp.el
Normal file
@@ -0,0 +1,69 @@
|
||||
;;; 15-lsp.el --- Setup LSP -*- no-byte-compile: t; lexical-binding: t; -*-
|
||||
|
||||
;;; Description:
|
||||
;; Despite the name, this file not only sets up LSP integration, but
|
||||
;; also native emacs modes for various programming lanuguages, such as
|
||||
;; Prolog, that do not use LSP.
|
||||
|
||||
;;; Code:
|
||||
|
||||
;; Eglot is the built-in LSP client.
|
||||
(use-package eglot
|
||||
:ensure nil
|
||||
:defer t
|
||||
:commands (eglot
|
||||
eglot-rename
|
||||
eglot-ensure
|
||||
eglot-rename
|
||||
eglot-format-buffer)
|
||||
|
||||
:custom
|
||||
(eglot-report-progress nil) ; Prevent minibuffer spam
|
||||
|
||||
:config
|
||||
(add-to-list 'eglot-server-programs '((rust-mode) . ("rust-analyzer")))
|
||||
;; Optimizations
|
||||
(fset #'jsonrpc--log-event #'ignore)
|
||||
(setq jsonrpc-event-hook nil))
|
||||
|
||||
;; This package provides syntax highlighting and some utilities for
|
||||
;; working with rust code.
|
||||
(use-package rust-mode
|
||||
:ensure t
|
||||
:defer t
|
||||
:commands (rust-mode))
|
||||
|
||||
;; This package provides integration with Prolog (SWI).
|
||||
(use-package sweeprolog
|
||||
:straight (sweeprolog :type git
|
||||
:host nil
|
||||
:repo "https://git.sr.ht/~eshel/sweep"
|
||||
:branch "main"
|
||||
:files ("*.el" "sweep.pl" "sweep.texi")) ; Custom recipe because
|
||||
; the normal one did not
|
||||
; build properly.
|
||||
:ensure t
|
||||
:defer t
|
||||
:commands (sweeprolog-mode
|
||||
sweeprolog-top-level)
|
||||
:init
|
||||
(setq sweeprolog-swipl-path "swipl")
|
||||
(add-to-list 'auto-mode-alist '("\\.plt?\\'" . sweeprolog-mode)))
|
||||
|
||||
(add-hook 'rust-mode-hook #'eglot)
|
||||
|
||||
;; Nix language
|
||||
(use-package nix-mode
|
||||
:ensure t
|
||||
:defer t
|
||||
:commands (nix-mode))
|
||||
|
||||
;; Common Lisp
|
||||
(use-package sly
|
||||
:ensure t
|
||||
:defer t
|
||||
:commands (sly)
|
||||
:init
|
||||
(setq inferior-lisp-program "sbcl"))
|
||||
|
||||
;;; 15-lsp.el end here
|
||||
Reference in New Issue
Block a user