Unique fortls features (not in fortran-language-server)¶
Added¶
Added support for changing the default Python recursion depth (#312)
Added support for preprocessor macro expansions (#368)
Added support for leading white spaces in preprocessor directives (#297)
Added hover messages for Types and Modules (#208)
Added support for Markdown intrinsics from the M_intrinsics repository (#215)
Added and create a schema for fortls configuration files (#204)
Added dependabot alers for PyPi (#222)
Added
CITATION.cff
file to project rootsAdded additional default configuration file names
.fortlsrc
,.fortls.json
(#184)Added coverage testing for multiple Python versions (#168)
Added pre-commit.ci to
fortls
(#168)Added support for comments in the
json
configuration files (#137)Added
sitemap.xml
to documentation webpage (#134)Added doctests in the pytest test suite (#131)
Added
textDocument/documentHighlight
request for Vim and EMACS (#43)Added
pre-commit
hook withflake
,black
,isort
andpyupgrade
(#106)Added test support for diagnostic messages
Added multiple unittests for diagnostic messages
Added
pre-commit
hook to the project (#106)Added Code of Conduct
Added basic support for hovering over
ASSOCIATE
blocks (#62)Added keywords to the PyPi manifest (#99)
Added unittests for intrinsics and improved overall coverage
Automated the update for GitHub Actions
Added coverage reporting for Unix + Windows
Improved autocompletion for Fortran statements F2018 compliant (#63)
Added the capability for
fortls
to auto-update use--disable_autoupdate
to disable (#76)Deprecated
--variable_hover
option and now is always enabled (#46)Added semantic versioning with
setuptools_scm
(#34)Added additional shields to REAMDE, including coverage and Python versions
Added coverage metric for Codecov
Added coverage for
WHERE
,ENUM
, max line/comment diagnostics and multilinesAdds Windows CI
Add support for absolute include, source and exclude paths
Adds support for including preprocessor definitions from files same as
pp_defs
Adds hover support for preprocessor variables
Adds Go To Definition for
include
statementsAdds intrinsic support for
OpenACC
version 3.1Adds sphinx autogenerated documentation
Adds
incl_suffixes
as a configuration optionAdds
EXTERNAL
as an attribute upon hoverAdds
--config
option which allows arbitrary named configuration filesAdds Python glob support for
excl_paths
,source_dirs
,include_dirs
Changed¶
Changed
--incl_suffixes
option to faithfully match the suffixes that are provided in the option, without performing any type of modification. (#300)Changed the completion signature to include the full Markdown documentation for the completion item. (#219)
Changed hover messages and signature help to use Markdown (#45)
Changed automatic detection of fixed/free-form of files to ignore preprocessor lines. (#302)
Moved project setup from
setup.cfg
topyproject.toml
(#384)Bumped
setuptools
version to>=61.0.0
(#384)Changed the default value of the following options when a mix the command line interface and the
json
interface are used. Instead of having thejson
interface default the values to an empty set it now defaults to the values of the command line:excl_paths
,source_dirs
,incl_suffixes
,excl_suffixes
,include_dirs
(#143)Renamed variables to simplify parser (#133)
Redesigned parsing functions for short-hand declarations of array dimensions, character length and parsing of kind (#130)
Redesigned the
fortls
website to be more aesthetically pleasing and user-friendly (#112)Changed code structure, reformatted files and changed name conventions (#109)
Updated CONTRIBUTING instructions
Changed the naming convention for Fortran Objects (#109)
Formatted all files with
pre-commit
Updated
README
to include logo and animationsUpdated
README
to include conda-forge installation instructionsRestructured unittests to individual files for more granular reporting
Changed how renaming of implicitly named type-bound procedures and their implementations is handled. Unittest was added.
Rewrote the Fortran parser to be clearer and more modular
Disable PyPi autoupdating for pre-releases and dev versions
Changed the auto-update feature to skip
anaconda
environments since they handle their dependencies throughconda
and notpip
Updated
setup.cfg
in preparation of submitting package toconda-forge
Added
Editor Integration
section in documentationChanged reading in
json
files to be encoded as UTF-8 (#51)Changed the way function hover messages are displayed, now signatures are standardised (#47)
Changed default branch to master and updated Actions workflows
Changes from
setup.py
tosetup.toml
andpyproject.toml
(#33)Changed documentation CI to up to date action
Formatted Python imports with
isort
Changed
USE_info
named tuple to storing use modules assets
instead oflists
Changed
include_dirs
from alist
to aset
Automates the versioning with GitHub releases
Update constant parameters for
omp_lib
andomp_lib_kinds
Interface v5.0Format json files with
prettier
Initialises the log channel and adds
$/setTrace
to override client’s (i.e. VS Code) loglevelUnified the interfaces from the command line and the configuration options file (#17)
Updated the documentation and simplified the README.md
Deprecated¶
Option
--preserve_keyword_order
has been substituted with its opposite--sort_keywords
Removed¶
Removed
setuptools_scm_git_archive
due to package deprecation (#326)
Fixed¶
Fixed incorrect document symbol for
SUBMODULE
statements (#413)Fixed bug with nested preprocessor blocks erroneously evaluating as active (#404)
Fixed bug where parser would crash when trying to retrieve an invalid line no. (#398)
Fixed bug with string quotes not being escaped when looking for parenthesis (#250)
Fixed bug with line continuations in lexical tokens (#235)
Fixed end of scope errors raised by trailing semicolon in native parser (#265)
Fixed bug where parent scope for includes in AST could be
None
(#329)Fixed preprocessor bug with
if
andelif
conditionals (#322)Fixed bug where type fields or methods were not detected if spaces were used around
%
(#286)Fixed bug where Go To Implementation would not work for submodules (#74)
Fixed bug where
associate
blocks for variables pointing to function results where not properly resolved (#269)Fixed bug where the
langid
was not propagated correctly from the user settings to the LSP creation stage for all types of requests. (#257)Fixed end of scope for
CRITICAL
keyword blocks (#255)Fixed bug where completion of interfaces in USE ONLY would produce the snippet (#150)
Fixed bug where diagnostic messages were raised for non-existent variables (#173) (#175)
Fixed submodule crashing bug and document/Symbol request failure (#233)
Fixed debug interface parser not loading all configuration files (#221)
Fixed name mangling of type-bound procedure pointers while hovering (#214)
Fixed parsing start of multilines into AST (#217)
Fixed
intent(in out)
not being parsed correctly (#160)Fixed issue where
pip
would install without--user
and fail (#163)Fixed bug thorowing diagnostic errors if arguments were named
pure
,elemental
, etc. (#157)Fixed
workspace/didChangeConfiguration
requests that caused errors in VS Code logs (#114)Fixed glob pattern resolution for command line arguments (#142)
Fixed bug where error messages did not post correctly (#135)
Fixed bug where submodule procedure scopes would terminate early if keyword modifiers were used (#119)
Fixed remote coverage report line diff (#101)
Fixes GoTo Implementation error for intrinsics (#80)
Fixed missing dependency from
setup.cfg
(#78)Updated configuration file variables in documentation
Fixed parsing of
defined
without by parenthesis surrounding the definition (#67)Fixed hovering value of literal and constant strings not displaying (#54)
Fixed hovering string length size is now matching the string (#55)
Fixed space separated keywords not being displayed upon hover (#60)
Fixed hovering over functions displaying as theire result types (#22)
Fixed function modifiers not displaying upon hover (#48)
Fixed function hover when returning arrays (#50)
Fixed code autocompletion bug with f-strings (#39)
Fixed global
sort_keywords
option not propagating during parsing on Windows (#36)Fixed unittests not propagating debugger state (#35)
Fixed some mutable default argument warnings in methods and classes
Fixes the hover of preprocessor functions. It now displays the function name witout the argument list and the function body. The argument list cannot be multiline but the function body can.
Fixes objects marked
EXTERNAL
across multiple lines (#169)Fixes include with external files (#13)
POINTER
attribute now displays upon hover (#16)Fixes
END FORALL
end of scope error (#18)Fixes Fortran line continuation definitions intermingled with preprocessor directives (#203) (#4)
Further improves the literal variable hover added in v1.14.0
Fixes premature end of scope with variables named
end
(#9)Fixes import host association includes (autocomplete work not complete) (#187)
Fixes parsing of
non_intrinsic
modules (#206)Fixes error while parsing submodule parent name with spaces (#207)
Fixes language server features not triggering for variables in column 0
Fixes (partially) Fortran literal variable hover (#188)
Fixes diagnostic error with interfaces as function arguments (#200)