move a few things away in to-be-integrated/
[myslice.git] / third-party / codemirror-3.15 / mode / livescript / livescript.ls
diff --git a/third-party/codemirror-3.15/mode/livescript/livescript.ls b/third-party/codemirror-3.15/mode/livescript/livescript.ls
deleted file mode 100644 (file)
index 0652423..0000000
+++ /dev/null
@@ -1,266 +0,0 @@
-/**
- * Link to the project's GitHub page:
- * https://github.com/duralog/CodeMirror
- */
-CodeMirror.defineMode 'livescript', (conf) ->
-  tokenBase = (stream, state) ->
-    #indent =
-    if next_rule = state.next or \start
-      state.next = state.next
-      if Array.isArray nr = Rules[next_rule]
-        for r in nr
-          if r.regex and m = stream.match r.regex
-            state.next = r.next
-            return r.token
-        stream.next!
-        return \error
-      if stream.match r = Rules[next_rule]
-        if r.regex and stream.match r.regex
-          state.next = r.next
-          return r.token
-        else
-          stream.next!
-          return \error
-    stream.next!
-    return 'error'
-  external = {
-    startState: (basecolumn) ->
-      {
-        next: \start
-        lastToken: null
-      }
-    token: (stream, state) ->
-      style = tokenBase stream, state #tokenLexer stream, state
-      state.lastToken = {
-        style: style
-        indent: stream.indentation!
-        content: stream.current!
-      }
-      style.replace /\./g, ' '
-    indent: (state, textAfter) ->
-      # XXX this won't work with backcalls
-      indentation = state.lastToken.indent
-      if state.lastToken.content.match indenter then indentation += 2
-      return indentation
-  }
-  external
-
-### Highlight Rules
-# taken from mode-ls.ls
-
-indenter = // (?
-    : [({[=:]
-    | [-~]>
-    | \b (?: e(?:lse|xport) | d(?:o|efault) | t(?:ry|hen) | finally |
-             import (?:\s* all)? | const | var |
-             let | new | catch (?:\s* #identifier)? )
-  ) \s* $ //
-
-identifier = /(?![\d\s])[$\w\xAA-\uFFDC](?:(?!\s)[$\w\xAA-\uFFDC]|-[A-Za-z])*/$
-keywordend = /(?![$\w]|-[A-Za-z]|\s*:(?![:=]))/$
-stringfill = token: \string, regex: '.+'
-
-Rules =
-  start:
-    * token: \comment.doc
-      regex: '/\\*'
-      next : \comment
-
-    * token: \comment
-      regex: '#.*'
-
-    * token: \keyword
-      regex: //(?
-        :t(?:h(?:is|row|en)|ry|ypeof!?)
-        |c(?:on(?:tinue|st)|a(?:se|tch)|lass)
-        |i(?:n(?:stanceof)?|mp(?:ort(?:\s+all)?|lements)|[fs])
-        |d(?:e(?:fault|lete|bugger)|o)
-        |f(?:or(?:\s+own)?|inally|unction)
-        |s(?:uper|witch)
-        |e(?:lse|x(?:tends|port)|val)
-        |a(?:nd|rguments)
-        |n(?:ew|ot)
-        |un(?:less|til)
-        |w(?:hile|ith)
-        |o[fr]|return|break|let|var|loop
-      )//$ + keywordend
-
-    * token: \constant.language
-      regex: '(?:true|false|yes|no|on|off|null|void|undefined)' + keywordend
-
-    * token: \invalid.illegal
-      regex: '(?
-        :p(?:ackage|r(?:ivate|otected)|ublic)
-        |i(?:mplements|nterface)
-        |enum|static|yield
-      )' + keywordend
-
-    * token: \language.support.class
-      regex: '(?
-        :R(?:e(?:gExp|ferenceError)|angeError)
-        |S(?:tring|yntaxError)
-        |E(?:rror|valError)
-        |Array|Boolean|Date|Function|Number|Object|TypeError|URIError
-      )' + keywordend
-
-    * token: \language.support.function
-      regex: '(?
-        :is(?:NaN|Finite)
-        |parse(?:Int|Float)
-        |Math|JSON
-        |(?:en|de)codeURI(?:Component)?
-      )' + keywordend
-
-    * token: \variable.language
-      regex: '(?:t(?:hat|il|o)|f(?:rom|allthrough)|it|by|e)' + keywordend
-
-    * token: \identifier
-      regex: identifier + /\s*:(?![:=])/$
-
-    * token: \variable
-      regex: identifier
-
-    * token: \keyword.operator
-      regex: /(?:\.{3}|\s+\?)/$
-
-    * token: \keyword.variable
-      regex: /(?:@+|::|\.\.)/$
-      next : \key
-
-    * token: \keyword.operator
-      regex: /\.\s*/$
-      next : \key
-
-    * token: \string
-      regex: /\\\S[^\s,;)}\]]*/$
-
-    * token: \string.doc
-      regex: \'''
-      next : \qdoc
-
-    * token: \string.doc
-      regex: \"""
-      next : \qqdoc
-
-    * token: \string
-      regex: \'
-      next : \qstring
-
-    * token: \string
-      regex: \"
-      next : \qqstring
-
-    * token: \string
-      regex: \`
-      next : \js
-
-    * token: \string
-      regex: '<\\['
-      next : \words
-
-    * token: \string.regex
-      regex: \//
-      next : \heregex
-
-    * token: \string.regex
-      regex: //
-        /(?: [^ [ / \n \\ ]*
-          (?: (?: \\.
-                | \[ [^\]\n\\]* (?:\\.[^\]\n\\]*)* \]
-              ) [^ [ / \n \\ ]*
-          )*
-        )/ [gimy$]{0,4}
-      //$
-      next : \key
-
-    * token: \constant.numeric
-      regex: '(?:0x[\\da-fA-F][\\da-fA-F_]*
-                |(?:[2-9]|[12]\\d|3[0-6])r[\\da-zA-Z][\\da-zA-Z_]*
-                |(?:\\d[\\d_]*(?:\\.\\d[\\d_]*)?|\\.\\d[\\d_]*)
-                 (?:e[+-]?\\d[\\d_]*)?[\\w$]*)'
-
-    * token: \lparen
-      regex: '[({[]'
-
-    * token: \rparen
-      regex: '[)}\\]]'
-      next : \key
-
-    * token: \keyword.operator
-      regex: \\\S+
-
-    * token: \text
-      regex: \\\s+
-
-  heregex:
-    * token: \string.regex
-      regex: '.*?//[gimy$?]{0,4}'
-      next : \start
-    * token: \string.regex
-      regex: '\\s*#{'
-    * token: \comment.regex
-      regex: '\\s+(?:#.*)?'
-    * token: \string.regex
-      regex: '\\S+'
-
-  key:
-    * token: \keyword.operator
-      regex: '[.?@!]+'
-    * token: \identifier
-      regex: identifier
-      next : \start
-    * token: \text
-      regex: '.'
-      next : \start
-
-  comment:
-    * token: \comment.doc
-      regex: '.*?\\*/'
-      next : \start
-    * token: \comment.doc
-      regex: '.+'
-
-  qdoc:
-    token: \string
-    regex: ".*?'''"
-    next : \key
-    stringfill
-
-  qqdoc:
-    token: \string
-    regex: '.*?"""'
-    next : \key
-    stringfill
-
-  qstring:
-    token: \string
-    regex: /[^\\']*(?:\\.[^\\']*)*'/$
-    next : \key
-    stringfill
-
-  qqstring:
-    token: \string
-    regex: /[^\\"]*(?:\\.[^\\"]*)*"/$
-    next : \key
-    stringfill
-
-  js:
-    token: \string
-    regex: /[^\\`]*(?:\\.[^\\`]*)*`/$
-    next : \key
-    stringfill
-
-  words:
-    token: \string
-    regex: '.*?\\]>'
-    next : \key
-    stringfill
-
-# for optimization, precompile the regexps
-for idx, r of Rules
-  if Array.isArray r
-    for rr, i in r
-      if rr.regex then Rules[idx][i].regex = new RegExp '^'+rr.regex
-  else if r.regex then Rules[idx].regex = new RegExp '^'+r.regex
-
-CodeMirror.defineMIME 'text/x-livescript', 'livescript'