mirror of
				https://github.com/sharkdp/bat.git
				synced 2025-10-26 04:33:53 +00:00 
			
		
		
		
	QML.sublime-syntax file generated from Support/QML.tmLanguage using Sublime's built-in converter. Fix sharkdp/bat#962
		
			
				
	
	
		
			104 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
		
			Vendored
		
	
	
	
			
		
		
	
	
			104 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
		
			Vendored
		
	
	
	
| %YAML 1.2
 | |
| ---
 | |
| # http://www.sublimetext.com/docs/3/syntax.html
 | |
| name: QML
 | |
| file_extensions:
 | |
|   - qml
 | |
|   - qmlproject
 | |
| scope: source.qml
 | |
| contexts:
 | |
|   main:
 | |
|     - match: /\*(?!/)
 | |
|       comment: Block comment.
 | |
|       push:
 | |
|         - meta_scope: comment.block.documentation.qml
 | |
|         - match: \*/
 | |
|           pop: true
 | |
|     - match: //.*$
 | |
|       comment: Line comment.
 | |
|       scope: comment.line.double-slash.qml
 | |
|     - match: \b(import)\s+
 | |
|       comment: import statement.
 | |
|       captures:
 | |
|         1: keyword.other.import.qml
 | |
|       push:
 | |
|         - meta_scope: meta.import.qml
 | |
|         - match: $
 | |
|           pop: true
 | |
|         - match: '([\w\d\.]+)\s+(\d+\.\d+)(?:\s+(as)\s+([A-Z][\w\d]*))?'
 | |
|           comment: "import Namespace VersionMajor.VersionMinor [as SingletonTypeIdentifier]"
 | |
|           scope: meta.import.namespace.qml
 | |
|           captures:
 | |
|             1: entity.name.class.qml
 | |
|             2: constant.numeric.qml
 | |
|             3: keyword.other.import.qml
 | |
|             4: entity.name.class.qml
 | |
|         - match: '(\"[^\"]+\")(?:\s+(as)\s+([A-Z][\w\d]*))?'
 | |
|           comment: "import <string> [as Script]"
 | |
|           scope: meta.import.dirjs.qml
 | |
|           captures:
 | |
|             1: string.quoted.double.qml
 | |
|             2: keyword.other.import.qml
 | |
|             3: entity.name.class.qml
 | |
|     - match: '\b[A-Z]\w*\b'
 | |
|       comment: Capitalized word (class or enum).
 | |
|       scope: support.class.qml
 | |
|     - match: '(((^|\{)\s*)|\b)on[A-Z]\w*\b'
 | |
|       comment: onSomething - handler.
 | |
|       scope: support.class.qml
 | |
|     - match: '(?:^|\{)\s*(id)\s*\:\s*([^;\s]+)\b'
 | |
|       comment: "id: <something>"
 | |
|       scope: meta.id.qml
 | |
|       captures:
 | |
|         1: keyword.other.qml
 | |
|         2: storage.modifier.qml
 | |
|     - match: '^\s*(?:(default|readonly)\s+)?(property)\s+(?:(alias)|([\w\<\>]+))\s+(\w+)'
 | |
|       comment: property definition.
 | |
|       scope: meta.propertydef.qml
 | |
|       captures:
 | |
|         1: keyword.other.qml
 | |
|         2: keyword.other.qml
 | |
|         3: keyword.other.qml
 | |
|         4: storage.type.qml
 | |
|         5: entity.other.attribute-name.qml
 | |
|     - match: \b(signal)\s+(\w+)\s*
 | |
|       comment: "signal <signalName>[([<type> <parameter>[, ...]])]"
 | |
|       captures:
 | |
|         1: keyword.other.qml
 | |
|         2: support.function.qml
 | |
|       push:
 | |
|         - meta_scope: meta.signal.qml
 | |
|         - match: ;|(?=/)|$
 | |
|           pop: true
 | |
|         - match: (\w+)\s+(\w+)
 | |
|           scope: meta.signal.parameters.qml
 | |
|           captures:
 | |
|             1: storage.type.qml
 | |
|             2: variable.parameter.qml
 | |
|     - match: (?:\b|\s+)(?:(true|false|null|undefined)|(var|void)|(on|as|enum|connect|break|case|catch|continue|debugger|default|delete|do|else|finally|for|if|in|instanceof|new|return|switch|this|throw|try|typeof|while|with))\b
 | |
|       comment: js keywords.
 | |
|       scope: meta.keyword.qml
 | |
|       captures:
 | |
|         1: constant.language.qml
 | |
|         2: storage.type.qml
 | |
|         3: keyword.control.qml
 | |
|     - match: '\b(function)\s+([\w_]+)\s*(?=\()'
 | |
|       comment: function definition.
 | |
|       scope: meta.function.qml
 | |
|       captures:
 | |
|         1: storage.type.qml
 | |
|         2: entity.name.function.untitled
 | |
|     - match: '\b[\w_]+\s*(?=\()'
 | |
|       comment: function call.
 | |
|       scope: support.function.qml
 | |
|     - match: '(?:^|\{|;)\s*[a-z][\w\.]*\s*(?=\:)'
 | |
|       comment: "property  (property: <something>)."
 | |
|       scope: entity.other.attribute-name.qml
 | |
|     - match: (?<=\.)\b\w*
 | |
|       comment: property of the variable (name.property).
 | |
|       scope: entity.other.attribute-name.qml
 | |
|     - match: '\b([a-z_]\w*)\b'
 | |
|       comment: All non colored words are assumed to be variables.
 | |
|       scope: variable.parameter
 | |
|     - include: scope:source.js
 |