FORTRAN Language Server for the Language Server Protocol
Project description
A FORTRAN implementation of the Language Server Protocol using Python (2.7+).
Note: This language server is currently in the early stages of development. Not all features are supported or planned.
Language Server Features
Document Symbols:
Auto Completion:
Go to definition:
Hover:
Diagnostics:
Multiple use of the same variable name
Unknown module in USE statement
Variable masking definition from parent scope
Installation
pip install fortran-language-server
Configuration
Project specific settings can be specified by placing a JSON file named .fortls (example below) in the root_dir directory.
Setup module search paths:
By default all files with the suffix f,F,f77,F77,for,FOR,fpp,FPP or f90,F90,f95,F95,f03,F03,f08,F08 in the root_dir directory, specified during initialization, and all its sub-directories are parsed and included in the project.
Directories and files can be excluded from the project by specifying their paths (relative to root_dir) in the excl_paths variable in the .fortls file. Excluded directories also exclude all sub-directories.
Module directories can also be specified manually by specifying their paths (relative to root_dir) in the mod_dirs variable in the .fortls file. When mod_dirs is specified directories are not added recursively, so any nested sub directories must be explicitly listed. However, root_dir does not need to be specified manually as it is always included.
{ "mod_dirs": ["subdir1", "subdir2"], "excl_paths": ["subdir3", "subdir1/file_to_skip.F90"] }
Bug reports
When filing bugs please provide example code to reproduce the observed issue.
License
This project is made available under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for fortran-language-server-0.3.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5fbfe53c8d9ef2e334793686b060e66538c7ed59936851dea031495b92fa162a |
|
MD5 | 9d3bad36e22853af0e7f9d39fb143cf4 |
|
BLAKE2b-256 | 675dfd3753b7f58f4c7efd43712c71b32f6436e6b9c652102f01074f9aba7740 |