Skip to content

Commit

Permalink
output ending line number
Browse files Browse the repository at this point in the history
- this is the unfiltered line number (original)
  • Loading branch information
dlidstrom committed Aug 15, 2020
1 parent 5266c03 commit f72b1b1
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 9 deletions.
34 changes: 28 additions & 6 deletions src/Duplo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -172,10 +172,26 @@ namespace {
std::ostream& outFile) {
unsigned duplicateLines = 0;
if (xml) {
outFile << " <set LineCount=\"" << count << "\">" << std::endl;
outFile << " <block SourceFile=\"" << source1.GetFilename() << "\" StartLineNumber=\"" << source1.GetLine(line1).GetLineNumber() << "\"/>" << std::endl;
outFile << " <block SourceFile=\"" << source2.GetFilename() << "\" StartLineNumber=\"" << source2.GetLine(line2).GetLineNumber() << "\"/>" << std::endl;
outFile << " <lines xml:space=\"preserve\">" << std::endl;
outFile
<< " <set LineCount=\"" << count << "\">"
<< std::endl;
int startLineNumber1 = source1.GetLine(line1).GetLineNumber();
int endLineNumber1 = source1.GetLine(line1 + count).GetLineNumber();
outFile
<< " <block SourceFile=\"" << source1.GetFilename()
<< "\" StartLineNumber=\"" << startLineNumber1
<< "\" EndLineNumber=\"" << endLineNumber1 << "\"/>"
<< std::endl;
int startLineNumber2 = source2.GetLine(line2).GetLineNumber();
int endLineNumber2 = source2.GetLine(line2 + count).GetLineNumber();
outFile
<< " <block SourceFile=\"" << source2.GetFilename()
<< "\" StartLineNumber=\"" << startLineNumber2
<< "\" EndLineNumber=\"" << endLineNumber2 << "\"/>"
<< std::endl;
outFile
<< " <lines xml:space=\"preserve\">"
<< std::endl;
for (int j = 0; j < count; j++) {
// replace various characters/ strings so that it doesn't upset the XML parser
std::string tmpstr = source1.GetLine(j + line1).GetLine();
Expand All @@ -199,8 +215,14 @@ namespace {
outFile << " </lines>" << std::endl;
outFile << " </set>" << std::endl;
} else {
outFile << source1.GetFilename() << "(" << source1.GetLine(line1).GetLineNumber() << ")" << std::endl;
outFile << source2.GetFilename() << "(" << source2.GetLine(line2).GetLineNumber() << ")" << std::endl;
outFile
<< source1.GetFilename()
<< "(" << source1.GetLine(line1).GetLineNumber() << ")"
<< std::endl;
outFile
<< source2.GetFilename()
<< "(" << source2.GetLine(line2).GetLineNumber() << ")"
<< std::endl;
for (int j = 0; j < count; j++) {
outFile << source1.GetLine(j + line1).GetLine() << std::endl;
duplicateLines++;
Expand Down
1 change: 1 addition & 0 deletions tests/Simple/LineNumbers.c
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ EEEEE
AAAAA
BBBBB
CCCCC
// skip this line
DDDDD
EEEEE
FFFFF
4 changes: 2 additions & 2 deletions tests/Simple/test-xml.bats
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ setup() {
[ "${lines[0]}" = "<?xml version=\"1.0\"?>" ]
[ "${lines[1]}" = "<duplo>" ]
[ "${lines[2]}" = " <set LineCount=\"5\">" ]
[ "${lines[3]}" = " <block SourceFile=\"tests/Simple/LineNumbers.c\" StartLineNumber=\"7\"/>" ]
[ "${lines[4]}" = " <block SourceFile=\"tests/Simple/LineNumbers.c\" StartLineNumber=\"1\"/>" ]
[ "${lines[3]}" = " <block SourceFile=\"tests/Simple/LineNumbers.c\" StartLineNumber=\"7\" EndLineNumber=\"13\"/>" ]
[ "${lines[4]}" = " <block SourceFile=\"tests/Simple/LineNumbers.c\" StartLineNumber=\"1\" EndLineNumber=\"7\"/>" ]
[ "${lines[5]}" = " <lines xml:space=\"preserve\">" ]
[ "${lines[6]}" = " <line Text=\"AAAAA\"/>" ]
[ "${lines[7]}" = " <line Text=\"BBBBB\"/>" ]
Expand Down
2 changes: 1 addition & 1 deletion watch.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ fswatch \
--extended \
--latency 0.5 \
--exclude ".*" \
--include "Makefile|(\.(h|cpp|bats)$)" . |
--include "Makefile|(\.(h|cpp|bats|c)$)" . |
while read line; do
p "new changes received: $line"

Expand Down

0 comments on commit f72b1b1

Please sign in to comment.