检查光标是否位于 TeXStudio 中的分隔符内

检查光标是否位于 TeXStudio 中的分隔符内

我正在使用 TeXStudio 作为我的编辑器。

当我为自己创建宏时,知道光标是否位于分隔符内(例如,$...$、\[...\])有时会很方便。

TeXStudio 中是否有内置函数可以完成这项工作?我认为编辑器知道这一点,因为分隔符内的代码突出显示不同。

答案1

假设两个分隔符之间没有换行符$。以下脚本将检查光标是否处于数学模式并选择数学代码。

%SCRIPT
var linenum = cursor.lineNumber();
var colnum = cursor.columnNumber();
var strLine = editor.text(linenum); // get current line
var left = strLine.indexOf("$");
while (left != -1) {
  var n = strLine.substring(left + 1).indexOf("$");
  if (n !== -1){
    var right = left + n + 1;
    if (left < colnum && colnum <= right){
      cursor.select(linenum, left, linenum, right + 1);
      break;
    }
    var n1 = strLine.substring(right + 1).indexOf("$");
    left = (n1 === -1) ? -1 : right + n1 + 1;
  } else {
    break;
  }
}

相关内容