Skip to content

Commit 7aeb0ea

Browse files
committed
add symbol provider
1 parent 887b649 commit 7aeb0ea

File tree

3 files changed

+28
-14
lines changed

3 files changed

+28
-14
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,5 +29,11 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
2929
### Added
3030
- Add support for user configuration settings
3131

32+
## [0.5.0] - 2017-07-06
33+
### Added
34+
- Add code autocompletion for intrinsic and in document declared functions
3235

36+
## [0.5.1] - 2017-07-06
37+
### Added
38+
- Add `Go -> Go to symbol in file` command support for functions
3339

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ This extension provides support for the Fortran programming language. It include
88
* Code Snippets
99
* Documentation on hover for intrisic functions
1010
* Code linting based on `gfortran` to show errors swiggles in your code
11+
* Code autocompletion (beta)
12+
* Symbols provider (just functions for now)
13+
14+
1115

1216
## Settings
1317

src/extension.ts

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,26 @@
11
// src/extension.ts
2-
import * as vscode from 'vscode';
2+
import * as vscode from 'vscode';
33

44
import FortranLintingProvider from './features/linter-provider';
55
import FortranHoverProvider from "./features/hover-provider";
66
import { FortranCompletionProvider } from "./features/completion-provider";
7+
import { FortranDocumentSymbolProvider } from "./features/document-symbol-provider";
78

89
export function activate(context: vscode.ExtensionContext) {
9-
10-
let hoverProvider = new FortranHoverProvider();
11-
let completionProvider = new FortranCompletionProvider();
12-
if(vscode.workspace.getConfiguration("fortran").get("linterEnabled", true)){
13-
14-
let linter = new FortranLintingProvider();
15-
linter.activate(context.subscriptions);
16-
vscode.languages.registerCodeActionsProvider('fortran90', linter);
17-
}
18-
19-
vscode.languages.registerCompletionItemProvider("fortran90",completionProvider)
20-
vscode.languages.registerHoverProvider('fortran90', hoverProvider);
21-
10+
11+
let hoverProvider = new FortranHoverProvider();
12+
let completionProvider = new FortranCompletionProvider();
13+
let symbolProvider = new FortranDocumentSymbolProvider();
14+
15+
if (vscode.workspace.getConfiguration("fortran").get("linterEnabled", true)) {
16+
17+
let linter = new FortranLintingProvider();
18+
linter.activate(context.subscriptions);
19+
vscode.languages.registerCodeActionsProvider('fortran90', linter);
20+
}
21+
22+
vscode.languages.registerCompletionItemProvider("fortran90", completionProvider)
23+
vscode.languages.registerHoverProvider('fortran90', hoverProvider);
24+
vscode.languages.registerDocumentSymbolProvider("fortran90", symbolProvider);
25+
2226
}

0 commit comments

Comments
 (0)