diff options
-rw-r--r-- | cocoa/ScintillaCocoa.h | 1 | ||||
-rw-r--r-- | gtk/ScintillaGTK.cxx | 1 | ||||
-rw-r--r-- | gtk/ScintillaGTKAccessible.cxx | 1 | ||||
-rw-r--r-- | qt/ScintillaEdit/ScintillaDocument.cpp | 1 | ||||
-rw-r--r-- | qt/ScintillaEditBase/ScintillaQt.h | 1 | ||||
-rw-r--r-- | scripts/HeaderOrder.txt | 1 | ||||
-rw-r--r-- | src/ContractionState.cxx | 13 | ||||
-rw-r--r-- | src/ContractionState.h | 2 | ||||
-rw-r--r-- | src/EditModel.cxx | 2 | ||||
-rw-r--r-- | src/EditView.cxx | 1 | ||||
-rw-r--r-- | src/Editor.cxx | 1 | ||||
-rw-r--r-- | src/MarginView.cxx | 1 | ||||
-rw-r--r-- | src/PositionCache.cxx | 1 | ||||
-rw-r--r-- | src/ScintillaBase.cxx | 1 | ||||
-rw-r--r-- | src/SparseVector.h | 105 | ||||
-rw-r--r-- | src/UniqueString.h | 34 | ||||
-rw-r--r-- | test/unit/testContractionState.cxx | 11 | ||||
-rw-r--r-- | test/unit/testSparseVector.cxx | 75 | ||||
-rw-r--r-- | win32/ScintillaWin.cxx | 1 | ||||
-rw-r--r-- | win32/deps.mak | 118 | ||||
-rw-r--r-- | win32/scintilla.mak | 11 |
21 files changed, 235 insertions, 148 deletions
diff --git a/cocoa/ScintillaCocoa.h b/cocoa/ScintillaCocoa.h index 4b0b2eb1d..7b9231012 100644 --- a/cocoa/ScintillaCocoa.h +++ b/cocoa/ScintillaCocoa.h @@ -33,6 +33,7 @@ #endif #include "Position.h" +#include "UniqueString.h" #include "SplitVector.h" #include "Partitioning.h" #include "RunStyles.h" diff --git a/gtk/ScintillaGTK.cxx b/gtk/ScintillaGTK.cxx index b28483f00..0737b71f1 100644 --- a/gtk/ScintillaGTK.cxx +++ b/gtk/ScintillaGTK.cxx @@ -46,6 +46,7 @@ #include "LexerModule.h" #endif #include "Position.h" +#include "UniqueString.h" #include "SplitVector.h" #include "Partitioning.h" #include "RunStyles.h" diff --git a/gtk/ScintillaGTKAccessible.cxx b/gtk/ScintillaGTKAccessible.cxx index aede7dd4e..fdcc20dbd 100644 --- a/gtk/ScintillaGTKAccessible.cxx +++ b/gtk/ScintillaGTKAccessible.cxx @@ -95,6 +95,7 @@ #include "LexerModule.h" #endif #include "Position.h" +#include "UniqueString.h" #include "SplitVector.h" #include "Partitioning.h" #include "RunStyles.h" diff --git a/qt/ScintillaEdit/ScintillaDocument.cpp b/qt/ScintillaEdit/ScintillaDocument.cpp index 5a6ef200c..076292c95 100644 --- a/qt/ScintillaEdit/ScintillaDocument.cpp +++ b/qt/ScintillaEdit/ScintillaDocument.cpp @@ -15,6 +15,7 @@ #include "Scintilla.h" #include "Position.h" +#include "UniqueString.h" #include "SplitVector.h" #include "Partitioning.h" #include "RunStyles.h" diff --git a/qt/ScintillaEditBase/ScintillaQt.h b/qt/ScintillaEditBase/ScintillaQt.h index fbf61bc10..2aceb1e00 100644 --- a/qt/ScintillaEditBase/ScintillaQt.h +++ b/qt/ScintillaEditBase/ScintillaQt.h @@ -30,6 +30,7 @@ #include "Platform.h" #include "ILexer.h" #include "Position.h" +#include "UniqueString.h" #include "SplitVector.h" #include "Partitioning.h" #include "RunStyles.h" diff --git a/scripts/HeaderOrder.txt b/scripts/HeaderOrder.txt index 13373ae33..768fce341 100644 --- a/scripts/HeaderOrder.txt +++ b/scripts/HeaderOrder.txt @@ -105,6 +105,7 @@ #include "Catalogue.h" #include "Position.h" +#include "UniqueString.h" #include "SplitVector.h" #include "Partitioning.h" #include "RunStyles.h" diff --git a/src/ContractionState.cxx b/src/ContractionState.cxx index 6fca2ec4e..c56c5647b 100644 --- a/src/ContractionState.cxx +++ b/src/ContractionState.cxx @@ -17,6 +17,7 @@ #include "Platform.h" #include "Position.h" +#include "UniqueString.h" #include "SplitVector.h" #include "Partitioning.h" #include "RunStyles.h" @@ -39,7 +40,7 @@ void ContractionState::EnsureData() { visible.reset(new RunStyles()); expanded.reset(new RunStyles()); heights.reset(new RunStyles()); - foldDisplayTexts.reset(new SparseVector<const char *>()); + foldDisplayTexts.reset(new SparseVector<UniqueString>()); displayLines.reset(new Partitioning(4)); InsertLines(0, linesInDocument); } @@ -111,7 +112,7 @@ void ContractionState::InsertLine(Sci::Line lineDoc) { heights->InsertSpace(lineDoc, 1); heights->SetValueAt(lineDoc, 1); foldDisplayTexts->InsertSpace(lineDoc, 1); - foldDisplayTexts->SetValueAt(lineDoc, NULL); + foldDisplayTexts->SetValueAt(lineDoc, nullptr); Sci::Line lineDisplay = DisplayFromDoc(lineDoc); displayLines->InsertPartition(lineDoc, lineDisplay); displayLines->InsertText(lineDoc, 1); @@ -191,14 +192,14 @@ bool ContractionState::HiddenLines() const { const char *ContractionState::GetFoldDisplayText(Sci::Line lineDoc) const { Check(); - return foldDisplayTexts->ValueAt(lineDoc); + return foldDisplayTexts->ValueAt(lineDoc).get(); } bool ContractionState::SetFoldDisplayText(Sci::Line lineDoc, const char *text) { EnsureData(); - const char *foldText = foldDisplayTexts->ValueAt(lineDoc); - if (!foldText || 0 != strcmp(text, foldText)) { - foldDisplayTexts->SetValueAt(lineDoc, text); + const char *foldText = foldDisplayTexts->ValueAt(lineDoc).get(); + if (!foldText || !text || 0 != strcmp(text, foldText)) { + foldDisplayTexts->SetValueAt(lineDoc, UniqueStringCopy(text)); Check(); return true; } else { diff --git a/src/ContractionState.h b/src/ContractionState.h index 1e4c3f58f..1070fb59f 100644 --- a/src/ContractionState.h +++ b/src/ContractionState.h @@ -22,7 +22,7 @@ class ContractionState { std::unique_ptr<RunStyles> visible; std::unique_ptr<RunStyles> expanded; std::unique_ptr<RunStyles> heights; - std::unique_ptr<SparseVector<const char *>> foldDisplayTexts; + std::unique_ptr<SparseVector<UniqueString>> foldDisplayTexts; std::unique_ptr<Partitioning> displayLines; Sci::Line linesInDocument; diff --git a/src/EditModel.cxx b/src/EditModel.cxx index 292ce954c..faf21623e 100644 --- a/src/EditModel.cxx +++ b/src/EditModel.cxx @@ -8,6 +8,7 @@ #include <cstddef> #include <cstdlib> #include <cassert> +#include <cstring> #include <cmath> #include <stdexcept> @@ -24,6 +25,7 @@ #include "StringCopy.h" #include "Position.h" +#include "UniqueString.h" #include "SplitVector.h" #include "Partitioning.h" #include "RunStyles.h" diff --git a/src/EditView.cxx b/src/EditView.cxx index 808daa6fa..089862515 100644 --- a/src/EditView.cxx +++ b/src/EditView.cxx @@ -28,6 +28,7 @@ #include "StringCopy.h" #include "CharacterSet.h" #include "Position.h" +#include "UniqueString.h" #include "SplitVector.h" #include "Partitioning.h" #include "RunStyles.h" diff --git a/src/Editor.cxx b/src/Editor.cxx index 63ec27786..2ad440db3 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -27,6 +27,7 @@ #include "StringCopy.h" #include "Position.h" +#include "UniqueString.h" #include "SplitVector.h" #include "Partitioning.h" #include "RunStyles.h" diff --git a/src/MarginView.cxx b/src/MarginView.cxx index e371a4891..7ecc85c7b 100644 --- a/src/MarginView.cxx +++ b/src/MarginView.cxx @@ -27,6 +27,7 @@ #include "StringCopy.h" #include "Position.h" +#include "UniqueString.h" #include "SplitVector.h" #include "Partitioning.h" #include "RunStyles.h" diff --git a/src/PositionCache.cxx b/src/PositionCache.cxx index 2099046b8..591cf2254 100644 --- a/src/PositionCache.cxx +++ b/src/PositionCache.cxx @@ -22,6 +22,7 @@ #include "Scintilla.h" #include "Position.h" +#include "UniqueString.h" #include "SplitVector.h" #include "Partitioning.h" #include "RunStyles.h" diff --git a/src/ScintillaBase.cxx b/src/ScintillaBase.cxx index 0fbf555d1..3979354eb 100644 --- a/src/ScintillaBase.cxx +++ b/src/ScintillaBase.cxx @@ -34,6 +34,7 @@ #endif #include "Position.h" +#include "UniqueString.h" #include "SplitVector.h" #include "Partitioning.h" #include "RunStyles.h" diff --git a/src/SparseVector.h b/src/SparseVector.h index ce38d0da1..230871ccc 100644 --- a/src/SparseVector.h +++ b/src/SparseVector.h @@ -19,45 +19,18 @@ class SparseVector { private: std::unique_ptr<Partitioning> starts; std::unique_ptr<SplitVector<T>> values; + T empty; // Deleted so SparseVector objects can not be copied. SparseVector(const SparseVector &) = delete; void operator=(const SparseVector &) = delete; void ClearValue(int partition) { values->SetValueAt(partition, T()); } - void CommonSetValueAt(int position, T value) { - // Do the work of setting the value to allow for specialization of SetValueAt. - assert(position < Length()); - const int partition = starts->PartitionFromPosition(position); - const int startPartition = starts->PositionFromPartition(partition); - if (value == T()) { - // Setting the empty value is equivalent to deleting the position - if (position == 0) { - ClearValue(partition); - } else if (position == startPartition) { - // Currently an element at this position, so remove - ClearValue(partition); - starts->RemovePartition(partition); - values->Delete(partition); - } - // Else element remains empty - } else { - if (position == startPartition) { - // Already a value at this position, so replace - ClearValue(partition); - values->SetValueAt(partition, value); - } else { - // Insert a new element - starts->InsertPartition(partition + 1, position); - values->InsertValue(partition + 1, 1, value); - } - } - } public: - SparseVector() { + SparseVector() : empty() { starts.reset(new Partitioning(8)); values.reset(new SplitVector<T>()); - values->InsertValue(0, 2, T()); + values->InsertEmpty(0, 2); } ~SparseVector() { starts.reset(); @@ -76,39 +49,60 @@ public: int PositionOfElement(int element) const { return starts->PositionFromPartition(element); } - T ValueAt(int position) const { + const T& ValueAt(int position) const { assert(position < Length()); const int partition = starts->PartitionFromPosition(position); const int startPartition = starts->PositionFromPartition(partition); if (startPartition == position) { return values->ValueAt(partition); } else { - return T(); + return empty; } } - void SetValueAt(int position, T value) { - CommonSetValueAt(position, value); + template <typename ParamType> + void SetValueAt(int position, ParamType &&value) { + assert(position < Length()); + const int partition = starts->PartitionFromPosition(position); + const int startPartition = starts->PositionFromPartition(partition); + if (value == T()) { + // Setting the empty value is equivalent to deleting the position + if (position == 0) { + ClearValue(partition); + } else if (position == startPartition) { + // Currently an element at this position, so remove + ClearValue(partition); + starts->RemovePartition(partition); + values->Delete(partition); + } + // Else element remains empty + } else { + if (position == startPartition) { + // Already a value at this position, so replace + ClearValue(partition); + values->SetValueAt(partition, std::move(value)); + } else { + // Insert a new element + starts->InsertPartition(partition + 1, position); + values->Insert(partition + 1, std::move(value)); + } + } } void InsertSpace(int position, int insertLength) { assert(position <= Length()); // Only operation that works at end. const int partition = starts->PartitionFromPosition(position); const int startPartition = starts->PositionFromPartition(partition); if (startPartition == position) { - T valueCurrent = values->ValueAt(partition); + const bool positionOccupied = values->ValueAt(partition) != T(); // Inserting at start of run so make previous longer if (partition == 0) { - // Inserting at start of document so ensure 0 - if (valueCurrent != T()) { - // Since valueCurrent is needed again, should not ClearValue - values->SetValueAt(0, T()); + // Inserting at start of document so ensure start empty + if (positionOccupied) { starts->InsertPartition(1, 0); - values->InsertValue(1, 1, valueCurrent); - starts->InsertText(0, insertLength); - } else { - starts->InsertText(partition, insertLength); + values->InsertEmpty(0, 1); } + starts->InsertText(partition, insertLength); } else { - if (valueCurrent != T()) { + if (positionOccupied) { starts->InsertText(partition - 1, insertLength); } else { // Insert at end of run so do not extend style @@ -157,29 +151,6 @@ public: } }; -// The specialization for const char * makes copies and deletes them as needed. - -template<> -inline void SparseVector<const char *>::ClearValue(int partition) { - const char *value = values->ValueAt(partition); - delete []value; - value = nullptr; - values->SetValueAt(partition, value); -} - -template<> -inline void SparseVector<const char *>::SetValueAt(int position, const char *value) { - // Make a copy of the string - if (value) { - const size_t len = strlen(value); - char *valueCopy = new char[len + 1](); - std::copy(value, value + len, valueCopy); - CommonSetValueAt(position, valueCopy); - } else { - CommonSetValueAt(position, nullptr); - } -} - #ifdef SCI_NAMESPACE } #endif diff --git a/src/UniqueString.h b/src/UniqueString.h new file mode 100644 index 000000000..07da0f171 --- /dev/null +++ b/src/UniqueString.h @@ -0,0 +1,34 @@ +// Scintilla source code edit control +/** @file UniqueString.h + ** Define UniqueString, a unique_ptr based string type for storage in containers + ** and an allocator for UniqueString. + **/ +// Copyright 2017 by Neil Hodgson <neilh@scintilla.org> +// The License.txt file describes the conditions under which this software may be distributed. + +#ifndef UNIQUESTRING_H +#define UNIQUESTRING_H + +#ifdef SCI_NAMESPACE +namespace Scintilla { +#endif + +using UniqueString = std::unique_ptr<const char[]>; + +/// Equivalent to strdup but produces a std::unique_ptr<const char[]> allocation to go +/// into collections. +inline UniqueString UniqueStringCopy(const char *text) { + if (!text) { + return UniqueString(); + } + const size_t len = strlen(text); + char *sNew = new char[len + 1]; + std::copy(text, text + len + 1, sNew); + return UniqueString(sNew); +} + +#ifdef SCI_NAMESPACE +} +#endif + +#endif diff --git a/test/unit/testContractionState.cxx b/test/unit/testContractionState.cxx index 8b401dcb6..4f7a522a4 100644 --- a/test/unit/testContractionState.cxx +++ b/test/unit/testContractionState.cxx @@ -10,6 +10,7 @@ #include "Platform.h" #include "Position.h" +#include "UniqueString.h" #include "SplitVector.h" #include "Partitioning.h" #include "RunStyles.h" @@ -141,4 +142,14 @@ TEST_CASE("ContractionState") { REQUIRE(1 == cs.GetHeight(2)); } + SECTION("SetFoldDisplayText") { + cs.InsertLines(0, 4); + cs.SetFoldDisplayText(1, "abc"); + REQUIRE(strcmp(cs.GetFoldDisplayText(1), "abc") == 0); + cs.SetFoldDisplayText(1, "def"); + REQUIRE(strcmp(cs.GetFoldDisplayText(1), "def") == 0); + cs.SetFoldDisplayText(1, nullptr); + REQUIRE(static_cast<const char *>(nullptr) == cs.GetFoldDisplayText(1)); + } + } diff --git a/test/unit/testSparseVector.cxx b/test/unit/testSparseVector.cxx index 16498397a..c4c3a6ab1 100644 --- a/test/unit/testSparseVector.cxx +++ b/test/unit/testSparseVector.cxx @@ -11,6 +11,7 @@ #include "Platform.h" #include "Position.h" +#include "UniqueString.h" #include "SplitVector.h" #include "Partitioning.h" #include "SparseVector.h" @@ -21,11 +22,11 @@ // Helper to produce a string representation of a SparseVector<const char *> // to simplify checks. -static std::string Representation(const SparseVector<const char *> &st) { +static std::string Representation(const SparseVector<UniqueString> &st) { std::string ret; for (int i = 0;i < st.Length();i++) { - const char *value = st.ValueAt(i); - if (value) + const char *value = st.ValueAt(i).get(); + if (value && *value) ret += value; else ret += "-"; @@ -35,7 +36,7 @@ static std::string Representation(const SparseVector<const char *> &st) { TEST_CASE("SparseVector") { - SparseVector<const char *> st; + SparseVector<UniqueString> st; SECTION("IsEmptyInitially") { REQUIRE(1 == st.Elements()); @@ -46,24 +47,26 @@ TEST_CASE("SparseVector") { SECTION("InsertSpace") { st.InsertSpace(0, 5); REQUIRE(1 == st.Elements()); - REQUIRE(static_cast<const char *>(nullptr) == st.ValueAt(0)); - REQUIRE(static_cast<const char *>(nullptr) == st.ValueAt(1)); - REQUIRE(static_cast<const char *>(nullptr) == st.ValueAt(4)); + REQUIRE(static_cast<const char *>(nullptr) == st.ValueAt(0).get()); + REQUIRE(static_cast<const char *>(nullptr) == st.ValueAt(1).get()); + REQUIRE(static_cast<const char *>(nullptr) == st.ValueAt(4).get()); st.Check(); } SECTION("InsertValue") { st.InsertSpace(0, 5); - st.SetValueAt(3, "3"); + st.SetValueAt(3, UniqueStringCopy("3")); REQUIRE(2 == st.Elements()); REQUIRE("---3-" == Representation(st)); st.Check(); } - SECTION("InsertAndDeleteValue") { + SECTION("InsertAndChangeAndDeleteValue") { st.InsertSpace(0, 5); REQUIRE(5 == st.Length()); - st.SetValueAt(3, "3"); + st.SetValueAt(3, UniqueStringCopy("3")); + REQUIRE(2 == st.Elements()); + st.SetValueAt(3, UniqueStringCopy("4")); REQUIRE(2 == st.Elements()); st.DeletePosition(3); REQUIRE(1 == st.Elements()); @@ -75,13 +78,13 @@ TEST_CASE("SparseVector") { SECTION("InsertAndDeleteAtStart") { REQUIRE(1 == st.Elements()); st.InsertSpace(0, 5); - st.SetValueAt(0, "3"); + st.SetValueAt(0, UniqueStringCopy("3")); REQUIRE(1 == st.Elements()); REQUIRE("3----" == Representation(st)); st.DeletePosition(0); REQUIRE(1 == st.Elements()); REQUIRE("----" == Representation(st)); - st.SetValueAt(0, "4"); + st.SetValueAt(0, UniqueStringCopy("4")); REQUIRE(1 == st.Elements()); REQUIRE("4---" == Representation(st)); st.DeletePosition(0); @@ -93,7 +96,7 @@ TEST_CASE("SparseVector") { SECTION("InsertStringAtStartThenInsertSpaceAtStart") { REQUIRE(1 == st.Elements()); st.InsertSpace(0, 5); - st.SetValueAt(0, "3"); + st.SetValueAt(0, UniqueStringCopy("3")); REQUIRE(1 == st.Elements()); REQUIRE("3----" == Representation(st)); st.InsertSpace(0, 1); @@ -102,10 +105,42 @@ TEST_CASE("SparseVector") { st.Check(); } + SECTION("InsertSpaceAfterStart") { + REQUIRE(1 == st.Elements()); + st.InsertSpace(0, 5); + st.SetValueAt(1, UniqueStringCopy("1")); + REQUIRE(2 == st.Elements()); + REQUIRE("-1---" == Representation(st)); + st.InsertSpace(1, 1); + REQUIRE(2 == st.Elements()); + REQUIRE("--1---" == Representation(st)); + st.Check(); + } + + SECTION("InsertStringAt1ThenInsertLettersAt1") { + REQUIRE(1 == st.Elements()); + st.InsertSpace(0, 5); + st.SetValueAt(1, UniqueStringCopy("9")); + REQUIRE(2 == st.Elements()); + REQUIRE("-9---" == Representation(st)); + st.InsertSpace(0, 1); + REQUIRE(2 == st.Elements()); + REQUIRE("--9---" == Representation(st)); + // Initial st has allocation of 9 values so this should cause reallocation + const std::string letters("ABCDEFGHIJKLMNOP"); // 16 letters + for (const char letter : letters) { + const char sLetter[] = { letter, 0 }; + st.InsertSpace(0, 1); + st.SetValueAt(1, UniqueStringCopy(sLetter)); + } + REQUIRE("-PONMLKJIHGFEDCBA-9---" == Representation(st)); + st.Check(); + } + SECTION("InsertAndDeleteAtEnd") { REQUIRE(1 == st.Elements()); st.InsertSpace(0, 5); - st.SetValueAt(4, "5"); + st.SetValueAt(4, UniqueStringCopy("5")); REQUIRE(2 == st.Elements()); REQUIRE("----5" == Representation(st)); st.DeletePosition(4); @@ -117,7 +152,7 @@ TEST_CASE("SparseVector") { SECTION("SetNULL") { REQUIRE(1 == st.Elements()); st.InsertSpace(0, 5); - st.SetValueAt(4, "5"); + st.SetValueAt(4, UniqueStringCopy("5")); REQUIRE(2 == st.Elements()); REQUIRE("----5" == Representation(st)); st.SetValueAt(4, nullptr); @@ -129,10 +164,10 @@ TEST_CASE("SparseVector") { SECTION("DeleteAll") { REQUIRE(1 == st.Elements()); st.InsertSpace(0, 10); - st.SetValueAt(9, "9"); - st.SetValueAt(7, "7"); - st.SetValueAt(4, "4"); - st.SetValueAt(3, "3"); + st.SetValueAt(9, UniqueStringCopy("9")); + st.SetValueAt(7, UniqueStringCopy("7")); + st.SetValueAt(4, UniqueStringCopy("4")); + st.SetValueAt(3, UniqueStringCopy("3")); REQUIRE(5 == st.Elements()); REQUIRE("---34--7-9" == Representation(st)); st.Check(); @@ -178,7 +213,7 @@ TEST_CASE("SparseTextString") { SECTION("InsertAndDeleteValue") { st.InsertSpace(0, 5); REQUIRE(5 == st.Length()); - st.SetValueAt(3, "3"); + st.SetValueAt(3, std::string("3")); REQUIRE(2 == st.Elements()); REQUIRE("" == st.ValueAt(0)); REQUIRE("" == st.ValueAt(2)); diff --git a/win32/ScintillaWin.cxx b/win32/ScintillaWin.cxx index e296844b7..81f288c72 100644 --- a/win32/ScintillaWin.cxx +++ b/win32/ScintillaWin.cxx @@ -55,6 +55,7 @@ #include "LexerModule.h" #endif #include "Position.h" +#include "UniqueString.h" #include "SplitVector.h" #include "Partitioning.h" #include "RunStyles.h" diff --git a/win32/deps.mak b/win32/deps.mak index 2faf1a1af..330eaec73 100644 --- a/win32/deps.mak +++ b/win32/deps.mak @@ -4,15 +4,16 @@ PlatWin.o: PlatWin.cxx ../include/Platform.h ../lexlib/StringCopy.h \ ../src/XPM.h ../src/UniConversion.h ../src/FontQuality.h ScintillaWin.o: ScintillaWin.cxx ../include/Platform.h \ ../include/ILexer.h ../include/Sci_Position.h ../include/Scintilla.h \ - ../lexlib/StringCopy.h ../src/Position.h ../src/SplitVector.h \ - ../src/Partitioning.h ../src/RunStyles.h ../src/ContractionState.h \ - ../src/CellBuffer.h ../src/CallTip.h ../src/KeyMap.h ../src/Indicator.h \ - ../src/XPM.h ../src/LineMarker.h ../src/Style.h ../src/ViewStyle.h \ - ../src/CharClassify.h ../src/Decoration.h ../src/CaseFolder.h \ - ../src/Document.h ../src/CaseConvert.h ../src/UniConversion.h \ - ../src/Selection.h ../src/PositionCache.h ../src/EditModel.h \ - ../src/MarginView.h ../src/EditView.h ../src/Editor.h \ - ../src/AutoComplete.h ../src/ScintillaBase.h PlatWin.h HanjaDic.h + ../lexlib/StringCopy.h ../src/Position.h ../src/UniqueString.h \ + ../src/SplitVector.h ../src/Partitioning.h ../src/RunStyles.h \ + ../src/ContractionState.h ../src/CellBuffer.h ../src/CallTip.h \ + ../src/KeyMap.h ../src/Indicator.h ../src/XPM.h ../src/LineMarker.h \ + ../src/Style.h ../src/ViewStyle.h ../src/CharClassify.h \ + ../src/Decoration.h ../src/CaseFolder.h ../src/Document.h \ + ../src/CaseConvert.h ../src/UniConversion.h ../src/Selection.h \ + ../src/PositionCache.h ../src/EditModel.h ../src/MarginView.h \ + ../src/EditView.h ../src/Editor.h ../src/AutoComplete.h \ + ../src/ScintillaBase.h PlatWin.h HanjaDic.h AutoComplete.o: ../src/AutoComplete.cxx ../include/Platform.h \ ../include/Scintilla.h ../include/Sci_Position.h \ ../lexlib/CharacterSet.h ../src/Position.h ../src/AutoComplete.h @@ -32,8 +33,9 @@ CellBuffer.o: ../src/CellBuffer.cxx ../include/Platform.h \ ../src/UniConversion.h CharClassify.o: ../src/CharClassify.cxx ../src/CharClassify.h ContractionState.o: ../src/ContractionState.cxx ../include/Platform.h \ - ../src/Position.h ../src/SplitVector.h ../src/Partitioning.h \ - ../src/RunStyles.h ../src/SparseVector.h ../src/ContractionState.h + ../src/Position.h ../src/UniqueString.h ../src/SplitVector.h \ + ../src/Partitioning.h ../src/RunStyles.h ../src/SparseVector.h \ + ../src/ContractionState.h Decoration.o: ../src/Decoration.cxx ../include/Platform.h \ ../include/Scintilla.h ../include/Sci_Position.h ../src/Position.h \ ../src/SplitVector.h ../src/Partitioning.h ../src/RunStyles.h \ @@ -47,33 +49,33 @@ Document.o: ../src/Document.cxx ../include/Platform.h ../include/ILexer.h \ ../src/RESearch.h ../src/UniConversion.h ../src/UnicodeFromUTF8.h EditModel.o: ../src/EditModel.cxx ../include/Platform.h \ ../include/ILexer.h ../include/Sci_Position.h ../include/Scintilla.h \ - ../lexlib/StringCopy.h ../src/Position.h ../src/SplitVector.h \ - ../src/Partitioning.h ../src/RunStyles.h ../src/ContractionState.h \ - ../src/CellBuffer.h ../src/KeyMap.h ../src/Indicator.h ../src/XPM.h \ - ../src/LineMarker.h ../src/Style.h ../src/ViewStyle.h \ - ../src/CharClassify.h ../src/Decoration.h ../src/CaseFolder.h \ - ../src/Document.h ../src/UniConversion.h ../src/Selection.h \ - ../src/PositionCache.h ../src/EditModel.h + ../lexlib/StringCopy.h ../src/Position.h ../src/UniqueString.h \ + ../src/SplitVector.h ../src/Partitioning.h ../src/RunStyles.h \ + ../src/ContractionState.h ../src/CellBuffer.h ../src/KeyMap.h \ + ../src/Indicator.h ../src/XPM.h ../src/LineMarker.h ../src/Style.h \ + ../src/ViewStyle.h ../src/CharClassify.h ../src/Decoration.h \ + ../src/CaseFolder.h ../src/Document.h ../src/UniConversion.h \ + ../src/Selection.h ../src/PositionCache.h ../src/EditModel.h Editor.o: ../src/Editor.cxx ../include/Platform.h ../include/ILexer.h \ ../include/Sci_Position.h ../include/Scintilla.h ../lexlib/StringCopy.h \ - ../src/Position.h ../src/SplitVector.h ../src/Partitioning.h \ - ../src/RunStyles.h ../src/ContractionState.h ../src/CellBuffer.h \ - ../src/PerLine.h ../src/KeyMap.h ../src/Indicator.h ../src/XPM.h \ - ../src/LineMarker.h ../src/Style.h ../src/ViewStyle.h \ - ../src/CharClassify.h ../src/Decoration.h ../src/CaseFolder.h \ - ../src/Document.h ../src/UniConversion.h ../src/Selection.h \ - ../src/PositionCache.h ../src/EditModel.h ../src/MarginView.h \ - ../src/EditView.h ../src/Editor.h -EditView.o: ../src/EditView.cxx ../include/Platform.h ../include/ILexer.h \ - ../include/Sci_Position.h ../include/Scintilla.h ../lexlib/StringCopy.h \ - ../lexlib/CharacterSet.h ../src/Position.h ../src/SplitVector.h \ + ../src/Position.h ../src/UniqueString.h ../src/SplitVector.h \ ../src/Partitioning.h ../src/RunStyles.h ../src/ContractionState.h \ ../src/CellBuffer.h ../src/PerLine.h ../src/KeyMap.h ../src/Indicator.h \ ../src/XPM.h ../src/LineMarker.h ../src/Style.h ../src/ViewStyle.h \ ../src/CharClassify.h ../src/Decoration.h ../src/CaseFolder.h \ ../src/Document.h ../src/UniConversion.h ../src/Selection.h \ ../src/PositionCache.h ../src/EditModel.h ../src/MarginView.h \ - ../src/EditView.h + ../src/EditView.h ../src/Editor.h +EditView.o: ../src/EditView.cxx ../include/Platform.h ../include/ILexer.h \ + ../include/Sci_Position.h ../include/Scintilla.h ../lexlib/StringCopy.h \ + ../lexlib/CharacterSet.h ../src/Position.h ../src/UniqueString.h \ + ../src/SplitVector.h ../src/Partitioning.h ../src/RunStyles.h \ + ../src/ContractionState.h ../src/CellBuffer.h ../src/PerLine.h \ + ../src/KeyMap.h ../src/Indicator.h ../src/XPM.h ../src/LineMarker.h \ + ../src/Style.h ../src/ViewStyle.h ../src/CharClassify.h \ + ../src/Decoration.h ../src/CaseFolder.h ../src/Document.h \ + ../src/UniConversion.h ../src/Selection.h ../src/PositionCache.h \ + ../src/EditModel.h ../src/MarginView.h ../src/EditView.h ExternalLexer.o: ../src/ExternalLexer.cxx ../include/Platform.h \ ../include/ILexer.h ../include/Sci_Position.h ../include/Scintilla.h \ ../include/SciLexer.h ../lexlib/LexerModule.h ../src/Catalogue.h \ @@ -88,26 +90,27 @@ LineMarker.o: ../src/LineMarker.cxx ../include/Platform.h \ ../src/XPM.h ../src/LineMarker.h MarginView.o: ../src/MarginView.cxx ../include/Platform.h \ ../include/ILexer.h ../include/Sci_Position.h ../include/Scintilla.h \ - ../lexlib/StringCopy.h ../src/Position.h ../src/SplitVector.h \ - ../src/Partitioning.h ../src/RunStyles.h ../src/ContractionState.h \ - ../src/CellBuffer.h ../src/KeyMap.h ../src/Indicator.h ../src/XPM.h \ - ../src/LineMarker.h ../src/Style.h ../src/ViewStyle.h \ - ../src/CharClassify.h ../src/Decoration.h ../src/CaseFolder.h \ - ../src/Document.h ../src/UniConversion.h ../src/Selection.h \ - ../src/PositionCache.h ../src/EditModel.h ../src/MarginView.h \ - ../src/EditView.h + ../lexlib/StringCopy.h ../src/Position.h ../src/UniqueString.h \ + ../src/SplitVector.h ../src/Partitioning.h ../src/RunStyles.h \ + ../src/ContractionState.h ../src/CellBuffer.h ../src/KeyMap.h \ + ../src/Indicator.h ../src/XPM.h ../src/LineMarker.h ../src/Style.h \ + ../src/ViewStyle.h ../src/CharClassify.h ../src/Decoration.h \ + ../src/CaseFolder.h ../src/Document.h ../src/UniConversion.h \ + ../src/Selection.h ../src/PositionCache.h ../src/EditModel.h \ + ../src/MarginView.h ../src/EditView.h PerLine.o: ../src/PerLine.cxx ../include/Platform.h \ ../include/Scintilla.h ../include/Sci_Position.h ../src/Position.h \ ../src/SplitVector.h ../src/Partitioning.h ../src/CellBuffer.h \ ../src/PerLine.h PositionCache.o: ../src/PositionCache.cxx ../include/Platform.h \ ../include/ILexer.h ../include/Sci_Position.h ../include/Scintilla.h \ - ../src/Position.h ../src/SplitVector.h ../src/Partitioning.h \ - ../src/RunStyles.h ../src/ContractionState.h ../src/CellBuffer.h \ - ../src/KeyMap.h ../src/Indicator.h ../src/XPM.h ../src/LineMarker.h \ - ../src/Style.h ../src/ViewStyle.h ../src/CharClassify.h \ - ../src/Decoration.h ../src/CaseFolder.h ../src/Document.h \ - ../src/UniConversion.h ../src/Selection.h ../src/PositionCache.h + ../src/Position.h ../src/UniqueString.h ../src/SplitVector.h \ + ../src/Partitioning.h ../src/RunStyles.h ../src/ContractionState.h \ + ../src/CellBuffer.h ../src/KeyMap.h ../src/Indicator.h ../src/XPM.h \ + ../src/LineMarker.h ../src/Style.h ../src/ViewStyle.h \ + ../src/CharClassify.h ../src/Decoration.h ../src/CaseFolder.h \ + ../src/Document.h ../src/UniConversion.h ../src/Selection.h \ + ../src/PositionCache.h RESearch.o: ../src/RESearch.cxx ../src/Position.h ../src/CharClassify.h \ ../src/RESearch.h RunStyles.o: ../src/RunStyles.cxx ../include/Platform.h \ @@ -115,13 +118,14 @@ RunStyles.o: ../src/RunStyles.cxx ../include/Platform.h \ ../src/SplitVector.h ../src/Partitioning.h ../src/RunStyles.h ScintillaBase.o: ../src/ScintillaBase.cxx ../include/Platform.h \ ../include/ILexer.h ../include/Sci_Position.h ../include/Scintilla.h \ - ../lexlib/PropSetSimple.h ../src/Position.h ../src/SplitVector.h \ - ../src/Partitioning.h ../src/RunStyles.h ../src/ContractionState.h \ - ../src/CellBuffer.h ../src/CallTip.h ../src/KeyMap.h ../src/Indicator.h \ - ../src/XPM.h ../src/LineMarker.h ../src/Style.h ../src/ViewStyle.h \ - ../src/CharClassify.h ../src/Decoration.h ../src/CaseFolder.h \ - ../src/Document.h ../src/Selection.h ../src/PositionCache.h \ - ../src/EditModel.h ../src/MarginView.h ../src/EditView.h ../src/Editor.h \ + ../lexlib/PropSetSimple.h ../src/Position.h ../src/UniqueString.h \ + ../src/SplitVector.h ../src/Partitioning.h ../src/RunStyles.h \ + ../src/ContractionState.h ../src/CellBuffer.h ../src/CallTip.h \ + ../src/KeyMap.h ../src/Indicator.h ../src/XPM.h ../src/LineMarker.h \ + ../src/Style.h ../src/ViewStyle.h ../src/CharClassify.h \ + ../src/Decoration.h ../src/CaseFolder.h ../src/Document.h \ + ../src/Selection.h ../src/PositionCache.h ../src/EditModel.h \ + ../src/MarginView.h ../src/EditView.h ../src/Editor.h \ ../src/AutoComplete.h ../src/ScintillaBase.h Selection.o: ../src/Selection.cxx ../include/Platform.h \ ../include/Scintilla.h ../include/Sci_Position.h ../src/Position.h \ @@ -382,6 +386,11 @@ LexHTML.o: ../lexers/LexHTML.cxx ../include/ILexer.h \ ../lexlib/StringCopy.h ../lexlib/WordList.h ../lexlib/LexAccessor.h \ ../lexlib/Accessor.h ../lexlib/StyleContext.h ../lexlib/CharacterSet.h \ ../lexlib/LexerModule.h +LexIndent.o: ../lexers/LexIndent.cxx ../include/ILexer.h \ + ../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \ + ../lexlib/WordList.h ../lexlib/LexAccessor.h ../lexlib/Accessor.h \ + ../lexlib/StyleContext.h ../lexlib/CharacterSet.h \ + ../lexlib/LexerModule.h LexInno.o: ../lexers/LexInno.cxx ../include/ILexer.h \ ../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \ ../lexlib/WordList.h ../lexlib/LexAccessor.h ../lexlib/Accessor.h \ @@ -552,9 +561,10 @@ LexPS.o: ../lexers/LexPS.cxx ../include/ILexer.h \ ../lexlib/LexerModule.h LexPython.o: ../lexers/LexPython.cxx ../include/ILexer.h \ ../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \ - ../lexlib/WordList.h ../lexlib/LexAccessor.h ../lexlib/Accessor.h \ - ../lexlib/StyleContext.h ../lexlib/CharacterSet.h \ - ../lexlib/LexerModule.h ../lexlib/OptionSet.h ../lexlib/SubStyles.h + ../lexlib/StringCopy.h ../lexlib/WordList.h ../lexlib/LexAccessor.h \ + ../lexlib/Accessor.h ../lexlib/StyleContext.h ../lexlib/CharacterSet.h \ + ../lexlib/CharacterCategory.h ../lexlib/LexerModule.h \ + ../lexlib/OptionSet.h ../lexlib/SubStyles.h LexR.o: ../lexers/LexR.cxx ../include/ILexer.h ../include/Sci_Position.h \ ../include/Scintilla.h ../include/SciLexer.h ../lexlib/WordList.h \ ../lexlib/LexAccessor.h ../lexlib/Accessor.h ../lexlib/StyleContext.h \ diff --git a/win32/scintilla.mak b/win32/scintilla.mak index 227578f81..339d9e533 100644 --- a/win32/scintilla.mak +++ b/win32/scintilla.mak @@ -347,6 +347,7 @@ $(DIR_O)\ContractionState.obj: \ ../src/ContractionState.cxx \ ../include/Platform.h \ ../src/Position.h \ + ../src/UniqueString.h \ ../src/SplitVector.h \ ../src/Partitioning.h \ ../src/RunStyles.h \ @@ -391,6 +392,7 @@ $(DIR_O)\EditModel.obj: \ ../include/Scintilla.h \ ../lexlib/StringCopy.h \ ../src/Position.h \ + ../src/UniqueString.h \ ../src/SplitVector.h \ ../src/Partitioning.h \ ../src/RunStyles.h \ @@ -418,6 +420,7 @@ $(DIR_O)\Editor.obj: \ ../include/Scintilla.h \ ../lexlib/StringCopy.h \ ../src/Position.h \ + ../src/UniqueString.h \ ../src/SplitVector.h \ ../src/Partitioning.h \ ../src/RunStyles.h \ @@ -450,6 +453,7 @@ $(DIR_O)\EditView.obj: \ ../lexlib/StringCopy.h \ ../lexlib/CharacterSet.h \ ../src/Position.h \ + ../src/UniqueString.h \ ../src/SplitVector.h \ ../src/Partitioning.h \ ../src/RunStyles.h \ @@ -779,6 +783,7 @@ $(DIR_O)\MarginView.obj: \ ../include/Scintilla.h \ ../lexlib/StringCopy.h \ ../src/Position.h \ + ../src/UniqueString.h \ ../src/SplitVector.h \ ../src/Partitioning.h \ ../src/RunStyles.h \ @@ -824,6 +829,7 @@ $(DIR_O)\PositionCache.obj: \ ../include/Sci_Position.h \ ../include/Scintilla.h \ ../src/Position.h \ + ../src/UniqueString.h \ ../src/SplitVector.h \ ../src/Partitioning.h \ ../src/RunStyles.h \ @@ -867,6 +873,7 @@ $(DIR_O)\ScintillaBase.obj: \ ../include/Scintilla.h \ ../lexlib/PropSetSimple.h \ ../src/Position.h \ + ../src/UniqueString.h \ ../src/SplitVector.h \ ../src/Partitioning.h \ ../src/RunStyles.h \ @@ -899,6 +906,7 @@ $(DIR_O)\ScintillaBaseL.obj: \ ../include/Scintilla.h \ ../lexlib/PropSetSimple.h \ ../src/Position.h \ + ../src/UniqueString.h \ ../src/SplitVector.h \ ../src/Partitioning.h \ ../src/RunStyles.h \ @@ -931,6 +939,7 @@ $(DIR_O)\ScintillaWin.obj: \ ../include/Scintilla.h \ ../lexlib/StringCopy.h \ ../src/Position.h \ + ../src/UniqueString.h \ ../src/SplitVector.h \ ../src/Partitioning.h \ ../src/RunStyles.h \ @@ -967,6 +976,7 @@ $(DIR_O)\ScintillaWinL.obj: \ ../include/Scintilla.h \ ../lexlib/StringCopy.h \ ../src/Position.h \ + ../src/UniqueString.h \ ../src/SplitVector.h \ ../src/Partitioning.h \ ../src/RunStyles.h \ @@ -1003,6 +1013,7 @@ $(DIR_O)\ScintillaWinS.obj: \ ../include/Scintilla.h \ ../lexlib/StringCopy.h \ ../src/Position.h \ + ../src/UniqueString.h \ ../src/SplitVector.h \ ../src/Partitioning.h \ ../src/RunStyles.h \ |