* feat(fortran): account for f90 and fortran modes * feat(fortran): initial keybindings * feat(fortran): basic compilation * feat(fortran): compilation popup This customizes the name of the compilation buffer produced by the `compile` function. We're keeping things simple; Emacs already knows how to run compilation commands in a popup and parse the results, so let's let it do its thing. * feat(fortran): doctor checks * docs(fortran): installation instructions * feat(fortran): actual usage of fpm * feat(fortran): configure compilation popups * feat(fortran): improved raw gfortran usage Although it's recommended to do everything through `fpm` to make life easier. * docs(fortran): backburner `+intel` for now * feat(fortran): address PR suggestions
18 lines
590 B
EmacsLisp
18 lines
590 B
EmacsLisp
;; -*- lexical-binding: t; no-byte-compile: t; -*-
|
|
;;; lang/fortran/doctor.el
|
|
|
|
(assert! (or (not (featurep! +lsp))
|
|
(featurep! :tools lsp))
|
|
"This module requires (:tools lsp)")
|
|
|
|
(when (not (executable-find "gfortran"))
|
|
(warn! "Couldn't find gfortran - compilation will not work."))
|
|
|
|
(unless (executable-find "fpm")
|
|
(warn! "Couldn't find fpm - project building/testing will not work."))
|
|
|
|
(when (featurep! +lsp)
|
|
(unless (executable-find "fortls")
|
|
(warn! "Couldn't find fortls."))
|
|
(unless (executable-find "fprettify")
|
|
(warn! "Couldn't find fprettify.")))
|