Initial commit
This commit is contained in:
		
						commit
						f8b8c528ca
					
				
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,2 @@ | ||||
| node_modules/ | ||||
| package-lock.json | ||||
							
								
								
									
										16
									
								
								build.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								build.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,16 @@ | ||||
| const fs = require('fs') | ||||
| const path = require('path') | ||||
| 
 | ||||
| const yaml = require('js-yaml') | ||||
| const plist = require('plist') | ||||
| 
 | ||||
| const inPath = path.join(__dirname, 'sehn.tmLanguage.yaml') | ||||
| const outPath = path.join(__dirname, 'package/syntaxes/sehn.tmLanguage') | ||||
| 
 | ||||
| fs.readFile(inPath, (err, str) => { | ||||
|     if (err) throw err | ||||
|     const data = yaml.load(str) | ||||
|     fs.writeFile(outPath, plist.build(data), (err) => { | ||||
|         if (err) throw err | ||||
|     }) | ||||
| }) | ||||
							
								
								
									
										15
									
								
								package.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								package.json
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,15 @@ | ||||
| { | ||||
|   "name": "sehn-tm-language", | ||||
|   "version": "1.0.0", | ||||
|   "private": true, | ||||
|   "description": "", | ||||
|   "scripts": { | ||||
|     "build": "node build.js" | ||||
|   }, | ||||
|   "author": "James Dyson", | ||||
|   "license": "MIT", | ||||
|   "dependencies": { | ||||
|     "js-yaml": "^3.12.0", | ||||
|     "plist": "^3.0.1" | ||||
|   } | ||||
| } | ||||
							
								
								
									
										20
									
								
								package/package.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								package/package.json
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,20 @@ | ||||
| { | ||||
|     "name": "sehn", | ||||
|     "version": "0.0.1", | ||||
|     "engines": { | ||||
|         "vscode": ">=0.9.0" | ||||
|     }, | ||||
|     "publisher": "me", | ||||
|     "contributes": { | ||||
|         "languages": [{ | ||||
|             "id": "sehn", | ||||
|             "aliases": ["SEHN", "sehn"], | ||||
|             "extensions": [".sehn"] | ||||
|         }], | ||||
|         "grammars": [{ | ||||
|             "language": "sehn", | ||||
|             "scopeName": "source.sehn", | ||||
|             "path": "./syntaxes/sehn.tmLanguage" | ||||
|         }] | ||||
|     } | ||||
| } | ||||
							
								
								
									
										420
									
								
								package/syntaxes/sehn.tmLanguage
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										420
									
								
								package/syntaxes/sehn.tmLanguage
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,420 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
|   <dict> | ||||
|     <key>name</key> | ||||
|     <string>SEHN</string> | ||||
|     <key>uuid</key> | ||||
|     <string>06947fd2-ab1f-4518-8f45-cc76b0294e5f</string> | ||||
|     <key>scopeName</key> | ||||
|     <string>source.sehn</string> | ||||
|     <key>fileTypes</key> | ||||
|     <array> | ||||
|       <string>sehn</string> | ||||
|     </array> | ||||
|     <key>foldingStartMarker</key> | ||||
|     <string>^\s*[{\[\`](?!.*[}\]\`],?\s*$)|[{\[\`]\s*$</string> | ||||
|     <key>foldingStopMarker</key> | ||||
|     <string>^\s*[}\]\`]</string> | ||||
|     <key>patterns</key> | ||||
|     <array> | ||||
|       <dict> | ||||
|         <key>include</key> | ||||
|         <string>#value</string> | ||||
|       </dict> | ||||
|     </array> | ||||
|     <key>repository</key> | ||||
|     <dict> | ||||
|       <key>value</key> | ||||
|       <dict> | ||||
|         <key>patterns</key> | ||||
|         <array> | ||||
|           <dict> | ||||
|             <key>include</key> | ||||
|             <string>#bool</string> | ||||
|           </dict> | ||||
|           <dict> | ||||
|             <key>include</key> | ||||
|             <string>#real</string> | ||||
|           </dict> | ||||
|           <dict> | ||||
|             <key>include</key> | ||||
|             <string>#text</string> | ||||
|           </dict> | ||||
|           <dict> | ||||
|             <key>include</key> | ||||
|             <string>#text-list</string> | ||||
|           </dict> | ||||
|           <dict> | ||||
|             <key>include</key> | ||||
|             <string>#list</string> | ||||
|           </dict> | ||||
|           <dict> | ||||
|             <key>include</key> | ||||
|             <string>#dict</string> | ||||
|           </dict> | ||||
|           <dict> | ||||
|             <key>include</key> | ||||
|             <string>#tag</string> | ||||
|           </dict> | ||||
|           <dict> | ||||
|             <key>include</key> | ||||
|             <string>#kind</string> | ||||
|           </dict> | ||||
|           <dict> | ||||
|             <key>include</key> | ||||
|             <string>#comment</string> | ||||
|           </dict> | ||||
|           <dict> | ||||
|             <key>include</key> | ||||
|             <string>#illegal</string> | ||||
|           </dict> | ||||
|         </array> | ||||
|       </dict> | ||||
|       <key>bool</key> | ||||
|       <dict> | ||||
|         <key>name</key> | ||||
|         <string>constant.language.boolean.sehn</string> | ||||
|         <key>match</key> | ||||
|         <string>\b(?:true|false)\b</string> | ||||
|       </dict> | ||||
|       <key>real</key> | ||||
|       <dict> | ||||
|         <key>name</key> | ||||
|         <string>constant.numeric.sehn</string> | ||||
|         <key>match</key> | ||||
|         <string>\-?(?:(?:([0-9]+)(\.)([0-9]+))|(?:([1-9][0-9]*)(e)(-?)([1-9][0-9]+))|(?:([1-9][0-9]+)))</string> | ||||
|       </dict> | ||||
|       <key>text</key> | ||||
|       <dict> | ||||
|         <key>name</key> | ||||
|         <string>string.quoted.double.sehn</string> | ||||
|         <key>begin</key> | ||||
|         <string>"</string> | ||||
|         <key>end</key> | ||||
|         <string>"</string> | ||||
|         <key>beginCaptures</key> | ||||
|         <dict> | ||||
|           <key>0</key> | ||||
|           <dict> | ||||
|             <key>name</key> | ||||
|             <string>punctuation.definition.string.begin.sehn</string> | ||||
|           </dict> | ||||
|         </dict> | ||||
|         <key>endCaptures</key> | ||||
|         <dict> | ||||
|           <key>0</key> | ||||
|           <dict> | ||||
|             <key>name</key> | ||||
|             <string>punctuation.definition.string.end.sehn</string> | ||||
|           </dict> | ||||
|         </dict> | ||||
|         <key>patterns</key> | ||||
|         <array> | ||||
|           <dict> | ||||
|             <key>include</key> | ||||
|             <string>#text-content</string> | ||||
|           </dict> | ||||
|         </array> | ||||
|       </dict> | ||||
|       <key>text-content</key> | ||||
|       <dict> | ||||
|         <key>patterns</key> | ||||
|         <array> | ||||
|           <dict> | ||||
|             <key>name</key> | ||||
|             <string>constant.character.escape.sehn</string> | ||||
|             <key>match</key> | ||||
|             <string>\\(?:["\\/bfnrt]|u[0-9a-fA-F]{4})</string> | ||||
|           </dict> | ||||
|           <dict> | ||||
|             <key>name</key> | ||||
|             <string>invalid.illegal.unrecognized-string-escape.sehn</string> | ||||
|             <key>match</key> | ||||
|             <string>\\.</string> | ||||
|           </dict> | ||||
|         </array> | ||||
|       </dict> | ||||
|       <key>text-list</key> | ||||
|       <dict> | ||||
|         <key>name</key> | ||||
|         <string>meta.structure.stringlist</string> | ||||
|         <key>begin</key> | ||||
|         <string>\`</string> | ||||
|         <key>end</key> | ||||
|         <string>\`</string> | ||||
|         <key>beginCaptures</key> | ||||
|         <dict> | ||||
|           <key>0</key> | ||||
|           <dict> | ||||
|             <key>name</key> | ||||
|             <string>punctuation.definition.stringlist.begin.sehn</string> | ||||
|           </dict> | ||||
|         </dict> | ||||
|         <key>endCaptures</key> | ||||
|         <dict> | ||||
|           <key>0</key> | ||||
|           <dict> | ||||
|             <key>name</key> | ||||
|             <string>punctuation.definition.stringlist.end.sehn</string> | ||||
|           </dict> | ||||
|         </dict> | ||||
|         <key>patterns</key> | ||||
|         <array> | ||||
|           <dict> | ||||
|             <key>include</key> | ||||
|             <string>#text</string> | ||||
|           </dict> | ||||
|           <dict> | ||||
|             <key>include</key> | ||||
|             <string>#comment</string> | ||||
|           </dict> | ||||
|           <dict> | ||||
|             <key>include</key> | ||||
|             <string>#illegal</string> | ||||
|           </dict> | ||||
|         </array> | ||||
|       </dict> | ||||
|       <key>dict</key> | ||||
|       <dict> | ||||
|         <key>name</key> | ||||
|         <string>meta.structure.dictionary.sehn</string> | ||||
|         <key>begin</key> | ||||
|         <string>\{</string> | ||||
|         <key>end</key> | ||||
|         <string>\}</string> | ||||
|         <key>beginCaptures</key> | ||||
|         <dict> | ||||
|           <key>0</key> | ||||
|           <dict> | ||||
|             <key>name</key> | ||||
|             <string>punctuation.definition.dictionary.begin.sehn</string> | ||||
|           </dict> | ||||
|         </dict> | ||||
|         <key>endCaptures</key> | ||||
|         <dict> | ||||
|           <key>0</key> | ||||
|           <dict> | ||||
|             <key>name</key> | ||||
|             <string>punctuation.definition.dictionary.end.sehn</string> | ||||
|           </dict> | ||||
|         </dict> | ||||
|         <key>patterns</key> | ||||
|         <array> | ||||
|           <dict> | ||||
|             <key>include</key> | ||||
|             <string>#dict-key</string> | ||||
|           </dict> | ||||
|           <dict> | ||||
|             <key>include</key> | ||||
|             <string>#comment</string> | ||||
|           </dict> | ||||
|           <dict> | ||||
|             <key>include</key> | ||||
|             <string>#dict-val</string> | ||||
|           </dict> | ||||
|           <dict> | ||||
|             <key>name</key> | ||||
|             <string>invalid.illegal.expected-dictionary-separator.sehn</string> | ||||
|             <key>match</key> | ||||
|             <string>[^\s\}]</string> | ||||
|           </dict> | ||||
|         </array> | ||||
|       </dict> | ||||
|       <key>dict-key</key> | ||||
|       <dict> | ||||
|         <key>name</key> | ||||
|         <string>string.sehn support.type.property-name.sehn</string> | ||||
|         <key>begin</key> | ||||
|         <string>"</string> | ||||
|         <key>end</key> | ||||
|         <string>"</string> | ||||
|         <key>beginCaptures</key> | ||||
|         <dict> | ||||
|           <key>0</key> | ||||
|           <dict> | ||||
|             <key>name</key> | ||||
|             <string>punctuation.support.type.property-name.begin.sehn</string> | ||||
|           </dict> | ||||
|         </dict> | ||||
|         <key>endCaptures</key> | ||||
|         <dict> | ||||
|           <key>0</key> | ||||
|           <dict> | ||||
|             <key>name</key> | ||||
|             <string>punctuation.support.type.property-name.end.sehn</string> | ||||
|           </dict> | ||||
|         </dict> | ||||
|         <key>patterns</key> | ||||
|         <array> | ||||
|           <dict> | ||||
|             <key>include</key> | ||||
|             <string>#text-content</string> | ||||
|           </dict> | ||||
|         </array> | ||||
|       </dict> | ||||
|       <key>dict-val</key> | ||||
|       <dict> | ||||
|         <key>name</key> | ||||
|         <string>meta.structure.dictionary.value.sehn</string> | ||||
|         <key>begin</key> | ||||
|         <string>:</string> | ||||
|         <key>end</key> | ||||
|         <string>(,)|(?=\})</string> | ||||
|         <key>beginCaptures</key> | ||||
|         <dict> | ||||
|           <key>0</key> | ||||
|           <dict> | ||||
|             <key>name</key> | ||||
|             <string>punctuation.separator.dictionary.key-value.sehn</string> | ||||
|           </dict> | ||||
|         </dict> | ||||
|         <key>endCaptures</key> | ||||
|         <dict> | ||||
|           <key>1</key> | ||||
|           <dict> | ||||
|             <key>name</key> | ||||
|             <string>punctuation.separator.dictionary.pair.sehn</string> | ||||
|           </dict> | ||||
|         </dict> | ||||
|         <key>patterns</key> | ||||
|         <array> | ||||
|           <dict> | ||||
|             <key>include</key> | ||||
|             <string>#value</string> | ||||
|           </dict> | ||||
|           <dict> | ||||
|             <key>name"</key> | ||||
|             <string>invalid.illegal.expected-dictionary-separator.sehn</string> | ||||
|             <key>match"</key> | ||||
|             <string>[^\\s,]</string> | ||||
|           </dict> | ||||
|         </array> | ||||
|       </dict> | ||||
|       <key>list</key> | ||||
|       <dict> | ||||
|         <key>name</key> | ||||
|         <string>meta.structure.list.sehn</string> | ||||
|         <key>begin</key> | ||||
|         <string>\[</string> | ||||
|         <key>end</key> | ||||
|         <string>\]</string> | ||||
|         <key>beginCaptures</key> | ||||
|         <dict> | ||||
|           <key>0</key> | ||||
|           <dict> | ||||
|             <key>name</key> | ||||
|             <string>punctuation.definition.list.begin.sehn</string> | ||||
|           </dict> | ||||
|         </dict> | ||||
|         <key>endCaptures</key> | ||||
|         <dict> | ||||
|           <key>0</key> | ||||
|           <dict> | ||||
|             <key>name</key> | ||||
|             <string>punctuation.definition.list.end.sehn</string> | ||||
|           </dict> | ||||
|         </dict> | ||||
|         <key>patterns</key> | ||||
|         <array> | ||||
|           <dict> | ||||
|             <key>name</key> | ||||
|             <string>punctuation.separator.list.sehn</string> | ||||
|             <key>match</key> | ||||
|             <string>,</string> | ||||
|           </dict> | ||||
|           <dict> | ||||
|             <key>include</key> | ||||
|             <string>#value</string> | ||||
|           </dict> | ||||
|           <dict> | ||||
|             <key>name</key> | ||||
|             <string>invalid.illegal.expected-list-separator.sehn</string> | ||||
|             <key>match</key> | ||||
|             <string>[^\s\]]</string> | ||||
|           </dict> | ||||
|         </array> | ||||
|       </dict> | ||||
|       <key>tag</key> | ||||
|       <dict> | ||||
|         <key>name</key> | ||||
|         <string>meta.structure.tag</string> | ||||
|         <key>begin</key> | ||||
|         <string>(?:(\b(?:[a-z](?:[a-zA-Z0-9]*\/?[a-zA-Z0-9]+)+)\b)|(\b(?:[A-Z](?:[a-zA-Z0-9]*\/?[a-zA-Z0-9]+)+)\b))(\()</string> | ||||
|         <key>end</key> | ||||
|         <string>(\))</string> | ||||
|         <key>beginCaptures</key> | ||||
|         <dict> | ||||
|           <key>1</key> | ||||
|           <dict> | ||||
|             <key>name</key> | ||||
|             <string>storage.type.tag.standard.sehn</string> | ||||
|           </dict> | ||||
|           <key>2</key> | ||||
|           <dict> | ||||
|             <key>name</key> | ||||
|             <string>storage.type.tag.application.sehn</string> | ||||
|           </dict> | ||||
|           <key>3</key> | ||||
|           <dict> | ||||
|             <key>name</key> | ||||
|             <string>punctuation.definition.tag.begin.sehn</string> | ||||
|           </dict> | ||||
|         </dict> | ||||
|         <key>endCaptures</key> | ||||
|         <dict> | ||||
|           <key>0</key> | ||||
|           <dict> | ||||
|             <key>name</key> | ||||
|             <string>punctuation.definition.tag.end.sehn</string> | ||||
|           </dict> | ||||
|         </dict> | ||||
|         <key>patterns</key> | ||||
|         <array> | ||||
|           <dict> | ||||
|             <key>include</key> | ||||
|             <string>#value</string> | ||||
|           </dict> | ||||
|         </array> | ||||
|       </dict> | ||||
|       <key>kind</key> | ||||
|       <dict> | ||||
|         <key>patterns</key> | ||||
|         <array> | ||||
|           <dict> | ||||
|             <key>name</key> | ||||
|             <string>storage.type.base.sehn</string> | ||||
|             <key>match</key> | ||||
|             <string>\b(?:none|bool|real|text|dict|list|kind)\b</string> | ||||
|           </dict> | ||||
|           <dict> | ||||
|             <key>name</key> | ||||
|             <string>storage.type.extension.standard.sehn</string> | ||||
|             <key>match</key> | ||||
|             <string>\b(?:[a-z](?:[a-zA-Z0-9]*\/?[a-zA-Z0-9]+)+)\b</string> | ||||
|           </dict> | ||||
|           <dict> | ||||
|             <key>name</key> | ||||
|             <string>storage.type.extension.application.sehn</string> | ||||
|             <key>match</key> | ||||
|             <string>\b(?:[A-Z](?:[a-zA-Z0-9]*\/?[a-zA-Z0-9]+)+)\b</string> | ||||
|           </dict> | ||||
|         </array> | ||||
|       </dict> | ||||
|       <key>comment</key> | ||||
|       <dict> | ||||
|         <key>name</key> | ||||
|         <string>comment.line.sehn</string> | ||||
|         <key>match</key> | ||||
|         <string>#.*</string> | ||||
|       </dict> | ||||
|       <key>illegal</key> | ||||
|       <dict> | ||||
|         <key>name</key> | ||||
|         <string>invalid.illegal.sehn</string> | ||||
|         <key>match</key> | ||||
|         <string>[^\s]</string> | ||||
|       </dict> | ||||
|     </dict> | ||||
|   </dict> | ||||
| </plist> | ||||
							
								
								
									
										195
									
								
								sehn.tmLanguage.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										195
									
								
								sehn.tmLanguage.yaml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,195 @@ | ||||
| # ===================================== | ||||
| # Meta | ||||
| 
 | ||||
| name: SEHN | ||||
| uuid: 06947fd2-ab1f-4518-8f45-cc76b0294e5f | ||||
| scopeName: source.sehn | ||||
| fileTypes: | ||||
|   - sehn | ||||
| 
 | ||||
| # ===================================== | ||||
| # Folding | ||||
| 
 | ||||
| # Matches the start of a dict, list or textlist as | ||||
| # long as the end does not follow on the same line, ignoring | ||||
| # whitespace and one optional comma OR if the start character | ||||
| # is at the end of the line. | ||||
| foldingStartMarker: '^\s*[{\[\`](?!.*[}\]\`],?\s*$)|[{\[\`]\s*$' | ||||
| 
 | ||||
| # Matches the end of a dict, list or textlist as | ||||
| # long as it is not preceeded by anything other | ||||
| # than whitespace. | ||||
| foldingStopMarker: '^\s*[}\]\`]' | ||||
| 
 | ||||
| # ===================================== | ||||
| # Root patterns | ||||
| 
 | ||||
| patterns: | ||||
|   -	include: '#value' | ||||
| 
 | ||||
| # ===================================== | ||||
| # Common patterns | ||||
| 
 | ||||
| repository: | ||||
|   value: | ||||
|     patterns: | ||||
|       - include: '#bool' | ||||
|       - include: '#real' | ||||
|       - include: '#text' | ||||
|       - include: '#text-list' | ||||
|       - include: '#list' | ||||
|       - include: '#dict' | ||||
|       - include: '#tag' | ||||
|       - include: '#kind' | ||||
|       - include: '#comment' | ||||
|       - include: '#illegal' | ||||
| 
 | ||||
|   # ===================================== | ||||
| 
 | ||||
|   bool: | ||||
|     name: constant.language.boolean.sehn | ||||
|     match: '\b(?:true|false)\b' | ||||
| 
 | ||||
|   # ===================================== | ||||
| 
 | ||||
|   real: | ||||
|     name: constant.numeric.sehn | ||||
|     match: '\-?(?:(?:([0-9]+)(\.)([0-9]+))|(?:([1-9][0-9]*)(e)(-?)([1-9][0-9]+))|(?:([1-9][0-9]+)))' | ||||
| 
 | ||||
|   # ===================================== | ||||
| 
 | ||||
|   text: | ||||
|     name: string.quoted.double.sehn | ||||
|     begin: '"' | ||||
|     end: '"' | ||||
|     beginCaptures: | ||||
|       0: | ||||
|         name: punctuation.definition.string.begin.sehn | ||||
|     endCaptures: | ||||
|       0: | ||||
|         name: punctuation.definition.string.end.sehn | ||||
|     patterns: | ||||
|       - include: '#text-content' | ||||
|   text-content: | ||||
|     patterns: | ||||
|       - name: constant.character.escape.sehn | ||||
|         match: '\\(?:["\\/bfnrt]|u[0-9a-fA-F]{4})' | ||||
|       - name: invalid.illegal.unrecognized-string-escape.sehn | ||||
|         match: '\\.' | ||||
|   text-list: | ||||
|     name: meta.structure.stringlist | ||||
|     begin: '\`' | ||||
|     end: '\`' | ||||
|     beginCaptures: | ||||
|       0: | ||||
|         name: punctuation.definition.stringlist.begin.sehn | ||||
|     endCaptures: | ||||
|       0: | ||||
|         name: punctuation.definition.stringlist.end.sehn | ||||
|     patterns: | ||||
|       - include: '#text' | ||||
|       - include: '#comment' | ||||
|       - include: '#illegal' | ||||
| 
 | ||||
|   # ===================================== | ||||
| 
 | ||||
|   dict: | ||||
|     name: meta.structure.dictionary.sehn | ||||
|     begin: '\{' | ||||
|     end: '\}' | ||||
|     beginCaptures: | ||||
|       0: | ||||
|         name: punctuation.definition.dictionary.begin.sehn | ||||
|     endCaptures: | ||||
|       0: | ||||
|         name: punctuation.definition.dictionary.end.sehn | ||||
|     patterns: | ||||
|       -	include: '#dict-key' | ||||
|       - include: '#comment' | ||||
|       - include: '#dict-val' | ||||
|       - name: invalid.illegal.expected-dictionary-separator.sehn | ||||
|         match: '[^\s\}]' | ||||
|   dict-key: | ||||
|     name: string.sehn support.type.property-name.sehn | ||||
|     begin: '"' | ||||
|     end: '"' | ||||
|     beginCaptures: | ||||
|       0: | ||||
|         name: punctuation.support.type.property-name.begin.sehn | ||||
|     endCaptures: | ||||
|       0: | ||||
|         name: punctuation.support.type.property-name.end.sehn | ||||
|     patterns: | ||||
|       - include: '#text-content' | ||||
|   dict-val: | ||||
|     name: meta.structure.dictionary.value.sehn | ||||
|     begin: ':' | ||||
|     end: '(,)|(?=\})' | ||||
|     beginCaptures: | ||||
|       0: | ||||
|         name: punctuation.separator.dictionary.key-value.sehn | ||||
|     endCaptures: | ||||
|       1: | ||||
|         name: punctuation.separator.dictionary.pair.sehn | ||||
|     patterns: | ||||
|       - include: '#value' | ||||
|       - name": invalid.illegal.expected-dictionary-separator.sehn | ||||
|         match": '[^\\s,]' | ||||
| 
 | ||||
|   # ===================================== | ||||
| 
 | ||||
|   list: | ||||
|     name: meta.structure.list.sehn | ||||
|     begin: '\[' | ||||
|     end: '\]' | ||||
|     beginCaptures: | ||||
|       0: | ||||
|         name: punctuation.definition.list.begin.sehn | ||||
|     endCaptures: | ||||
|       0: | ||||
|         name: punctuation.definition.list.end.sehn | ||||
|     patterns: | ||||
|       - name: punctuation.separator.list.sehn | ||||
|         match: ',' | ||||
|       - include: '#value' | ||||
|       - name: invalid.illegal.expected-list-separator.sehn | ||||
|         match: '[^\s\]]' | ||||
| 
 | ||||
|   # ===================================== | ||||
| 
 | ||||
|   tag: | ||||
|     name: meta.structure.tag | ||||
|     begin: '(?:(\b(?:[a-z](?:[a-zA-Z0-9]*\/?[a-zA-Z0-9]+)+)\b)|(\b(?:[A-Z](?:[a-zA-Z0-9]*\/?[a-zA-Z0-9]+)+)\b))(\()' | ||||
|     end: '(\))' | ||||
|     beginCaptures: | ||||
|       1: | ||||
|         name: storage.type.tag.standard.sehn | ||||
|       2: | ||||
|         name: storage.type.tag.application.sehn | ||||
|       3: | ||||
|         name: punctuation.definition.tag.begin.sehn | ||||
|     endCaptures: | ||||
|       0: | ||||
|         name: punctuation.definition.tag.end.sehn | ||||
|     patterns: | ||||
|       - include: '#value' | ||||
| 
 | ||||
|   # ===================================== | ||||
| 
 | ||||
|   kind: | ||||
|     patterns: | ||||
|       - name: storage.type.base.sehn | ||||
|         match: '\b(?:none|bool|real|text|dict|list|kind)\b' | ||||
|       - name: storage.type.extension.standard.sehn | ||||
|         match: '\b(?:[a-z](?:[a-zA-Z0-9]*\/?[a-zA-Z0-9]+)+)\b' | ||||
|       - name: storage.type.extension.application.sehn | ||||
|         match: '\b(?:[A-Z](?:[a-zA-Z0-9]*\/?[a-zA-Z0-9]+)+)\b' | ||||
| 
 | ||||
|   # ===================================== | ||||
| 
 | ||||
|   comment: | ||||
|     name: comment.line.sehn | ||||
|     match: '#.*' | ||||
|   illegal: | ||||
|     name: invalid.illegal.sehn | ||||
|     match: '[^\s]' | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user