9 lines
18 KiB
JavaScript
9 lines
18 KiB
JavaScript
|
import html from './html.mjs'
|
||
|
|
||
|
const lang = Object.freeze(JSON.parse("{\"displayName\":\"Elixir\",\"fileTypes\":[\"ex\",\"exs\"],\"firstLineMatch\":\"^#!/.*\\\\belixir\",\"foldingStartMarker\":\"(after|else|catch|rescue|\\\\-\\\\>|\\\\{|\\\\[|do)\\\\s*$\",\"foldingStopMarker\":\"^\\\\s*((\\\\}|\\\\]|after|else|catch|rescue)\\\\s*$|end\\\\b)\",\"name\":\"elixir\",\"patterns\":[{\"begin\":\"\\\\b(fn)\\\\b(?!.*->)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.elixir\"}},\"end\":\"$\",\"patterns\":[{\"include\":\"#core_syntax\"}]},{\"captures\":{\"1\":{\"name\":\"entity.name.type.class.elixir\"},\"2\":{\"name\":\"punctuation.separator.method.elixir\"},\"3\":{\"name\":\"entity.name.function.elixir\"}},\"match\":\"([A-Z]\\\\w+)\\\\s*(\\\\.)\\\\s*([a-z_]\\\\w*[!?]?)\"},{\"captures\":{\"1\":{\"name\":\"constant.other.symbol.elixir\"},\"2\":{\"name\":\"punctuation.separator.method.elixir\"},\"3\":{\"name\":\"entity.name.function.elixir\"}},\"match\":\"(\\\\:\\\\w+)\\\\s*(\\\\.)\\\\s*([_]?\\\\w*[!?]?)\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.other.elixir\"},\"2\":{\"name\":\"entity.name.function.elixir\"}},\"match\":\"(\\\\|\\\\>)\\\\s*([a-z_]\\\\w*[!?]?)\"},{\"match\":\"\\\\b[a-z_]\\\\w*[!?]?(?=\\\\s*\\\\.?\\\\s*\\\\()\",\"name\":\"entity.name.function.elixir\"},{\"begin\":\"\\\\b(fn)\\\\b(?=.*->)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.elixir\"}},\"end\":\"(?>(->)|(when)|(\\\\)))\",\"endCaptures\":{\"1\":{\"name\":\"keyword.operator.other.elixir\"},\"2\":{\"name\":\"keyword.control.elixir\"},\"3\":{\"name\":\"punctuation.section.function.elixir\"}},\"patterns\":[{\"include\":\"#core_syntax\"}]},{\"include\":\"#core_syntax\"},{\"begin\":\"^(?=.*->)((?![^\\\"']*(\\\"|')[^\\\"']*->)|(?=.*->[^\\\"']*(\\\"|')[^\\\"']*->))((?!.*\\\\([^\\\\)]*->)|(?=[^\\\\(\\\\)]*->)|(?=\\\\s*\\\\(.*\\\\).*->))((?!.*\\\\b(fn)\\\\b)|(?=.*->.*\\\\bfn\\\\b))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.elixir\"}},\"end\":\"(?>(->)|(when)|(\\\\)))\",\"endCaptures\":{\"1\":{\"name\":\"keyword.operator.other.elixir\"},\"2\":{\"name\":\"keyword.control.elixir\"},\"3\":{\"name\":\"punctuation.section.function.elixir\"}},\"patterns\":[{\"include\":\"#core_syntax\"}]}],\"repository\":{\"core_syntax\":{\"patterns\":[{\"begin\":\"^\\\\s*(defmodule)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.module.elixir\"}},\"end\":\"\\\\b(do)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.module.elixir\"}},\"name\":\"meta.module.elixir\",\"patterns\":[{\"match\":\"\\\\b[A-Z]\\\\w*(?=\\\\.)\",\"name\":\"entity.other.inherited-class.elixir\"},{\"match\":\"\\\\b[A-Z]\\\\w*\\\\b\",\"name\":\"entity.name.type.class.elixir\"}]},{\"begin\":\"^\\\\s*(defprotocol)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.protocol.elixir\"}},\"end\":\"\\\\b(do)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.protocol.elixir\"}},\"name\":\"meta.protocol_declaration.elixir\",\"patterns\":[{\"match\":\"\\\\b[A-Z]\\\\w*\\\\b\",\"name\":\"entity.name.type.protocol.elixir\"}]},{\"begin\":\"^\\\\s*(defimpl)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.protocol.elixir\"}},\"end\":\"\\\\b(do)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.protocol.elixir\"}},\"name\":\"meta.protocol_implementation.elixir\",\"patterns\":[{\"match\":\"\\\\b[A-Z]\\\\w*\\\\b\",\"name\":\"entity.name.type.protocol.elixir\"}]},{\"begin\":\"^\\\\s*(def|defmacro|defdelegate|defguard)\\\\s+((?>[a-zA-Z_]\\\\w*(?>\\\\.|::))?(?>[a-zA-Z_]\\\\w*(?>[?!]|=(?!>))?|===?|>[>=]?|<=>|<[<=]?|[%&`/\\\\|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[\\\\]=?))((\\\\()|\\\\s*)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.module.elixir\"},\"2\":{\"name\":\"entity.name.function.public.elixir\"},\"4\":{\"name\":\"punctuation.section.function.elixir\"}},\"end\":\"(\\\\bdo:)|(\\\\bdo\\\\b)|(?=\\\\s+(def|defn|defmacro|defdelegate|defguard)\\\\b)\",\"endCaptures\":{\"1\":{\"name\":\"constant.other.keywords.elixir\"},\"2\":{\"name\":\"keyword.control.module.elixir\"}},\"name\":\"meta.function.public.elixir\",\"patterns\":[{\"include\":\"$self\"},{\"begin\":\"\\\\s(\\\\\\\\\
|
||
|
|
||
|
export default [
|
||
|
...html,
|
||
|
lang
|
||
|
]
|