forked from bruderstein/PythonScript
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathReplacementContainer.cpp
More file actions
27 lines (21 loc) · 825 Bytes
/
ReplacementContainer.cpp
File metadata and controls
27 lines (21 loc) · 825 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include "stdafx.h"
#include "ReplacementContainer.h"
#include "ScintillaWrapper.h"
#include "ReplaceEntry.h"
#include "Scintilla.h"
namespace NppPythonScript
{
void ReplacementContainer::runReplacements()
{
std::list<ReplaceEntry*>::iterator endIterator = m_replacements->end();
int offset = 0;
for(std::list<ReplaceEntry*>::iterator it = m_replacements->begin(); it != endIterator; ++it)
{
int start = (*it)->getStart();
int end = (*it)->getLength();
m_scintillaWrapper->setTarget(offset + start, offset + end);
intptr_t replacementLength = m_scintillaWrapper->callScintilla(SCI_REPLACETARGET, (*it)->getReplacementLength(), reinterpret_cast<LPARAM>((*it)->getReplacement()));
offset = offset + (replacementLength - (end - start));
}
}
}