;;; lsp-fortran.el --- description -*- lexical-binding: t; -*- ;; Copyright (C) 2020 emacs-lsp maintainers ;; Author: emacs-lsp maintainers ;; Keywords: lsp, fortran ;; 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 Fortran Programming Language. ;;; Code: (require 'lsp-mode) (defgroup lsp-fortran nil "LSP support for Fortran, using the Fortran Language Server." :group 'lsp-mode :link '(url-link "https://github.com/hansec/fortran-language-server")) (defcustom lsp-clients-fortls-executable "fortls" "The fortls executable to use. Leave as just the executable name to use the default behavior of finding the executable with `exec-path'." :group 'lsp-fortran :risky t :type 'file) (defcustom lsp-clients-fortls-args '() "Extra arguments for the fortls executable" :group 'lsp-fortran :risky t :type '(repeat string)) (defun lsp-clients--fortls-command () "Generate the language server startup command." `(,lsp-clients-fortls-executable,@lsp-clients-fortls-args)) (lsp-register-client (make-lsp-client :new-connection (lsp-stdio-connection 'lsp-clients--fortls-command) :major-modes '(f90-mode fortran-mode) :priority -1 :server-id 'fortls)) (lsp-consistency-check lsp-fortran) (provide 'lsp-fortran) ;;; lsp-fortran.el ends here