From b93a5980eddd6f61417fb9714110fda20c49698b Mon Sep 17 00:00:00 2001 From: rivenhk Date: Wed, 18 Oct 2017 01:59:15 +0800 Subject: added formatting when source snippets is too long --- libsolidity/interface/SourceReferenceFormatter.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'libsolidity/interface/SourceReferenceFormatter.cpp') diff --git a/libsolidity/interface/SourceReferenceFormatter.cpp b/libsolidity/interface/SourceReferenceFormatter.cpp index 62d22999..fc55d328 100644 --- a/libsolidity/interface/SourceReferenceFormatter.cpp +++ b/libsolidity/interface/SourceReferenceFormatter.cpp @@ -49,6 +49,21 @@ void SourceReferenceFormatter::printSourceLocation( if (startLine == endLine) { string line = scanner.lineAtPosition(_location->start); + + int locationLength = endColumn - startColumn; + if (locationLength > 150) + { + line = line.substr(0, startColumn) + line.substr(startColumn, 15) + "..." + line.substr(endColumn - 15, 15) + line.substr(endColumn, line.length() - endColumn); + endColumn = startColumn + 33; + locationLength = 33; + } + if (line.length() > 150) + { + line = "..." + line.substr(startColumn, locationLength) + "..."; + startColumn = 3; + endColumn = startColumn + locationLength; + } + _stream << line << endl; for_each( line.cbegin(), -- cgit v1.2.3 From d53c44a066ad70a34a5c7d858e1cb6afa1cbda3a Mon Sep 17 00:00:00 2001 From: rivenhk Date: Wed, 18 Oct 2017 22:03:33 +0800 Subject: updating formatting when source snippets is too long --- libsolidity/interface/SourceReferenceFormatter.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'libsolidity/interface/SourceReferenceFormatter.cpp') diff --git a/libsolidity/interface/SourceReferenceFormatter.cpp b/libsolidity/interface/SourceReferenceFormatter.cpp index fc55d328..256adccc 100644 --- a/libsolidity/interface/SourceReferenceFormatter.cpp +++ b/libsolidity/interface/SourceReferenceFormatter.cpp @@ -53,14 +53,14 @@ void SourceReferenceFormatter::printSourceLocation( int locationLength = endColumn - startColumn; if (locationLength > 150) { - line = line.substr(0, startColumn) + line.substr(startColumn, 15) + "..." + line.substr(endColumn - 15, 15) + line.substr(endColumn, line.length() - endColumn); - endColumn = startColumn + 33; - locationLength = 33; + line = line.substr(0, startColumn + 75) + " ... " + line.substr(endColumn); + endColumn = startColumn + 80; + locationLength = 80; } if (line.length() > 150) { - line = "..." + line.substr(startColumn, locationLength) + "..."; - startColumn = 3; + line = " ... " + line.substr(startColumn, locationLength) + " ... "; + startColumn = 5; endColumn = startColumn + locationLength; } -- cgit v1.2.3 From 950f5ae7d762f5878b69043da16e9e27485d4c57 Mon Sep 17 00:00:00 2001 From: rivenhk Date: Thu, 19 Oct 2017 20:20:07 +0800 Subject: updated formatting when source snippets is too long --- libsolidity/interface/SourceReferenceFormatter.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'libsolidity/interface/SourceReferenceFormatter.cpp') diff --git a/libsolidity/interface/SourceReferenceFormatter.cpp b/libsolidity/interface/SourceReferenceFormatter.cpp index 256adccc..aeafaf2d 100644 --- a/libsolidity/interface/SourceReferenceFormatter.cpp +++ b/libsolidity/interface/SourceReferenceFormatter.cpp @@ -53,9 +53,9 @@ void SourceReferenceFormatter::printSourceLocation( int locationLength = endColumn - startColumn; if (locationLength > 150) { - line = line.substr(0, startColumn + 75) + " ... " + line.substr(endColumn); - endColumn = startColumn + 80; - locationLength = 80; + line = line.substr(0, startColumn + 35) + " ... " + line.substr(endColumn - 35); + endColumn = startColumn + 75; + locationLength = 75; } if (line.length() > 150) { -- cgit v1.2.3