@@ -99,44 +99,46 @@ func set_text(text, move_caret_to_end = true):
9999func execute (input ):
100100 Console .write_line ('[color=#999999]$[/color] ' + input )
101101
102- # @var PoolStringArray
103- var rawCommands = RegExLib .split (RECOMMANDS_SEPARATOR , input )
104-
105102 # @var Dictionary[]
106- var parsedCommands = self . _parse_commands (rawCommands )
103+ var parsedCommands = _parse_commands (input )
107104
108105 for parsedCommand in parsedCommands :
109- # @var Command/Command|null
110- var command = Console .get_command (parsedCommand .name )
111-
112- if command :
113- Console .Log .debug ('Executing `' + parsedCommand .command + '`.' )
114- command .execute (parsedCommand .arguments )
115- Console .emit_signal ("command_executed" , command )
116- else :
117- Console .write_line ('Command `' + parsedCommand .name + '` not found.' )
118- Console .emit_signal ("command_not_found" , parsedCommand .name )
106+ if parsedCommand .name .length ():
107+ # @var Command/Command|null
108+ var command = Console .get_command (parsedCommand .name )
109+
110+ if command :
111+ Console .Log .debug ('Executing `' + parsedCommand .command + '`.' )
112+ command .execute (parsedCommand .arguments )
113+ Console .emit_signal ("command_executed" , command )
114+ else :
115+ Console .write_line ('Command `' + parsedCommand .name + '` not found.' )
116+ Console .emit_signal ("command_not_found" , parsedCommand .name )
119117
120118 Console .History .push (input )
121119 self .clear ()
122120
123121
124- # @param PoolStringArray rawCommands
125- # @returns Array
126- func _parse_commands (rawCommands ):
122+ # @static
123+ # @param String input
124+ # @returns Array<Dictionary>
125+ static func _parse_commands (input ):
127126 var resultCommands = []
128127
128+ # @var PoolStringArray
129+ var rawCommands = RegExLib .split (RECOMMANDS_SEPARATOR , input )
129130 for rawCommand in rawCommands :
130131 if rawCommand :
131- resultCommands .append (self . _parse_command (rawCommand ))
132+ resultCommands .append (_parse_command (rawCommand ))
132133
133134 return resultCommands
134135
135136
137+ # @static
136138# @param String rawCommand
137139# @returns Dictionary
138- func _parse_command (rawCommand ):
139- var name = null
140+ static func _parse_command (rawCommand ):
141+ var name = ''
140142 var arguments = PoolStringArray ([])
141143
142144 var beginning = 0 # int
@@ -145,7 +147,8 @@ func _parse_command(rawCommand):
145147 var subString # String|null
146148 for i in rawCommand .length ():
147149 # Quote
148- if rawCommand [i ] in QUOTES and i > 0 and not rawCommand [i - 1 ] in SCREENERS :
150+ if rawCommand [i ] in QUOTES and \
151+ (i == 0 or i > 0 and not rawCommand [i - 1 ] in SCREENERS ):
149152 if isInsideQuotes and rawCommand [i ] == openQuote :
150153 openQuote = null
151154 isInsideQuotes = false
0 commit comments