Sha256: ceca6e4402edfc53d1a9f1903fff289667d2de76d5926fedb2f8fbe166ac49e0
Contents?: true
Size: 1.9 KB
Versions: 4
Compression:
Stored size: 1.9 KB
Contents
# -*- coding: utf-8 -*- # module Rouge module Lexers load_const :Javascript, 'javascript.rb' class Qml < Javascript title "QML" desc 'QML, a UI markup language' tag 'qml' aliases 'qml' filenames '*.qml' mimetypes 'application/x-qml', 'text/x-qml' id_with_dots = /[$a-zA-Z_][a-zA-Z0-9_.]*/ prepend :root do rule /(#{id_with_dots})(\s*)({)/ do groups Keyword::Type, Text, Punctuation push :type_block end rule /(#{id_with_dots})(\s+)(on)(\s+)(#{id_with_dots})(\s*)({)/ do groups Keyword::Type, Text, Keyword, Text, Name::Label, Text, Punctuation push :type_block end rule /[{]/, Punctuation, :push end state :type_block do rule /(id)(\s*)(:)(\s*)(#{id_with_dots})/ do groups Name::Label, Text, Punctuation, Text, Keyword::Declaration end rule /(#{id_with_dots})(\s*)(:)/ do groups Name::Label, Text, Punctuation push :expr_start end rule /(signal)(\s+)(#{id_with_dots})/ do groups Keyword::Declaration, Text, Name::Label push :signal end rule /(property)(\s+)(#{id_with_dots})(\s+)(#{id_with_dots})(\s*)(:?)/ do groups Keyword::Declaration, Text, Keyword::Type, Text, Name::Label, Text, Punctuation push :expr_start end rule /[}]/, Punctuation, :pop! mixin :root end state :signal do mixin :comments_and_whitespace rule /\(/ do token Punctuation goto :signal_args end rule //, Text, :pop! end state :signal_args do mixin :comments_and_whitespace rule /(#{id_with_dots})(\s+)(#{id_with_dots})(\s*)(,?)/ do groups Keyword::Type, Text, Name, Text, Punctuation end rule /\)/ , Punctuation, :pop! end end end end
Version data entries
4 entries across 4 versions & 2 rubygems
Version | Path |
---|---|
gitlab-rouge-1.9.2 | lib/rouge/lexers/qml.rb |
rouge-1.9.1 | lib/rouge/lexers/qml.rb |
rouge-1.9.0 | lib/rouge/lexers/qml.rb |
rouge-1.8.0 | lib/rouge/lexers/qml.rb |