Commit ecea0f5b authored by Christopher C. Wells's avatar Christopher C. Wells
Browse files

Issue #3243437 by wells: Configure supported addons, remove unsupported feature configuration

parent 4879b8c8
Loading
Loading
Loading
Loading
+36 −1
Original line number Diff line number Diff line
@@ -19,15 +19,48 @@ codemirror:
    /libraries/codemirror/mode/javascript/javascript.js: {}
    /libraries/codemirror/mode/css/css.js: {}
    /libraries/codemirror/mode/htmlmixed/htmlmixed.js: {}
    /libraries/codemirror/addon/fold/xml-fold.js: {}
    /libraries/codemirror/addon/edit/closebrackets.js: {}
    /libraries/codemirror/addon/edit/closetag.js: {}
    /libraries/codemirror/addon/edit/matchbrackets.js: {}
    /libraries/codemirror/addon/edit/matchtags.js: {}
    /libraries/codemirror/addon/fold/xml-fold.js: {}
    /libraries/codemirror/addon/selection/active-line.js: {}
  css:
    component:
      /libraries/codemirror/lib/codemirror.css: {}

codemirror.dialog:
  js:
    /libraries/codemirror/addon/dialog/dialog.js: {}
  css:
    component:
      /libraries/codemirror/addon/dialog/dialog.css: {}
  dependencies:
    - ckeditor_codemirror/codemirror

codemirror.fold:
  js:
    /libraries/codemirror/addon/fold/foldcode.js: {}
    /libraries/codemirror/addon/fold/foldgutter.js: {}
    /libraries/codemirror/addon/fold/brace-fold.js: {}
    /libraries/codemirror/addon/fold/indent-fold.js: {}
    /libraries/codemirror/addon/fold/markdown-fold.js: {}
    /libraries/codemirror/addon/fold/comment-fold.js: {}
  css:
    component:
      /libraries/codemirror/addon/fold/foldgutter.css: {}
  dependencies:
    - ckeditor_codemirror/codemirror

codemirror.search:
  js:
    /libraries/codemirror/addon/search/search.js: {}
    /libraries/codemirror/addon/search/searchcursor.js: {}
    /libraries/codemirror/addon/search/jump-to-line.js: {}
  dependencies:
    - ckeditor_codemirror/codemirror
    - ckeditor_codemirror/codemirror.dialog

source_editing_code_mirror:
  js:
    js/ckeditor5_plugins/ckeditor5-source-editing-codemirror/build/source-editing-codemirror.js: { preprocess: false, minified: true }
@@ -35,3 +68,5 @@ source_editing_code_mirror:
    - core/ckeditor5
    - core/ckeditor5.sourceEditing
    - ckeditor_codemirror/codemirror
    - ckeditor_codemirror/codemirror.fold
    - ckeditor_codemirror/codemirror.search
+13 −22
Original line number Diff line number Diff line
@@ -12,6 +12,15 @@ ckeditor5.plugin.ckeditor_codemirror_source_editing:
      type: config_object
      label: 'CodeMirror options'
      mapping:
        autoCloseBrackets:
          type: boolean
          label: 'Close brackets automatically.'
        autoCloseTags:
          type: boolean
          label: 'Close tags automatically.'
        folding:
          type: boolean
          label: 'Enable code folding.'
        lineNumbers:
          type: boolean
          label: 'Show line numbers.'
@@ -24,27 +33,9 @@ ckeditor5.plugin.ckeditor_codemirror_source_editing:
        matchTags:
          type: boolean
          label: 'Highlight matching tags.'
        autoCloseTags:
        searchBottom:
          type: boolean
          label: 'Close tags automatically.'
        autoCloseBrackets:
          label: 'Display search bar at bottom.'
        styleActiveLine:
          type: boolean
          label: 'Close brackets automatically.'
#        enableSearchTools:
#          type: boolean
#          label: 'Enable search tools.'
#        enableCodeFolding:
#          type: boolean
#          label: 'Enable code folding.'
#        enableCodeFormatting:
#          type: boolean
#          label: 'Enable code formatting.'
#        autoFormatOnStart:
#          type: boolean
#          label: 'Format code on start.'
#        autoFormatOnModeChange:
#          type: boolean
#          label: 'Format code each time source is opened.'
#        autoFormatOnUncomment:
#          type: boolean
#          label: 'Format code when a line is uncommented.'
          label: 'Highlight active line.'
+25 −13
Original line number Diff line number Diff line
@@ -38,18 +38,15 @@ class CodeMirror extends CKEditor5PluginDefault implements CKEditor5PluginConfig
   */
  private function options(): array {
    return [
      'autoCloseBrackets' => $this->t('Close brackets automatically.'),
      'autoCloseTags' => $this->t('Close tags automatically.'),
      'folding' => $this->t('Enable code folding.'),
      'lineNumbers' => $this->t('Show line numbers.'),
      'lineWrapping' => $this->t('Enable line wrapping.'),
      'matchBrackets' => $this->t('Highlight matching brackets.'),
      'matchTags' => $this->t('Highlight matching tags.'),
      'autoCloseTags' => $this->t('Close tags automatically.'),
      'autoCloseBrackets' => $this->t('Close brackets automatically.'),
//      'enableSearchTools' => $this->t('Enable search tools.'),
//      'enableCodeFolding' => $this->t('Enable code folding.'),
//      'enableCodeFormatting' => $this->t('Enable code formatting.'),
//      'autoFormatOnStart' => $this->t('Format code on start.'),
//      'autoFormatOnModeChange' => $this->t('Format code each time source is opened.'),
//      'autoFormatOnUncomment' => $this->t('Format code when a line is uncommented.'),
      'searchBottom' => $this->t('Display search bar at bottom.'),
      'styleActiveLine' => $this->t('Highlight active line.'),
    ];
  }

@@ -68,14 +65,29 @@ public function defaultConfiguration(): array {
   * {@inheritdoc}
   */
  public function getDynamicPluginConfig(array $static_plugin_config, EditorInterface $editor): array {
    return [
      'sourceEditingCodeMirror' => [
        'options' => [
    $options = [
      'mode' => $this->configuration['mode'],
      'gutters' => [],
      'extraKeys' => ['Alt-F' => 'findPersistent'],
      ...$this->configuration['options'],
        ],
      ],
    ];

    if ($this->configuration['options']['lineNumbers']) {
      $options['gutters'][] = 'CodeMirror-linenumbers';
    }

    if ($this->configuration['options']['folding']) {
      $options['foldGutter'] = TRUE;
      $options['gutters'][] = 'CodeMirror-foldgutter';
    }
    unset($options['folding']);

    if ($this->configuration['options']['searchBottom']) {
      $options['search'] = ['bottom' => TRUE];
    }
    unset($options['searchBottom']);

    return ['sourceEditingCodeMirror' => ['options' => $options]];
  }

  /**