33 * Licensed under the MIT License. See License.md in the project root for license information.
44 *--------------------------------------------------------------------------------------------*/
55'use strict' ;
6- import * as vscode from 'vscode' ;
6+ import {
7+ commands ,
8+ Event ,
9+ EventEmitter ,
10+ ExtensionContext ,
11+ Range ,
12+ Selection ,
13+ TextDocumentChangeEvent ,
14+ TextEditor ,
15+ TextEditorRevealType ,
16+ TreeDataProvider ,
17+ TreeItem ,
18+ TreeItemCollapsibleState ,
19+ window ,
20+ workspace
21+ } from 'vscode' ;
722import * as path from 'path' ;
823import { configuration } from '../util/config' ;
924import * as gcodeparser from './gcodeParser' ;
1025import { constants } from '../util/constants' ;
1126import { StatusBar } from '../util/statusBar' ;
1227
13- export class GCodeTreeProvider implements vscode . TreeDataProvider < GCodeTreeNode > {
1428
15- private _onDidChangeTreeData : vscode . EventEmitter < GCodeTreeNode | undefined > = new vscode . EventEmitter < GCodeTreeNode | undefined > ( ) ;
16- readonly onDidChangeTreeData : vscode . Event < GCodeTreeNode | undefined > = this . _onDidChangeTreeData . event ;
29+ export class GCodeTreeProvider implements TreeDataProvider < GCodeTreeNode > {
30+
31+ private _onDidChangeTreeData : EventEmitter < GCodeTreeNode | undefined > = new EventEmitter < GCodeTreeNode | undefined > ( ) ;
32+ readonly onDidChangeTreeData : Event < GCodeTreeNode | undefined > = this . _onDidChangeTreeData . event ;
1733
1834 private text = '' ;
1935 private tree : Array < GCodeTreeNode > ;
20- private editor : vscode . TextEditor | undefined ;
36+ private editor : TextEditor | undefined ;
2137 private autoRefresh = false ;
2238
23- constructor ( private context : vscode . ExtensionContext ) {
39+ constructor ( private context : ExtensionContext ) {
2440 this . tree = [ ] ;
25- this . editor = vscode . window . activeTextEditor ;
26- vscode . window . onDidChangeActiveTextEditor ( ( ) => this . onActiveEditorChanged ( ) ) ;
27- vscode . workspace . onDidChangeTextDocument ( e => this . onDocumentChanged ( e ) ) ;
41+ this . editor = window . activeTextEditor ;
42+ window . onDidChangeActiveTextEditor ( ( ) => this . onActiveEditorChanged ( ) ) ;
43+ workspace . onDidChangeTextDocument ( e => this . onDocumentChanged ( e ) ) ;
2844
2945 this . parseTree ( ) ;
3046
@@ -43,47 +59,47 @@ export class GCodeTreeProvider implements vscode.TreeDataProvider<GCodeTreeNode>
4359 }
4460
4561 private onActiveEditorChanged ( ) : void {
46- if ( vscode . window . activeTextEditor ) {
47- if ( vscode . window . activeTextEditor . document . uri . scheme === 'file' ) {
48- const enabled = vscode . window . activeTextEditor . document . languageId === 'gcode' ;
49- vscode . commands . executeCommand ( 'setContext' , 'gcodeTreeViewEnabled' , enabled ) ;
62+ if ( window . activeTextEditor ) {
63+ if ( window . activeTextEditor . document . uri . scheme === 'file' ) {
64+ const enabled = window . activeTextEditor . document . languageId === 'gcode' ;
65+ commands . executeCommand ( 'setContext' , 'gcodeTreeViewEnabled' , enabled ) ;
5066
5167 if ( enabled ) {
52- this . editor = vscode . window . activeTextEditor ;
68+ this . editor = window . activeTextEditor ;
5369 this . autoRefresh = configuration . getParam ( 'tree.autoRefresh' ) ;
5470 StatusBar . updateStatusBar ( 'Tree Dirty' ) ;
5571 if ( this . autoRefresh ) this . refresh ( ) ;
5672 }
5773 }
5874 } else {
5975 //this.tree = [];
60- vscode . commands . executeCommand ( 'setContext' , 'gcodeTreeViewEnabled' , false ) ;
76+ commands . executeCommand ( 'setContext' , 'gcodeTreeViewEnabled' , false ) ;
6177 this . refresh ( ) ;
6278 StatusBar . hideStatusBar ( ) ;
6379 }
6480 }
6581
66- private onDocumentChanged ( changeEvent : vscode . TextDocumentChangeEvent ) : void {
67- if ( vscode . window . activeTextEditor ) {
68- if ( vscode . window . activeTextEditor . document . uri . scheme === 'file' ) {
69- const enabled = vscode . window . activeTextEditor . document . languageId === 'gcode' ;
70- vscode . commands . executeCommand ( 'setContext' , 'gcodeTreeViewEnabled' , enabled ) ;
82+ private onDocumentChanged ( changeEvent : TextDocumentChangeEvent ) : void {
83+ if ( window . activeTextEditor ) {
84+ if ( window . activeTextEditor . document . uri . scheme === 'file' ) {
85+ const enabled = window . activeTextEditor . document . languageId === 'gcode' ;
86+ commands . executeCommand ( 'setContext' , 'gcodeTreeViewEnabled' , enabled ) ;
7187
7288 if ( enabled ) {
73- this . editor = vscode . window . activeTextEditor ;
89+ this . editor = window . activeTextEditor ;
7490 this . autoRefresh = configuration . getParam ( 'tree.autoRefresh' ) ;
7591 StatusBar . updateStatusBar ( 'Tree Dirty' ) ;
7692 if ( this . autoRefresh ) this . refresh ( ) ;
7793 }
7894 }
7995 } else {
80- vscode . commands . executeCommand ( 'setContext' , 'gcodeTreeViewEnabled' , false ) ;
96+ commands . executeCommand ( 'setContext' , 'gcodeTreeViewEnabled' , false ) ;
8197 this . refresh ( ) ;
8298 StatusBar . hideStatusBar ( ) ;
8399 }
84100 }
85101
86- getTreeItem ( element : any ) : vscode . TreeItem {
102+ getTreeItem ( element : any ) : TreeItem {
87103 return element [ 0 ] ;
88104 }
89105
@@ -98,7 +114,7 @@ export class GCodeTreeProvider implements vscode.TreeDataProvider<GCodeTreeNode>
98114
99115 this . text = '' ;
100116 this . tree = [ ] ;
101- const editor = vscode . window . activeTextEditor ;
117+ const editor = window . activeTextEditor ;
102118
103119 if ( editor && editor . document ) {
104120 this . text = editor . document . getText ( ) ;
@@ -113,21 +129,21 @@ export class GCodeTreeProvider implements vscode.TreeDataProvider<GCodeTreeNode>
113129 return [ ] ;
114130 }
115131
116- select ( range : vscode . Range ) {
132+ select ( range : Range ) {
117133 if ( this . editor ) {
118- this . editor . selection = new vscode . Selection ( range . start , range . end ) ;
119- this . editor . revealRange ( range , vscode . TextEditorRevealType . InCenter ) ;
134+ this . editor . selection = new Selection ( range . start , range . end ) ;
135+ this . editor . revealRange ( range , TextEditorRevealType . InCenter ) ;
120136 }
121137 }
122138
123139}
124140
125141
126- export class GCodeTreeNode extends vscode . TreeItem {
142+ export class GCodeTreeNode extends TreeItem {
127143
128144 constructor (
129145 public readonly label : string ,
130- public readonly collapsibleState : vscode . TreeItemCollapsibleState ,
146+ public readonly collapsibleState : TreeItemCollapsibleState ,
131147 ) {
132148 super ( label , collapsibleState ) ;
133149 }
0 commit comments