fortls is an implementation of the Language Server Protocol for Fortran using Python (3.7+). All code editors that support LSP can integrate with fortls; see the section Editor Integration in the documentation. Some supported code editors include: Visual Studio Code, Atom, Sublime Text, (Neo)Vim, and Emacs. Features: * Project-wide and Document symbol detection and Renaming * Hover support, Signature help and Auto-completion * GoTo/Peek implementation and Find/Peek references * Preprocessor support * Documentation parsing (Doxygen and FORD styles) * Access to multiple intrinsic modules and functions * ISO_FORTRAN_ENV GCC 11.2.0 * ISO_C_BINDING GCC 11.2.0 * IEEE_EXCEPTIONS, IEEE_ARITHMETIC, IEEE_FEATURES GCC 11.2.0 * OpenMP OMP_LIB, OMP_LIB_KINDS v5.0 * OpenACC OPENACC, OPENACC_KINDS v3.1 * Diagnostics * Multiple definitions with the same variable name * Variable definition masks definition from parent scope * Missing subroutine/function arguments * Unknown user-defined type used in TYPE/CLASS definition (only if visible in project) * Unclosed blocks/scopes * Invalid scope nesting * Unknown modules in USE statement * Unimplemented deferred type-bound procedures * Use of non-imported variables/objects in interface blocks * Statement placement errors (CONTAINS, IMPLICIT, IMPORT) * Code actions * Generate type-bound procedures and implementation templates for deferred procedures