All notable changes to this extension will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Added syntax highlighting support for
sync
andevent
image control statements (#874) - Added schema support for fortls configuration files with autocopmletions (#745)
- Added Nightly Release Channel for the extension that triggers every day at 00:00 UTC.
- Added new settings for disabling Linter initialization and display of initialization Diagnostics
fortran.linter.initialize
andfortran.experimental.keepInitDiagnostics
- Added commands for Initializing, Cleaning build artefacts and Clearing the Diagnostics from the Linter
- Added support for storing build artefacts in a separate cache directory (#614)
- Added a naive initialization for Fortran source files present in the workspace. The implementation cannot deduce build order so it can partially work (#680)
- Added User Interface tests for program installation
- Added option to disable Release Notes from being displayed (#675)
- Added support for schema validation of
fpm.toml
files. - Added local path resolution for
fortls
,findent
andfprettify
executables (#667) - Added support for variable resolution in
fortls
(#664) - Added Run and Debug buttons for single Fortran files based on linter settings (#646)
- Added linter support for LFortran (#589)
- Added coverage reporting using
c8
(#613) - Added support for enhanced
gfotran
v11+ diagnostics using-fdiagnostics-plain-output
(#523) - Added language icons for Free and Fixed form Fortran (#612)
- Added capability for linter options to update automatically when settings change (#623)
- Added unittests for
spawnAsPromise
to increase test coverage (#623) - Added option to set the verbosity of the Output Channel (#606)
- Added increased logging messages in various parts of the extension (#606)
- Changed the
npm vsce
package to@vscode/vsce
for publishing (#814) - Changed logger to draw focus on certain error messages (#744)
- Changed the way extension Release Notes are displayed (#723)
- Changed the activation events of the extension to include the
onCommand
for all register commands - Changed glob resolution module to
glob
fromfast-glob
due to bug #43 (#681) - Changed how Python packages are installed for unittesting for performance (#652)
- Changed the linter to be asynchronous, should imprpove performance (#623)
- Changed native
SymbolProvider
to use non-deprecated constructor (#623) - Changed how caching is performed in the linter; generalised code and improved performance of the cache (#611)
- Changed packaging download to use
vscode.Tasks
(#608) - Renamed the default repository branch from
master
tomain
(#590) - Changed the way messages are logged and added
log
syntax highlighting (#606) - Removes duplicate diagnostic messages from the linter (#598)
- Fixed bug where formatting arguments would not be updated from settings.json ([#1007])
- Fixed bug where specifying
-ffree-line-length-X
and-ffixed-line-length-X
aslinter.extraArgs
would be overridden by the default behaviour offortls
(#925) - Fixed bug where linter would not use the correct Fortran file association if the extension was part of the default extensions of another Fortran lang ID (#904)
- Fixed linter REGEX for GFortran 4.x.x (#813)
- Fixed GFortran version regex to allow for semver + build metadata (#813)
- Fixed broken badges and replaced them with shields.io (#815)
- Fixed regular expression for parsing version of GFortran in linter (#759)
- Fixed bug where diagnostic messages would linger from the previous state (#706)
- Fixed activation bug on Windows causing the persistent cache to fail (#700)
- Fixed bug where the linter's internal cache directory would not always exist (#698)
- Fixed bugs in relative path resolution for
fortls
(#693) - Fixed issues with linter unittests running asynchronously (#623)
- Fixed
npm run watch-dev
not syncing changes to spawned Extension Dev Host (#602)
- Added NAG (
nagfor
) compiler support for linting (#476) - Added
Modern Fortran
,fortls
andfpm
as keywords to the extension (#536)
- Changed tests Fortran source code directory structures (#563)
- Changed Free and Fixed Form language aliases.
Fortran
is now associated withFortranFreeForm
(#536)
- Fixed
linter.modOutput
not working with Intel Fortran Compilers (#538)
- Version bumped to v3.1.0
- Added
Whats New
page to be displayed upon update of the extension. - Added
ifx
support Intel's LLVM based compilerifx
- Added ability to rescan for linting include files.
- Added GitHub Actions support for pre-Release builds (#459)
- Added unittest for
fortls
spawning and integration, checks for initialization values (#422) - Added warning notifications for extensions that interfere with Modern Fortran (#458)
- Added single file and multiple workspace folder support for the Language Server (#446)
- Added file synchronization with VS Code settings and
.fortls
against the Language Server - Added unittests for the formatting providers (#423)
- Added GitHub Actions environment to dependabot
- Adds support for Intel (ifort) and LLVM (flang) compilers (#291)
- Adds native support for the fortran-language-server (
fortls
) making unnecessary the usage of Fortran Intellisense extension (#290) - Added command for restarting the Language Server
- Added more options for configuring the
fortls
settings through the UI
- Prettified the format of the settings UI and added
fortls
options - Changed images from SVG to PNG because
vsce
does not support SVG (#510) - Changed need for matching begin-end scope names, in the following constructs: Functions, Modules, Programs, Module Procedures, Subroutines, Submodules. For a more detailed explanation as to why see the issue (#278)
- Rewrote README to include links to fortran-lang and other projects (#485) (#501)
- Changed
linter.compilerPath
to use the full path to the compiler instead of the root (#500) - Changed all instances of the publisher to
fortran-lang
(#450) - Updated grammar unittests to include scope injections
- Merged Language Server's log channel to Modern Fortran's log channel
- Merged all Fortran intrinsics into a single
json
file (#424) - Updates
README
text and animations, changesSECURITY
and updatespackage.json
- Changes the interface of the extension to accommodate for the newest features (#292)
- Changes main parts of the extension to being asynchronous (#285)
- Changes Language Server prompt from
fortran-language-server
tofortls
- Updates VS Code engine to handle
vsce --pre-release
- Made redundant the use of FORTRAN Intellisense extension (#290)
- Removed setting
includePaths
in favour oflinter.includePaths
- Removed setting
gfortranExecutable
in favour oflinter.compilerPath
- Removed setting
linterEnabled
in favour oflinter.compiler == Disabled
- Removed setting
linterExtraArgs
in favour oflinter.extraArgs
- Removed setting
linterModOutput
in favour oflinter.modOutput
- Removed setting
ProvideSymbols
in favour ofprovide.symbols
- Removed setting
symbols
- Removed setting
provideHover
in favour ofprovide.hover
- Removed setting
provideCompletion
in favour ofprovide.autocomplete
- Fixed formatter output mixes stdout and stderr (#517)
- Fixed
error stop variable
syntax highlighting (#486) - Fixed issue with linter cache containing outdated folders (#464)
- Fixed slow performance of very long lines by using a different solution for (#207) (#309)
- Fixed hovering over user defined types while debugging (#426)
- Fixes linting regex to capture a wider spectrum of errors (#295)
- Fixes linter activation from
Disabled
to some compilerX
without having to restart the extension (#296) - Fixes nopass pointer erroneous syntax highlighting (#318)
- Fixes
%
accessor highlighting for type-bound subroutines (#325) - Fixes
fortls
not spawning whenignoreWarning
was set to true (#365) - Fixes formatting on Windows (needed .exe extension) (#354)
- Fixes
onSave
formatting errors (#364)
- Updated node dependencies to the latest version
- Update GitHub Actions workflows to the latest version
- Adds Don't Show Again option when failing to spawn
fortls
, Fortran Intellisense pop-up has already been removed (#303)
- Fixes log channel not initialising when extension fails to activate (#286)
- Adds support for variable and path interpolation along with glob expressions (#231) (#86)
- Adds explicit option
linterModOutput
for module output (#176)
- Adds support for formatting with
findent
andfprettify
(#29)
- Changed from
tslint
toeslint
andprettier
to format ts, json, md files (#260)
- Extension now activates for
FortranFixedForm
(#257) - Linting is now operational for
FortranFixedForm
(#258) - Fixes dummy variable list erroneous syntax highlighting (#264)
- Renamed the Fixed Format Format language from
fortran_fixed-form
toFortranFixedForm
, an alias has been added for backwards compatibility (#259)
- Adds prompts for installing Fortran IntelliSense and fortran-language-server
- Removes
paths.js
for detecting binaries in favour ofwhich
- Fixes dummy variable list erroneous syntax highlighting (#264)
- Changes the syntax highlighting of preprocessor macros to match that of C++
- Changes npm
vscode
module to@types/vscode
and@vscode/test-electron
(#263)
- Fixes OpenACC syntax highlighting not triggering
- Fixes internal hover documentation display (#205)
- Fixes preprocessor syntax highlighting with line continuations (#248)
- Fixes preprocessor syntax highlighting with derived type and conditionals (#249)
- Fixes the general preprocessor syntax highlighting and adds testing
- Fixes using function/subroutine as parameter in functions/subroutines (#207)
- Fixes labelled conditionals erroneous highlighting (#204)
- Fixes labelled conditionals erroneous highlighting when followed by whitespace (#205)
- Fixes labelled
stop
conditions (#172) - Fixes incorrect comment capture for type, abstract|extends types (#262)
- Adds support for .f18 and .F18 file extensions (#252)
- Adds workflow for automatic publishing to VS Marketplace (#237)
- Adds basic support for pFUnit (.pf) highlighting (#185)
- Fixes line continuation syntax highlighting for OpenMP (#225)
- Added syntax highlight support for OpenACC (#224)
2.2.2 - 2020-12-11
- Fixed fixed-form tab character at start syntax highlighting (#191)
- Fixed
class
paranthesis erroneous syntax highlighting (#196) - Fixed multiline block interface syntax highlighting (#202)
2.2.1 - 2020-04-11
- Add capability to set breakpoints (#89)
2.2.0 - 2020-04-11
- Improve syntax highlight (#149, #166, #169)
- Fix Symbols in VSCode ^1.4x (#154, #140, #151)
- Dependencies Update (#144, #146, #155)
- Improve code completion (#148)
- More custom settings (#152)
- Breakpoints support (#150)
- Improve syntax highlight (#128, #127)
- Improve Paths to linter (#124)
- Improve environment processing (#126)
- New snippets (#104)
2.1.0 - 2019-03-26
- Improve usage of Linter on Windows 10 (#116)
- Improve identation (#115)
- Improve highlight (#110)
- Temporary remove configuration for experimental support of Fortran Language Server (#105)
- New intrinsics from GFortran docs (#113)
2.0.2 - 2018-11-28
- Fixed wrong language on gfortran messages (#101)
- Extensions
.for
,.FOR
and.fpp
added to fixed-form highlight (#97) - Extend syntax highlighting (#106,#109)
- Comments enable on fixed-form (#100)
- Changed default configuration of LanguageServer to
false
- Update vscode minimal engine
2.0.0 - 2018-10-14
- Syntax highlight for
forall
construct (#82) - Add experimental support for the Fortran Language Server
- Added the option to specify the casing to use when providing autocompletion options (Fixes #35)
- Updated the minimum supported version of VS Code to 1.22.0
- Internal changes and cleanup
- Subroutine and function on symbol list were failing with more than one line arguments (#71)
- Minor syntax highlighting issues (#62, #73)
- Implementation of OpenMP directives highlighting (#17)
- Syntax highlight on multiple line of dummy arguments
1.2.0 - 2018-05-25
- Linter was broken in previous version (#55)
- Symbol listing was failing for subroutine without brackets (#61)
- Improved indentation rules (#57)
- Better syntax highlighting of module names (#51)
1.1.0 - 2018-04-16
- Regression bug in the last release (#44)
- Improvements on preprocessor directives highlighting
- Syntax highlighting issues (#32, #34, #36, #37, #38, #39, #41 )
0.6.3 - 2018-01-27
- Configuration option to set types of symbols shown
- Implementation of the symbol provider now returns a promise (Fixes #21)
- Symbol provider now ignores case when searching for subroutines
- Auto indentation rules for code blocks (thx @graceyangfan for the feature request)
- Fixed some highlighting issues by @pedro-ricardo
- A bug in the regex to parse output errors from
gfortran
- Now the spawn command uses the directory of the file
gfortran
is analyzing
- Add
Go -> Go to symbol in file
command support for functions
- Add code autocompletion for intrinsic and in document declared functions
- Add support for user configuration settings
0.4.5 - 2017-07-04
- Fix intrinsic functions docs not loading
0.4.4 - 2017-07-03
- Add support for old fortran languague
- Fix bug #1
- Show docs for intrinsic functions on hover
- Updated icon for the extension
- Fix bug on linter not working
- Initial release