我正在尝试在 jEdit 中创建一个宏。我试图从缓冲区中每一行的开头删除所有空白。这是我试图这样做的 jEdit 宏(即 Java)代码:
textArea.goToBufferStart(false);
//Set up SearchAndReplace defaults
SearchAndReplace.setBeanShellReplace(false);
SearchAndReplace.setWholeWord(false);
SearchAndReplace.setIgnoreCase(false);
SearchAndReplace.setRegexp(true);
SearchAndReplace.setSearchFileSet(new CurrentBufferSet());
public int replace(String from, String to) {
//must be reg-ex escaped prior to call
SearchAndReplace.setSearchString(from);
SearchAndReplace.setReplaceString(to);
return SearchAndReplace.replaceAll(view);
}
boolean done = false;
while (!done) {
int count = replaced("\\n ", "\\n");
found = (count > 0);
}
jEdit 5.0 附带的文档表明该调用SearchAndReplace.replaceAll(view)
返回发生替换的缓冲区的数量。但是当我执行它时,我得到一个错误,表明它没有返回一个 int,而是一个布尔值。
虽然如果它确实返回一个 int 会很好,但我希望能够知道在特定缓冲区(我正在执行宏的唯一一个缓冲区)中发生的替换的具体计数。
所以,我一定是在接近这个错误。关于如何实现预期效果的任何建议,从每一行的开头删除所有空格?顺便说一句,宏目前有意忽略第一行。我知道这是一个缺陷,稍后会更正。
谢谢你能给我的任何方向。