53 lines
1.5 KiB
PHP
53 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace LanguageServerProtocol;
|
|
|
|
/**
|
|
* A `MarkupContent` literal represents a string value which content is interpreted base on its
|
|
* kind flag. Currently the protocol supports `plaintext` and `markdown` as markup kinds.
|
|
*
|
|
* If the kind is `markdown` then the value can contain fenced code blocks like in GitHub issues.
|
|
* See https://help.github.com/articles/creating-and-highlighting-code-blocks/#syntax-highlighting
|
|
*
|
|
* Here is an example how such a string can be constructed using JavaScript / TypeScript:
|
|
* ```ts
|
|
* let markdown: MarkdownContent = {
|
|
* kind: MarkupKind.Markdown,
|
|
* value: [
|
|
* '# Header',
|
|
* 'Some text',
|
|
* '```typescript',
|
|
* 'someCode();',
|
|
* '```'
|
|
* ].join('\n')
|
|
* };
|
|
* ```
|
|
*
|
|
* *Please Note* that clients might sanitize the return markdown. A client could decide to
|
|
* remove HTML from the markdown to avoid script execution.
|
|
*/
|
|
class MarkupContent
|
|
{
|
|
/**
|
|
* @var string the type of the Markup (from MarkupKind)
|
|
*/
|
|
public $kind;
|
|
|
|
/**
|
|
* @var string the content itself
|
|
*/
|
|
public $value;
|
|
|
|
/**
|
|
* @param string $kind the type of the Markup
|
|
* @param string $value the content itself
|
|
*/
|
|
public function __construct(string $kind = null, string $value = null)
|
|
{
|
|
/** @psalm-suppress PossiblyNullPropertyAssignmentValue */
|
|
$this->kind = $kind;
|
|
/** @psalm-suppress PossiblyNullPropertyAssignmentValue */
|
|
$this->value = $value;
|
|
}
|
|
}
|