From d6d1a906b5ef370e515640486381a11c1e782eea Mon Sep 17 00:00:00 2001 From: walterhiggins Date: Sun, 16 Mar 2014 19:50:18 +0000 Subject: [PATCH] Fixes #129 --- src/main/js/lib/tabcomplete.js | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/main/js/lib/tabcomplete.js b/src/main/js/lib/tabcomplete.js index 37c0774..1f0a52c 100644 --- a/src/main/js/lib/tabcomplete.js +++ b/src/main/js/lib/tabcomplete.js @@ -101,6 +101,7 @@ var onTabCompleteJS = function( result, cmdSender, pluginCmd, cmdAlias, cmdArgs name, symbol, lastGoodSymbol, + lastArgProp, i, objectProps, candidate, @@ -165,8 +166,9 @@ var onTabCompleteJS = function( result, cmdSender, pluginCmd, cmdAlias, cmdArgs objectProps = _getProperties( lastGoodSymbol ); if ( name == '' ) { // if the last symbol looks like this.. - // ScriptCraft. + // server. // + //print('debug:case Y1: server.'); for ( i = 0; i < objectProps.length; i++ ) { candidate = lastSymbol + objectProps[i]; @@ -176,9 +178,9 @@ var onTabCompleteJS = function( result, cmdSender, pluginCmd, cmdAlias, cmdArgs } else { // it looks like this.. - // ScriptCraft.co + // server.wo // - //print('debug:case Y: ScriptCraft.co'); + //print('debug:case Y2: server.wo'); li = statement.lastIndexOf(name); for ( i = 0; i < objectProps.length; i++ ) { @@ -191,10 +193,13 @@ var onTabCompleteJS = function( result, cmdSender, pluginCmd, cmdAlias, cmdArgs } } } else { + //print('debug:case Y3: server'); objectProps = _getProperties( symbol ); for ( i = 0; i < objectProps.length; i++ ) { re = new RegExp( lastSymbol+ '$', 'g' ); - propsOfLastArg.push( lastArg.replace( re, lastSymbol + '.' + objectProps[i] ) ); + lastArgProp = lastArg.replace( re, lastSymbol + '.' + objectProps[i] ) ; + lastArgProp = lastArgProp.replace(/\.\./g,'.'); + propsOfLastArg.push( lastArgProp ); } } } else {