Skip to content

Commit 428297e

Browse files
pedro-ricardokrvajal
authored andcommitted
Release 2.1.0 (#121)
### Check List - [x] Merge #120 suggestion of #105 - [x] Merge #112 for fix on issue #110 - [x] Merge #117 for fix on issue #115 - [x] Merge #118 for fix on issue #116 - [x] Merge #122 for fix on issue #113 - [x] Update CHANGELOG.md - [x] Update Package.json
1 parent 4f17f24 commit 428297e

File tree

291 files changed

+1178
-294
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

291 files changed

+1178
-294
lines changed

CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,19 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
77

88
## [Unreleased]
99

10+
## [2.1.0] - 2019-xx-xx
11+
12+
### Changed
13+
14+
- Improve usage of Linter on Windows 10 (#116)
15+
- Improve identation (#115)
16+
- Improve highlight (#110)
17+
- Temporary remove configuration for experimental support of Fortran Language Server (#105)
18+
19+
### Added
20+
21+
- New intrinsics from [GFortran docs](https://gcc.gnu.org/onlinedocs/gfortran/Intrinsic-Procedures.html#Intrinsic-Procedures) (#113)
22+
1023
## [2.0.2] - 2018-11-28
1124

1225
### Changed

README.md

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -90,17 +90,6 @@ This is a list of some of the snippets included, if you like to include addition
9090

9191
To trigger code validations you must save the file first.
9292

93-
## Fortran Language Server (Experimental)
94-
95-
This extension uses a host of tools to provide the various language features. An alternative is to use a single language server that provides the same feature.
96-
97-
Set `fortran.useLanguageServer` to `true` to use the Fortran language server from [Chris Hansen](https://github.com/hansec/fortran-language-server) for features like Hover, Definition, Find All References, Signature Help, Go to Symbol in File and Workspace.
98-
99-
- This is an experimental feature and is not available in Windows yet.
100-
- Since only a single language server is spun up for given VS Code instance, having multi-root setup does not work
101-
- If set to true, you will be prompted to install the Fortran language server. Once installed, you will have to reload VS Code window. The language server will then be run by the Fortran extension in the background to provide services needed for the above mentioned features.
102-
- Every time you change the value of the setting `fortran.useLanguageServer`, you need to reload the VS Code window for it to take effect.
103-
10493
## Requirements
10594

10695
For the linter to work you need to have `gfortran` on your path, or wherever you configure it to be.

language-configuration.json

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,13 @@
5050
],
5151
"indentationRules": {
5252
"unIndentedLinePattern": "^\\s*!.*",
53-
"increaseIndentPattern": "then(\\s*|\\s*!.*)$|^\\s*(program|subroutine|function|module|do|block|associate|case|select\\s*case)\\b.*$|\\s*(else|else\\s*if|elsewhere)\\b.*$",
54-
"decreaseIndentPattern": "^\\s*end\\s*(select|if|do|function|subroutine|module|program)\\b.*$|^\\s*else|case\\b.*$"
53+
"increaseIndentPattern": {
54+
"pattern": "then(\\s*|\\s*!.*)$|^\\s*(program|subroutine|function|module|do|block|associate|case|select\\s*case)\\b.*$|\\s*(else|else\\s*if|elsewhere)\\b.*$",
55+
"flags": "i"
56+
},
57+
"decreaseIndentPattern": {
58+
"pattern": "^\\s*end\\s*(select|if|do|function|subroutine|module|program)\\b.*$|^\\s*else|case\\b.*$",
59+
"flags": "i"
60+
}
5561
}
5662
}

package.json

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "linter-gfortran",
33
"displayName": "Modern Fortran",
44
"description": "Modern Fortran language support, including syntax highlighting and error detection.",
5-
"version": "2.0.2",
5+
"version": "2.1.0",
66
"publisher": "krvajalm",
77
"engines": {
88
"vscode": "^1.30.x"
@@ -133,11 +133,6 @@
133133
],
134134
"description": "Specify what kind of symbols should be shown by the symbols' provider"
135135
},
136-
"fortran.useLanguageServer": {
137-
"type": "boolean",
138-
"default": false,
139-
"description": "Experimental: Not available in Windows. Use Fortran language server from hansec for Hover, Definition, Find All References, Signature Help, File Outline and Workspace Symbol features"
140-
},
141136
"fortran.preferredCase": {
142137
"type": "string",
143138
"default": "lowercase",

src/docs/ABORT.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,4 @@
1-
{"keyword":"ABORT","docstr":"`ABORT` — Abort the program\n\n### Description\n`ABORT` causes immediate termination of the program. On operating\nsystems that support a core dump, `ABORT` will produce a core dump. \nIt will also print a backtrace, unless `-fno-backtrace` is given.\n\n\n\n### Syntax\n`CALL ABORT`\n\n\n### Return value\nDoes not return.\n\n\n\n### Example\n\n ```\n\n\nprogram test_abort\n\n  integer :: i = 1, j = 2\n\n  if (i /= j) call abort\n\nend program test_abort\n\n```\n\n\n\n### Standard\nGNU extension\n\n\n\n### Class\nSubroutine\n\n\n\n### See also\n<a href=\"EXIT.html#EXIT\">EXIT</a>, <a href=\"KILL.html#KILL\">KILL</a>, <a href=\"BACKTRACE.html#BACKTRACE\">BACKTRACE</a>\n\n "}{"keyword":"ABORT","docstr":"`ABORT` — Abort the program\n\n### Description\n`ABORT` causes immediate termination of the program. On operating\nsystems that support a core dump, `ABORT` will produce a core dump. \nIt will also print a backtrace, unless `-fno-backtrace` is given.\n\n\n\n### Syntax\n`CALL ABORT`\n\n\n### Return value\nDoes not return.\n\n\n\n### Example\n\n ```\n\n\nprogram test_abort\n\n  integer :: i = 1, j = 2\n\n  if (i /= j) call abort\n\nend program test_abort\n\n```\n\n\n\n### Standard\nGNU extension\n\n\n\n### Class\nSubroutine\n\n\n\n### See also\n<a href=\"EXIT.html#EXIT\">EXIT</a>, <a href=\"KILL.html#KILL\">KILL</a>, <a href=\"BACKTRACE.html#BACKTRACE\">BACKTRACE</a>\n\n "}{"keyword":"ABORT","docstr":"`ABORT` — Abort the program\n\n### Description\n`ABORT` causes immediate termination of the program. On operating\nsystems that support a core dump, `ABORT` will produce a core dump. \nIt will also print a backtrace, unless `-fno-backtrace` is given.\n\n\n\n### Syntax\n`CALL ABORT`\n\n\n### Return value\nDoes not return.\n\n\n\n### Example\n\n ```\n\n\nprogram test_abort\n\n  integer :: i = 1, j = 2\n\n  if (i /= j) call abort\n\nend program test_abort\n\n```\n\n\n\n### Standard\nGNU extension\n\n\n\n### Class\nSubroutine\n\n\n\n### See also\n<a href=\"EXIT.html#EXIT\">EXIT</a>, <a href=\"KILL.html#KILL\">KILL</a>, <a href=\"BACKTRACE.html#BACKTRACE\">BACKTRACE</a>\n\n "}{"keyword":"ABORT","docstr":"`ABORT` — Abort the program\n\n### Description\n`ABORT` causes immediate termination of the program. On operating\nsystems that support a core dump, `ABORT` will produce a core dump. \nIt will also print a backtrace, unless `-fno-backtrace` is given.\n\n\n\n### Syntax\n`CALL ABORT`\n\n\n### Return value\nDoes not return.\n\n\n\n### Example\n\n ```\n\n\nprogram test_abort\n\n  integer :: i = 1, j = 2\n\n  if (i /= j) call abort\n\nend program test_abort\n\n```\n\n\n\n### Standard\nGNU extension\n\n\n\n### Class\nSubroutine\n\n\n\n### See also\n<a href=\"EXIT.html#EXIT\">EXIT</a>, <a href=\"KILL.html#KILL\">KILL</a>, <a href=\"BACKTRACE.html#BACKTRACE\">BACKTRACE</a>\n\n "}{"keyword":"ABORT","docstr":"`ABORT` — Abort the program\n\n### Description\n`ABORT` causes immediate termination of the program. On operating\nsystems that support a core dump, `ABORT` will produce a core dump. \nIt will also print a backtrace, unless `-fno-backtrace` is given.\n\n\n\n### Syntax\n`CALL ABORT`\n\n\n### Return value\nDoes not return.\n\n\n\n### Example\n\n ```\n\n\nprogram test_abort\n\n  integer :: i = 1, j = 2\n\n  if (i /= j) call abort\n\nend program test_abort\n\n```\n\n\n\n### Standard\nGNU extension\n\n\n\n### Class\nSubroutine\n\n\n\n### See also\n<a href=\"EXIT.html#EXIT\">EXIT</a>, <a href=\"KILL.html#KILL\">KILL</a>, <a href=\"BACKTRACE.html#BACKTRACE\">BACKTRACE</a>\n\n "}
1+
{
2+
"keyword":"ABORT",
3+
"docstr":"`ABORT` — Abort the program\n\n### Description\n`ABORT` causes immediate termination of the program. On operating\nsystems that support a core dump, `ABORT` will produce a core dump. \nIt will also print a backtrace, unless `-fno-backtrace` is given.\n\n\n\n### Syntax\n`CALL ABORT`\n\n\n### Return value\nDoes not return.\n\n\n\n### Example\n\n ```\n\n\nprogram test_abort\n\n  integer :: i = 1, j = 2\n\n  if (i /= j) call abort\n\nend program test_abort\n\n```\n\n\n\n### Standard\nGNU extension\n\n\n\n### Class\nSubroutine\n\n\n\n### See also\n<a href=\"EXIT.html#EXIT\">EXIT</a>, <a href=\"KILL.html#KILL\">KILL</a>, <a href=\"BACKTRACE.html#BACKTRACE\">BACKTRACE</a>\n\n "
4+
}

src/docs/ABS.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,4 @@
1-
{"keyword":"ABS","docstr":"`ABS` — Absolute value\n\n### Description\n`ABS(A)` computes the absolute value of `A`.\n\n\n\n### Syntax\n`RESULT = ABS(A)`\n\n\n### Arguments\n\n \n,\n`REAL`, or `COMPLEX`.\n\n\n\n\n\n\n### Return value\nThe return value is of the same type and\nkind as the argument except the return value is `REAL` for a\n`COMPLEX` argument.\n\n\n\n### Example\n\n ```\n\n\nprogram test_abs\n\n  integer :: i = -1\n\n  real :: x = -1.e0\n\n  complex :: z = (-1.e0,0.e0)\n\n  i = abs(i)\n\n  x = abs(x)\n\n  x = abs(z)\n\nend program test_abs\n\n```\n\n\n\n### Specific names\n\n \n | Name | Argument | Return type | Standard\n\n | `ABS(A)` | `REAL(4) A` | `REAL(4)` | Fortran 77 and later\n\n | `CABS(A)` | `COMPLEX(4) A` | `REAL(4)` | Fortran 77 and later\n\n | `DABS(A)` | `REAL(8) A` | `REAL(8)` | Fortran 77 and later\n\n | `IABS(A)` | `INTEGER(4) A` | `INTEGER(4)` | Fortran 77 and later\n\n | `ZABS(A)` | `COMPLEX(8) A` | `COMPLEX(8)` | GNU extension\n\n | `CDABS(A)` | `COMPLEX(8) A` | `COMPLEX(8)` | GNU extension\n\n\n\n\n\n### Standard\nFortran 77 and later, has overloads that are GNU extensions\n\n\n\n### Class\nElemental function\n\n\n"}{"keyword":"ABS","docstr":"`ABS` — Absolute value\n\n### Description\n`ABS(A)` computes the absolute value of `A`.\n\n\n\n### Syntax\n`RESULT = ABS(A)`\n\n\n### Arguments\n\n \n,\n`REAL`, or `COMPLEX`.\n\n\n\n\n\n\n### Return value\nThe return value is of the same type and\nkind as the argument except the return value is `REAL` for a\n`COMPLEX` argument.\n\n\n\n### Example\n\n ```\n\n\nprogram test_abs\n\n  integer :: i = -1\n\n  real :: x = -1.e0\n\n  complex :: z = (-1.e0,0.e0)\n\n  i = abs(i)\n\n  x = abs(x)\n\n  x = abs(z)\n\nend program test_abs\n\n```\n\n\n\n### Specific names\n\n \n | Name | Argument | Return type | Standard\n\n | `ABS(A)` | `REAL(4) A` | `REAL(4)` | Fortran 77 and later\n\n | `CABS(A)` | `COMPLEX(4) A` | `REAL(4)` | Fortran 77 and later\n\n | `DABS(A)` | `REAL(8) A` | `REAL(8)` | Fortran 77 and later\n\n | `IABS(A)` | `INTEGER(4) A` | `INTEGER(4)` | Fortran 77 and later\n\n | `ZABS(A)` | `COMPLEX(8) A` | `COMPLEX(8)` | GNU extension\n\n | `CDABS(A)` | `COMPLEX(8) A` | `COMPLEX(8)` | GNU extension\n\n\n\n\n\n### Standard\nFortran 77 and later, has overloads that are GNU extensions\n\n\n\n### Class\nElemental function\n\n\n"}{"keyword":"ABS","docstr":"`ABS` — Absolute value\n\n### Description\n`ABS(A)` computes the absolute value of `A`.\n\n\n\n### Syntax\n`RESULT = ABS(A)`\n\n\n### Arguments\n\n \n,\n`REAL`, or `COMPLEX`.\n\n\n\n\n\n\n### Return value\nThe return value is of the same type and\nkind as the argument except the return value is `REAL` for a\n`COMPLEX` argument.\n\n\n\n### Example\n\n ```\n\n\nprogram test_abs\n\n  integer :: i = -1\n\n  real :: x = -1.e0\n\n  complex :: z = (-1.e0,0.e0)\n\n  i = abs(i)\n\n  x = abs(x)\n\n  x = abs(z)\n\nend program test_abs\n\n```\n\n\n\n### Specific names\n\n \n | Name | Argument | Return type | Standard\n\n | `ABS(A)` | `REAL(4) A` | `REAL(4)` | Fortran 77 and later\n\n | `CABS(A)` | `COMPLEX(4) A` | `REAL(4)` | Fortran 77 and later\n\n | `DABS(A)` | `REAL(8) A` | `REAL(8)` | Fortran 77 and later\n\n | `IABS(A)` | `INTEGER(4) A` | `INTEGER(4)` | Fortran 77 and later\n\n | `ZABS(A)` | `COMPLEX(8) A` | `COMPLEX(8)` | GNU extension\n\n | `CDABS(A)` | `COMPLEX(8) A` | `COMPLEX(8)` | GNU extension\n\n\n\n\n\n### Standard\nFortran 77 and later, has overloads that are GNU extensions\n\n\n\n### Class\nElemental function\n\n\n"}{"keyword":"ABS","docstr":"`ABS` — Absolute value\n\n### Description\n`ABS(A)` computes the absolute value of `A`.\n\n\n\n### Syntax\n`RESULT = ABS(A)`\n\n\n### Arguments\n\n \n,\n`REAL`, or `COMPLEX`.\n\n\n\n\n\n\n### Return value\nThe return value is of the same type and\nkind as the argument except the return value is `REAL` for a\n`COMPLEX` argument.\n\n\n\n### Example\n\n ```\n\n\nprogram test_abs\n\n  integer :: i = -1\n\n  real :: x = -1.e0\n\n  complex :: z = (-1.e0,0.e0)\n\n  i = abs(i)\n\n  x = abs(x)\n\n  x = abs(z)\n\nend program test_abs\n\n```\n\n\n\n### Specific names\n\n \n | Name | Argument | Return type | Standard\n\n | `ABS(A)` | `REAL(4) A` | `REAL(4)` | Fortran 77 and later\n\n | `CABS(A)` | `COMPLEX(4) A` | `REAL(4)` | Fortran 77 and later\n\n | `DABS(A)` | `REAL(8) A` | `REAL(8)` | Fortran 77 and later\n\n | `IABS(A)` | `INTEGER(4) A` | `INTEGER(4)` | Fortran 77 and later\n\n | `ZABS(A)` | `COMPLEX(8) A` | `COMPLEX(8)` | GNU extension\n\n | `CDABS(A)` | `COMPLEX(8) A` | `COMPLEX(8)` | GNU extension\n\n\n\n\n\n### Standard\nFortran 77 and later, has overloads that are GNU extensions\n\n\n\n### Class\nElemental function\n\n\n"}{"keyword":"ABS","docstr":"`ABS` — Absolute value\n\n### Description\n`ABS(A)` computes the absolute value of `A`.\n\n\n\n### Syntax\n`RESULT = ABS(A)`\n\n\n### Arguments\n\n \n,\n`REAL`, or `COMPLEX`.\n\n\n\n\n\n\n### Return value\nThe return value is of the same type and\nkind as the argument except the return value is `REAL` for a\n`COMPLEX` argument.\n\n\n\n### Example\n\n ```\n\n\nprogram test_abs\n\n  integer :: i = -1\n\n  real :: x = -1.e0\n\n  complex :: z = (-1.e0,0.e0)\n\n  i = abs(i)\n\n  x = abs(x)\n\n  x = abs(z)\n\nend program test_abs\n\n```\n\n\n\n### Specific names\n\n \n | Name | Argument | Return type | Standard\n\n | `ABS(A)` | `REAL(4) A` | `REAL(4)` | Fortran 77 and later\n\n | `CABS(A)` | `COMPLEX(4) A` | `REAL(4)` | Fortran 77 and later\n\n | `DABS(A)` | `REAL(8) A` | `REAL(8)` | Fortran 77 and later\n\n | `IABS(A)` | `INTEGER(4) A` | `INTEGER(4)` | Fortran 77 and later\n\n | `ZABS(A)` | `COMPLEX(8) A` | `COMPLEX(8)` | GNU extension\n\n | `CDABS(A)` | `COMPLEX(8) A` | `COMPLEX(8)` | GNU extension\n\n\n\n\n\n### Standard\nFortran 77 and later, has overloads that are GNU extensions\n\n\n\n### Class\nElemental function\n\n\n"}
1+
{
2+
"keyword":"ABS",
3+
"docstr":"`ABS` — Absolute value\n\n### Description\n`ABS(A)` computes the absolute value of `A`.\n\n\n\n### Syntax\n`RESULT = ABS(A)`\n\n\n### Arguments\n\n \n,\n`REAL`, or `COMPLEX`.\n\n\n\n\n\n\n### Return value\nThe return value is of the same type and\nkind as the argument except the return value is `REAL` for a\n`COMPLEX` argument.\n\n\n\n### Example\n\n ```\n\n\nprogram test_abs\n\n  integer :: i = -1\n\n  real :: x = -1.e0\n\n  complex :: z = (-1.e0,0.e0)\n\n  i = abs(i)\n\n  x = abs(x)\n\n  x = abs(z)\n\nend program test_abs\n\n```\n\n\n\n### Specific names\n\n \n | Name | Argument | Return type | Standard\n\n | `ABS(A)` | `REAL(4) A` | `REAL(4)` | Fortran 77 and later\n\n | `CABS(A)` | `COMPLEX(4) A` | `REAL(4)` | Fortran 77 and later\n\n | `DABS(A)` | `REAL(8) A` | `REAL(8)` | Fortran 77 and later\n\n | `IABS(A)` | `INTEGER(4) A` | `INTEGER(4)` | Fortran 77 and later\n\n | `ZABS(A)` | `COMPLEX(8) A` | `COMPLEX(8)` | GNU extension\n\n | `CDABS(A)` | `COMPLEX(8) A` | `COMPLEX(8)` | GNU extension\n\n\n\n\n\n### Standard\nFortran 77 and later, has overloads that are GNU extensions\n\n\n\n### Class\nElemental function\n\n\n"
4+
}

0 commit comments

Comments
 (0)