These optional dotfiles indicate the root of a module or module
group (:lang), and will later contain module metadata. They will also
serve as an alternative to packages.el and doctor.el, and will aide the
parts of the v3.0 module API concerned with resolving the current module
from a path (`doom-module-from-path`), which currently rely too heavily
on parsing path strings.
For now, however, they're simply placeholders.
"\\'" will match the true end-of-string, whereas "$" will also match
just before a newline character. Not that there's much risk that
there'll be newlines in a filepath, but I'd rather be consistent. It
also makes these entries easier for users to remove from
auto-mode-alist.
In the Elder Days, it was common to give Fortran files the extensions of
`.FOR` or later `.F90`. The major modes for Fortran don't automatically
detect this conversion. The former was already accounted for in Doom's
module, but not the latter. This commit rectifies this.
featurep! will be renamed modulep! in the future, so it's been
deprecated. They have identical interfaces, and can be replaced without
issue.
featurep! was never quite the right name for this macro. It implied that
it had some connection to featurep, which it doesn't (only that it was
similar in purpose; still, Doom modules are not features). To undo such
implications and be consistent with its namespace (and since we're
heading into a storm of breaking changes with the v3 release anyway),
now was the best opportunity to begin the transition.
Previously the output was always the default `a.out`. Note that this is
only for the single-file non-fpm case, where the user just wants to
compile and run a one-off Fortran program.
Specifically for when compilation is done through the modeline's Easy
Menu, the commands will use `fpm` or `gfortran` dynamically depending on
whether the current file is present in a project or not.
* 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