@@ -3115,7 +3115,6 @@ var ICEcoder = {
3115
3115
if ( [ "object" , "both" ] . indexOf ( top . ICEcoder . fileDirResOutput ) >= 0 ) {
3116
3116
console . log ( statusObj ) ;
3117
3117
}
3118
-
3119
3118
// If error, show that, otherwise do whatever we're required to do next
3120
3119
if ( statusObj . status . error ) {
3121
3120
top . ICEcoder . message ( statusObj . status . errorMsg ) ;
@@ -3564,7 +3563,7 @@ var ICEcoder = {
3564
3563
outputMsg : function ( msg ) {
3565
3564
top . ICEcoder . output . innerHTML += msg + "<br>" ;
3566
3565
} ,
3567
-
3566
+
3568
3567
// Show a message
3569
3568
message : function ( msg ) {
3570
3569
alert ( msg ) ;
@@ -4258,7 +4257,6 @@ var ICEcoder = {
4258
4257
top . ICEcoder . cmdKey = true ;
4259
4258
}
4260
4259
4261
-
4262
4260
// F1 (zoom code out non declaration lines)
4263
4261
if ( key === 112 ) {
4264
4262
if ( top . ICEcoder . codeZoomedOut ) {
@@ -4283,7 +4281,7 @@ var ICEcoder = {
4283
4281
cM . refresh ( ) ;
4284
4282
return false ;
4285
4283
} ;
4286
-
4284
+
4287
4285
// DEL (Delete file)
4288
4286
if ( key == 46 && area == "files" ) {
4289
4287
top . ICEcoder . deleteFiles ( ) ;
@@ -4537,6 +4535,29 @@ var ICEcoder = {
4537
4535
top . ICEcoder . cmdKey = false ;
4538
4536
} ,
4539
4537
4538
+ // Add snippet code completion
4539
+ addSnippet : function ( ) {
4540
+ var cM , cMdiff , thisCM , lineNo , whiteSpace , content ;
4541
+
4542
+ // Get line content after trimming whitespace
4543
+ cM = ICEcoder . getcMInstance ( ) ;
4544
+ cMdiff = ICEcoder . getcMdiffInstance ( ) ;
4545
+ thisCM = top . ICEcoder . editorFocusInstance . indexOf ( 'diff' ) > - 1 ? cMdiff : cM ;
4546
+ lineNo = thisCM . getCursor ( ) . line ;
4547
+ whiteSpace = thisCM . getLine ( lineNo ) . length - thisCM . getLine ( lineNo ) . replace ( / ^ \s \s * / , '' ) . length ;
4548
+ content = thisCM . getLine ( lineNo ) . slice ( whiteSpace ) ;
4549
+ // function snippet
4550
+ if ( content . slice ( 0 , 8 ) == "function" ) {
4551
+ top . ICEcoder . doSnippet ( 'function' , 'function VAR() {\nINDENT\tCURSOR\nINDENT}' ) ;
4552
+ // if snippet
4553
+ } else if ( content . slice ( 0 , 2 ) == "if" ) {
4554
+ top . ICEcoder . doSnippet ( 'if' , 'if (CURSOR) {\nINDENT\t\nINDENT}' ) ;
4555
+ // for snippet
4556
+ } else if ( content . slice ( 0 , 3 ) == "for" ) {
4557
+ top . ICEcoder . doSnippet ( 'for' , 'for (var i=0; i<CURSOR; i++) {\nINDENT\t\nINDENT}' ) ;
4558
+ }
4559
+ } ,
4560
+
4540
4561
// Action a snippet
4541
4562
doSnippet : function ( tgtString , replaceString ) {
4542
4563
var cM , cMdiff , thisCM , lineNo , lineContents , remainder , strPos , replacedLine , whiteSpace , curPos , sPos , lineNoCount ;
0 commit comments