diff --git a/.vscode/launch.json b/.vscode/launch.json index e9ffcd39..00e6da84 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -18,7 +18,7 @@ "request": "launch", "runtimeExecutable": "${execPath}", "args": [ - "${workspaceFolder}/test/resources", + "${workspaceFolder}/test/fortran", "--disable-extension=fortran-lang.linter-gfortran", "--extensionDevelopmentPath=${workspaceFolder}", "--extensionTestsPath=${workspaceFolder}/out/test" diff --git a/CHANGELOG.md b/CHANGELOG.md index 210158af..e47892e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ### Changed +- Changed tests Fortran source code directory structures + ([#563](https://github.com/fortran-lang/vscode-fortran-support/pull/563)) - Changed Free and Fixed Form language aliases. `Fortran` is now associated with `FortranFreeForm` ([#536](https://github.com/fortran-lang/vscode-fortran-support/issues/536)) diff --git a/package.json b/package.json index a7a095e5..d28f9d28 100644 --- a/package.json +++ b/package.json @@ -515,8 +515,8 @@ "webpack": "webpack --mode production", "pretest": "npm run compile-dev && tsc -p tsconfig.test.json", "test": "node ./out/test/runTest.js", - "test:grammar-free": "vscode-tmgrammar-snap -s source.fortran.free -g ./syntaxes/fortran_free-form.tmLanguage.json \"./test/**/*{.f90,F90}\"", - "test:grammar-fixed": "vscode-tmgrammar-snap -s source.fortran.fixed -g ./syntaxes/fortran_fixed-form.tmLanguage.json \"./test/**/*{.f,F}\"", + "test:grammar-free": "vscode-tmgrammar-snap -s source.fortran.free -g ./syntaxes/fortran_free-form.tmLanguage.json \"./test/fortran/syntax/**/*{.f90,F90}\"", + "test:grammar-fixed": "vscode-tmgrammar-snap -s source.fortran.fixed -g ./syntaxes/fortran_fixed-form.tmLanguage.json \"./test/fortran/syntax/**/*{.f,F}\"", "test:grammar": "npm run test:grammar-free && npm run test:grammar-fixed", "test:grammar-update": "npm run test:grammar-free -- -u && npm run test:grammar-fixed -- -u", "lint": "eslint . --ext .ts,.tsx", diff --git a/test/extension.test.ts b/test/extension.test.ts index b781cdd8..c473aa65 100644 --- a/test/extension.test.ts +++ b/test/extension.test.ts @@ -15,7 +15,7 @@ import { FortranDocumentSymbolProvider } from '../src/features/document-symbol-p // Defines a Mocha test suite to group tests of similar kind together suite('Extension Tests', () => { test('symbol provider works as expected', async () => { - const filePath = path.resolve(__dirname, '../../test/resources/sample.f90'); + const filePath = path.resolve(__dirname, '../../test/fortran/sample.f90'); const openPath = vscode.Uri.file(filePath); const doc = await vscode.workspace.openTextDocument(openPath); vscode.window.showTextDocument(doc); diff --git a/test/formatting-provider.test.ts b/test/formatting-provider.test.ts index e7581326..26decc3f 100644 --- a/test/formatting-provider.test.ts +++ b/test/formatting-provider.test.ts @@ -9,7 +9,7 @@ suite('Formatting tests', () => { let doc: vscode.TextDocument; const fmt = new FortranFormattingProvider(new LoggingService()); const fileUri = vscode.Uri.file( - path.resolve(__dirname, '../../test/resources/formatting_test.f90') + path.resolve(__dirname, '../../test/fortran/format/formatting_test.f90') ); suiteSetup(async function (): Promise { @@ -62,7 +62,10 @@ end program main test(`Using fprettify with stderr`, async () => { doc = await vscode.workspace.openTextDocument( vscode.Uri.file( - path.resolve(__dirname, '../../test/resources/formatting_test_fprettify_long_lines.f90') + path.resolve( + __dirname, + '../../test/fortran/format/formatting_test_fprettify_long_lines.f90' + ) ) ); const edits = await fmt['doFormatFprettify'](doc); diff --git a/test/resources/.vscode/launch.json b/test/fortran/.vscode/launch.json similarity index 100% rename from test/resources/.vscode/launch.json rename to test/fortran/.vscode/launch.json diff --git a/test/resources/.vscode/settings.json b/test/fortran/.vscode/settings.json similarity index 100% rename from test/resources/.vscode/settings.json rename to test/fortran/.vscode/settings.json diff --git a/test/resources/.vscode/tasks.json b/test/fortran/.vscode/tasks.json similarity index 100% rename from test/resources/.vscode/tasks.json rename to test/fortran/.vscode/tasks.json diff --git a/test/resources/formatting_test.f90 b/test/fortran/format/formatting_test.f90 similarity index 100% rename from test/resources/formatting_test.f90 rename to test/fortran/format/formatting_test.f90 diff --git a/test/resources/formatting_test_fprettify_long_lines.f90 b/test/fortran/format/formatting_test_fprettify_long_lines.f90 similarity index 100% rename from test/resources/formatting_test_fprettify_long_lines.f90 rename to test/fortran/format/formatting_test_fprettify_long_lines.f90 diff --git a/test/resources/function_subroutine_definitions.f90 b/test/fortran/function_subroutine_definitions.f90 similarity index 100% rename from test/resources/function_subroutine_definitions.f90 rename to test/fortran/function_subroutine_definitions.f90 diff --git a/test/fortran/lint/err-mod.f90 b/test/fortran/lint/err-mod.f90 new file mode 100644 index 00000000..84603ad2 --- /dev/null +++ b/test/fortran/lint/err-mod.f90 @@ -0,0 +1,12 @@ +module err_mod + private + implicit none + contains + subroutine foo(arg1, arg2) + integer, intent(in) :: arg1, arg2 + print*, 'arg1:', arg1, 'arg2:', arg2 + end subroutine foo + subroutine proc_with_err() + call foo() + end subroutine proc_with_err +end module err_mod diff --git a/test/fortran/lint/err-warns.f90 b/test/fortran/lint/err-warns.f90 new file mode 100644 index 00000000..583a9db5 --- /dev/null +++ b/test/fortran/lint/err-warns.f90 @@ -0,0 +1,8 @@ +program main + call say_hello(1,2) +contains + subroutine say_hello(a,b) + integer :: a,b + print *, "Hello, World!" + end subroutine say_hello +end program main diff --git a/test/fortran/lint/test1.f90 b/test/fortran/lint/test1.f90 new file mode 100644 index 00000000..db6ceda1 --- /dev/null +++ b/test/fortran/lint/test1.f90 @@ -0,0 +1,27 @@ +module test + intrinsic :: size +end module test + +program test_literals + use iso_c_binding + use test, only: fsize => size + + implicit none + integer(c_int) :: ierr + integer :: i, j + integer, allocatable :: a(:,:) + a = reshape([1, 2, 3, 4, 5, 6], [2, 3]) + print*, size(a), size(a, 1), size(a, 2) + print*, "loop over array ranks" + do i = 1, size(a, 2) + print*, a(:, i) + end do + print*, "end looping over array ranks" + + call foo(a, ) + contains + subroutine foo(pair) + integer, dimension(*), intent(in) :: pair + print*, pair(1:6) + end subroutine foo +end program test_literals diff --git a/test/resources/sample.f90 b/test/fortran/sample.f90 similarity index 100% rename from test/resources/sample.f90 rename to test/fortran/sample.f90 diff --git a/test/fortran/syntax/Makefile b/test/fortran/syntax/Makefile new file mode 100644 index 00000000..ef61e3a1 --- /dev/null +++ b/test/fortran/syntax/Makefile @@ -0,0 +1,4 @@ + + +clean: + rm -f *.o *.out *.mod *.smod diff --git a/test/resources/abstraction.f90 b/test/fortran/syntax/abstraction.f90 similarity index 100% rename from test/resources/abstraction.f90 rename to test/fortran/syntax/abstraction.f90 diff --git a/test/resources/abstraction.f90.snap b/test/fortran/syntax/abstraction.f90.snap similarity index 100% rename from test/resources/abstraction.f90.snap rename to test/fortran/syntax/abstraction.f90.snap diff --git a/test/resources/auxilary_functions.f b/test/fortran/syntax/auxilary_functions.f similarity index 100% rename from test/resources/auxilary_functions.f rename to test/fortran/syntax/auxilary_functions.f diff --git a/test/resources/auxilary_functions.f.snap b/test/fortran/syntax/auxilary_functions.f.snap similarity index 100% rename from test/resources/auxilary_functions.f.snap rename to test/fortran/syntax/auxilary_functions.f.snap diff --git a/test/resources/class.f90 b/test/fortran/syntax/class.f90 similarity index 100% rename from test/resources/class.f90 rename to test/fortran/syntax/class.f90 diff --git a/test/resources/class.f90.snap b/test/fortran/syntax/class.f90.snap similarity index 100% rename from test/resources/class.f90.snap rename to test/fortran/syntax/class.f90.snap diff --git a/test/resources/conditionals.f90 b/test/fortran/syntax/conditionals.f90 similarity index 100% rename from test/resources/conditionals.f90 rename to test/fortran/syntax/conditionals.f90 diff --git a/test/resources/conditionals.f90.snap b/test/fortran/syntax/conditionals.f90.snap similarity index 100% rename from test/resources/conditionals.f90.snap rename to test/fortran/syntax/conditionals.f90.snap diff --git a/test/resources/error-stop.f90 b/test/fortran/syntax/error-stop.f90 similarity index 100% rename from test/resources/error-stop.f90 rename to test/fortran/syntax/error-stop.f90 diff --git a/test/resources/error-stop.f90.snap b/test/fortran/syntax/error-stop.f90.snap similarity index 100% rename from test/resources/error-stop.f90.snap rename to test/fortran/syntax/error-stop.f90.snap diff --git a/test/resources/fixed_form.F b/test/fortran/syntax/fixed_form.F similarity index 100% rename from test/resources/fixed_form.F rename to test/fortran/syntax/fixed_form.F diff --git a/test/resources/fixed_form.F.snap b/test/fortran/syntax/fixed_form.F.snap similarity index 100% rename from test/resources/fixed_form.F.snap rename to test/fortran/syntax/fixed_form.F.snap diff --git a/test/resources/header.h b/test/fortran/syntax/header.h similarity index 100% rename from test/resources/header.h rename to test/fortran/syntax/header.h diff --git a/test/resources/long_lines.f90 b/test/fortran/syntax/long_lines.f90 similarity index 100% rename from test/resources/long_lines.f90 rename to test/fortran/syntax/long_lines.f90 diff --git a/test/resources/long_lines.f90.snap b/test/fortran/syntax/long_lines.f90.snap similarity index 100% rename from test/resources/long_lines.f90.snap rename to test/fortran/syntax/long_lines.f90.snap diff --git a/test/resources/nopass.f90 b/test/fortran/syntax/nopass.f90 similarity index 100% rename from test/resources/nopass.f90 rename to test/fortran/syntax/nopass.f90 diff --git a/test/resources/nopass.f90.snap b/test/fortran/syntax/nopass.f90.snap similarity index 100% rename from test/resources/nopass.f90.snap rename to test/fortran/syntax/nopass.f90.snap diff --git a/test/resources/openacc_support.f90 b/test/fortran/syntax/openacc_support.f90 similarity index 100% rename from test/resources/openacc_support.f90 rename to test/fortran/syntax/openacc_support.f90 diff --git a/test/resources/openacc_support.f90.snap b/test/fortran/syntax/openacc_support.f90.snap similarity index 100% rename from test/resources/openacc_support.f90.snap rename to test/fortran/syntax/openacc_support.f90.snap diff --git a/test/resources/pp_in_func.f90 b/test/fortran/syntax/pp_in_func.f90 similarity index 100% rename from test/resources/pp_in_func.f90 rename to test/fortran/syntax/pp_in_func.f90 diff --git a/test/resources/pp_in_func.f90.snap b/test/fortran/syntax/pp_in_func.f90.snap similarity index 100% rename from test/resources/pp_in_func.f90.snap rename to test/fortran/syntax/pp_in_func.f90.snap diff --git a/test/resources/preprocessor.F90 b/test/fortran/syntax/preprocessor.F90 similarity index 100% rename from test/resources/preprocessor.F90 rename to test/fortran/syntax/preprocessor.F90 diff --git a/test/resources/preprocessor.F90.snap b/test/fortran/syntax/preprocessor.F90.snap similarity index 100% rename from test/resources/preprocessor.F90.snap rename to test/fortran/syntax/preprocessor.F90.snap diff --git a/test/resources/select_case.f90 b/test/fortran/syntax/select_case.f90 similarity index 100% rename from test/resources/select_case.f90 rename to test/fortran/syntax/select_case.f90 diff --git a/test/resources/select_case.f90.snap b/test/fortran/syntax/select_case.f90.snap similarity index 100% rename from test/resources/select_case.f90.snap rename to test/fortran/syntax/select_case.f90.snap diff --git a/test/resources/select_rank.f90 b/test/fortran/syntax/select_rank.f90 similarity index 100% rename from test/resources/select_rank.f90 rename to test/fortran/syntax/select_rank.f90 diff --git a/test/resources/select_rank.f90.snap b/test/fortran/syntax/select_rank.f90.snap similarity index 100% rename from test/resources/select_rank.f90.snap rename to test/fortran/syntax/select_rank.f90.snap diff --git a/test/resources/select_type.f90 b/test/fortran/syntax/select_type.f90 similarity index 100% rename from test/resources/select_type.f90 rename to test/fortran/syntax/select_type.f90 diff --git a/test/resources/select_type.f90.snap b/test/fortran/syntax/select_type.f90.snap similarity index 100% rename from test/resources/select_type.f90.snap rename to test/fortran/syntax/select_type.f90.snap diff --git a/test/linter-provider.test.ts b/test/linter-provider.test.ts index 746edaac..2703eaa7 100644 --- a/test/linter-provider.test.ts +++ b/test/linter-provider.test.ts @@ -161,8 +161,8 @@ suite('GNU (gfortran) lint preprocessor multiple', () => { const linter = new FortranLintingProvider(); linter['compiler'] = 'gfortran'; const msg = ` -f951: Warning: Nonexistent include directory '/Code/TypeScript/vscode-fortran-support/test/resources/include' [-Wmissing-include-dirs] -/Code/TypeScript/vscode-fortran-support/test/resources/sample.f90:4:18: +f951: Warning: Nonexistent include directory '/Code/TypeScript/vscode-fortran-support/test/fortran/include' [-Wmissing-include-dirs] +/Code/TypeScript/vscode-fortran-support/test/fortran/sample.f90:4:18: 4 | call say_hello() | 1 @@ -187,12 +187,12 @@ Error: Missing actual argument for argument 'a' at (1) test('REGEX: match 1 - message ', () => { strictEqual( g1['msg2'], - "Nonexistent include directory '/Code/TypeScript/vscode-fortran-support/test/resources/include' [-Wmissing-include-dirs]" + "Nonexistent include directory '/Code/TypeScript/vscode-fortran-support/test/fortran/include' [-Wmissing-include-dirs]" ); }); const g2 = matches[1].groups; test('REGEX: match 2 - filename', () => { - strictEqual(g2['fname'], '/Code/TypeScript/vscode-fortran-support/test/resources/sample.f90'); + strictEqual(g2['fname'], '/Code/TypeScript/vscode-fortran-support/test/fortran/sample.f90'); }); test('REGEX: match 2 - line number', () => { strictEqual(g2['ln'], '4'); @@ -212,7 +212,7 @@ Error: Missing actual argument for argument 'a' at (1) const ref = [ new Diagnostic( new Range(new Position(0, 1), new Position(0, 1)), - "Nonexistent include directory '/Code/TypeScript/vscode-fortran-support/test/resources/include' [-Wmissing-include-dirs]", + "Nonexistent include directory '/Code/TypeScript/vscode-fortran-support/test/fortran/include' [-Wmissing-include-dirs]", DiagnosticSeverity.Warning ), new Diagnostic( diff --git a/test/lsp-client.test.ts b/test/lsp-client.test.ts index d8b61799..ffbd2827 100644 --- a/test/lsp-client.test.ts +++ b/test/lsp-client.test.ts @@ -10,7 +10,7 @@ suite('Language Server integration tests', () => { let doc: vscode.TextDocument; const server = new FortlsClient(new LoggingService()); const fileUri = vscode.Uri.file( - path.resolve(__dirname, '../../test/resources/function_subroutine_definitions.f90') + path.resolve(__dirname, '../../test/fortran/function_subroutine_definitions.f90') ); suiteSetup(async function (): Promise { diff --git a/test/resources/formatting_test.f90.snap b/test/resources/formatting_test.f90.snap deleted file mode 100644 index bcb34e9a..00000000 --- a/test/resources/formatting_test.f90.snap +++ /dev/null @@ -1,64 +0,0 @@ ->program main -#^^^^^^^ source.fortran.free meta.program.fortran keyword.control.program.fortran -# ^ source.fortran.free meta.program.fortran -# ^^^^ source.fortran.free meta.program.fortran entity.name.program.fortran ->implicit none -#^^^^^^^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.statement.implicit.fortran keyword.other.implicit.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.statement.implicit.fortran -# ^^^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.statement.implicit.fortran keyword.other.none.fortran ->integer :: i, j -#^^^^^^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.specification.type.fortran storage.type.integer.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran -# ^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.specification.type.fortran keyword.operator.double-colon.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.specification.type.fortran meta.name-list.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.specification.type.fortran meta.name-list.fortran meta.parameter.fortran -# ^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.specification.type.fortran meta.name-list.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.specification.type.fortran meta.name-list.fortran meta.parameter.fortran ->do i = 1, 5 -#^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.do.unlabeled.fortran keyword.control.do.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.do.unlabeled.fortran meta.loop-control.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.do.unlabeled.fortran meta.loop-control.fortran meta.parameter.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.do.unlabeled.fortran meta.loop-control.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.do.unlabeled.fortran meta.loop-control.fortran keyword.operator.assignment.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.do.unlabeled.fortran meta.loop-control.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.do.unlabeled.fortran meta.loop-control.fortran constant.numeric.fortran -# ^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.do.unlabeled.fortran meta.loop-control.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.do.unlabeled.fortran meta.loop-control.fortran constant.numeric.fortran ->do j = 1, 5 -#^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.do.unlabeled.fortran meta.block.do.unlabeled.fortran keyword.control.do.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.do.unlabeled.fortran meta.block.do.unlabeled.fortran meta.loop-control.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.do.unlabeled.fortran meta.block.do.unlabeled.fortran meta.loop-control.fortran meta.parameter.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.do.unlabeled.fortran meta.block.do.unlabeled.fortran meta.loop-control.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.do.unlabeled.fortran meta.block.do.unlabeled.fortran meta.loop-control.fortran keyword.operator.assignment.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.do.unlabeled.fortran meta.block.do.unlabeled.fortran meta.loop-control.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.do.unlabeled.fortran meta.block.do.unlabeled.fortran meta.loop-control.fortran constant.numeric.fortran -# ^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.do.unlabeled.fortran meta.block.do.unlabeled.fortran meta.loop-control.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.do.unlabeled.fortran meta.block.do.unlabeled.fortran meta.loop-control.fortran constant.numeric.fortran ->if (i == j) then -#^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.do.unlabeled.fortran meta.block.do.unlabeled.fortran keyword.control.if.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.do.unlabeled.fortran meta.block.do.unlabeled.fortran meta.expression.control.logical.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.do.unlabeled.fortran meta.block.do.unlabeled.fortran meta.expression.control.logical.fortran punctuation.parentheses.left.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.do.unlabeled.fortran meta.block.do.unlabeled.fortran meta.expression.control.logical.fortran meta.parameter.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.do.unlabeled.fortran meta.block.do.unlabeled.fortran meta.expression.control.logical.fortran -# ^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.do.unlabeled.fortran meta.block.do.unlabeled.fortran meta.expression.control.logical.fortran keyword.logical.fortran.modern -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.do.unlabeled.fortran meta.block.do.unlabeled.fortran meta.expression.control.logical.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.do.unlabeled.fortran meta.block.do.unlabeled.fortran meta.expression.control.logical.fortran meta.parameter.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.do.unlabeled.fortran meta.block.do.unlabeled.fortran meta.expression.control.logical.fortran punctuation.parentheses.right.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.do.unlabeled.fortran meta.block.do.unlabeled.fortran -# ^^^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.do.unlabeled.fortran meta.block.do.unlabeled.fortran keyword.control.then.fortran ->print *, i -#^^^^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.do.unlabeled.fortran meta.block.do.unlabeled.fortran meta.block.if.fortran keyword.control.print.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.do.unlabeled.fortran meta.block.do.unlabeled.fortran meta.block.if.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.do.unlabeled.fortran meta.block.do.unlabeled.fortran meta.block.if.fortran keyword.operator.power.fortran -# ^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.do.unlabeled.fortran meta.block.do.unlabeled.fortran meta.block.if.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.do.unlabeled.fortran meta.block.do.unlabeled.fortran meta.block.if.fortran meta.parameter.fortran ->end if -#^^^^^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.do.unlabeled.fortran meta.block.do.unlabeled.fortran keyword.control.endif.fortran ->end do -#^^^^^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.do.unlabeled.fortran meta.block.do.unlabeled.fortran keyword.control.enddo.fortran ->end do -#^^^^^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.do.unlabeled.fortran keyword.control.enddo.fortran ->end program main -#^^^^^^^^^^^ source.fortran.free meta.program.fortran keyword.control.endprogram.fortran -# ^ source.fortran.free meta.program.fortran -# ^^^^ source.fortran.free meta.program.fortran entity.name.program.fortran \ No newline at end of file diff --git a/test/resources/formatting_test_fprettify_long_lines.f90.snap b/test/resources/formatting_test_fprettify_long_lines.f90.snap deleted file mode 100644 index 90677b27..00000000 --- a/test/resources/formatting_test_fprettify_long_lines.f90.snap +++ /dev/null @@ -1,21 +0,0 @@ ->program demo -#^^^^^^^ source.fortran.free meta.program.fortran keyword.control.program.fortran -# ^ source.fortran.free meta.program.fortran -# ^^^^ source.fortran.free meta.program.fortran entity.name.program.fortran -> -> write(*, "('Just a very long line. Just a very long line. Just a very long line. Just a very long line. Just a very long line. Just a very long line. ',i0)") 100 -#^^^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran -# ^^^^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.statement.IO.fortran keyword.control.write.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.statement.IO.fortran punctuation.parentheses.left.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.statement.IO.fortran keyword.operator.power.fortran -# ^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.statement.IO.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.statement.IO.fortran string.quoted.double.fortran punctuation.definition.string.begin.fortran -# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.statement.IO.fortran string.quoted.double.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.statement.IO.fortran string.quoted.double.fortran punctuation.definition.string.end.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.statement.IO.fortran punctuation.parentheses.right.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.statement.IO.fortran meta.name-list.fortran -# ^^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.statement.IO.fortran meta.name-list.fortran constant.numeric.fortran -> ->endprogram -#^^^^^^^^^^ source.fortran.free meta.program.fortran keyword.control.endprogram.fortran -> \ No newline at end of file diff --git a/test/resources/function_subroutine_definitions.f90.snap b/test/resources/function_subroutine_definitions.f90.snap deleted file mode 100644 index 2a4e8a15..00000000 --- a/test/resources/function_subroutine_definitions.f90.snap +++ /dev/null @@ -1,381 +0,0 @@ -> -> ! Normal subroutine -#^^ source.fortran.free -# ^ source.fortran.free comment.line.fortran -# ^^^^^^^^^^^^^^^^^^ source.fortran.free comment.line.fortran -> subroutine sub( arg ) -#^^ source.fortran.free meta.subroutine.fortran meta.attribute-list.subroutine.fortran -# ^^^^^^^^^^ source.fortran.free meta.subroutine.fortran keyword.other.subroutine.fortran -# ^ source.fortran.free meta.subroutine.fortran -# ^^^ source.fortran.free meta.subroutine.fortran entity.name.function.subroutine.fortran -# ^ source.fortran.free meta.subroutine.fortran meta.first-line.fortran meta.dummy-variable-list punctuation.definition.parameters.begin.fortran -# ^ source.fortran.free meta.subroutine.fortran meta.first-line.fortran meta.dummy-variable-list -# ^^^ source.fortran.free meta.subroutine.fortran meta.first-line.fortran meta.dummy-variable-list variable.parameter.fortran -# ^ source.fortran.free meta.subroutine.fortran meta.first-line.fortran meta.dummy-variable-list -# ^ source.fortran.free meta.subroutine.fortran meta.first-line.fortran meta.dummy-variable-list punctuation.definition.parameters.end.fortran -> integer, intent(inout) :: arg -#^^^^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran -# ^^^^^^^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran storage.type.integer.fortran -# ^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran punctuation.comma.fortran -# ^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran -# ^^^^^^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran storage.modifier.intent.fortran -# ^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran punctuation.parentheses.left.fortran -# ^^^^^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran storage.modifier.intent.in-out.fortran -# ^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran punctuation.parentheses.left.fortran -# ^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran -# ^^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran keyword.operator.double-colon.fortran -# ^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran meta.name-list.fortran -# ^^^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran meta.name-list.fortran meta.parameter.fortran -> end subroutine -#^^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran -# ^^^^^^^^^^^^^^ source.fortran.free meta.subroutine.fortran keyword.other.endsubroutine.fortran -> -> ! Normal functions -#^^ source.fortran.free -# ^ source.fortran.free comment.line.fortran -# ^^^^^^^^^^^^^^^^^ source.fortran.free comment.line.fortran -> integer function fun_integer( arg ) result(val) -#^^ source.fortran.free meta.function.fortran meta.attribute-list.function.fortran -# ^^^^^^^ source.fortran.free meta.function.fortran meta.attribute-list.function.fortran storage.type.integer.fortran -# ^ source.fortran.free meta.function.fortran meta.attribute-list.function.fortran -# ^^^^^^^^ source.fortran.free meta.function.fortran keyword.other.function.fortran -# ^ source.fortran.free meta.function.fortran -# ^^^^^^^^^^^ source.fortran.free meta.function.fortran entity.name.function.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list punctuation.definition.parameters.begin.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list -# ^^^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list variable.parameter.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list punctuation.definition.parameters.end.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran -# ^^^^^^ source.fortran.free meta.function.fortran meta.function.first-line.fortran keyword.control.result.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran punctuation.parentheses.left.fortran -# ^^^ source.fortran.free meta.function.fortran meta.function.first-line.fortran variable.parameter.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran punctuation.parentheses.right.fortran -> integer, intent(inout) :: arg -#^^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran -# ^^^^^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran storage.type.integer.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran punctuation.comma.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran -# ^^^^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran storage.modifier.intent.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran punctuation.parentheses.left.fortran -# ^^^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran storage.modifier.intent.in-out.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran punctuation.parentheses.left.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran -# ^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran keyword.operator.double-colon.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.name-list.fortran -# ^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.name-list.fortran meta.parameter.fortran -> end function fun_integer -#^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran -# ^^^^^^^^^^^^ source.fortran.free meta.function.fortran keyword.other.endfunction.fortran -# ^ source.fortran.free meta.function.fortran -# ^^^^^^^^^^^ source.fortran.free meta.function.fortran entity.name.function.fortran -> -> real function fun_real( arg ) result(val) -#^^ source.fortran.free meta.function.fortran meta.attribute-list.function.fortran -# ^^^^ source.fortran.free meta.function.fortran meta.attribute-list.function.fortran storage.type.real.fortran -# ^ source.fortran.free meta.function.fortran meta.attribute-list.function.fortran -# ^^^^^^^^ source.fortran.free meta.function.fortran keyword.other.function.fortran -# ^ source.fortran.free meta.function.fortran -# ^^^^^^^^ source.fortran.free meta.function.fortran entity.name.function.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list punctuation.definition.parameters.begin.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list -# ^^^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list variable.parameter.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list punctuation.definition.parameters.end.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran -# ^^^^^^ source.fortran.free meta.function.fortran meta.function.first-line.fortran keyword.control.result.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran punctuation.parentheses.left.fortran -# ^^^ source.fortran.free meta.function.fortran meta.function.first-line.fortran variable.parameter.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran punctuation.parentheses.right.fortran -> integer, intent(inout) :: arg -#^^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran -# ^^^^^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran storage.type.integer.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran punctuation.comma.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran -# ^^^^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran storage.modifier.intent.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran punctuation.parentheses.left.fortran -# ^^^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran storage.modifier.intent.in-out.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran punctuation.parentheses.left.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran -# ^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran keyword.operator.double-colon.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.name-list.fortran -# ^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.name-list.fortran meta.parameter.fortran -> end function fun_real -#^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran -# ^^^^^^^^^^^^ source.fortran.free meta.function.fortran keyword.other.endfunction.fortran -# ^ source.fortran.free meta.function.fortran -# ^^^^^^^^ source.fortran.free meta.function.fortran entity.name.function.fortran -> -> logical function fun_logical( arg ) result(val) -#^^ source.fortran.free meta.function.fortran meta.attribute-list.function.fortran -# ^^^^^^^ source.fortran.free meta.function.fortran meta.attribute-list.function.fortran storage.type.character.fortran -# ^ source.fortran.free meta.function.fortran meta.attribute-list.function.fortran -# ^^^^^^^^ source.fortran.free meta.function.fortran keyword.other.function.fortran -# ^ source.fortran.free meta.function.fortran -# ^^^^^^^^^^^ source.fortran.free meta.function.fortran entity.name.function.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list punctuation.definition.parameters.begin.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list -# ^^^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list variable.parameter.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list punctuation.definition.parameters.end.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran -# ^^^^^^ source.fortran.free meta.function.fortran meta.function.first-line.fortran keyword.control.result.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran punctuation.parentheses.left.fortran -# ^^^ source.fortran.free meta.function.fortran meta.function.first-line.fortran variable.parameter.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran punctuation.parentheses.right.fortran -> integer, intent(inout) :: arg -#^^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran -# ^^^^^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran storage.type.integer.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran punctuation.comma.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran -# ^^^^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran storage.modifier.intent.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran punctuation.parentheses.left.fortran -# ^^^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran storage.modifier.intent.in-out.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran punctuation.parentheses.left.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran -# ^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran keyword.operator.double-colon.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.name-list.fortran -# ^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.name-list.fortran meta.parameter.fortran -> end function fun_logical -#^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran -# ^^^^^^^^^^^^ source.fortran.free meta.function.fortran keyword.other.endfunction.fortran -# ^ source.fortran.free meta.function.fortran -# ^^^^^^^^^^^ source.fortran.free meta.function.fortran entity.name.function.fortran -> -> character(kind=1, len=100) function fun_character( arg ) result(val) -#^^ source.fortran.free meta.function.fortran meta.attribute-list.function.fortran -# ^^^^^^^^^ source.fortran.free meta.function.fortran meta.attribute-list.function.fortran storage.type.character.fortran -# ^ source.fortran.free meta.function.fortran meta.attribute-list.function.fortran meta.type-spec.fortran punctuation.parentheses.left.fortran -# ^^^^ source.fortran.free meta.function.fortran meta.attribute-list.function.fortran meta.type-spec.fortran variable.parameter.dummy-variable.fortran.modern -# ^ source.fortran.free meta.function.fortran meta.attribute-list.function.fortran meta.type-spec.fortran keyword.operator.assignment.fortran -# ^ source.fortran.free meta.function.fortran meta.attribute-list.function.fortran meta.type-spec.fortran constant.numeric.fortran -# ^ source.fortran.free meta.function.fortran meta.attribute-list.function.fortran meta.type-spec.fortran -# ^^^^ source.fortran.free meta.function.fortran meta.attribute-list.function.fortran meta.type-spec.fortran variable.parameter.dummy-variable.fortran.modern -# ^ source.fortran.free meta.function.fortran meta.attribute-list.function.fortran meta.type-spec.fortran keyword.operator.assignment.fortran -# ^^^ source.fortran.free meta.function.fortran meta.attribute-list.function.fortran meta.type-spec.fortran constant.numeric.fortran -# ^ source.fortran.free meta.function.fortran meta.attribute-list.function.fortran meta.type-spec.fortran punctuation.parentheses.right.fortran -# ^ source.fortran.free meta.function.fortran meta.attribute-list.function.fortran -# ^^^^^^^^ source.fortran.free meta.function.fortran keyword.other.function.fortran -# ^ source.fortran.free meta.function.fortran -# ^^^^^^^^^^^^^ source.fortran.free meta.function.fortran entity.name.function.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list punctuation.definition.parameters.begin.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list -# ^^^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list variable.parameter.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list punctuation.definition.parameters.end.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran -# ^^^^^^ source.fortran.free meta.function.fortran meta.function.first-line.fortran keyword.control.result.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran punctuation.parentheses.left.fortran -# ^^^ source.fortran.free meta.function.fortran meta.function.first-line.fortran variable.parameter.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran punctuation.parentheses.right.fortran -> integer, intent(inout) :: arg -#^^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran -# ^^^^^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran storage.type.integer.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran punctuation.comma.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran -# ^^^^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran storage.modifier.intent.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran punctuation.parentheses.left.fortran -# ^^^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran storage.modifier.intent.in-out.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran punctuation.parentheses.left.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran -# ^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran keyword.operator.double-colon.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.name-list.fortran -# ^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.name-list.fortran meta.parameter.fortran -> end function fun_character -#^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran -# ^^^^^^^^^^^^ source.fortran.free meta.function.fortran keyword.other.endfunction.fortran -# ^ source.fortran.free meta.function.fortran -# ^^^^^^^^^^^^^ source.fortran.free meta.function.fortran entity.name.function.fortran -> -> double precision function fun_double_precision( arg ) result(val) -#^^ source.fortran.free meta.function.fortran meta.attribute-list.function.fortran -# ^^^^^^^^^^^^^^^^ source.fortran.free meta.function.fortran meta.attribute-list.function.fortran storage.type.double.fortran -# ^ source.fortran.free meta.function.fortran meta.attribute-list.function.fortran -# ^^^^^^^^ source.fortran.free meta.function.fortran keyword.other.function.fortran -# ^ source.fortran.free meta.function.fortran -# ^^^^^^^^^^^^^^^^^^^^ source.fortran.free meta.function.fortran entity.name.function.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list punctuation.definition.parameters.begin.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list -# ^^^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list variable.parameter.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list punctuation.definition.parameters.end.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran -# ^^^^^^ source.fortran.free meta.function.fortran meta.function.first-line.fortran keyword.control.result.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran punctuation.parentheses.left.fortran -# ^^^ source.fortran.free meta.function.fortran meta.function.first-line.fortran variable.parameter.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran punctuation.parentheses.right.fortran -> integer, intent(inout) :: arg -#^^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran -# ^^^^^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran storage.type.integer.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran punctuation.comma.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran -# ^^^^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran storage.modifier.intent.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran punctuation.parentheses.left.fortran -# ^^^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran storage.modifier.intent.in-out.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran punctuation.parentheses.left.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran -# ^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran keyword.operator.double-colon.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.name-list.fortran -# ^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.name-list.fortran meta.parameter.fortran -> end function fun_double_precision -#^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran -# ^^^^^^^^^^^^ source.fortran.free meta.function.fortran keyword.other.endfunction.fortran -# ^ source.fortran.free meta.function.fortran -# ^^^^^^^^^^^^^^^^^^^^ source.fortran.free meta.function.fortran entity.name.function.fortran -> -> double complex function fun_double_complex( arg ) result(val) -#^^ source.fortran.free meta.function.fortran meta.attribute-list.function.fortran -# ^^^^^^^^^^^^^^ source.fortran.free meta.function.fortran meta.attribute-list.function.fortran storage.type.doublecomplex.fortran -# ^ source.fortran.free meta.function.fortran meta.attribute-list.function.fortran -# ^^^^^^^^ source.fortran.free meta.function.fortran keyword.other.function.fortran -# ^ source.fortran.free meta.function.fortran -# ^^^^^^^^^^^^^^^^^^ source.fortran.free meta.function.fortran entity.name.function.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list punctuation.definition.parameters.begin.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list -# ^^^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list variable.parameter.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list punctuation.definition.parameters.end.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran -# ^^^^^^ source.fortran.free meta.function.fortran meta.function.first-line.fortran keyword.control.result.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran punctuation.parentheses.left.fortran -# ^^^ source.fortran.free meta.function.fortran meta.function.first-line.fortran variable.parameter.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran punctuation.parentheses.right.fortran -> integer, intent(inout) :: arg -#^^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran -# ^^^^^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran storage.type.integer.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran punctuation.comma.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran -# ^^^^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran storage.modifier.intent.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran punctuation.parentheses.left.fortran -# ^^^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran storage.modifier.intent.in-out.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran punctuation.parentheses.left.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran -# ^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran keyword.operator.double-colon.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.name-list.fortran -# ^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.name-list.fortran meta.parameter.fortran -> end function fun_double_complex -#^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran -# ^^^^^^^^^^^^ source.fortran.free meta.function.fortran keyword.other.endfunction.fortran -# ^ source.fortran.free meta.function.fortran -# ^^^^^^^^^^^^^^^^^^ source.fortran.free meta.function.fortran entity.name.function.fortran -> -> ! Weird edge cases where the keyword function/subroutine is also used as arguments -#^^ source.fortran.free -# ^ source.fortran.free comment.line.fortran -# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.fortran.free comment.line.fortran -> function fun_with_fun( function ) -#^^ source.fortran.free meta.function.fortran meta.attribute-list.function.fortran -# ^^^^^^^^ source.fortran.free meta.function.fortran keyword.other.function.fortran -# ^ source.fortran.free meta.function.fortran -# ^^^^^^^^^^^^ source.fortran.free meta.function.fortran entity.name.function.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list punctuation.definition.parameters.begin.fortran -# ^^^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list -# ^^^^^^^^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list variable.parameter.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list punctuation.definition.parameters.end.fortran -> integer, intent(inout) :: function -#^^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran -# ^^^^^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran storage.type.integer.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran punctuation.comma.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran -# ^^^^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran storage.modifier.intent.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran punctuation.parentheses.left.fortran -# ^^^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran storage.modifier.intent.in-out.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran punctuation.parentheses.left.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran -# ^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran keyword.operator.double-colon.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.name-list.fortran -# ^^^^^^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.name-list.fortran meta.parameter.fortran -> end function fun_with_fun -#^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran -# ^^^^^^^^^^^^ source.fortran.free meta.function.fortran keyword.other.endfunction.fortran -# ^ source.fortran.free meta.function.fortran -# ^^^^^^^^^^^^ source.fortran.free meta.function.fortran entity.name.function.fortran -> -> function fun_with_sub( subroutine ) -#^^ source.fortran.free meta.function.fortran meta.attribute-list.function.fortran -# ^^^^^^^^ source.fortran.free meta.function.fortran keyword.other.function.fortran -# ^ source.fortran.free meta.function.fortran -# ^^^^^^^^^^^^ source.fortran.free meta.function.fortran entity.name.function.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list punctuation.definition.parameters.begin.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list -# ^^^^^^^^^^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list variable.parameter.fortran -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list -# ^ source.fortran.free meta.function.fortran meta.function.first-line.fortran meta.dummy-variable-list punctuation.definition.parameters.end.fortran -> integer, intent(inout) :: subroutine -#^^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran -# ^^^^^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran storage.type.integer.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran punctuation.comma.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran -# ^^^^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran storage.modifier.intent.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran punctuation.parentheses.left.fortran -# ^^^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran storage.modifier.intent.in-out.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran punctuation.parentheses.left.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran -# ^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran keyword.operator.double-colon.fortran -# ^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.name-list.fortran -# ^^^^^^^^^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran meta.specification.type.fortran meta.name-list.fortran meta.parameter.fortran -> end function fun_with_sub -#^^ source.fortran.free meta.function.fortran meta.block.specification.function.fortran -# ^^^^^^^^^^^^ source.fortran.free meta.function.fortran keyword.other.endfunction.fortran -# ^ source.fortran.free meta.function.fortran -# ^^^^^^^^^^^^ source.fortran.free meta.function.fortran entity.name.function.fortran -> -> subroutine sub_with_sub( subroutine ) -#^^ source.fortran.free meta.subroutine.fortran meta.attribute-list.subroutine.fortran -# ^^^^^^^^^^ source.fortran.free meta.subroutine.fortran keyword.other.subroutine.fortran -# ^ source.fortran.free meta.subroutine.fortran -# ^^^^^^^^^^^^ source.fortran.free meta.subroutine.fortran entity.name.function.subroutine.fortran -# ^ source.fortran.free meta.subroutine.fortran meta.first-line.fortran meta.dummy-variable-list punctuation.definition.parameters.begin.fortran -# ^^^ source.fortran.free meta.subroutine.fortran meta.first-line.fortran meta.dummy-variable-list -# ^^^^^^^^^^ source.fortran.free meta.subroutine.fortran meta.first-line.fortran meta.dummy-variable-list variable.parameter.fortran -# ^^ source.fortran.free meta.subroutine.fortran meta.first-line.fortran meta.dummy-variable-list -# ^ source.fortran.free meta.subroutine.fortran meta.first-line.fortran meta.dummy-variable-list punctuation.definition.parameters.end.fortran -> integer, intent(inout) :: subroutine -#^^^^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran -# ^^^^^^^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran storage.type.integer.fortran -# ^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran punctuation.comma.fortran -# ^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran -# ^^^^^^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran storage.modifier.intent.fortran -# ^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran punctuation.parentheses.left.fortran -# ^^^^^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran storage.modifier.intent.in-out.fortran -# ^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran punctuation.parentheses.left.fortran -# ^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran -# ^^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran keyword.operator.double-colon.fortran -# ^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran meta.name-list.fortran -# ^^^^^^^^^^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran meta.name-list.fortran meta.parameter.fortran -> end subroutine sub_with_sub -#^^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran -# ^^^^^^^^^^^^^^ source.fortran.free meta.subroutine.fortran keyword.other.endsubroutine.fortran -# ^ source.fortran.free meta.subroutine.fortran -# ^^^^^^^^^^^^ source.fortran.free meta.subroutine.fortran entity.name.function.subroutine.fortran -> -> subroutine sub_with_fun( function ) -#^^ source.fortran.free meta.subroutine.fortran meta.attribute-list.subroutine.fortran -# ^^^^^^^^^^ source.fortran.free meta.subroutine.fortran keyword.other.subroutine.fortran -# ^ source.fortran.free meta.subroutine.fortran -# ^^^^^^^^^^^^ source.fortran.free meta.subroutine.fortran entity.name.function.subroutine.fortran -# ^ source.fortran.free meta.subroutine.fortran meta.first-line.fortran meta.dummy-variable-list punctuation.definition.parameters.begin.fortran -# ^ source.fortran.free meta.subroutine.fortran meta.first-line.fortran meta.dummy-variable-list -# ^^^^^^^^ source.fortran.free meta.subroutine.fortran meta.first-line.fortran meta.dummy-variable-list variable.parameter.fortran -# ^ source.fortran.free meta.subroutine.fortran meta.first-line.fortran meta.dummy-variable-list -# ^ source.fortran.free meta.subroutine.fortran meta.first-line.fortran meta.dummy-variable-list punctuation.definition.parameters.end.fortran -> integer, intent(inout) :: function -#^^^^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran -# ^^^^^^^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran storage.type.integer.fortran -# ^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran punctuation.comma.fortran -# ^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran -# ^^^^^^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran storage.modifier.intent.fortran -# ^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran punctuation.parentheses.left.fortran -# ^^^^^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran storage.modifier.intent.in-out.fortran -# ^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran punctuation.parentheses.left.fortran -# ^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran -# ^^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran keyword.operator.double-colon.fortran -# ^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran meta.name-list.fortran -# ^^^^^^^^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran meta.name-list.fortran meta.parameter.fortran -> end subroutine sub_with_fun -#^^ source.fortran.free meta.subroutine.fortran meta.block.specification.subroutine.fortran -# ^^^^^^^^^^^^^^ source.fortran.free meta.subroutine.fortran keyword.other.endsubroutine.fortran -# ^ source.fortran.free meta.subroutine.fortran -# ^^^^^^^^^^^^ source.fortran.free meta.subroutine.fortran entity.name.function.subroutine.fortran -> \ No newline at end of file diff --git a/test/resources/sample.f90.snap b/test/resources/sample.f90.snap deleted file mode 100644 index 329f9ab3..00000000 --- a/test/resources/sample.f90.snap +++ /dev/null @@ -1,60 +0,0 @@ ->program main -#^^^^^^^ source.fortran.free meta.program.fortran keyword.control.program.fortran -# ^ source.fortran.free meta.program.fortran -# ^^^^ source.fortran.free meta.program.fortran entity.name.program.fortran -> ! execution -#^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran comment.line.fortran -# ^^^^^^^^^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran comment.line.fortran -> -> call say_hello() -#^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.statement.control.call.fortran -# ^^^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.statement.control.call.fortran keyword.control.call.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.statement.control.call.fortran -# ^^^^^^^^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.statement.control.call.fortran entity.name.function.subroutine.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.statement.control.call.fortran punctuation.parentheses.left.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.statement.control.call.fortran punctuation.parentheses.right.fortran -> ->contains -#^^^^^^^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.contains.fortran keyword.control.contains.fortran -> -> subroutine say_hello(a,b) -#^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.contains.fortran meta.subroutine.fortran meta.attribute-list.subroutine.fortran -# ^^^^^^^^^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.contains.fortran meta.subroutine.fortran keyword.other.subroutine.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.contains.fortran meta.subroutine.fortran -# ^^^^^^^^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.contains.fortran meta.subroutine.fortran entity.name.function.subroutine.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.contains.fortran meta.subroutine.fortran meta.first-line.fortran meta.dummy-variable-list punctuation.definition.parameters.begin.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.contains.fortran meta.subroutine.fortran meta.first-line.fortran meta.dummy-variable-list variable.parameter.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.contains.fortran meta.subroutine.fortran meta.first-line.fortran meta.dummy-variable-list -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.contains.fortran meta.subroutine.fortran meta.first-line.fortran meta.dummy-variable-list variable.parameter.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.contains.fortran meta.subroutine.fortran meta.first-line.fortran meta.dummy-variable-list punctuation.definition.parameters.end.fortran -> integer :: a,b -#^^^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.contains.fortran meta.subroutine.fortran meta.block.specification.subroutine.fortran -# ^^^^^^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.contains.fortran meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran storage.type.integer.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.contains.fortran meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran meta.attribute-list.type-specification-statements.fortran -# ^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.contains.fortran meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran keyword.operator.double-colon.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.contains.fortran meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran meta.name-list.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.contains.fortran meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran meta.name-list.fortran meta.parameter.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.contains.fortran meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran meta.name-list.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.contains.fortran meta.subroutine.fortran meta.block.specification.subroutine.fortran meta.specification.type.fortran meta.name-list.fortran meta.parameter.fortran -> -> print *, "Hello, World!" -#^^^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.contains.fortran meta.subroutine.fortran meta.block.specification.subroutine.fortran -# ^^^^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.contains.fortran meta.subroutine.fortran meta.block.specification.subroutine.fortran keyword.control.print.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.contains.fortran meta.subroutine.fortran meta.block.specification.subroutine.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.contains.fortran meta.subroutine.fortran meta.block.specification.subroutine.fortran keyword.operator.power.fortran -# ^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.contains.fortran meta.subroutine.fortran meta.block.specification.subroutine.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.contains.fortran meta.subroutine.fortran meta.block.specification.subroutine.fortran string.quoted.double.fortran punctuation.definition.string.begin.fortran -# ^^^^^^^^^^^^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.contains.fortran meta.subroutine.fortran meta.block.specification.subroutine.fortran string.quoted.double.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.contains.fortran meta.subroutine.fortran meta.block.specification.subroutine.fortran string.quoted.double.fortran punctuation.definition.string.end.fortran -> end subroutine say_hello -#^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.contains.fortran meta.subroutine.fortran meta.block.specification.subroutine.fortran -# ^^^^^^^^^^^^^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.contains.fortran meta.subroutine.fortran keyword.other.endsubroutine.fortran -# ^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.contains.fortran meta.subroutine.fortran -# ^^^^^^^^^ source.fortran.free meta.program.fortran meta.block.specification.program.fortran meta.block.contains.fortran meta.subroutine.fortran entity.name.function.subroutine.fortran -> -> ->end program main -#^^^^^^^^^^^ source.fortran.free meta.program.fortran keyword.control.endprogram.fortran -# ^ source.fortran.free meta.program.fortran -# ^^^^ source.fortran.free meta.program.fortran entity.name.program.fortran \ No newline at end of file diff --git a/test/runTest.ts b/test/runTest.ts index b264a786..ad49fe54 100644 --- a/test/runTest.ts +++ b/test/runTest.ts @@ -7,7 +7,7 @@ async function main() { // The folder containing the Extension Manifest package.json // Passed to `--extensionDevelopmentPath` const extensionDevelopmentPath = path.resolve(__dirname, '../../'); - const workspacePath = path.resolve(__dirname, '../../test/resources/'); + const workspacePath = path.resolve(__dirname, '../../test/fortran/'); // The path to the extension test runner script // Passed to --extensionTestsPath