11'use strict' ;
22
33import * as vscode from 'vscode' ;
4+ import * as path from 'path' ;
45
5- import { startLangServerTCP } from '../src/languageserver' ;
6+ import { startLangServerTCP , createLanguageServerProcess } from '../src/languageserver' ;
67import { setupPuppetCommands } from '../src/puppetcommands' ;
78
89const langID = 'puppet' ; // don't change this
910var statusBarItem ;
1011
1112export function activate ( context : vscode . ExtensionContext ) {
12- let config = vscode . workspace . getConfiguration ( 'puppet' ) ;
13+ var myOutputChannel = vscode . window . createOutputChannel ( 'Puppet' ) ;
14+ myOutputChannel . show ( )
1315
14- var host = config [ 'languageserver' ] [ 'address' ] ; // '127.0.0.1';
15- var port = config [ 'languageserver' ] [ 'port' ] ; // 8081;
16- var stopOnClientExit = config [ 'languageserver' ] [ 'stopOnClientExit' ] ; // true;
17- var timeout = config [ 'languageserver' ] [ 'timeout' ] ; // 8081;
18- var preLoadPuppet = config [ 'languageserver' ] [ 'preLoadPuppet' ] ; // true;
16+ try {
17+ var contextPath = context . asAbsolutePath ( path . join ( 'vendor' , 'languageserver' , 'puppet-languageserver' ) ) ;
1918
20- createStatusBarItem ( ) ;
19+ let config = vscode . workspace . getConfiguration ( 'puppet' ) ;
2120
22- var languageServerClient = startLangServerTCP ( host , port , langID , statusBarItem ) ;
23- context . subscriptions . push ( languageServerClient . start ( ) ) ;
21+ var host = config [ 'languageserver' ] [ 'address' ] ; // '127.0.0.1';
22+ var port = config [ 'languageserver' ] [ 'port' ] ; // 8081;
23+ var stopOnClientExit = config [ 'languageserver' ] [ 'stopOnClientExit' ] ; // true;
24+ var timeout = config [ 'languageserver' ] [ 'timeout' ] ; // 10;
25+ var preLoadPuppet = config [ 'languageserver' ] [ 'preLoadPuppet' ] ; // true;
2426
25- setupPuppetCommands ( langID , languageServerClient , context ) ;
27+ createStatusBarItem ( ) ;
2628
27- console . log ( 'Congratulations, your extension "vscode-puppet" is now active!' ) ;
29+ var languageServerClient = null
30+ if ( host == '127.0.0.1' || host == 'localhost' || host == '' ) {
31+ var serverProc = createLanguageServerProcess ( contextPath , myOutputChannel ) ;
32+
33+ serverProc . stdout . on ( 'data' , ( data ) => {
34+ console . log ( "OUTPUT: " + data . toString ( ) ) ;
35+ myOutputChannel . appendLine ( "OUTPUT: " + data . toString ( ) ) ;
36+
37+ languageServerClient = startLangServerTCP ( host , port , langID , statusBarItem , myOutputChannel ) ;
38+ context . subscriptions . push ( languageServerClient . start ( ) ) ;
39+ } ) ;
40+
41+ serverProc . on ( 'close' , ( exitCode ) => {
42+ console . log ( "SERVER terminated with exit code: " + exitCode ) ;
43+ myOutputChannel . appendLine ( "SERVER terminated with exit code: " + exitCode ) ;
44+ } ) ;
45+ }
46+ else {
47+ languageServerClient = startLangServerTCP ( host , port , langID , statusBarItem , myOutputChannel ) ;
48+ context . subscriptions . push ( languageServerClient . start ( ) ) ;
49+ }
50+
51+ setupPuppetCommands ( langID , languageServerClient , context ) ;
52+
53+ console . log ( 'Congratulations, your extension "vscode-puppet" is now active!' ) ;
54+ myOutputChannel . appendLine ( 'Congratulations, your extension "vscode-puppet" is now active!' ) ;
55+ } catch ( e ) {
56+ console . log ( ( < Error > e ) . message ) ; //conversion to Error type
57+ myOutputChannel . appendLine ( ( < Error > e ) . message ) ;
58+ }
2859}
2960
3061// this method is called when your extension is deactivated
@@ -47,4 +78,3 @@ export function createStatusBarItem() {
4778 } )
4879 }
4980}
50-
0 commit comments