Sha256: 267a9fc6626b8e71301c8278d6aadbe5b0cd73ad3d00878f7f9b73513c477b17

Contents?: true

Size: 1.58 KB

Versions: 15

Compression:

Stored size: 1.58 KB

Contents

// See: http://codemirror.net/doc/manual.html#modeapi
// and sample mode files: https://github.com/codemirror/CodeMirror/tree/master/mode


CodeMirror.defineMode('fluentd', function(){
  return {
    startState: function(aa){
      return { "context" : null };
    },
    token: function(stream, state){
      if(stream.eatWhile(/[ \t]/)){
        // ignore indenting spaces
        stream.skipTo(stream.peek());
        return;
      }
      if(stream.eol()){
        // reached end of line
        return;
      }

      switch(stream.peek()){
        case "#":
          stream.skipToEnd();
          return "comment";
          break;
        case "<":
          state.context = "inner-bracket";
          stream.pos += 1;
          return "keyword";
          break;
        case ">":
          stream.pos += 1;
          state.context = "inner-definition";
          return "keyword";
          break;
        default:
          switch(state.context){
            case "inner-bracket":
              stream.eat(/[^#<>]+/);
              return "keyword";
              break;
            case "inner-definition":
              var key = stream.eatWhile(/[^ \t#]/);
              state.context =  "inner-definition-keyword-appeared";
              return "variable";
              break;
            case "inner-definition-keyword-appeared":
              var key = stream.eatWhile(/[^#]/);
              state.context = "inner-definition";
              return "builtin";
              break;
            default:
              stream.eat(/[^<>#]+/);
              return "string";
          }
      }
    }
  };
});

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
fluentd-ui-0.4.5 app/assets/javascripts/codemirror_fluentd.js
fluentd-ui-0.4.4 app/assets/javascripts/codemirror_fluentd.js
fluentd-ui-0.4.3 app/assets/javascripts/codemirror_fluentd.js
fluentd-ui-0.4.2 app/assets/javascripts/codemirror_fluentd.js
fluentd-ui-0.4.1 app/assets/javascripts/codemirror_fluentd.js
fluentd-ui-0.4.0 app/assets/javascripts/codemirror_fluentd.js
fluentd-ui-0.3.21 app/assets/javascripts/codemirror_fluentd.js
fluentd-ui-0.3.20 app/assets/javascripts/codemirror_fluentd.js
fluentd-ui-0.3.19 app/assets/javascripts/codemirror_fluentd.js
fluentd-ui-0.3.18 app/assets/javascripts/codemirror_fluentd.js
fluentd-ui-0.3.17 app/assets/javascripts/codemirror_fluentd.js
fluentd-ui-0.3.16 app/assets/javascripts/codemirror_fluentd.js
fluentd-ui-0.3.15 app/assets/javascripts/codemirror_fluentd.js
fluentd-ui-0.3.14 app/assets/javascripts/codemirror_fluentd.js
fluentd-ui-0.3.13 app/assets/javascripts/codemirror_fluentd.js