import { LineResults } from "../LineResults" ; import { CommandNames } from "../Names/CommandNames" ; import { Command } from "./Command" ; import { CommandMetadata } from "./Metadata/CommandMetadata" ; import { RepeatingParameters } from "./Metadata/Parameters/RepeatingParameters" ; import { SingleParameter } from "./Metadata/Parameters/SingleParameter" ; /**
 * A single line within a comment block.
 */ export class CommentBlockCommand extends Command { /**
     * Metadata on the command.
     */ private static metadata : CommandMetadata = new CommandMetadata ( CommandNames . CommentBlock ) . withDescription ( "A single line within a comment block" ) . withParameters ( [ new RepeatingParameters ( "Contents of the comment block line" , [ new SingleParameter ( "word" , "A word in the line." , false ) ] ) , ] ) ; returns public getMetadata ( ) { return CommentBlockCommand . metadata ; } param parameters returns public render ( parameters ) { let output = "" ; output += this . language . syntax . comments . blockLineLeft ; output += parameters . slice ( 1 ) . join ( " " ) ; output += this . language . syntax . comments . blockLineRight ; return LineResults . newSingleLine ( output ) ; } }