Writer fixes (#1469)

* Fixes for RustWriter bugs #1465 & #1459

* Fix behavior causing extra newlines in docs
This commit is contained in:
Russell Cohen 2022-06-15 14:27:45 -04:00 committed by GitHub
parent b45c1f03d8
commit 898dc7060b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 4 deletions

View File

@ -253,6 +253,9 @@ fun RustWriter.containerDocs(text: String, vararg args: Any): RustWriter {
* - Empty newlines are removed
*/
fun <T : AbstractCodeWriter<T>> T.docs(text: String, vararg args: Any, newlinePrefix: String = "/// "): T {
// Because writing docs relies on the newline prefix, ensure that there was a new line written
// before we write the docs
this.ensureNewline()
pushState()
setNewlinePrefix(newlinePrefix)
val cleaned = text.lines()
@ -260,9 +263,6 @@ fun <T : AbstractCodeWriter<T>> T.docs(text: String, vararg args: Any, newlinePr
// Rustdoc warns on tabs in documentation
it.trimStart().replace("\t", " ")
}
// Because writing docs relies on the newline prefix, ensure that there was a new line written
// before we write the docs
this.ensureNewline()
write(cleaned, *args)
popState()
return this

View File

@ -448,7 +448,7 @@ class FluentClientGenerator(
Fluent builders are created through the [`Client`](crate::client::Client) by calling
one if its operation methods. After parameters are set using the builder methods,
the `send` method can be called to initiate the request.
""",
""".trim(),
newlinePrefix = "//! "
)
operations.forEach { operation ->