File indexing completed on 2024-05-12 16:41:02

0001 // Replace a surrounding LaTeX environment with another.
0002 // Relative cursor position will not be changed.
0003 //
0004 // \begin{abc}...\end{abc} --> \begin{xyz}...\end{xyz}
0005 
0006 var range = document.environmentRange(false);
0007 //print( "r = " + range.toString() );
0008 if ( range.isValid() ) {
0009         var envname = kile.input.getLatexCommand("Enter Environment","New environment name:");
0010         if ( envname != '' ) {
0011                 replaceEnvCommand(envname,range);
0012         }
0013 }
0014 else {
0015         kile.alert.sorry("No surrounding LaTeX environment found.");
0016 }
0017 
0018 function replaceEnvCommand(newEnv,r)
0019 {
0020         var c = view.cursorPosition();
0021 //      print( "c = " + c.toString() );
0022 
0023         var envname = document.environmentName();
0024 //      print( "env = " + envname );
0025 
0026         if ( envname != "" ) {
0027                 var beginRange = new Range(r.start,new Cursor(r.start.line,r.start.column+8+envname.length));
0028                 var endRange = new Range(new Cursor(r.end.line,r.end.column-6-envname.length),r.end);
0029 //              print( "begin = " + beginRange.toString() );
0030 //              print( "end = " + endRange.toString() );
0031 
0032                 document.editBegin();
0033                 document.replaceText(endRange,"\\end{"+newEnv+"}");
0034                 document.replaceText(beginRange,"\\begin{"+newEnv+"}");
0035                 document.editEnd();
0036         }
0037 }
0038