mirror of
https://github.com/NixOS/nix
synced 2025-06-25 10:41:16 +02:00
Refactor: extract DocComment::getInnerText(PosTable)
This commit is contained in:
parent
e68234c4f9
commit
491b9cf415
3 changed files with 21 additions and 14 deletions
|
@ -572,20 +572,7 @@ std::optional<EvalState::Doc> EvalState::getDoc(Value & v)
|
|||
}
|
||||
|
||||
if (exprLambda->docComment) {
|
||||
auto begin = positions[exprLambda->docComment.begin];
|
||||
auto end = positions[exprLambda->docComment.end];
|
||||
auto docCommentStr = begin.getSnippetUpTo(end);
|
||||
|
||||
// Strip "/**" and "*/"
|
||||
constexpr size_t prefixLen = 3;
|
||||
constexpr size_t suffixLen = 2;
|
||||
docStr = docCommentStr.substr(prefixLen, docCommentStr.size() - prefixLen - suffixLen);
|
||||
if (docStr.empty())
|
||||
return {};
|
||||
// Turn the now missing "/**" into indentation
|
||||
docStr = " " + docStr;
|
||||
// Strip indentation (for the whole, potentially multi-line string)
|
||||
docStr = stripIndentation(docStr);
|
||||
docStr = exprLambda->docComment.getInnerText(positions);
|
||||
}
|
||||
|
||||
if (name.empty()) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue