lix/tests/errors/main.cc

56 lines
1.5 KiB
C++
Raw Normal View History

2020-03-23 21:29:49 +00:00
#include "error.hh"
#include <optional>
#include <iostream>
using std::optional;
2020-03-24 17:21:35 +00:00
using std::nullopt;
2020-03-25 16:52:03 +00:00
using std::cout;
using std::endl;
2020-03-23 21:29:49 +00:00
2020-03-27 16:03:02 +00:00
int main()
{
using namespace nix;
2020-03-23 21:29:49 +00:00
2020-03-30 15:14:29 +00:00
ErrorInfo::programName = optional("error-test");
2020-03-25 16:52:03 +00:00
2020-03-31 17:56:37 +00:00
printErrorInfo(ProgramError()
2020-03-24 17:21:35 +00:00
.name("name")
2020-03-31 15:36:20 +00:00
.description("error description")
2020-03-27 16:03:02 +00:00
.nohint()
);
2020-03-24 17:21:35 +00:00
2020-03-31 17:56:37 +00:00
printErrorInfo(ProgramWarning()
2020-03-24 17:21:35 +00:00
.name("warning name")
2020-03-27 16:03:02 +00:00
.description("warning description")
.nohint()
);
2020-03-24 17:21:35 +00:00
2020-03-31 17:56:37 +00:00
printErrorInfo(NixLangWarning()
.name("warning name")
.description("warning description")
.nixFile("myfile.nix")
.lineNumber(40)
.columnRange(13,7)
.linesOfCode(nullopt
,"this is the problem line of code"
2020-03-30 15:14:29 +00:00
,nullopt)
.hint(hintfmt("this hint has %1% templated %2%!!") % "yellow" % "values")
);
2020-03-31 17:56:37 +00:00
printErrorInfo(NixLangError()
.name("error name")
2020-03-25 17:20:44 +00:00
.description("error description")
.nixFile("myfile.nix")
.lineNumber(40)
.columnRange(13,7)
2020-03-27 16:03:02 +00:00
.linesOfCode(optional("previous line of code")
,"this is the problem line of code"
2020-03-27 16:03:02 +00:00
,optional("next line of code"))
.hint(hintfmt("this hint has %1% templated %2%!!") % "yellow" % "values")
);
2020-03-24 15:18:23 +00:00
2020-03-23 21:29:49 +00:00
return 0;
}