Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 23 additions & 23 deletions TextEditor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -41,13 +41,13 @@ TextEditor::TextEditor()
, mColorRangeMin(0)
, mColorRangeMax(0)
, mSelectionMode(SelectionMode::Normal)
, mCheckComments(true)
, mLastClick(-1.0f)
, mHandleKeyboardInputs(true)
, mHandleKeyboardInputs(true)
, mHandleMouseInputs(true)
, mIgnoreImGuiChild(false)
, mShowWhitespaces(true)
, mCheckComments(true)
, mStartTime(std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count())
, mLastClick(-1.0f)
{
SetPalette(GetDarkPalette());
SetLanguageDefinition(LanguageDefinition::HLSL());
Expand Down Expand Up @@ -84,7 +84,7 @@ std::string TextEditor::GetText(const Coordinates & aStart, const Coordinates &
auto iend = GetCharacterIndex(aEnd);
size_t s = 0;

for (size_t i = lstart; i < lend; i++)
for (size_t i = lstart; (int)i < lend; i++)
Copy link
Contributor

@berdal84 berdal84 Feb 15, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't you think it will be better to change the type of aEnd.mLine instead ?

Using a C style cast (int)i make the compilation warning disappear but the problem overflow problem remains.

s += mLines[i].size();

result.reserve(s + s / 8);
Expand Down Expand Up @@ -459,7 +459,7 @@ TextEditor::Coordinates TextEditor::FindNextWord(const Coordinates & aFrom) cons

while (!isword || skip)
{
if (at.mLine >= mLines.size())
if (at.mLine >= (int)mLines.size())
{
auto l = std::max(0, (int) mLines.size() - 1);
return Coordinates(l, GetLineMaxColumn(l));
Expand Down Expand Up @@ -492,12 +492,12 @@ TextEditor::Coordinates TextEditor::FindNextWord(const Coordinates & aFrom) cons

int TextEditor::GetCharacterIndex(const Coordinates& aCoordinates) const
{
if (aCoordinates.mLine >= mLines.size())
if (aCoordinates.mLine >= (int)mLines.size())
return -1;
auto& line = mLines[aCoordinates.mLine];
int c = 0;
int i = 0;
for (; i < line.size() && c < aCoordinates.mColumn;)
for (; i < (int)line.size() && c < aCoordinates.mColumn;)
{
if (line[i].mChar == '\t')
c = (c / mTabSize) * mTabSize + mTabSize;
Expand All @@ -510,7 +510,7 @@ int TextEditor::GetCharacterIndex(const Coordinates& aCoordinates) const

int TextEditor::GetCharacterColumn(int aLine, int aIndex) const
{
if (aLine >= mLines.size())
if (aLine >= (int)mLines.size())
return 0;
auto& line = mLines[aLine];
int col = 0;
Expand All @@ -529,7 +529,7 @@ int TextEditor::GetCharacterColumn(int aLine, int aIndex) const

int TextEditor::GetLineCharacterCount(int aLine) const
{
if (aLine >= mLines.size())
if (aLine >= (int)mLines.size())
return 0;
auto& line = mLines[aLine];
int c = 0;
Expand All @@ -540,7 +540,7 @@ int TextEditor::GetLineCharacterCount(int aLine) const

int TextEditor::GetLineMaxColumn(int aLine) const
{
if (aLine >= mLines.size())
if (aLine >= (int)mLines.size())
return 0;
auto& line = mLines[aLine];
int col = 0;
Expand Down Expand Up @@ -1013,7 +1013,7 @@ void TextEditor::Render()
auto prevColor = line.empty() ? mPalette[(int)PaletteIndex::Default] : GetGlyphColor(line[0]);
ImVec2 bufferOffset;

for (int i = 0; i < line.size();)
for (int i = 0; i < (int)line.size();)
{
auto& glyph = line[i];
auto color = GetGlyphColor(glyph);
Expand Down Expand Up @@ -1625,7 +1625,7 @@ void TextEditor::MoveRight(int aAmount, bool aSelect, bool aWordMode)
{
auto oldPos = mState.mCursorPosition;

if (mLines.empty() || oldPos.mLine >= mLines.size())
if (mLines.empty() || oldPos.mLine >= (int)mLines.size())
return;

auto cindex = GetCharacterIndex(mState.mCursorPosition);
Expand All @@ -1634,9 +1634,9 @@ void TextEditor::MoveRight(int aAmount, bool aSelect, bool aWordMode)
auto lindex = mState.mCursorPosition.mLine;
auto& line = mLines[lindex];

if (cindex >= line.size())
if (cindex >= (int)line.size())
{
if (mState.mCursorPosition.mLine < mLines.size() - 1)
if (mState.mCursorPosition.mLine < (int)mLines.size() - 1)
{
mState.mCursorPosition.mLine = std::max(0, std::min((int)mLines.size() - 1, mState.mCursorPosition.mLine + 1));
mState.mCursorPosition.mColumn = 0;
Expand Down Expand Up @@ -1874,7 +1874,7 @@ void TextEditor::Backspace()
--u.mRemovedStart.mColumn;
--mState.mCursorPosition.mColumn;

while (cindex < line.size() && cend-- > cindex)
while (cindex < (int)line.size() && cend-- > cindex)
{
u.mRemoved += line[cindex].mChar;
line.erase(line.begin() + cindex);
Expand Down Expand Up @@ -2007,7 +2007,7 @@ const TextEditor::Palette & TextEditor::GetDarkPalette()
{
const static Palette p = { {
0xff7f7f7f, // Default
0xffd69c56, // Keyword
0xffd69c56, // Keyword
0xff00ff00, // Number
0xff7070e0, // String
0xff70a0e0, // Char literal
Expand Down Expand Up @@ -2035,7 +2035,7 @@ const TextEditor::Palette & TextEditor::GetLightPalette()
{
const static Palette p = { {
0xff7f7f7f, // None
0xffff0c06, // Keyword
0xffff0c06, // Keyword
0xff008000, // Number
0xff2020a0, // String
0xff304070, // Char literal
Expand Down Expand Up @@ -2063,7 +2063,7 @@ const TextEditor::Palette & TextEditor::GetRetroBluePalette()
{
const static Palette p = { {
0xff00ffff, // None
0xffffff00, // Keyword
0xffffff00, // Keyword
0xff00ff00, // Number
0xff808000, // String
0xff808000, // Char literal
Expand Down Expand Up @@ -2264,7 +2264,7 @@ void TextEditor::ColorizeInternal()
auto concatenate = false; // '\' on the very end of the line
auto currentLine = 0;
auto currentIndex = 0;
while (currentLine < endLine || currentIndex < endIndex)
while (currentLine < (int)endLine || currentIndex < endIndex)
{
auto& line = mLines[currentLine];

Expand All @@ -2288,7 +2288,7 @@ void TextEditor::ColorizeInternal()
if (currentIndex == (int)line.size() - 1 && line[line.size() - 1].mChar == '\\')
concatenate = true;

bool inComment = (commentStartLine < currentLine || (commentStartLine == currentLine && commentStartIndex <= currentIndex));
bool inComment = ((int)commentStartLine < currentLine || ((int)commentStartLine == currentLine && commentStartIndex <= currentIndex));

if (withinString)
{
Expand Down Expand Up @@ -2342,7 +2342,7 @@ void TextEditor::ColorizeInternal()
commentStartIndex = currentIndex;
}

inComment = inComment = (commentStartLine < currentLine || (commentStartLine == currentLine && commentStartIndex <= currentIndex));
inComment = ((int)commentStartLine < currentLine || ((int)commentStartLine == currentLine && commentStartIndex <= currentIndex));

line[currentIndex].mMultiLineComment = inComment;
line[currentIndex].mComment = withinSingleLineComment;
Expand Down Expand Up @@ -2395,7 +2395,7 @@ float TextEditor::TextDistanceToLineStart(const Coordinates& aFrom) const
float distance = 0.0f;
float spaceSize = ImGui::GetFont()->CalcTextSizeA(ImGui::GetFontSize(), FLT_MAX, -1.0f, " ", nullptr, nullptr).x;
int colIndex = GetCharacterIndex(aFrom);
for (size_t it = 0u; it < line.size() && it < colIndex; )
for (size_t it = 0u; it < line.size() && (int)it < colIndex; )
{
if (line[it].mChar == '\t')
{
Expand All @@ -2407,7 +2407,7 @@ float TextEditor::TextDistanceToLineStart(const Coordinates& aFrom) const
auto d = UTF8CharLength(line[it].mChar);
char tempCString[7];
int i = 0;
for (; i < 6 && d-- > 0 && it < (int)line.size(); i++, it++)
for (; i < 6 && d-- > 0 && it < line.size(); i++, it++)
tempCString[i] = line[it].mChar;

tempCString[i] = '\0';
Expand Down