You are here

public function CodeSnippetGeshiCKEditorButton::getConfig in GeSHi Filter for syntax highlighting 8

Same name and namespace in other branches
  1. 8.2 codesnippetgeshi/src/Plugin/CKEditorPlugin/CodeSnippetGeshiCKEditorButton.php \Drupal\codesnippetgeshi\Plugin\CKEditorPlugin\CodeSnippetGeshiCKEditorButton::getConfig()

Returns the additions to CKEDITOR.config for a specific CKEditor instance.

The editor's settings can be retrieved via $editor->getSettings(), but be aware that it may not yet contain plugin-specific settings, because the user may not yet have configured the form. If there are plugin-specific settings (verify with isset()), they can be found at

$settings = $editor
  ->getSettings();
$plugin_specific_settings = $settings['plugins'][$plugin_id];

Parameters

\Drupal\editor\Entity\Editor $editor: A configured text editor object.

Return value

array A keyed array, whose keys will end up as keys under CKEDITOR.config.

Overrides CKEditorPluginInterface::getConfig

File

codesnippetgeshi/src/Plugin/CKEditorPlugin/CodeSnippetGeshiCKEditorButton.php, line 62

Class

CodeSnippetGeshiCKEditorButton
Defines the "codesnippetgeshi" plugin.

Namespace

Drupal\codesnippetgeshi\Plugin\CKEditorPlugin

Code

public function getConfig(Editor $editor) {
  $languages = GeshiFilter::getEnabledLanguages();

  // Before sending along to CKEditor, alpha sort and capitalize the language.
  $languages = array_map(function ($language) {
    return ucwords($language);
  }, $languages);
  asort($languages);
  return [
    'codeSnippet_languages' => $languages,
  ];
}