#include "buffer.h"
#include "bufferlist.h"
#include "bufferparams.h"
+#include "dociterator.h"
#include "errorlist.h"
#include "gettext.h"
#include "LaTeX.h"
#include "support/filetools.h"
#include "support/lyxlib.h"
+#include <boost/bind.hpp>
+
using lyx::support::bformat;
using lyx::support::FileInfo;
using lyx::support::IsFileWriteable;
void bufferErrors(Buffer const & buf, ErrorList const & el)
{
- ErrorList::const_iterator it = el.begin();
- ErrorList::const_iterator end = el.end();
-
- for (; it != end; ++it)
- buf.error(*it);
+ for_each(el.begin(), el.end(), bind(ref(buf.error), _1));
}
else
return "latex";
}
+
+
+int countWords(DocIterator const & from, DocIterator const & to)
+{
+ int count = 0;
+ bool inword = false;
+ for (DocIterator dit = from ; dit != to ; dit.forwardPos()) {
+ // Copied and adapted from isLetter() in ControlSpellChecker
+ if (dit.inTexted()
+ && dit.pos() != dit.lastpos()
+ && dit.paragraph().isLetter(dit.pos())
+ && !isDeletedText(dit.paragraph(), dit.pos())) {
+ if (!inword) {
+ ++count;
+ inword = true;
+ }
+ } else if (inword)
+ inword = false;
+ }
+
+ return count;
+}
+