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
Diagnostics
Code actions
Intrinsics modules
Completion¶
Hover¶
Symbols¶
Project-wide and single Document symbol search
Signature Help¶
Find References¶
Renaming¶
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
statementUnimplemented 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
Intrinsics Modules¶
ISO_FORTRAN_ENV
,ISO_C_BINDING
GCC 11.2.0IEEE_EXCEPTIONS
,IEEE_ARITHMETIC
,IEEE_FEATURES
GCC 11.2.0OpenMP
OMP_LIB
,OMP_LIB_KINDS
v5.0OpenACC
OPENACC
,OPENACC_KINDS
v3.1
All LSP Requests¶
Request |
Description |
---|---|
|
Get workspace-wide symbols |
|
Get document symbols e.g. functions, subroutines, etc. |
|
Suggested tab-completion when typing |
|
Get signature information at a given cursor position |
|
GoTo definition/Peek definition |
|
Find all/Peek references |
|
Same as |
|
Show messages and signatures upon hover |
|
GoTo implementation/Peek implementation |
|
Rename a symbol across the workspace |
|
Document synchronisation upon opening |
|
Document synchronisation upon saving |
|
Document synchronisation upon closing |
|
Document synchronisation upon changes to the document |
|
Experimental Generate code |