From 8d2bd3058526cd452d951118dd2e66e948d6f82e Mon Sep 17 00:00:00 2001 From: Stepan Koltsov Date: Mon, 25 Jun 2012 23:55:30 +0400 Subject: [PATCH] kdoc: constants for names --- .../src/main/kotlin/org/jetbrains/kotlin/doc/Names.kt | 10 ++++++++++ .../kotlin/doc/highlighter2/Html2CompilerPlugin.kt | 3 ++- .../jetbrains/kotlin/doc/templates/KDocTemplate.kt | 11 ++++++----- 3 files changed, 18 insertions(+), 6 deletions(-) create mode 100644 libraries/tools/kdoc/src/main/kotlin/org/jetbrains/kotlin/doc/Names.kt diff --git a/libraries/tools/kdoc/src/main/kotlin/org/jetbrains/kotlin/doc/Names.kt b/libraries/tools/kdoc/src/main/kotlin/org/jetbrains/kotlin/doc/Names.kt new file mode 100644 index 00000000000..f67256075ee --- /dev/null +++ b/libraries/tools/kdoc/src/main/kotlin/org/jetbrains/kotlin/doc/Names.kt @@ -0,0 +1,10 @@ +package org.jetbrains.kotlin.doc + + +object names { + + val htmlSourceDirName = "src-html" + + fun lineNumberLinkHref(lineNumber: Int) = "L$lineNumber" + +} diff --git a/libraries/tools/kdoc/src/main/kotlin/org/jetbrains/kotlin/doc/highlighter2/Html2CompilerPlugin.kt b/libraries/tools/kdoc/src/main/kotlin/org/jetbrains/kotlin/doc/highlighter2/Html2CompilerPlugin.kt index eef1d32d07d..51a83a9a830 100644 --- a/libraries/tools/kdoc/src/main/kotlin/org/jetbrains/kotlin/doc/highlighter2/Html2CompilerPlugin.kt +++ b/libraries/tools/kdoc/src/main/kotlin/org/jetbrains/kotlin/doc/highlighter2/Html2CompilerPlugin.kt @@ -19,6 +19,7 @@ import org.jetbrains.kotlin.doc.Doclet import org.jetbrains.kotlin.doc.model.KModel import org.jetbrains.jet.lang.psi.JetFile import org.jetbrains.kotlin.doc.model.SourceInfo +import org.jetbrains.kotlin.doc.* class Html2CompilerPlugin(private val compilerArguments: KDocArguments) : Doclet { @@ -32,7 +33,7 @@ class Html2CompilerPlugin(private val compilerArguments: KDocArguments) : Doclet docOutputRoot = File(docOutputDir) } - private val srcOutputRoot = File(docOutputRoot, "src-html") + private val srcOutputRoot = File(docOutputRoot, names.htmlSourceDirName) private val sourceDirs: List = compilerArguments diff --git a/libraries/tools/kdoc/src/main/kotlin/org/jetbrains/kotlin/doc/templates/KDocTemplate.kt b/libraries/tools/kdoc/src/main/kotlin/org/jetbrains/kotlin/doc/templates/KDocTemplate.kt index 91a8488fcf7..c110e4a56cd 100644 --- a/libraries/tools/kdoc/src/main/kotlin/org/jetbrains/kotlin/doc/templates/KDocTemplate.kt +++ b/libraries/tools/kdoc/src/main/kotlin/org/jetbrains/kotlin/doc/templates/KDocTemplate.kt @@ -7,6 +7,7 @@ import org.jetbrains.kotlin.doc.model.KAnnotation import org.jetbrains.kotlin.doc.model.KPackage import org.jetbrains.kotlin.template.TextTemplate import org.jetbrains.kotlin.doc.model.KFunction +import org.jetbrains.kotlin.doc.* import java.util.Collection import org.jetbrains.kotlin.doc.model.KProperty import org.jetbrains.kotlin.doc.model.KType @@ -73,7 +74,7 @@ abstract class KDocTemplate() : TextTemplate() { } else { val pkg = klass.pkg return if (klass.sourceInfo != null) { - "${pkg.nameAsRelativePath}src-html/${klass.sourceInfo.htmlPath}.html#line.${klass.sourceLine}" + "${pkg.nameAsRelativePath}${names.htmlSourceDirName}/${klass.sourceInfo.htmlPath}.html#${names.lineNumberLinkHref(klass.sourceLine)}" } else { href(klass) } @@ -87,14 +88,14 @@ abstract class KDocTemplate() : TextTemplate() { return if (owner is KClass) { val pkg = owner.pkg if (owner.sourceInfo != null) { - "${rootHref(pkg)}src-html/${owner.sourceInfo.htmlPath}.html#line.${f.sourceLine}" + "${rootHref(pkg)}${names.htmlSourceDirName}/${owner.sourceInfo.htmlPath}.html#${names.lineNumberLinkHref(f.sourceLine)}" } else { href(f) } } else if (owner is KPackage) { if (!owner.useExternalLink) { // TODO how to find the function in a package??? - "${rootHref(owner)}src-html/namespace.html#line.${f.sourceLine}" + "${rootHref(owner)}${names.htmlSourceDirName}/namespace.html#${names.lineNumberLinkHref(f.sourceLine)}" } else { href(owner) } @@ -110,14 +111,14 @@ abstract class KDocTemplate() : TextTemplate() { return if (owner is KClass) { val pkg = owner.pkg if (owner.sourceInfo != null) { - "${rootHref(pkg)}src-html/${owner.sourceInfo.htmlPath}#line.${f.sourceLine}" + "${rootHref(pkg)}${names.htmlSourceDirName}/${owner.sourceInfo.htmlPath}#${names.lineNumberLinkHref(f.sourceLine)}" } else { href(f) } } else if (owner is KPackage) { if (!owner.useExternalLink) { // TODO how to find the function in a package??? - "${rootHref(owner)}src-html/namespace.html#line.${f.sourceLine}" + "${rootHref(owner)}${names.htmlSourceDirName}/namespace.html#${names.lineNumberLinkHref(f.sourceLine)}" } else { href(owner) }