Unique fortls features (not in fortran-language-server)¶
Added¶
Added more verbose reporting for recursion errors arising from nested projects (#445)
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.cfffile 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
jsonconfiguration files (#137)Added
sitemap.xmlto documentation webpage (#134)Added doctests in the pytest test suite (#131)
Added
textDocument/documentHighlightrequest for Vim and EMACS (#43)Added
pre-commithook withflake,black,isortandpyupgrade(#106)Added test support for diagnostic messages
Added multiple unittests for diagnostic messages
Added
pre-commithook to the project (#106)Added Code of Conduct
Added basic support for hovering over
ASSOCIATEblocks (#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
fortlsto auto-update use--disable_autoupdateto disable (#76)Deprecated
--variable_hoveroption 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_defsAdds hover support for preprocessor variables
Adds Go To Definition for
includestatementsAdds intrinsic support for
OpenACCversion 3.1Adds sphinx autogenerated documentation
Adds
incl_suffixesas a configuration optionAdds
EXTERNALas an attribute upon hoverAdds
--configoption which allows arbitrary named configuration filesAdds Python glob support for
excl_paths,source_dirs,include_dirs
Changed¶
Changed
--incl_suffixesoption 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.cfgtopyproject.toml(#384)Bumped
setuptoolsversion to>=61.0.0(#384)Changed the default value of the following options when a mix the command line interface and the
jsoninterface are used. Instead of having thejsoninterface 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
fortlswebsite 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-commitUpdated
READMEto include logo and animationsUpdated
READMEto 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
anacondaenvironments since they handle their dependencies throughcondaand notpipUpdated
setup.cfgin preparation of submitting package toconda-forgeAdded
Editor Integrationsection in documentationChanged reading in
jsonfiles 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.pytosetup.tomlandpyproject.toml(#33)Changed documentation CI to up to date action
Formatted Python imports with
isortChanged
USE_infonamed tuple to storing use modules assetsinstead oflistsChanged
include_dirsfrom alistto asetAutomates the versioning with GitHub releases
Update constant parameters for
omp_libandomp_lib_kindsInterface v5.0Format json files with
prettierInitialises the log channel and adds
$/setTraceto 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_orderhas been substituted with its opposite--sort_keywords
Removed¶
Removed
setuptools_scm_git_archivedue to package deprecation (#326)
Fixed¶
Fixed missing registered capability for
textDocument/documentHighlight(#421)Fixed bug where comments in
USEstatements disabled reference finding (#450)Fixed bug where no matching declarations were found for interface subchildren depending on their letter casing (#471)
Fixed bug with Fixed Format references being incorrectly detected in comments (#447)
Fixed bug with where form feed characters broke LSP features (#443)
Fixed incorrect document symbol for
SUBMODULEstatements (#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
ifandelifconditionals (#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
associateblocks for variables pointing to function results where not properly resolved (#269)Fixed bug where the
langidwas not propagated correctly from the user settings to the LSP creation stage for all types of requests. (#257)Fixed end of scope for
CRITICALkeyword 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
pipwould install without--userand fail (#163)Fixed bug thorowing diagnostic errors if arguments were named
pure,elemental, etc. (#157)Fixed
workspace/didChangeConfigurationrequests 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
definedwithout 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_keywordsoption 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
EXTERNALacross multiple lines (#169)Fixes include with external files (#13)
POINTERattribute now displays upon hover (#16)Fixes
END FORALLend 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_intrinsicmodules (#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)