Changeset 111867 in spip-zone


Ignore:
Timestamp:
Oct 5, 2018, 9:58:57 AM (9 months ago)
Author:
arnaud.berard@…
Message:

et voila : la partie a discutter ;-)

init avec les options, keymaps pour l'edition de squelettes

pour le moment les css et js des addons,themes sont chargés dans la fonction inline_inc
on peut imaginer les deplacer dans une fonction codemirror_addons_dist qui pourrais être surchargeable

ou comme il y'avait pour jquery.ui une pipeline

Location:
_plugins_/skeleditor/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/skeleditor/trunk/inc/skeleditor_codemiror.php

    r60502 r111867  
    22
    33/**
    4  * Génère les appels js ou les css selon $type, correspondants à l'extension du fichier édité
     4 * G�n�re les appels js ou les css selon $type, correspondants � l'extension du fichier �dit�
    55 *
    66 * @param string $extension
     
    2626                        break;
    2727                case 'css':
     28                case 'scss':
     29                case 'less':
    2830                        $mode = array("css");
    2931                        break;
     
    5254                case 'php':
    5355                case 'html':
     56                        // $mode = array('htmlmixed','xml');
     57                        // break;
    5458                case 'htm':
    5559                default:
    56                         $mode = array("xml", "css", "javascript", "clike","php");
     60                        $mode = array("xml","htmlmixed", "css", "javascript", "clike","php");
    5761                        break;
    5862        }
    59 
     63       
    6064        $dir = _DIR_PLUGIN_SKELEDITOR;
    6165        $css .= "<link rel='stylesheet' href='".$dir."codemirror/lib/codemirror.css' type='text/css' />\n"
    62           . "<link rel='stylesheet' href='".$dir."codemirror/theme/default.css' type='text/css' />\n"
    63           . "<link rel='stylesheet' href='".$dir."css/skeleditor.css' type='text/css' />\n";
     66          // . "<link rel='stylesheet' href='".$dir."codemirror/theme/default.css' type='text/css' />\n"
     67                . "<link rel='stylesheet' href='".$dir."codemirror/theme/solarized.css' type='text/css' />\n"
     68                . "<link rel='stylesheet' href='".$dir."codemirror/addon/display/fullscreen.css' type='text/css' />\n"
     69                . "<link rel='stylesheet' href='".$dir."codemirror/addon/fold/foldgutter.css' type='text/css' />\n"
     70                . "<link rel='stylesheet' href='".$dir."css/skeleditor.css' type='text/css' />\n";
    6471
    6572        $js .= "<script src='".$dir."codemirror/lib/codemirror.js' type='text/javascript'></script>\n";
     73        $js .= "<script src='".$dir."javascript/emmet.js' type='text/javascript'></script>\n";
     74        $js .= "<script src='".$dir."codemirror/addon/display/fullscreen.js' type='text/javascript'></script>\n";
     75        $js .= "<script src='".$dir."codemirror/addon/edit/matchbrackets.js' type='text/javascript'></script>\n";
     76        $js .= "<script src='".$dir."codemirror/addon/edit/closebrackets.js' type='text/javascript'></script>\n";
     77
     78        $js .= "<script src='".$dir."codemirror/addon/selection/active-line.js' type='text/javascript'></script>\n";
     79
     80        $js .= "<script src='".$dir."codemirror/addon/fold/foldcode.js' type='text/javascript'></script>\n";
     81        $js .= "<script src='".$dir."codemirror/addon/fold/foldgutter.js' type='text/javascript'></script>\n";
     82        $js .= "<script src='".$dir."codemirror/addon/fold/brace-fold.js' type='text/javascript'></script>\n";
     83        $js .= "<script src='".$dir."codemirror/addon/fold/xml-fold.js' type='text/javascript'></script>\n";
     84        $js .= "<script src='".$dir."codemirror/addon/fold/indent-fold.js' type='text/javascript'></script>\n";
     85        $js .= "<script src='".$dir."codemirror/addon/fold/comment-fold.js' type='text/javascript'></script>\n";
     86
     87        $js .= "<script src='".$dir."codemirror/addon/edit/matchtags.js' type='text/javascript'></script>\n";
     88        $js .= "<script src='".$dir."codemirror/addon/edit/closetag.js' type='text/javascript'></script>\n";
    6689
    6790        foreach($mode as $m) {
     
    77100
    78101/**
    79  * Détermine le mime_type pour le mode de codemirror à afficher, selon l'extension du nom du fichier edité
     102 * D�termine le mime_type pour le mode de codemirror � afficher, selon l'extension du nom du fichier edit�
    80103 *
    81104 * @param string $extension
     
    90113                'php' => 'application/x-httpd-php',
    91114                'css' => 'text/css',
    92                 'js' => 'javascript', //codemirror2 ne doit pas avoir de mode définit pour les js
     115                'scss' => 'text/x-scss',
     116                'js' => 'javascript', //codemirror2 ne doit pas avoir de mode d�finit pour les js
    93117                'json' => 'application/json',
    94118                'xml' => 'application/xml',
     
    101125
    102126/**
    103  * Génére le script d'appel de codemirror
     127 * G�n�re le script d'appel de codemirror
    104128 *
    105129 * @param string $filename
  • _plugins_/skeleditor/trunk/javascript/codemirror_init.js

    r51737 r111867  
    11var cm_options = {
    22        lineNumbers: true,
     3        autoCloseBrackets: true,
     4        autoCloseTags: true,
    35        matchBrackets: true,
    4         indentUnit: 6,
    5         indentWithTabs: true,
    6         enterMode: "keep",
    7         tabMode: "shift"
     6        styleActiveLine: true,
     7        matchTags: {
     8                bothTags: true
     9        },
     10        lineWrapping: false,
     11        foldGutter: true,
     12        gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"],
     13        theme: "default solarized dark",
     14        extraKeys: {
     15                "Ctrl-J": "toMatchingTag",
     16                "Ctrl-Q": function(cm){
     17                         cm.foldCode(cm.getCursor());
     18                },
     19                "F11": function(cm) {
     20                        cm.setOption("fullScreen", !cm.getOption("fullScreen"));
     21                },
     22                "Esc": function(cm) {
     23                        if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false);
     24                }
     25        }
    826};
     27
    928if (cm_mode.length)
    1029        cm_options.mode = cm_mode;
     
    1332var lastPos = null, lastQuery = null, marked = [];
    1433
     34
     35
    1536function editor_init(){
     37
     38
    1639        editor = CodeMirror.fromTextArea(document.getElementById('code'), cm_options);
     40        var snip = emmetCodeMirror(editor).emmet.loadSnippets({
     41                'html':{
     42                        'snippets':{
     43                                'plouf': 'Super ton snippet'
     44                        }
     45                }
     46        });
     47        var res = emmetCodeMirror(editor);
     48        console.log(snip);
     49        // emmetCodeMirror(editor);
    1750}
    1851
     
    2154  marked.length = 0;
    2255}
     56
     57
    2358
    2459function search() {
Note: See TracChangeset for help on using the changeset viewer.