1
1
"use strict" ;
2
2
var Editor = require ( '../../atom/editor' ) ;
3
- var parser_1 = require ( './parser ' ) ;
4
- var EditorAction = {
3
+ var action_helpers_1 = require ( './action-helpers ' ) ;
4
+ var Type = {
5
5
open :'open' ,
6
6
set :'set' ,
7
- insert :'insert'
7
+ insert :'insert' ,
8
+ openConsole :'openConsole'
8
9
} ;
9
- function getCommand ( actionString ) {
10
- var command = actionString . substring ( 0 , actionString . indexOf ( '(' ) ) ;
11
- if ( ! command . length ) {
12
- console . log ( 'Error loading editor action command ' , actionString ) ;
13
- }
14
- else {
15
- return command ;
16
- }
17
- }
18
- exports . getCommand = getCommand ;
19
- function getParams ( actionString ) {
20
- var command = getCommand ( actionString ) ;
21
- var params = actionString . substring ( command . length + 1 , actionString . length - 1 ) ;
22
- if ( ! params . length ) {
23
- console . error ( 'Error loading editor action params ' , actionString ) ;
24
- return null ;
25
- }
26
- var paramsList = parser_1 . parseParams . getParams ( params ) ;
27
- return paramsList ;
28
- }
29
- exports . getParams = getParams ;
30
- function createObjectFromKeyValString ( string ) {
31
- var keyValList = string . split ( / [: ,] / ) ;
32
- var obj = { } ;
33
- for ( var i = 0 ; i < keyValList . length ; i += 2 ) {
34
- var key = keyValList [ i ] . trim ( ) ;
35
- var val = keyValList [ i + 1 ] . trim ( ) ;
36
- if ( ! val . match ( / ^ [ " ' ] .+ [ " ' ] $ / ) ) {
37
- val = JSON . parse ( val ) ;
38
- }
39
- else {
40
- val = val . substring ( 1 , val . length - 1 ) ;
41
- }
42
- obj [ key ] = val ;
43
- }
44
- return obj ;
45
- }
46
- function getOptions ( paramString ) {
47
- var hasOptions = paramString . match ( / \{ ( .+ ) ? \} / ) ;
48
- var options = { } ;
49
- var param = paramString ;
50
- if ( ! ! hasOptions ) {
51
- options = createObjectFromKeyValString ( hasOptions [ 1 ] ) ;
52
- param = paramString . split ( / , ? { / ) [ 0 ] ;
53
- }
54
- return {
55
- options :options ,
56
- param :param
57
- } ;
58
- }
59
- exports . getOptions = getOptions ;
60
10
function editorActions ( actionString ) {
61
11
return new Promise ( function ( resolve , reject ) {
62
- var command = getCommand ( actionString ) ;
63
- var params = getParams ( actionString ) ;
12
+ var command = action_helpers_1 . getCommand ( actionString ) ;
13
+ var params = action_helpers_1 . getParams ( actionString ) ;
64
14
switch ( command ) {
65
- case EditorAction . open :
66
- var obj = getOptions ( params [ 0 ] ) ;
15
+ case Type . open :
16
+ var obj = action_helpers_1 . getOptions ( params [ 0 ] ) ;
67
17
var file = obj . param ;
68
18
var options = obj . options ;
69
19
if ( params . length === 1 ) {
@@ -73,7 +23,7 @@ function editorActions(actionString) {
73
23
} , 100 ) ;
74
24
}
75
25
break ;
76
- case EditorAction . set :
26
+ case Type . set :
77
27
if ( params . length === 1 ) {
78
28
var content_1 = params [ 0 ] ;
79
29
setTimeout ( function ( ) {
@@ -82,7 +32,7 @@ function editorActions(actionString) {
82
32
} ) ;
83
33
}
84
34
break ;
85
- case EditorAction . insert :
35
+ case Type . insert :
86
36
if ( params . length === 1 ) {
87
37
var content_2 = params [ 0 ] ;
88
38
setTimeout ( function ( ) {
@@ -91,6 +41,14 @@ function editorActions(actionString) {
91
41
} ) ;
92
42
}
93
43
break ;
44
+ case Type . openConsole :
45
+ if ( params . length === 0 ) {
46
+ setTimeout ( function ( ) {
47
+ Editor . openDevTools ( ) ;
48
+ resolve ( true ) ;
49
+ } ) ;
50
+ }
51
+ break ;
94
52
default :
95
53
console . log ( 'Invalid editor action command' ) ;
96
54
reject ( false ) ;
@@ -100,7 +58,3 @@ function editorActions(actionString) {
100
58
} ) ;
101
59
}
102
60
exports . editorActions = editorActions ;
103
- function openFolder ( ) {
104
- atom . open ( ) ;
105
- }
106
- exports . openFolder = openFolder ;