mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	Merge branch 'master' into grammar-scripts
This commit is contained in:
		| @@ -27,10 +27,10 @@ We try only to add languages once they have some usage on GitHub. In most cases | ||||
|  | ||||
| To add support for a new language: | ||||
|  | ||||
| 0. Add an entry for your language to [`languages.yml`][languages]. | ||||
| 0. Add a grammar for your language: `script/add-grammar https://github.com/JaneSmith/MyGrammar` Please only add grammars that have [one of these licenses][licenses]. | ||||
| 0. Add an entry for your language to [`languages.yml`][languages]. Omit the `language_id` field for now. | ||||
| 0. Add a grammar for your language: `script/add-grammar https://github.com/JaneSmith/MyGrammar`. Please only add grammars that have [one of these licenses][licenses]. | ||||
| 0. Add samples for your language to the [samples directory][samples] in the correct subdirectory. | ||||
| 0. Add a `language_id` for your language. See `script/set-language-ids` for more information. **You should only ever need to run `script/set-language-ids --update`. Anything other than this risks breaking GitHub search :cry:** | ||||
| 0. Add a `language_id` for your language using `script/set-language-ids`. **You should only ever need to run `script/set-language-ids --update`. Anything other than this risks breaking GitHub search :cry:** | ||||
| 0. Open a pull request, linking to a [GitHub search result](https://github.com/search?utf8=%E2%9C%93&q=extension%3Aboot+NOT+nothack&type=Code&ref=searchresults) showing in-the-wild usage. | ||||
|  | ||||
| In addition, if your new language defines an extension that's already listed in [`languages.yml`][languages] (such as `.foo`) then sometimes a few more steps will need to be taken: | ||||
|   | ||||
| @@ -19,7 +19,7 @@ | ||||
| # language_id       - Integer used as a language-name-independent indexed field so that we can rename | ||||
| #                     languages in Linguist without reindexing all the code on GitHub. Must not be | ||||
| #                     changed for existing languages without the explicit permission of GitHub staff. | ||||
| # color             - CSS hex color to represent the language. | ||||
| # color             - CSS hex color to represent the language. Only used if type is "programming" or "prose" | ||||
| # tm_scope          - The TextMate scope that represents this programming | ||||
| #                     language. This should match one of the scopes listed in | ||||
| #                     the grammars.yml file. Use "none" if there is no grammar | ||||
| @@ -103,7 +103,6 @@ APL: | ||||
|   language_id: 6 | ||||
| ASN.1: | ||||
|   type: data | ||||
|   color: "#aeead0" | ||||
|   extensions: | ||||
|   - ".asn" | ||||
|   - ".asn1" | ||||
| @@ -228,7 +227,6 @@ Apex: | ||||
|   language_id: 17 | ||||
| Apollo Guidance Computer: | ||||
|   type: programming | ||||
|   color: "#0B3D91" | ||||
|   group: Assembly | ||||
|   extensions: | ||||
|   - ".agc" | ||||
| @@ -370,7 +368,6 @@ Bison: | ||||
|   extensions: | ||||
|   - ".bison" | ||||
|   ace_mode: text | ||||
|   color: "#6A463F" | ||||
|   language_id: 31 | ||||
| BitBake: | ||||
|   type: programming | ||||
| @@ -564,6 +561,17 @@ COLLADA: | ||||
|   codemirror_mode: xml | ||||
|   codemirror_mime_type: text/xml | ||||
|   language_id: 49 | ||||
| CSON: | ||||
|   type: data | ||||
|   group: CoffeeScript | ||||
|   tm_scope: source.coffee | ||||
|   ace_mode: coffee | ||||
|   codemirror_mode: coffeescript | ||||
|   codemirror_mime_type: text/x-coffeescript | ||||
|   searchable: false | ||||
|   extensions: | ||||
|   - ".cson" | ||||
|   language_id: 424 | ||||
| CSS: | ||||
|   type: markup | ||||
|   tm_scope: source.css | ||||
| @@ -694,7 +702,6 @@ CoffeeScript: | ||||
|   - "._coffee" | ||||
|   - ".cake" | ||||
|   - ".cjsx" | ||||
|   - ".cson" | ||||
|   - ".iced" | ||||
|   filenames: | ||||
|   - Cakefile | ||||
| @@ -703,7 +710,6 @@ CoffeeScript: | ||||
|   language_id: 63 | ||||
| ColdFusion: | ||||
|   type: programming | ||||
|   group: ColdFusion | ||||
|   ace_mode: coldfusion | ||||
|   color: "#ed2cd6" | ||||
|   search_term: cfm | ||||
| @@ -720,7 +726,6 @@ ColdFusion CFC: | ||||
|   type: programming | ||||
|   group: ColdFusion | ||||
|   ace_mode: coldfusion | ||||
|   color: "#ed2cd6" | ||||
|   search_term: cfc | ||||
|   aliases: | ||||
|   - cfc | ||||
| @@ -1038,7 +1043,6 @@ ECLiPSe: | ||||
|   language_id: 94 | ||||
| EJS: | ||||
|   type: markup | ||||
|   color: "#a91e50" | ||||
|   group: HTML | ||||
|   extensions: | ||||
|   - ".ejs" | ||||
| @@ -1726,11 +1730,9 @@ Haml: | ||||
|   ace_mode: haml | ||||
|   codemirror_mode: haml | ||||
|   codemirror_mime_type: text/x-haml | ||||
|   color: "#ECE2A9" | ||||
|   language_id: 154 | ||||
| Handlebars: | ||||
|   type: markup | ||||
|   color: "#01a9d6" | ||||
|   group: HTML | ||||
|   aliases: | ||||
|   - hbs | ||||
| @@ -1909,7 +1911,6 @@ J: | ||||
|   language_id: 172 | ||||
| JFlex: | ||||
|   type: programming | ||||
|   color: "#DBCA00" | ||||
|   group: Lex | ||||
|   extensions: | ||||
|   - ".flex" | ||||
| @@ -2041,19 +2042,6 @@ JavaScript: | ||||
|   - ".pac" | ||||
|   - ".sjs" | ||||
|   - ".ssjs" | ||||
|   - ".sublime-build" | ||||
|   - ".sublime-commands" | ||||
|   - ".sublime-completions" | ||||
|   - ".sublime-keymap" | ||||
|   - ".sublime-macro" | ||||
|   - ".sublime-menu" | ||||
|   - ".sublime-mousemap" | ||||
|   - ".sublime-project" | ||||
|   - ".sublime-settings" | ||||
|   - ".sublime-theme" | ||||
|   - ".sublime-workspace" | ||||
|   - ".sublime_metrics" | ||||
|   - ".sublime_session" | ||||
|   - ".xsjs" | ||||
|   - ".xsjslib" | ||||
|   filenames: | ||||
| @@ -2126,7 +2114,6 @@ LFE: | ||||
|   type: programming | ||||
|   extensions: | ||||
|   - ".lfe" | ||||
|   color: "#004200" | ||||
|   group: Erlang | ||||
|   tm_scope: source.lisp | ||||
|   ace_mode: lisp | ||||
| @@ -2183,7 +2170,6 @@ Lasso: | ||||
|   language_id: 195 | ||||
| Latte: | ||||
|   type: markup | ||||
|   color: "#A8FF97" | ||||
|   group: HTML | ||||
|   extensions: | ||||
|   - ".latte" | ||||
| @@ -2208,7 +2194,6 @@ Less: | ||||
|   ace_mode: less | ||||
|   codemirror_mode: css | ||||
|   codemirror_mime_type: text/css | ||||
|   color: "#A1D9A1" | ||||
|   language_id: 198 | ||||
| Lex: | ||||
|   type: programming | ||||
| @@ -2429,6 +2414,7 @@ Makefile: | ||||
|   extensions: | ||||
|   - ".mak" | ||||
|   - ".d" | ||||
|   - ".make" | ||||
|   - ".mk" | ||||
|   - ".mkfile" | ||||
|   filenames: | ||||
| @@ -2795,7 +2781,6 @@ NumPy: | ||||
|   ace_mode: text | ||||
|   codemirror_mode: python | ||||
|   codemirror_mime_type: text/x-python | ||||
|   color: "#9C8AF9" | ||||
|   language_id: 254 | ||||
| OCaml: | ||||
|   type: programming | ||||
| @@ -3679,7 +3664,6 @@ SCSS: | ||||
|   codemirror_mime_type: text/x-scss | ||||
|   extensions: | ||||
|   - ".scss" | ||||
|   color: "#CF649A" | ||||
|   language_id: 329 | ||||
| SMT: | ||||
|   type: programming | ||||
| @@ -3805,7 +3789,6 @@ Sass: | ||||
|   ace_mode: sass | ||||
|   codemirror_mode: sass | ||||
|   codemirror_mime_type: text/x-sass | ||||
|   color: "#CF649A" | ||||
|   language_id: 340 | ||||
| Scala: | ||||
|   type: programming | ||||
| @@ -3932,7 +3915,6 @@ Slash: | ||||
| Slim: | ||||
|   group: HTML | ||||
|   type: markup | ||||
|   color: "#ff8f77" | ||||
|   extensions: | ||||
|   - ".slim" | ||||
|   tm_scope: text.slim | ||||
| @@ -4040,6 +4022,28 @@ SubRip Text: | ||||
|   ace_mode: text | ||||
|   tm_scope: text.srt | ||||
|   language_id: 360 | ||||
| Sublime Text Config: | ||||
|   type: data | ||||
|   group: JSON | ||||
|   tm_scope: source.js | ||||
|   ace_mode: javascript | ||||
|   codemirror_mode: javascript | ||||
|   codemirror_mime_type: text/javascript | ||||
|   extensions: | ||||
|   - ".sublime-build" | ||||
|   - ".sublime-commands" | ||||
|   - ".sublime-completions" | ||||
|   - ".sublime-keymap" | ||||
|   - ".sublime-macro" | ||||
|   - ".sublime-menu" | ||||
|   - ".sublime-mousemap" | ||||
|   - ".sublime-project" | ||||
|   - ".sublime-settings" | ||||
|   - ".sublime-theme" | ||||
|   - ".sublime-workspace" | ||||
|   - ".sublime_metrics" | ||||
|   - ".sublime_session" | ||||
|   language_id: 423 | ||||
| SuperCollider: | ||||
|   type: programming | ||||
|   color: "#46390b" | ||||
| @@ -4072,6 +4076,17 @@ SystemVerilog: | ||||
|   codemirror_mode: verilog | ||||
|   codemirror_mime_type: text/x-systemverilog | ||||
|   language_id: 363 | ||||
| TI Program: | ||||
|   type: programming | ||||
|   ace_mode: text | ||||
|   color: "#A0AA87" | ||||
|   extensions: | ||||
|   - ".8xp" | ||||
|   - ".8xk" | ||||
|   - ".8xk.txt" | ||||
|   - ".8xp.txt" | ||||
|   language_id: 422 | ||||
|   tm_scope: none | ||||
| TLA: | ||||
|   type: programming | ||||
|   extensions: | ||||
| @@ -4254,7 +4269,6 @@ Unified Parallel C: | ||||
|   ace_mode: c_cpp | ||||
|   codemirror_mode: clike | ||||
|   codemirror_mime_type: text/x-csrc | ||||
|   color: "#4e3617" | ||||
|   extensions: | ||||
|   - ".upc" | ||||
|   tm_scope: source.c | ||||
|   | ||||
							
								
								
									
										72
									
								
								samples/CSON/base.cson
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								samples/CSON/base.cson
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,72 @@ | ||||
| 'atom-text-editor': | ||||
|   # Platform Bindings | ||||
|   'home': 'editor:move-to-first-character-of-line' | ||||
|   'end': 'editor:move-to-end-of-screen-line' | ||||
|   'shift-home': 'editor:select-to-first-character-of-line' | ||||
|   'shift-end': 'editor:select-to-end-of-line' | ||||
|  | ||||
| 'atom-text-editor:not([mini])': | ||||
|   # Atom Specific | ||||
|   'ctrl-C': 'editor:copy-path' | ||||
|  | ||||
|   # Sublime Parity | ||||
|   'tab': 'editor:indent' | ||||
|   'enter': 'editor:newline' | ||||
|   'shift-tab': 'editor:outdent-selected-rows' | ||||
|   'ctrl-K': 'editor:delete-line' | ||||
|  | ||||
| '.select-list atom-text-editor[mini]': | ||||
|   'enter': 'core:confirm' | ||||
|  | ||||
| '.tool-panel.panel-left, .tool-panel.panel-right': | ||||
|   'escape': 'tool-panel:unfocus' | ||||
|  | ||||
| 'atom-text-editor !important, atom-text-editor[mini] !important': | ||||
|   'escape': 'editor:consolidate-selections' | ||||
|  | ||||
| # allow standard input fields to work correctly | ||||
| 'body .native-key-bindings': | ||||
|   'tab': 'core:focus-next' | ||||
|   'shift-tab': 'core:focus-previous' | ||||
|   'enter': 'native!' | ||||
|   'backspace': 'native!' | ||||
|   'shift-backspace': 'native!' | ||||
|   'delete': 'native!' | ||||
|   'up': 'native!' | ||||
|   'down': 'native!' | ||||
|   'shift-up': 'native!' | ||||
|   'shift-down': 'native!' | ||||
|   'alt-up': 'native!' | ||||
|   'alt-down': 'native!' | ||||
|   'alt-shift-up': 'native!' | ||||
|   'alt-shift-down': 'native!' | ||||
|   'cmd-up': 'native!' | ||||
|   'cmd-down': 'native!' | ||||
|   'cmd-shift-up': 'native!' | ||||
|   'cmd-shift-down': 'native!' | ||||
|   'ctrl-up': 'native!' | ||||
|   'ctrl-down': 'native!' | ||||
|   'ctrl-shift-up': 'native!' | ||||
|   'ctrl-shift-down': 'native!' | ||||
|   'left': 'native!' | ||||
|   'right': 'native!' | ||||
|   'shift-left': 'native!' | ||||
|   'shift-right': 'native!' | ||||
|   'alt-left': 'native!' | ||||
|   'alt-right': 'native!' | ||||
|   'alt-shift-left': 'native!' | ||||
|   'alt-shift-right': 'native!' | ||||
|   'cmd-left': 'native!' | ||||
|   'cmd-right': 'native!' | ||||
|   'cmd-shift-left': 'native!' | ||||
|   'cmd-shift-right': 'native!' | ||||
|   'ctrl-left': 'native!' | ||||
|   'ctrl-right': 'native!' | ||||
|   'ctrl-shift-left': 'native!' | ||||
|   'ctrl-shift-right': 'native!' | ||||
|   'ctrl-b': 'native!' | ||||
|   'ctrl-f': 'native!' | ||||
|   'ctrl-F': 'native!' | ||||
|   'ctrl-B': 'native!' | ||||
|   'ctrl-h': 'native!' | ||||
|   'ctrl-d': 'native!' | ||||
							
								
								
									
										59
									
								
								samples/CSON/config.cson
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								samples/CSON/config.cson
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,59 @@ | ||||
| directoryIcons: | ||||
|  | ||||
| 	Atom: | ||||
| 		icon: "atom" | ||||
| 		match: /^\.atom$/ | ||||
| 		colour: "dark-green" | ||||
|  | ||||
| 	Bower: | ||||
| 		icon: "bower" | ||||
| 		match: /^bower[-_]components$/ | ||||
| 		colour: "bower" | ||||
|  | ||||
| 	Dropbox: | ||||
| 		icon: "dropbox" | ||||
| 		match: /^(?:Dropbox|\.dropbox\.cache)$/ | ||||
| 		colour: "medium-blue" | ||||
|  | ||||
| 	Git: | ||||
| 		icon: "git" | ||||
| 		match: /^\.git$/ | ||||
|  | ||||
| 	GitHub: | ||||
| 		icon: "github" | ||||
| 		match: /^\.github$/ | ||||
|  | ||||
| 	Meteor: | ||||
| 		icon: "meteor" | ||||
| 		match: /^\.meteor$/ | ||||
|  | ||||
| 	NodeJS: | ||||
| 		icon: "node" | ||||
| 		match: /^node_modules$/ | ||||
| 		colour: "medium-green" | ||||
|  | ||||
| 	Package: | ||||
| 		icon: "package" | ||||
| 		match: /^\.bundle$/i | ||||
|  | ||||
| 	TextMate: | ||||
| 		icon: "textmate" | ||||
| 		match: ".tmBundle" | ||||
|  | ||||
|  | ||||
| fileIcons: | ||||
|  | ||||
| 	ABAP: | ||||
| 		icon: "abap" | ||||
| 		scope: "abp" | ||||
| 		match: ".abap" | ||||
| 		colour: "medium-orange" | ||||
|  | ||||
| 	ActionScript: # Or Flash-related | ||||
| 		icon: "as" | ||||
| 		match: [ | ||||
| 			[".swf", "medium-blue"] | ||||
| 			[".as", "medium-red", scope: /\.(?:flex-config|actionscript(?:\.\d+)?)$/i, alias: /ActionScript\s?3|as3/i] | ||||
| 			[".jsfl", "auto-yellow"] | ||||
| 			[".swc", "dark-red"] | ||||
| 		] | ||||
							
								
								
									
										108
									
								
								samples/CSON/ff-sfd.cson
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										108
									
								
								samples/CSON/ff-sfd.cson
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,108 @@ | ||||
| name: "Spline Font Database" | ||||
| scopeName: "text.sfd" | ||||
| fileTypes: ["sfd"] | ||||
| firstLineMatch: "^SplineFontDB: [\\d.]+" | ||||
| patterns: [include: "#main"] | ||||
|  | ||||
| repository: | ||||
| 	main: | ||||
| 		patterns: [ | ||||
| 			{include: "#punctuation"} | ||||
| 			{include: "#private"} | ||||
| 			{include: "#image"} | ||||
| 			{include: "#pickleData"} | ||||
| 			{include: "#sections"} | ||||
| 			{include: "#copyright"} | ||||
| 			{include: "#property"} | ||||
| 			{include: "#control"} | ||||
| 			{include: "#address"} | ||||
| 			{include: "#encoding"} | ||||
| 			{include: "source.fontforge#shared"} | ||||
| 			{include: "#colour"} | ||||
| 		] | ||||
| 	 | ||||
| 	punctuation: | ||||
| 		patterns: [ | ||||
| 			{match: "<|>",  name: "punctuation.definition.brackets.angle.sfd"} | ||||
| 			{match: "[{}]", name: "punctuation.definition.brackets.curly.sfd"} | ||||
| 		] | ||||
|  | ||||
| 	private: | ||||
| 		name: "meta.section.private.sfd" | ||||
| 		begin: "^BeginPrivate(?=:)" | ||||
| 		end:   "^EndPrivate\\b" | ||||
| 		beginCaptures: 0: name: "keyword.control.begin.private.sfd" | ||||
| 		endCaptures:   0: name: "keyword.control.end.private.sfd" | ||||
| 		patterns: [ | ||||
| 			{match: "^\\S+", name: "entity.name.private.property.sfd"} | ||||
| 			{include: "$self"} | ||||
| 		] | ||||
| 	 | ||||
| 	image: | ||||
| 		name: "meta.image.sfd" | ||||
| 		begin: "^(Image)(?=:)(.+)$" | ||||
| 		end:   "^(EndImage)\\b" | ||||
| 		contentName: "string.unquoted.raw.data.sfd" | ||||
| 		beginCaptures: | ||||
| 			1: name: "keyword.control.begin.image.sfd" | ||||
| 			2: patterns: [include: "$self"] | ||||
| 		endCaptures: | ||||
| 			1: name: "keyword.control.end.image.sfd" | ||||
|  | ||||
| 	pickleData: | ||||
| 		name: "meta.pickle-data.sfd" | ||||
| 		begin: "^(PickledData)(:)\\s*(\")" | ||||
| 		end:   '"' | ||||
| 		beginCaptures: | ||||
| 			1: name: "entity.name.property.sfd" | ||||
| 			2: name: "punctuation.separator.dictionary.key-value.sfd" | ||||
| 			3: name: "punctuation.definition.string.begin.sfd" | ||||
| 		endCaptures: | ||||
| 			0: name: "punctuation.definition.string.end.sfd" | ||||
| 		patterns: [match: "\\\\.", name: "constant.character.escape.sfd"] | ||||
|  | ||||
| 	sections: | ||||
| 		name: "meta.section.${2:/downcase}.sfd" | ||||
| 		begin: "^(Start|Begin)([A-Z]\\w+)(?=:)" | ||||
| 		end:   "^(End\\2)\\b" | ||||
| 		beginCaptures: 0: name: "keyword.control.begin.${2:/downcase}.sfd" | ||||
| 		endCaptures:   0: name: "keyword.control.end.${2:/downcase}.sfd" | ||||
| 		patterns: [include: "$self"] | ||||
|  | ||||
| 	control: | ||||
| 		name: "keyword.control.${1:/downcase}.sfd" | ||||
| 		match: "\\b(Fore|Back|SplineSet|^End\\w+)\\b" | ||||
|  | ||||
| 	colour: | ||||
| 		name: "constant.other.hex.colour.sfd" | ||||
| 		match: "(#)[A-Fa-f0-9]{3,}|(?<=\\s)[A-Fa-f0-9]{6,8}" | ||||
| 		captures: | ||||
| 			1: name: "punctuation.definition.colour.sfd" | ||||
|  | ||||
| 	encoding: | ||||
| 		name: "constant.language.encoding.sfd" | ||||
| 		match: "(?i)\\b(ISO[-\\w]+)(?<=\\d)(?=\\s|$)" | ||||
|  | ||||
| 	# Don't highlight numbers in freeform strings (years/version strings) | ||||
| 	copyright: | ||||
| 		name: "meta.${1:/downcase}-string.sfd" | ||||
| 		begin: "^(Copyright|U?Comments?|\\w+Name)(:)" | ||||
| 		end:   "$" | ||||
| 		beginCaptures: | ||||
| 			1: name: "entity.name.property.sfd" | ||||
| 			2: name: "punctuation.separator.dictionary.key-value.sfd" | ||||
| 		patterns: [include: "source.fontforge#stringEscapes"] | ||||
| 	 | ||||
| 	# No idea what this is, but it looks distracting without a fix | ||||
| 	# Assuming it's referring to a memory register or something. | ||||
| 	address: | ||||
| 		match: "\\d+[xX][A-Fa-f0-9]+" | ||||
| 		name: "constant.numeric.hexadecimal.sfd" | ||||
| 	 | ||||
| 	property: | ||||
| 		match: "^([^:]+)(:)" | ||||
| 		name: "meta.dictionary.key-value.sfd" | ||||
| 		captures: | ||||
| 			1: name: "entity.name.property.sfd" | ||||
| 			2: name: "punctuation.separator.dictionary.key-value.sfd" | ||||
| 	 | ||||
							
								
								
									
										11
									
								
								samples/CSON/wercker-status.cson
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								samples/CSON/wercker-status.cson
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| 'menu': [ | ||||
|   { | ||||
|     'label': 'Packages' | ||||
|     'submenu': [ | ||||
|       'label': 'Wercker Status' | ||||
|       'submenu': [ | ||||
|         { 'label': 'Check now!', 'command': 'wercker-status:checknow' } | ||||
|       ] | ||||
|     ] | ||||
|   } | ||||
| ] | ||||
							
								
								
									
										134
									
								
								samples/Makefile/file-icons.make
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										134
									
								
								samples/Makefile/file-icons.make
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,134 @@ | ||||
| charmap     := charmap.md | ||||
| font-name   := file-icons | ||||
| font-folder := dist | ||||
| font-config := icomoon.json | ||||
| icon-size   := 34 | ||||
| icon-folder := svg | ||||
| repo-name   := Alhadis/FileIcons | ||||
| svg         := $(wildcard $(icon-folder)/*.svg) | ||||
| last-commit  = $(shell git log -1 --oneline --no-abbrev | cut -d' ' -f1) | ||||
|  | ||||
|  | ||||
| all: unpack $(font-folder)/$(font-name).woff2 charmap | ||||
|  | ||||
|  | ||||
| # Aliases | ||||
| unpack:  $(font-folder)/$(font-name).ttf | ||||
| charmap: $(charmap) | ||||
|  | ||||
|  | ||||
| # Extract a downloaded IcoMoon folder | ||||
| $(font-folder)/%.ttf: %.zip | ||||
| 	@rm -rf $(font-folder) tmp $(font-config) | ||||
| 	@unzip -qd tmp $^ | ||||
| 	@mv tmp/fonts $(font-folder) | ||||
| 	@mv tmp/selection.json $(font-config) | ||||
| 	@rm -rf tmp $^ | ||||
| 	@perl -pi -e 's|^( {2})+|"\t" x (length($$&)/2)|ge' $(font-config) | ||||
| 	@echo "" >> $(font-config) # Ensure trailing newline | ||||
| 	@echo "Files extracted." | ||||
|  | ||||
|  | ||||
| # Generate a WOFF2 file from a TTF | ||||
| %.woff2: %.ttf | ||||
| 	@[ ! -f $@ ] && { \ | ||||
| 		hash woff2_compress 2>/dev/null || { \ | ||||
| 			echo >&2 "WOFF2 conversion tools not found. Consult the readme file."; \ | ||||
| 			exit 2; \ | ||||
| 		}; \ | ||||
| 		woff2_compress $^ >/dev/null; \ | ||||
| 		echo "WOFF2 file generated."; \ | ||||
| 	}; | ||||
| 	 | ||||
|  | ||||
|  | ||||
| # Clean up SVG source | ||||
| lint: $(svg) | ||||
| 	@perl -0777 -pi -e '\ | ||||
| 		s/\r\n/\n/g; \ | ||||
| 		s/<g id="icomoon-ignore">\s*<\/g>//gmi; \ | ||||
| 		s/<g\s*>\s*<\/g>//gmi; \ | ||||
| 		s/\s+(id|viewBox|xml:space)="[^"]*"/ /gmi; \ | ||||
| 		s/<!DOCTYPE[^>]*>//gi; \ | ||||
| 		s/<\?xml.*?\?>//gi; \ | ||||
| 		s/<!--.*?-->//gm; \ | ||||
| 		s/ style="enable-background:.*?;"//gmi; \ | ||||
| 		s/"\s+>/">/g; \ | ||||
| 		s/\x20{2,}/ /g; \ | ||||
| 		s/[\t\n]+//gm;' $^ | ||||
|  | ||||
|  | ||||
|  | ||||
| # Generate/update character map | ||||
| $(charmap): | ||||
| 	@./create-map.pl -r=$(repo-name) -i=$(icon-folder) --size=$(icon-size) $(font-folder)/$(font-name).svg $@ | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| # POSIX systems only: reattach hard links to File-Icons package | ||||
| relink: | ||||
| 	@$(call need-var,ATOM_FILE_ICONS,ERROR_NO_PKG) | ||||
| 	@ln -f $(font-folder)/$(font-name).woff2 $(wildcard $(ATOM_FILE_ICONS)/fonts/file-icons-*.woff2) | ||||
|  | ||||
|  | ||||
|  | ||||
| # Force an icon's preview to be refreshed on GitHub | ||||
| cachebust: | ||||
| 	@$(call need-var,icon,ERROR_NO_ICON) | ||||
| 	@base="https://cdn.rawgit.com/Alhadis/FileIcons/"; \ | ||||
| 	perl -pi -e 's{$$base\K\w+(?=/svg/$(icon:%.svg=%)\.svg")}{$(last-commit)}ig;' $(charmap) | ||||
|  | ||||
|  | ||||
| # Dummy task to improve feedback if `cachebust` is mistyped | ||||
| icon: | ||||
| 	$(call need-var,,ERROR_UNDEF_ICON) | ||||
|  | ||||
|  | ||||
|  | ||||
| # Reset unstaged changes/additions in object directories | ||||
| clean: | ||||
| 	@git clean -fd $(font-folder) | ||||
| 	@git checkout -- $(font-folder) 2>/dev/null || true | ||||
|  | ||||
|  | ||||
| # Delete extracted and generated files | ||||
| distclean: | ||||
| 	@rm -rf $(font-folder) | ||||
|  | ||||
|  | ||||
| .PHONY: clean distclean $(charmap) cachebust icon | ||||
| .ONESHELL: | ||||
|  | ||||
|  | ||||
| # Error message shown to users attempting to run `make relink` without a link | ||||
| ERROR_NO_PKG := Environment variable ATOM_FILE_ICONS not found. \ | ||||
| 	| \ | ||||
| 	| Try this instead:\ | ||||
| 	| \ | ||||
| 	| \	make relink ATOM_FILE_ICONS=/path/to/your/file-icons/installation |  | ||||
|  | ||||
|  | ||||
| # Error message shown when running `make cachebust` without an icon | ||||
| ERROR_NO_ICON := No icon specified. Task aborted.| \ | ||||
| 	| Usage: \ | ||||
| 	| \	make icon=file[.svg] cachebust \ | ||||
| 	| \ | ||||
| 	| Examples: \ | ||||
| 	| \	make icon=Manpage cachebust \ | ||||
| 	| \	make icon=APL.svg cachebust |  | ||||
|  | ||||
|  | ||||
| # Shown if user tries running `make icon NAME cachebust` by mistake | ||||
| ERROR_UNDEF_ICON := No task named \"icon\". \ | ||||
| 	| \ | ||||
| 	| Did you mean this? \ | ||||
| 	| \	make icon=NAME cachebust |  | ||||
| 	 | ||||
|  | ||||
|  | ||||
| # If the given value is empty, die with an error message | ||||
| need = @$(if $(1),,echo $(subst | ,$$'\n',$(2)); exit 2) | ||||
|  | ||||
| # Like `need`, but uses variable names instead of string values | ||||
| need-var = @$(call need,$($(1)),$($(2))) | ||||
							
								
								
									
										14
									
								
								samples/Sublime Text Config/AMPL.sublime-build
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								samples/Sublime Text Config/AMPL.sublime-build
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | ||||
| { | ||||
| 	"cmd": ["ampl", "${file_path}/${file_base_name}.run"], | ||||
| 	"file_regex": "^(?:[(]file )*[ ]*(...*?), line ([0-9]*)", | ||||
| 	"selector": "source.ampl", | ||||
|  | ||||
| 	"osx": | ||||
| 	{ | ||||
| 		"env": | ||||
| 		{ | ||||
| 			// "ILOG_LICENSE_FILE": "path/to/access.ilm" | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| } | ||||
							
								
								
									
										8
									
								
								samples/Sublime Text Config/CLIPS.sublime-settings
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								samples/Sublime Text Config/CLIPS.sublime-settings
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| { | ||||
| 	"extensions": | ||||
| 	[ | ||||
| 		"clp" | ||||
| 	], | ||||
| 	"tab_size": 8, | ||||
| 	"translate_tabs_to_spaces": false | ||||
| } | ||||
							
								
								
									
										13
									
								
								samples/Sublime Text Config/Context.sublime-menu
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								samples/Sublime Text Config/Context.sublime-menu
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| [ | ||||
| { | ||||
| 	"id" : "nasm", | ||||
| 	"caption": "NASM Assembly", | ||||
| 	"children": | ||||
| 	[ | ||||
| 	{ | ||||
| 		"caption" : "Documentation", | ||||
| 		"command" : "assembly_doc" | ||||
| 	} | ||||
| 	] | ||||
| } | ||||
| ] | ||||
							
								
								
									
										30
									
								
								samples/Sublime Text Config/Dart.sublime-commands
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								samples/Sublime Text Config/Dart.sublime-commands
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,30 @@ | ||||
| [ | ||||
| 	{ "caption": "Dart: Polymer: Generate Element", "command": "dart_generate_polymer_element" }, | ||||
| 	{ "caption": "Dart: Polymer: Add Entry Point", "command": "dart_add_polymer_entry_point" }, | ||||
|  | ||||
| 	{ "caption": "Dart: Check Configuration", "command": "dart_check_config" }, | ||||
| 	{ "caption": "Dart: Browse API Reference", "command": "dart_open_browser", "args": {"url": "https://api.dartlang.org/apidocs/channels/stable/dartdoc-viewer/home" } }, | ||||
| 	{ "caption": "Dart: Set Default User Browser", "command": "dart_show_user_browsers" }, | ||||
|  | ||||
| 	{ "caption": "Preferences: Dart Settings - Default", "command": "dart_open_settings", "args": {"kind": "default"} }, | ||||
| 	{ "caption": "Preferences: Dart Settings - User", "command": "dart_open_settings", "args": {"kind": "user"} }, | ||||
| 	{ "caption": "Preferences: Dart Settings - File Type (User)", "command": "dart_open_settings", "args": {"kind": "user", "scope": "file_type"} }, | ||||
|  | ||||
| 	{ "caption": "Dart: Run", "command": "dart_smart_run" }, | ||||
| 	{ "caption": "Dart: Run (This File)", "command": "dart_smart_run", "args": {"force_update": true} }, | ||||
| 	{ "caption": "Dart: Stop", "command": "dart_smart_run", "args": {"kill_only": true} }, | ||||
|  | ||||
| 	{ "caption": "Dart: Run In Observatory (This File)", "command": "dart_run_in_observatory" }, | ||||
|  | ||||
| 	{ "caption": "Dart: Show Output Panel", "command": "show_panel", "args": {"panel": "output.dart.out"} }, | ||||
| 	{ "caption": "Dart: Show Errors Panel", "command": "show_panel", "args": {"panel": "output.dart.errors"} }, | ||||
|  | ||||
| 	{ "caption": "Dart: Format", "command": "dart_format" }, | ||||
|  | ||||
| 	{ "caption": "Dart: Generate Documentation", "command": "dart_generate_docs" }, | ||||
| 	{ "caption": "Dart: Serve Documentation", "command": "dart_serve_docs" }, | ||||
|  | ||||
| 	{ "caption": "Dart: Stagehand", "command": "dart_stagehand_wizard" }, | ||||
|  | ||||
| 	{ "caption": "Dart: Pub Get", "command": "dart_pub_get" } | ||||
| ] | ||||
							
								
								
									
										40
									
								
								samples/Sublime Text Config/Dart.sublime-project
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								samples/Sublime Text Config/Dart.sublime-project
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,40 @@ | ||||
| { | ||||
| 	"folders": | ||||
| 	[ | ||||
| 		{ | ||||
| 			"follow_symlinks": true, | ||||
| 			"path": "." | ||||
| 		} | ||||
| 	], | ||||
|  | ||||
| 	"SublimeLinter": | ||||
| 	{ | ||||
| 		"@python": 3.4 | ||||
| 	}, | ||||
|  | ||||
| 	"build_systems": | ||||
| 	[ | ||||
| 		{ | ||||
| 			"name": "Run", | ||||
| 			"shell_cmd": "\"$project_path/scripts/build.sh\"", | ||||
| 			"windows": | ||||
| 			{ | ||||
| 				"shell_cmd": "powershell -noninteractive -file \"$project_path\\build.ps1\"" | ||||
| 			}, | ||||
| 			"working_dir": "${project_path}", | ||||
|  | ||||
| 			"variants": [ | ||||
| 				{ | ||||
| 					"name": "Dart: Test (All)", | ||||
| 					"target": "run_dart_tests", | ||||
| 				}, | ||||
|  | ||||
| 				{ | ||||
| 					"name": "Dart: Test (This File Only)", | ||||
| 					"target": "run_dart_tests", | ||||
| 					"active_file_only": true | ||||
| 				} | ||||
| 			] | ||||
| 		} | ||||
| 	] | ||||
| } | ||||
| @@ -0,0 +1,7 @@ | ||||
| [ | ||||
| 	{ | ||||
| 		"button": "button1", "count": 1, "modifiers": ["alt"], | ||||
| 		"press_command": "drag_select", | ||||
| 		"command": "robot_go_to_keyword" | ||||
| 	} | ||||
| ] | ||||
							
								
								
									
										6
									
								
								samples/Sublime Text Config/Default.sublime-keymap
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								samples/Sublime Text Config/Default.sublime-keymap
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| [ | ||||
| 	// Disable auto-pair for single quote | ||||
| 	{ "keys": ["'"], "command": "insert_snippet", "args": {"contents": "'"}, "context": | ||||
| 		[{ "key": "selector", "operator": "equal", "operand": "source.rust" }] | ||||
| 	} | ||||
| ] | ||||
| @@ -0,0 +1,6 @@ | ||||
| [ | ||||
| 	{"command": "move_to", "args": {"to": "hardeol"}}, | ||||
| 	{"command": "insert", "args": {"characters": "\n"}}, | ||||
| 	{"command": "insert", "args": {"characters": "*"}}, | ||||
| 	{"command": "insert", "args": {"characters": " "}} | ||||
| ] | ||||
							
								
								
									
										5
									
								
								samples/Sublime Text Config/RunBuild.sublime-macro
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								samples/Sublime Text Config/RunBuild.sublime-macro
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | ||||
| [ | ||||
| 	{ | ||||
| 		"command": "haxe_run_build" | ||||
| 	} | ||||
| ] | ||||
							
								
								
									
										19
									
								
								samples/Sublime Text Config/SourcePawn.sublime-build
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								samples/Sublime Text Config/SourcePawn.sublime-build
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | ||||
| { | ||||
| 	// For default sourcemod scripting directory : | ||||
| 	"cmd": ["<spcomp_path>", "-o$file_path/../plugins/$file_name", "$file"], | ||||
|  | ||||
| 	// For custom sourcemod  scripting directory : | ||||
| 	"cmd": ["<spcomp_path>", "-i<include_path>", "-o$file_path/$file_base_name.smx", "$file"], | ||||
|  | ||||
| 	// Windows example: | ||||
| 	"cmd": ["X:/somefolder/spcomp", "-iX:/somefolder", "-o$file_path/$file_base_name.smx", "$file"], | ||||
| 	"cmd": ["X:/game/csgo/addons/sourcemod/scripting/spcomp", "-o$file_path/../plugins/$file_name", "$file"], | ||||
|  | ||||
| 	// Linux or OSX example: | ||||
| 	"cmd": ["/home/User/sm/spcomp", "-i/home/User/sm/include", "-o$file_path/$file_base_name.smx", "$file"], | ||||
| 	"cmd": ["/home/User/game/csgo/addons/sourcemod/scripting/spcomp", "-o$file_path/../plugins/$file_name", "$file"], | ||||
|  | ||||
|  | ||||
| 	"file_regex": "(.*)\\((\\d+)\\) :", | ||||
| 	"selector": "source.sp" | ||||
| } | ||||
							
								
								
									
										861
									
								
								samples/Sublime Text Config/Tubnil.sublime-theme
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										861
									
								
								samples/Sublime Text Config/Tubnil.sublime-theme
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,861 @@ | ||||
| [ | ||||
| 	//	Tubnil theme for Sublime Text 2 | ||||
| 	//	https://github.com/nilium/st2-nil-theme | ||||
| 	// | ||||
| 	//	TABS | ||||
| 	//	========================================================== | ||||
| 	//	- Tabset | ||||
| 	//	------------------------------------------------------ | ||||
| 	{ | ||||
| 		"class": "tabset_control", | ||||
| 		"layer0.texture": "SourcePawn/assets/tabset-bg.png", | ||||
| 		"layer0.inner_margin": [2, 6], | ||||
| 		"layer0.opacity": 1.0, | ||||
| 		"content_margin": [-13, 0, -13,-6], // left, top, right, bottom | ||||
| 		"tab_overlap": 25, | ||||
| 		"tab_width": 150, | ||||
| 		"tab_min_width": 50, | ||||
| 		"tab_height": 35, | ||||
| 		"mouse_wheel_switch": false | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "tabset_control", | ||||
| 		"settings": ["mouse_wheel_switches_tabs"], | ||||
| 		"mouse_wheel_switch": true | ||||
| 	}, | ||||
|  | ||||
| 	//	- Tab element | ||||
| 	//	------------------------------------------------------ | ||||
| 	{ | ||||
| 		"class": "tab_control", | ||||
| 		"content_margin": [25, 0, 25, 0], | ||||
| 		"max_margin_trim": 0, | ||||
| 		"hit_test_level": 0.5, | ||||
|  | ||||
| 		//	- Inactive tab settings | ||||
| 		"layer0.texture": "SourcePawn/assets/tab-inactive.png", | ||||
| 		"layer0.inner_margin": [23, 8], | ||||
| 		"layer0.opacity": 1.0, | ||||
|  | ||||
| 		//	- Active tab setting | ||||
| 		"layer1.texture": "SourcePawn/assets/tab-active.png", | ||||
| 		"layer1.inner_margin": [23, 8], | ||||
| 		"layer1.opacity": 0.0, | ||||
|  | ||||
| 		//	- Hover tab setting | ||||
| 		"layer2.texture": "SourcePawn/assets/tab-hover.png", | ||||
| 		"layer2.inner_margin": [23, 8], | ||||
| 		"layer2.opacity": 0.0 | ||||
| 	}, | ||||
| 	{ | ||||
| 		//	- Tab close state | ||||
| 		"class": "tab_control", | ||||
| 		"settings": ["show_tab_close_buttons"], | ||||
| 		"content_margin": [20, 0, 20, 7] | ||||
| 	}, | ||||
| 	{ | ||||
| 		//	- Hover tab state | ||||
| 		"class": "tab_control", | ||||
| 		"attributes": ["hover"], | ||||
| 		"layer2.opacity": 1.0 | ||||
| 	}, | ||||
| 	{ | ||||
| 		//	- Active tab state | ||||
| 		"class": "tab_control", | ||||
| 		"attributes": ["selected"], | ||||
| 		"layer0.opacity": 0.0, | ||||
| 		"layer1.opacity": 1.0, | ||||
| 		"layer2.opacity": 0.0 | ||||
| 	}, | ||||
| 	{ | ||||
| 		//  - Modified tab state | ||||
| 		"class": "tab_control", | ||||
| 		//"settings": ["highlight_modified_tabs"], | ||||
| 		"attributes": ["dirty"], | ||||
| 		"layer0.texture": "SourcePawn/assets/tab-inactive-modified.png", | ||||
| 		"layer1.texture": "SourcePawn/assets/tab-active-modified.png", | ||||
| 		"layer2.texture": "SourcePawn/assets/tab-hover-dirty.png" | ||||
| 	}, | ||||
|  | ||||
| 	//	- Tab labels | ||||
| 	//	------------------------------------------------------ | ||||
|  | ||||
| 	//	- Inactive tab label | ||||
| 	{ | ||||
| 		"class": "tab_label", | ||||
| 		"fg": [180, 180, 180], | ||||
| 		"shadow_color": [0, 0, 0, 200], | ||||
| 		"shadow_offset": [0, 1] | ||||
| 	}, | ||||
|  | ||||
| 	//	- Active tab label | ||||
| 	{ | ||||
| 		"class": "tab_label", | ||||
| 		"parents": [{"class": "tab_control", "attributes": ["selected"]}], | ||||
| 		"shadow_color": [0, 0, 0, 165], | ||||
| 		"shadow_offset": [0, 1], | ||||
| 		"fg": [240, 240, 240, 255] | ||||
| 	}, | ||||
|  | ||||
| 	//	- Hover tab label | ||||
| 	{ | ||||
| 		"class": "tab_label", | ||||
| 		"parents": [{"class": "tab_control", "attributes": ["hover"]}], | ||||
| 		"shadow_color": [0, 0, 0, 165], | ||||
| 		"shadow_offset": [0, 1], | ||||
| 		"fg": [2, 196, 251, 255] | ||||
| 	}, | ||||
|  | ||||
| 	//	- Dirty Hover tab label | ||||
| 	{ | ||||
| 		"class": "tab_label", | ||||
| 		"parents": [{"class": "tab_control", "attributes": ["hover", "dirty"]}], | ||||
| 		"shadow_color": [0, 0, 0, 165], | ||||
| 		"shadow_offset": [0, 1], | ||||
| 		"fg": [253, 113, 1, 255] | ||||
| 	}, | ||||
|  | ||||
| 	// - Dirty inactive tab label | ||||
| 	{ | ||||
| 		"class": "tab_label", | ||||
| 		"parents": [{"class": "tab_control", "attributes": ["dirty"]}], | ||||
| 		"settings": ["highlight_modified_tabs"] | ||||
| 	}, | ||||
|  | ||||
| 	// - Dirty active tab label | ||||
| 	{ | ||||
| 		"class": "tab_label", | ||||
| 		"parents": [{"class": "tab_control", "attributes": ["selected", "dirty"]}], | ||||
| 		"settings": ["highlight_modified_tabs"] | ||||
| 	}, | ||||
|  | ||||
| 	//	- Tab buttons | ||||
| 	//	------------------------------------------------------ | ||||
|  | ||||
| 	//	- Tab button | ||||
| 	{ | ||||
| 		"class": "tab_close_button", | ||||
| 		"content_margin": [0, 0], | ||||
|  | ||||
| 		//	- Tab close default settings | ||||
| 		"layer1.texture": "SourcePawn/assets/tab-button-close.png", | ||||
| 		"layer1.opacity": 0.0, // hide by default | ||||
| 		"layer1.inner_margin": 0.0, | ||||
|  | ||||
| 		//	- Tab close hover settings | ||||
| 		"layer0.texture": "SourcePawn/assets/tab-button-close-hover.png", | ||||
| 		"layer0.opacity": 0.0 | ||||
| 	}, | ||||
| 	{ | ||||
| 		//	- Tab button size | ||||
| 		"class": "tab_close_button", | ||||
| 		"settings": ["show_tab_close_buttons"], | ||||
| 		"content_margin": [8, 8] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "tab_close_button", | ||||
| 		"parents": [{"class": "tab_control", "attributes": ["dirty"]}], | ||||
| 		"layer1.texture": "SourcePawn/assets/tab-button-close-dirty.png" | ||||
| 	}, | ||||
| 	{ | ||||
| 		//	- Tab close hover action | ||||
| 		"class": "tab_close_button", | ||||
| 		"parents": [{"class": "tab_control", "attributes": ["hover"]}], | ||||
| 		"layer1.opacity": 0.0, | ||||
| 		"layer0.opacity": 1.0 | ||||
| 	}, | ||||
| 	{ | ||||
| 		//	- Tab close press action | ||||
| 		"class": "tab_close_button", | ||||
| 		"attributes": ["hover"], | ||||
| 		"layer1.opacity": 0.4, | ||||
| 		"layer0.opacity": 1.0 | ||||
| 	}, | ||||
| 	{ | ||||
| 		//	- Tab close press action | ||||
| 		"class": "tab_close_button", | ||||
| 		"attributes": ["pressed"], | ||||
| 		"layer1.opacity": 1.0, | ||||
| 		"layer0.opacity": 0.0 | ||||
| 	}, | ||||
|  | ||||
| //	FOLD BUTTONS | ||||
| //	========================================================== | ||||
|  | ||||
| 	{ | ||||
| 		"class": "fold_button_control", | ||||
| 		"layer0.texture": "SourcePawn/assets/arrow-right.png", | ||||
| 		"layer0.opacity": 1.0, | ||||
| 		"layer0.inner_margin": 0, | ||||
| 		"layer1.texture": "SourcePawn/assets/arrow-right-hover.png", | ||||
| 		"layer1.opacity": 0.0, | ||||
| 		"layer1.inner_margin": 0, | ||||
| 		"content_margin": [9, 7, 8, 6] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "fold_button_control", | ||||
| 		"attributes": ["hover"], | ||||
| 		"layer0.opacity": 0.0, | ||||
| 		"layer1.opacity": 0.75 | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "fold_button_control", | ||||
| 		"attributes": ["pressed"], | ||||
| 		"layer0.opacity": 0.0, | ||||
| 		"layer1.opacity": 1.0 | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "fold_button_control", | ||||
| 		"attributes": ["expanded"], | ||||
| 		"layer0.texture": "SourcePawn/assets/arrow-down.png", | ||||
| 		"layer1.texture": "SourcePawn/assets/arrow-down-hover.png" | ||||
| 	}, | ||||
|  | ||||
| //	SCROLLBARS (overlay scrollbars from Default theme) | ||||
| //	========================================================== | ||||
| 	{ | ||||
| 		"class": "scroll_bar_control", | ||||
| 		"layer0.texture": "SourcePawn/assets/scrollbar/well-vertical.png", | ||||
| 		"layer0.opacity": 1.0, | ||||
| 		"layer0.inner_margin": [1, 1], | ||||
| 		"blur": false | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "scroll_bar_control", | ||||
| 		"attributes": ["horizontal"], | ||||
| 		"layer0.texture": "SourcePawn/assets/scrollbar/well-horizontal.png", | ||||
| 		"layer0.opacity": 1.0, | ||||
| 		"layer0.inner_margin": [1, 1], | ||||
| 		"blur": false | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "scroll_corner_control", | ||||
| 		"layer0.texture": "SourcePawn/assets/scrollbar/well-corner.png", | ||||
| 		"layer0.opacity": 1.0, | ||||
| 		"layer0.inner_margin": [1, 1] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "puck_control", | ||||
| 		"layer0.texture": "SourcePawn/assets/scrollbar/bar-vertical.png", | ||||
| 		"layer0.opacity": 1.0, | ||||
| 		"layer0.inner_margin": [3, 3], | ||||
| 		"content_margin": [6, 6], | ||||
| 		"blur": false | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "puck_control", | ||||
| 		"attributes": ["horizontal"], | ||||
| 		"layer0.texture": "SourcePawn/assets/scrollbar/bar-horizontal.png" | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "scroll_area_control", | ||||
| 		"settings": ["overlay_scroll_bars"], | ||||
| 		"overlay": true | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "scroll_area_control", | ||||
| 		"settings": ["!overlay_scroll_bars"], | ||||
| 		"overlay": false | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "scroll_bar_control", | ||||
| 		"settings": ["overlay_scroll_bars"], | ||||
| 		"layer0.texture": "SourcePawn/assets/overlay/overlay_bar_vertical.png", | ||||
| 		"layer0.inner_margin": [0, 5], | ||||
| 		"blur": true | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "scroll_bar_control", | ||||
| 		"settings": ["overlay_scroll_bars"], | ||||
| 		"attributes": ["horizontal"], | ||||
| 		"layer0.texture": "SourcePawn/assets/overlay/overlay_bar_horizontal.png", | ||||
| 		"layer0.inner_margin": [5, 0], | ||||
| 		"blur": true | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "puck_control", | ||||
| 		"settings": ["overlay_scroll_bars"], | ||||
| 		"layer0.texture": "SourcePawn/assets/overlay/overlay_thumb_vertical.png", | ||||
| 		"layer0.inner_margin": [0, 5], | ||||
| 		"content_margin": [5, 20], | ||||
| 		"blur": true | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "puck_control", | ||||
| 		"settings": ["overlay_scroll_bars"], | ||||
| 		"attributes": ["horizontal"], | ||||
| 		"layer0.texture": "SourcePawn/assets/overlay/overlay_thumb_horizontal.png", | ||||
| 		"layer0.inner_margin": [5, 0], | ||||
| 		"content_margin": [20, 5], | ||||
| 		"blur": true | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "puck_control", | ||||
| 		"settings": ["overlay_scroll_bars"], | ||||
| 		"attributes": ["dark"], | ||||
| 		"layer0.texture": "SourcePawn/assets/overlay/overlay_dark_thumb_vertical.png" | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "puck_control", | ||||
| 		"settings": ["overlay_scroll_bars"], | ||||
| 		"attributes": ["horizontal", "dark"], | ||||
| 		"layer0.texture": "SourcePawn/assets/overlay/overlay_dark_thumb_horizontal.png" | ||||
| 	}, | ||||
|  | ||||
| //	EMPTY WINDOW BACKGROUND | ||||
| //	========================================================== | ||||
| 	{ | ||||
| 		"class": "sheet_container_control", | ||||
| 		"layer0.tint": [16, 16, 16], | ||||
| 		"layer0.opacity": 1.0 | ||||
| 	}, | ||||
|  | ||||
| //	GRID LAYOUT | ||||
| //	========================================================== | ||||
| 	{ | ||||
| 		"class": "grid_layout_control", | ||||
| 		"border_size": 1, | ||||
| 		"border_color": [32, 32, 32] | ||||
| 	}, | ||||
|  | ||||
| //	MINI MAP | ||||
| //	========================================================== | ||||
| 	{ | ||||
| 		"class": "minimap_control", | ||||
| 		"viewport_color": [185, 185, 185, 50] | ||||
| 	}, | ||||
|  | ||||
| //	LABELS | ||||
| //	========================================================== | ||||
| 	// 	- General labels | ||||
| 	{ | ||||
| 		"class": "label_control", | ||||
| 		"color": [230, 230, 230] | ||||
| 	}, | ||||
| 	//	- Text field labels | ||||
| 	{ | ||||
| 		"class": "label_control", | ||||
| 		"parents": [{"class": "panel_control"}], | ||||
| 		"shadow_color": [0, 0, 0], | ||||
| 		"shadow_offset": [0, 1] | ||||
| 	}, | ||||
| 	//	- Button labels | ||||
| 	{ | ||||
| 		"class": "label_control", | ||||
| 		"parents": [{"class": "button_control"}], | ||||
| 		"color": [230, 230, 230], | ||||
| 		"shadow_color": [0, 0, 0], | ||||
| 		"shadow_offset": [0, 1] | ||||
| 	}, | ||||
|  | ||||
| //	TOOLTIP | ||||
| //	========================================================== | ||||
| 	//	- Tooltip container | ||||
| 	{ | ||||
| 		"class": "tool_tip_control", | ||||
| 		"layer0.texture": "SourcePawn/assets/tooltip.png", | ||||
| 		"layer0.inner_margin": [4, 4], | ||||
| 		"layer0.opacity": 1, | ||||
| 		"content_margin": [6, 4] | ||||
| 	}, | ||||
| 	//	- Tooltip content | ||||
| 	{ | ||||
| 		"class": "tool_tip_label_control", | ||||
| 		"color": [160, 160, 160], | ||||
| 		"shadow_offset": [0, 1], | ||||
| 		"shadow_color": [0, 0, 0, 255] | ||||
| 	}, | ||||
|  | ||||
| //	STATUS BAR | ||||
| //	========================================================== | ||||
| 	//	- Status bar container | ||||
| 	{ | ||||
| 		"class": "status_bar", | ||||
| 		"layer0.texture": "SourcePawn/assets/status-bar-bg.png", | ||||
| 		"layer0.opacity": 1, | ||||
| 		"layer0.inner_margin": [2, 2], | ||||
| 		"content_margin": [6, 5, 6, 5] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "status_button", | ||||
| 		"min_size": [100, 0] | ||||
| 	}, | ||||
|  | ||||
| 	//	- Status bar label | ||||
| 	{ | ||||
| 		"class": "label_control", | ||||
| 		"parents": [{"class": "status_bar"}], | ||||
| 		"font.size": 10, | ||||
| 		"color": [160, 160, 160], | ||||
| 		"shadow_color": [0, 0, 0], | ||||
| 		"shadow_offset": [0, 1] | ||||
| 	}, | ||||
|  | ||||
| //	SIDEBAR | ||||
| //	========================================================== | ||||
| 	//	- Sidebar container (border) | ||||
| 	{ | ||||
| 		"class": "sidebar_container", | ||||
| 		"layer0.tint": [150, 150, 150], | ||||
| 		"layer0.opacity": 0.5, | ||||
| 		"layer0.draw_center": false, | ||||
| 		"layer0.inner_margin": [0, 0, 1, 0], | ||||
| 		"content_margin": [0, 0, 1, 0] | ||||
| 	}, | ||||
| 	//	- Sidebar tree (bg) | ||||
| 	{ | ||||
| 		"class": "sidebar_tree", | ||||
| 		"row_padding": [8, 3], | ||||
| 		"indent": 15, | ||||
| 		"indent_offset": 13, | ||||
| 		"indent_top_level": false, | ||||
| 		"layer0.tint": [19, 20, 21],	// darker gray | ||||
| 		"layer0.opacity": 1.0, | ||||
| 		"dark_content": true | ||||
| 	}, | ||||
| 	//	- Sidebar rows | ||||
| 	{ | ||||
| 		"class": "tree_row", | ||||
| 		"layer0.texture": "SourcePawn/assets/row-active.png", | ||||
| 		"layer0.opacity": 0.0, | ||||
| 		"layer0.inner_margin": [8, 3], | ||||
| 		"layer1.opacity": 0.0, | ||||
| 		"layer1.inner_margin": [8, 3] | ||||
| 	}, | ||||
| 	//	- Sidebar row selected | ||||
| 	{ | ||||
| 		"class": "tree_row", | ||||
| 		"attributes": ["selected"], | ||||
| 		"layer0.opacity": 1.0 | ||||
| 	}, | ||||
| 	// - Sidebar row dirty | ||||
| 	{ | ||||
| 		"class": "tree_row", | ||||
| 		"attributes": ["dirty"], | ||||
| 		"layer0.texture": "SourcePawn/assets/row-inactive-modified.png", | ||||
| 		"layer0.opacity": 1.0 | ||||
| 	}, | ||||
| 	// - Sidebar row selected dirty | ||||
| 	{ | ||||
| 		"class": "tree_row", | ||||
| 		"attributes": ["selected", "dirty"], | ||||
| 		"layer0.texture": "SourcePawn/assets/row-active-modified.png", | ||||
| 		"layer0.opacity": 1.0 | ||||
| 	}, | ||||
| 	//	- Sidebar heading | ||||
| 	{ | ||||
| 		"class": "sidebar_heading", | ||||
| 		"color": [2, 196, 251], | ||||
| 		"font.bold": true, | ||||
| 		"shadow_color": [0, 0, 0], | ||||
| 		"shadow_offset": [0, 1] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "sidebar_heading", | ||||
| 		"parents": [{"class": "tree_row", "attributes": ["selected"]}], | ||||
| 		"color": [180, 180, 180] | ||||
| 	}, | ||||
| 	//	- Sidebar entry label | ||||
| 	{ | ||||
| 		"class": "sidebar_label", | ||||
| 		"color": [200, 200, 200], | ||||
| 		"shadow_color": [0, 0, 0], | ||||
| 		"shadow_offset": [0, 1] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "sidebar_label", | ||||
| 		"parents": [{"class": "tree_row", "attributes": ["expandable"]}], | ||||
| 		"settings": ["bold_folder_labels"], | ||||
| 		"font.bold": true | ||||
| 	}, | ||||
| 	{	//	Sidebar selected entry label | ||||
| 		"class": "sidebar_label", | ||||
| 		"parents": [{"class": "tree_row", "attributes": ["selected"]}], | ||||
| 		"color": [240, 240, 240], | ||||
| 		"shadow_color": [0, 0, 0], | ||||
| 		"shadow_offset": [0, 1] | ||||
| 	}, | ||||
| 	{	//	Sidebar Hover entry label | ||||
| 		"class": "sidebar_label", | ||||
| 		"parents": [{"class": "tree_row", "attributes": ["hover"]}], | ||||
| 		"color": [2, 196, 251], | ||||
| 		"shadow_color": [0, 0, 0], | ||||
| 		"shadow_offset": [0, 1] | ||||
| 	}, | ||||
| 	{	//	Sidebar Hover entry label | ||||
| 		"class": "sidebar_label", | ||||
| 		"parents": [{"class": "tree_row", "attributes": ["dirty"]}], | ||||
| 		"color": [253, 113, 1], | ||||
| 		"shadow_color": [0, 0, 0], | ||||
| 		"shadow_offset": [0, 1] | ||||
| 	}, | ||||
|  | ||||
| 	//	- Sidebar open files close/dirty | ||||
| 	{ | ||||
| 		"class": "close_button", | ||||
| 		"layer0.texture": "SourcePawn/assets/tab-button-close-hover.png", | ||||
| 		"layer0.opacity": 0.5, | ||||
| 		"layer0.inner_margin": 4, | ||||
| 		"layer1.opacity": 0.0, | ||||
| 		"layer1.texture":  "SourcePawn/assets/tab-button-close.png", | ||||
| 		"layer1.inner_margin": 4, | ||||
| 		"content_margin": [8, 8] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "close_button", | ||||
| 		"attributes": ["dirty"], | ||||
| 		"layer0.texture": "SourcePawn/assets/tab-button-dirty.png", | ||||
| 		"layer0.opacity": 0.5 | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "close_button", | ||||
| 		"attributes": ["hover"], | ||||
| 		"layer0.texture": "SourcePawn/assets/tab-button-close-hover.png", | ||||
| 		"layer1.opacity": 0.5, | ||||
| 		"layer1.texture": "SourcePawn/assets/tab-button-close.png" | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "close_button", | ||||
| 		"attributes": ["hover", "dirty"], | ||||
| 		"layer1.opacity": 0.5, | ||||
| 		"layer1.texture": "SourcePawn/assets/tab-button-close-dirty.png" | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "close_button", | ||||
| 		"attributes": ["pressed"], | ||||
| 		"layer1.opacity": 1.0, | ||||
| 		"layer1.texture": "SourcePawn/assets/tab-button-close.png" | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "close_button", | ||||
| 		"attributes": ["pressed", "dirty"], | ||||
| 		"layer1.opacity": 1.0, | ||||
| 		"layer1.texture": "SourcePawn/assets/tab-button-close-dirty.png" | ||||
| 	}, | ||||
|  | ||||
| 	//	- Sidebar FOLDERS closed | ||||
| 	{ | ||||
| 		"class": "disclosure_button_control", | ||||
| 		"content_margin": [9, 7, 8, 6], | ||||
| 		"layer0.texture": "SourcePawn/assets/folder/group-closed.png", | ||||
| 		"layer0.opacity": 1.0, | ||||
| 		"layer0.inner_margin": 0 | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "disclosure_button_control", | ||||
| 		"parents": [{"class": "tree_row", "attributes": ["hover"]}], | ||||
| 		"layer0.texture": "SourcePawn/assets/folder/group-closed-hover.png" | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "disclosure_button_control", | ||||
| 		"parents": [{"class": "tree_row", "attributes": ["selected"]}], | ||||
| 		"layer0.texture": "SourcePawn/assets/folder/group-closed-selected.png" | ||||
| 	}, | ||||
| 	//	- Sidebar Folders open | ||||
| 	{ | ||||
| 		"class": "disclosure_button_control", | ||||
| 		"attributes": ["expanded"], | ||||
| 		"layer0.texture": "SourcePawn/assets/folder/group-open.png" | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "disclosure_button_control", | ||||
| 		"attributes": ["expanded"], | ||||
| 		"parents": [{"class": "tree_row", "attributes": ["hover"]}], | ||||
| 		"layer0.texture": "SourcePawn/assets/folder/group-open-hover.png" | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "disclosure_button_control", | ||||
| 		"attributes": ["expanded"], | ||||
| 		"parents": [{"class": "tree_row", "attributes": ["selected"]}], | ||||
| 		"layer0.texture": "SourcePawn/assets/folder/group-open-selected.png" | ||||
| 	}, | ||||
|  | ||||
| //	STANDARD TEXT BUTTONS | ||||
| //	========================================================= | ||||
| 	//	- Standard buttons (used for Find / Replace panel) | ||||
| 	{ | ||||
| 		"class": "button_control", | ||||
| 		"content_margin": [6, 5, 6, 6], | ||||
| 		"min_size": [75, 0], | ||||
|  | ||||
| 		//	Default button state | ||||
| 		"layer0.texture": "SourcePawn/assets/btn-large.png", | ||||
| 		"layer0.opacity": 1.0, | ||||
| 		"layer0.inner_margin": [6, 6], | ||||
|  | ||||
| 		//	Pressed button setup | ||||
| 		"layer1.texture": "SourcePawn/assets/btn-large-active.png", | ||||
| 		"layer1.opacity": 0.0, | ||||
| 		"layer1.inner_margin": [6, 6] | ||||
| 	}, | ||||
| 	{ | ||||
| 		//	Pressed button state | ||||
| 		"class": "button_control", | ||||
| 		"attributes": ["pressed"], | ||||
| 		"layer1.opacity": 1.0, | ||||
| 		"content_margin": [6, 6, 6, 6] | ||||
| 	}, | ||||
|  | ||||
| //	TEXT INPUT FIELD | ||||
| //	========================================================= | ||||
|  | ||||
| 	//	- Text input field item | ||||
| 	{ | ||||
| 		"class": "text_line_control", | ||||
| 		"layer0.texture": "SourcePawn/assets/text-field.png", | ||||
| 		"layer0.opacity": 1.0, | ||||
| 		"layer0.inner_margin": [10, 10, 10, 10], | ||||
| 		"content_margin": [5, 5, 5, 5] | ||||
| 	}, | ||||
|  | ||||
| //	PANEL BACKGROUNDS | ||||
| //	========================================================= | ||||
| 	//	- Bottom panel background | ||||
| 	{ | ||||
| 		"class": "panel_control", | ||||
| 		"layer0.texture": "SourcePawn/assets/panel-bg.png", | ||||
| 		"layer0.inner_margin": [4, 4, 4, 4], | ||||
| 		"layer0.opacity": 1.0 | ||||
| 	}, | ||||
|  | ||||
| 	//	- Quick panel background | ||||
| 	{ | ||||
| 		"class": "overlay_control", | ||||
| 		"layer0.texture": "SourcePawn/assets/overlay-bg.png", | ||||
| 		"layer0.inner_margin": [10, 5, 10, 20],  // left, top, right, bottom | ||||
| 		"layer0.opacity": 1.0, | ||||
| 		"layer1.opacity": 0, // HIDDEN | ||||
| 		"content_margin": [11, 8, 11, 17] | ||||
| 	}, | ||||
|  | ||||
| //	QUICK PANEL | ||||
| //	========================================================= | ||||
| 	{ | ||||
| 		"class": "quick_panel", | ||||
| 		"row_padding": [4, 3], | ||||
| 		"layer0.tint": [45, 45, 45], | ||||
| 		"layer0.opacity": 1, | ||||
| 		"dark_content": true | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "quick_panel_row", | ||||
| 		"layer0.texture": "SourcePawn/assets/qp-row.png", | ||||
| 		"layer0.opacity": 1.0, | ||||
| 		"layer0.inner_margin": [4, 4, 4, 4], | ||||
| 		"layer1.draw_center": true | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "quick_panel_row", | ||||
| 		"attributes": ["selected"], | ||||
| 		"layer0.texture": "SourcePawn/assets/qp-row-selected.png" | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "quick_panel_label", | ||||
| 		"fg": [190, 190, 190, 255], | ||||
| 		"match_fg": [166, 229, 255, 255], | ||||
| 		"bg": [71, 71, 71, 255], | ||||
| 		"selected_fg": [220, 220, 220, 255], | ||||
| 		"selected_match_fg": [2, 196, 251, 255], | ||||
| 		"selected_bg": [134, 134, 134, 255] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "quick_panel_path_label", | ||||
| 		"fg": [100, 100, 100, 255], | ||||
| 		"match_fg": [166, 229, 255, 255], | ||||
| 		"bg": [41, 41, 41, 255], | ||||
| 		"selected_fg": [120, 120, 120, 255], | ||||
| 		"selected_match_fg": [2, 196, 251, 255], | ||||
| 		"selected_bg": [24, 24, 24, 255] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "quick_panel_score_label", | ||||
| 		"fg": [90, 90, 90, 255], | ||||
| 		"bg": [41, 41, 41, 255], | ||||
| 		"selected_fg": [114, 114, 114, 255], | ||||
| 		"selected_bg": [24, 24, 24, 255] | ||||
| 	}, | ||||
|  | ||||
| //	MINI QUICK PANEL | ||||
| //	========================================================= | ||||
| 	{ | ||||
| 		"class": "mini_quick_panel_row", | ||||
| 		"layer0.texture": "SourcePawn/assets/qp-row.png", | ||||
| 		"layer0.inner_margin": [4, 4, 4, 4], | ||||
| 		"layer0.opacity": 1.0 | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "mini_quick_panel_row", | ||||
| 		"attributes": ["selected"], | ||||
| 		"layer0.texture": "SourcePawn/assets/qp-row-selected.png" | ||||
| 	}, | ||||
|  | ||||
| //	CODE COMPLETION DROPDOWN | ||||
| //	========================================================= | ||||
| 	{ | ||||
| 		"class": "popup_control", | ||||
| 		"content_margin": [0, 0] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "auto_complete", | ||||
| 		"row_padding": [2, 2], | ||||
| 		"layer0.tint": [30, 30, 30], | ||||
| 		"layer0.opacity": 1.0, | ||||
| 		"dark_content": true | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "auto_complete_label", | ||||
| 		"fg": [140, 140, 140], | ||||
| 		"match_fg": [255, 255, 255], | ||||
| 		"bg": [26, 26, 26], | ||||
| 		"selected_fg": [255, 255, 255], | ||||
| 		"selected_match_fg": [255, 255, 255], | ||||
| 		"selected_bg": [86, 86, 86] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "table_row", | ||||
| 		"layer0.tint": [45, 45, 45], | ||||
| 		"layer0.opacity": 0.0, | ||||
| 		"layer0.inner_margin": [1, 1] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "table_row", | ||||
| 		"attributes": ["selected"], | ||||
| 		"layer0.opacity": 1.0 | ||||
| 	}, | ||||
|  | ||||
| //	BOTTOM PANEL BUTTONS | ||||
| //	========================================================== | ||||
| 	{ | ||||
| 		"class": "icon_button_control", | ||||
| 		"content_margin": [4, 4] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "icon_button_control", | ||||
| 		"attributes": ["pressed"] | ||||
| 	}, | ||||
| 	//	- Regex search button | ||||
| 	{ | ||||
| 		"class": "icon_regex", | ||||
| 		"layer0.texture": "SourcePawn/assets/icons/regex-off.png", | ||||
| 		"layer0.opacity": 1.0, | ||||
| 		"content_margin": [9, 10] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "icon_regex", | ||||
| 		"parents": [{"class": "icon_button_control", "attributes": ["selected"]}], | ||||
| 		"layer0.texture": "SourcePawn/assets/icons/regex-on.png" | ||||
| 	}, | ||||
| 	//	- Case sensitive search button | ||||
| 	{ | ||||
| 		"class": "icon_case", | ||||
| 		"layer0.texture": "SourcePawn/assets/icons/case-off.png", | ||||
| 		"layer0.opacity": 1.0, | ||||
| 		"content_margin": [9, 10] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "icon_case", | ||||
| 		"parents": [{"class": "icon_button_control", "attributes": ["selected"]}], | ||||
| 		"layer0.texture": "SourcePawn/assets/icons/case-on.png" | ||||
| 	}, | ||||
| 	//	- Match whole word search button | ||||
| 	{ | ||||
| 		"class": "icon_whole_word", | ||||
| 		"layer0.texture": "SourcePawn/assets/icons/whole-word-off.png", | ||||
| 		"layer0.opacity": 1.0, | ||||
| 		"content_margin": [9, 10] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "icon_whole_word", | ||||
| 		"parents": [{"class": "icon_button_control", "attributes": ["selected"]}], | ||||
| 		"layer0.texture": "SourcePawn/assets/icons/whole-word-on.png" | ||||
| 	}, | ||||
| 	//	- Reverse search direction button | ||||
| 	{ | ||||
| 		"class": "icon_reverse", | ||||
| 		"layer0.texture": "SourcePawn/assets/icons/reverse-off.png", | ||||
| 		"layer0.opacity": 1.0, | ||||
| 		"content_margin": [9, 10] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "icon_reverse", | ||||
| 		"parents": [{"class": "icon_button_control", "attributes": ["selected"]}], | ||||
| 		"layer0.texture": "SourcePawn/assets/icons/reverse-on.png" | ||||
| 	}, | ||||
| 	//	- Search wrap button | ||||
| 	{ | ||||
| 		"class": "icon_wrap", | ||||
| 		"layer0.texture": "SourcePawn/assets/icons/wrap-off.png", | ||||
| 		"layer0.opacity": 1.0, | ||||
| 		"content_margin": [9, 10] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "icon_wrap", | ||||
| 		"parents": [{"class": "icon_button_control", "attributes": ["selected"]}], | ||||
| 		"layer0.texture": "SourcePawn/assets/icons/wrap-on.png" | ||||
| 	}, | ||||
| 	//	- Search in selection button | ||||
| 	{ | ||||
| 		"class": "icon_in_selection", | ||||
| 		"layer0.texture": "SourcePawn/assets/icons/selection-off.png", | ||||
| 		"layer0.opacity": 1.0, | ||||
| 		"content_margin": [9, 10] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "icon_in_selection", | ||||
| 		"parents": [{"class": "icon_button_control", "attributes": ["selected"]}], | ||||
| 		"layer0.texture": "SourcePawn/assets/icons/selection-on.png" | ||||
| 	}, | ||||
| 	//	- Preserve case button | ||||
| 	{ | ||||
| 		"class": "icon_preserve_case", | ||||
| 		"layer0.texture": "SourcePawn/assets/icons/preserve-case-off.png", | ||||
| 		"layer0.opacity": 1.0, | ||||
| 		"content_margin": [9, 10] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "icon_preserve_case", | ||||
| 		"parents": [{"class": "icon_button_control", "attributes": ["selected"]}], | ||||
| 		"layer0.texture": "SourcePawn/assets/icons/preserve-case-on.png" | ||||
| 	}, | ||||
| 	//	- Highlight results button | ||||
| 	{ | ||||
| 		"class": "icon_highlight", | ||||
| 		"layer0.texture": "SourcePawn/assets/icons/highlight-off.png", | ||||
| 		"layer0.opacity": 1.0, | ||||
| 		"content_margin": [9, 10] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "icon_highlight", | ||||
| 		"parents": [{"class": "icon_button_control", "attributes": ["selected"]}], | ||||
| 		"layer0.texture": "SourcePawn/assets/icons/highlight-on.png" | ||||
| 	}, | ||||
|  | ||||
| 	// 	BOTTOM PANEL ICONS (EXTENDED: FIND IN FILES) | ||||
| 	//	========================================================= | ||||
|  | ||||
| 	//	- Show search context button | ||||
| 	{ | ||||
| 		"class": "icon_context", | ||||
| 		"layer0.texture": "SourcePawn/assets/icons/context-off.png", | ||||
| 		"layer0.opacity": 1.0, | ||||
| 		"content_margin": [9, 10] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "icon_context", | ||||
| 		"parents": [{"class": "icon_button_control", "attributes": ["selected"]}], | ||||
| 		"layer0.texture": "SourcePawn/assets/icons/context-on.png" | ||||
| 	}, | ||||
| 	//	- Use search buffer | ||||
| 	{ | ||||
| 		"class": "icon_use_buffer", | ||||
| 		"layer0.texture": "SourcePawn/assets/icons/buffer-off.png", | ||||
| 		"layer0.opacity": 1.0, | ||||
| 		"content_margin": [9, 10] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"class": "icon_use_buffer", | ||||
| 		"parents": [{"class": "icon_button_control", "attributes": ["selected"]}], | ||||
| 		"layer0.texture": "SourcePawn/assets/icons/buffer-on.png" | ||||
| 	} | ||||
|  | ||||
| ] | ||||
							
								
								
									
										136
									
								
								samples/Sublime Text Config/jade.sublime-completions
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										136
									
								
								samples/Sublime Text Config/jade.sublime-completions
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,136 @@ | ||||
| { | ||||
| 	"scope": "entity.name.tag.jade", | ||||
| 	"completions": | ||||
| 	[ | ||||
| 		"a",//	Defines a hyperlink | ||||
| 		"abbr",//	Defines an abbreviation | ||||
| 		"acronym",//	Not supported in HTML5. Use <abbr> instead. | ||||
| 		//Defines an acronym | ||||
| 		"address",//	Defines contact information for the author/owner of a document | ||||
| 		"applet",//	Not supported in HTML5. Use <object> instead. | ||||
| 		//Defines an embedded applet | ||||
| 		"area",//	Defines an area inside an image-map | ||||
| 		"article",//	Defines an article | ||||
| 		"aside",//	Defines content aside from the page content | ||||
| 		"audio",//	Defines sound content | ||||
| 		"b",//	Defines bold text | ||||
| 		"base",//	Specifies the base URL/target for all relative URLs in a document | ||||
| 		"basefont",//	Not supported in HTML5. Use CSS instead. | ||||
| 		//Specifies a default color, size, and font for all text in a document | ||||
| 		"bdi",//	Isolates a part of text that might be formatted in a different direction from other text outside it | ||||
| 		"bdo",//	Overrides the current text direction | ||||
| 		"big",//	Not supported in HTML5. Use CSS instead. | ||||
| 		//Defines big text | ||||
| 		"blockquote",//	Defines a section that is quoted from another source | ||||
| 		"body",//	Defines the document's body | ||||
| 		"br",//	Defines a single line break | ||||
| 		"button",//	Defines a clickable button | ||||
| 		"canvas",//	Used to draw graphics, on the fly, via scripting (usually JavaScript) | ||||
| 		"caption",//	Defines a table caption | ||||
| 		"center",//	Not supported in HTML5. Use CSS instead. | ||||
| 		//Defines centered text | ||||
| 		"cite",//	Defines the title of a work | ||||
| 		"code",//	Defines a piece of computer code | ||||
| 		"col",//	Specifies column properties for each column within a <colgroup> element  | ||||
| 		"colgroup",//	Specifies a group of one or more columns in a table for formatting | ||||
| 		"command",//	Defines a command button that a user can invoke | ||||
| 		"datalist",//	Specifies a list of pre-defined options for input controls | ||||
| 		"dd",//	Defines a description/value of a term in a description list | ||||
| 		"del",//	Defines text that has been deleted from a document | ||||
| 		"details",//	Defines additional details that the user can view or hide | ||||
| 		"dfn",//	Defines a definition term | ||||
| 		"dialog",//	Defines a dialog box or window | ||||
| 		"dir",//	Not supported in HTML5. Use <ul> instead. | ||||
| 		//Defines a directory list | ||||
| 		"div",//	Defines a section in a document | ||||
| 		"dl",//	Defines a description list | ||||
| 		"dt",//	Defines a term/name in a description list | ||||
| 		"em",//	Defines emphasized text  | ||||
| 		"embed",//	Defines a container for an external (non-HTML) application | ||||
| 		"fieldset",//	Groups related elements in a form | ||||
| 		"figcaption",//	Defines a caption for a <figure> element | ||||
| 		"figure",//	Specifies self-contained content | ||||
| 		"font",//	Not supported in HTML5. Use CSS instead. | ||||
| 		//Defines font, color, and size for text | ||||
| 		"footer",//	Defines a footer for a document or section | ||||
| 		"form",//	Defines an HTML form for user input | ||||
| 		"frame",//	Not supported in HTML5. | ||||
| 		//Defines a window (a frame) in a frameset | ||||
| 		"frameset",//	Not supported in HTML5. | ||||
| 		//Defines a set of frames | ||||
| 		"h1",// to <h6>	 Defines HTML headings | ||||
| 		"head",//	Defines information about the document | ||||
| 		"header",//	Defines a header for a document or section | ||||
| 		"hgroup",//	Groups heading elements | ||||
| 		"hr",//	 Defines a thematic change in the content | ||||
| 		"html",//	Defines the root of an HTML document | ||||
| 		"i",//	Defines a part of text in an alternate voice or mood | ||||
| 		"iframe",//	Defines an inline frame | ||||
| 		"img",//	Defines an image | ||||
| 		"input",//	Defines an input control | ||||
| 		"ins",//	Defines a text that has been inserted into a document | ||||
| 		"kbd",//	Defines keyboard input | ||||
| 		"keygen",//	Defines a key-pair generator field (for forms) | ||||
| 		"label",//	Defines a label for an <input> element | ||||
| 		"legend",//	Defines a caption for a <fieldset> element | ||||
| 		"li",//	Defines a list item | ||||
| 		"link",//	Defines the relationship between a document and an external resource (most used to link to style sheets) | ||||
| 		"main",//	Specifies the main content of a document | ||||
| 		"map",//	Defines a client-side image-map | ||||
| 		"mark",//	Defines marked/highlighted text | ||||
| 		"menu",//	Defines a list/menu of commands | ||||
| 		"meta",//	Defines metadata about an HTML document | ||||
| 		"meter",//	Defines a scalar measurement within a known range (a gauge) | ||||
| 		"nav",//	Defines navigation links | ||||
| 		"noframes",//	Not supported in HTML5. | ||||
| 		//Defines an alternate content for users that do not support frames | ||||
| 		"noscript",//	Defines an alternate content for users that do not support client-side scripts | ||||
| 		"object",//	Defines an embedded object | ||||
| 		"ol",//	Defines an ordered list | ||||
| 		"optgroup",//	Defines a group of related options in a drop-down list | ||||
| 		"option",//	Defines an option in a drop-down list | ||||
| 		"output",//	Defines the result of a calculation | ||||
| 		"p",//	Defines a paragraph | ||||
| 		"param",//	Defines a parameter for an object | ||||
| 		"pre",//	Defines preformatted text | ||||
| 		"progress",//	Represents the progress of a task | ||||
| 		"q",//	Defines a short quotation | ||||
| 		"rp",//	Defines what to show in browsers that do not support ruby annotations | ||||
| 		"rt",//	Defines an explanation/pronunciation of characters (for East Asian typography) | ||||
| 		"ruby",//	Defines a ruby annotation (for East Asian typography) | ||||
| 		"s",//	Defines text that is no longer correct | ||||
| 		"samp",//	Defines sample output from a computer program | ||||
| 		"script",//	Defines a client-side script | ||||
| 		"section",//	Defines a section in a document | ||||
| 		"select",//	Defines a drop-down list | ||||
| 		"small",//	Defines smaller text | ||||
| 		"source",//	Defines multiple media resources for media elements (<video> and <audio>) | ||||
| 		"span",//	Defines a section in a document | ||||
| 		"strike",//	Not supported in HTML5. Use <del> instead. | ||||
| 		//Defines strikethrough text | ||||
| 		"strong",//	Defines important text | ||||
| 		"style",//	Defines style information for a document | ||||
| 		"sub",//	Defines subscripted text | ||||
| 		"summary",//	Defines a visible heading for a <details> element | ||||
| 		"sup",//	Defines superscripted text | ||||
| 		"table",//	Defines a table | ||||
| 		"tbody",//	Groups the body content in a table | ||||
| 		"td",//	Defines a cell in a table | ||||
| 		"textarea",//	Defines a multiline input control (text area) | ||||
| 		"tfoot",//	Groups the footer content in a table | ||||
| 		"th",//	Defines a header cell in a table | ||||
| 		"thead",//	Groups the header content in a table | ||||
| 		"time",//	Defines a date/time | ||||
| 		"title",//	Defines a title for the document | ||||
| 		"tr",//	Defines a row in a table | ||||
| 		"track",//	Defines text tracks for media elements (<video> and <audio>) | ||||
| 		"tt",//	Not supported in HTML5. Use CSS instead. | ||||
| 		//Defines teletype text | ||||
| 		"u",//	Defines text that should be stylistically different from normal text | ||||
| 		"ul",//	Defines an unordered list | ||||
| 		"var",//	Defines a variable | ||||
| 		"video",//	Defines a video or movie | ||||
| 		"wbr" | ||||
| 	] | ||||
| } | ||||
|  | ||||
							
								
								
									
										63
									
								
								samples/TI Program/srcalpha.8xp.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								samples/TI Program/srcalpha.8xp.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,63 @@ | ||||
| .AlphaCS | ||||
| #ExprOff | ||||
| If getKey(41) | ||||
| 	sub(ADM) | ||||
| End | ||||
| Lbl START | ||||
| "appv alpha "->Str1 | ||||
| "appvAlphaCS"->Str2 | ||||
| .ALPHA CS | ||||
| [7EFFFFE7FFFFE7E7]->Pic11 | ||||
| [E0E0E0E0E0FFFF7F]->Pic12 | ||||
| [FEFFE7FFFEE0E0E0]->Pic13 | ||||
| [E7E7E7FFFFE7E7E7]->Pic14 | ||||
| [7EFFFFE7FFFFE7E7]->Pic15 | ||||
| [7FFFFFE0E0FFFF7F]->Pic16 | ||||
| [7FFFFF781EFFFFFE]->Pic17 | ||||
| .arch | ||||
| [0038447C44440000]->Pic21 | ||||
| .hide | ||||
| [0054004400540000]->Pic22 | ||||
| .lock | ||||
| [0038447C7C7C0000]->Pic23 | ||||
| .(c) Scott Mangiapane | ||||
| Data(72,8)->GDB0 | ||||
| [42600A360008000100994DDF2A6C61B1B28091294A22AAAAAAAB005A6DCA226A69B9A9800000000000202000000000000000C0200000000000000000000000000000000000000000] | ||||
| .icon unknown | ||||
| Data(16,16)->GDB11 | ||||
| [EFFEA803EB8308032BFB28032BFB0803EBFBA803EBFB08032B8328032FFF07FF] | ||||
| .icon SRC | ||||
| Data(16,16)->GDB12 | ||||
| [01801A583E7C3FFC3FFC3E7C1A580A500240FFFFC471BDAFCC6FF5AF8DB1FFFF] | ||||
| .icon ASM | ||||
| Data(16,16)->GDB13 | ||||
| [FFFFFFFFFFFFFFFFFFFFCE6BB5D586D5B75DB4DDFFFFFFFFFFFFFFFFFFFFFFFF] | ||||
| .icon shell | ||||
| Data(16,16)->GDB14 | ||||
| [FFFFFFFFFFFFFFFFFFFFFFFF97B5B155D5359595FFFFFFFFFFFFFFFFFFFFFFFF] | ||||
| Goto SET | ||||
| prgmSRCFUNC | ||||
| prgmSRCGUI | ||||
| prgmSRCSORT | ||||
| Lbl SET | ||||
| .start, set up | ||||
| ClrDraw | ||||
| StoreGDB  | ||||
| DiagnosticOff | ||||
| Fix 5 | ||||
| Full | ||||
| !If GetCalc(Str1,[Y1]) | ||||
| 	sub(NEW) | ||||
| 	StoreGDB  | ||||
| End | ||||
| GetCalc(Str1,[Y1]) | ||||
| If {[Y1]+0} | ||||
| 	!If sub(CODE) | ||||
| 		Goto END | ||||
| 	End | ||||
| End | ||||
| Asm(FDCB249E) | ||||
| If {[Y1]+6} | ||||
| 	Asm(FDCB24DE) | ||||
| End | ||||
| Goto DLIST | ||||
							
								
								
									
										194
									
								
								samples/TI Program/srcfunc.8xp.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										194
									
								
								samples/TI Program/srcfunc.8xp.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,194 @@ | ||||
| .FUNC AlphaCS | ||||
| Lbl ADM | ||||
| DiagnosticOff | ||||
| Fix 5 | ||||
| Full | ||||
| StoreGDB  | ||||
| sub(D2,13,17,70,29,"Admin Access") | ||||
| sub(D1,15,27) | ||||
| Text(15,37,"Admin Code:  -   -   -   -") | ||||
| DispGraph | ||||
| Repeat getKey->A | ||||
| End | ||||
| Text(55,37,"*") | ||||
| DispGraph | ||||
| Repeat getKey->B | ||||
| End | ||||
| Text(62,37,"*") | ||||
| DispGraph | ||||
| Repeat getKey->C | ||||
| End | ||||
| Text(69,37,"*") | ||||
| DispGraph | ||||
| Repeat getKey->D | ||||
| End | ||||
| Text(76,37,"*") | ||||
| DispGraph | ||||
| Normal | ||||
| Pause 100 | ||||
| Full | ||||
| If (A!=20) or (B!=35) or (C!=18) or (D!=27) | ||||
| 	Goto END | ||||
| End | ||||
| sub(D2,13,17,70,29,"Author Info") | ||||
| sub(D1,15,27) | ||||
| Bitmap(15,38,GDB0) | ||||
| DispGraph | ||||
| Repeat (getKey) and (getKey(9)) | ||||
| End | ||||
| DelVar "appv alpha " | ||||
| Return | ||||
| Lbl D1 | ||||
| .draws title | ||||
| Pt-On([r1]+1,[r2]+1,Pic11) | ||||
| Pt-On([r1]+10,[r2]+1,Pic12) | ||||
| Pt-On([r1]+19,[r2]+1,Pic13) | ||||
| Pt-On([r1]+28,[r2]+1,Pic14) | ||||
| Pt-On([r1]+37,[r2]+1,Pic15) | ||||
| Pt-On([r1]+48,[r2]+1,Pic16) | ||||
| Pt-On([r1]+57,[r2]+1,Pic17) | ||||
| RectI([r1],[r2],66,10) | ||||
| Pxl-Off([r1],[r2]) | ||||
| RectI([r1]+14,[r2],4,5) | ||||
| RectI([r1]+23,[r2]+7,4,3) | ||||
| RectI([r1]+46,[r2]+1,1,8) | ||||
| RectI([r1]+45,[r2],3,1) | ||||
| RectI([r1]+46,[r2]+9,2,1) | ||||
| Pxl-Off([r1]+65,[r2]+9) | ||||
| Return | ||||
| Lbl D2 | ||||
| .windows | ||||
| Rect([r1]+1,[r2],[r3]-2,[r4]) | ||||
| Rect([r1],[r2]+1,[r3],[r4]-2) | ||||
| RectI([r1]+1,[r2]+1,[r3]-2,[r4]-2) | ||||
| Text([r1]+2,[r2]+2,[r5]) | ||||
| RectI([r1]+1,[r2]+1,[r3]-2,8) | ||||
| Pt-Off([r1]+[r3]-9,[r2]+1,[C1BEAAB6AABEC1FF]) | ||||
| Pxl-On([r1]+1,[r2]+[r4]-2) | ||||
| Pxl-On([r1]+[r3]-2,[r2]+[r4]-2) | ||||
| Return | ||||
| Lbl D3 | ||||
| .archiving box | ||||
| sub(D2,15,22,66,20,"Archiving...") | ||||
| Text(17,31,"Please wait...") | ||||
| Return | ||||
| Lbl CODE | ||||
| sub(D2,15,22,66,20,"Access Denied") | ||||
| Text(29,32," -      -      -      - ") | ||||
| DispGraph | ||||
| 1->[r2] | ||||
| Repeat getKey->[r1] | ||||
| End | ||||
| Text(29,32,"*") | ||||
| DispGraph | ||||
| If [r1]!=({[Y1]+1}) | ||||
| 	0->[r2] | ||||
| End | ||||
| Repeat getKey->[r1] | ||||
| End | ||||
| Text(39,32,"*") | ||||
| DispGraph | ||||
| If [r1]!=({[Y1]+2}) | ||||
| 	0->[r2] | ||||
| End | ||||
| Repeat getKey->[r1] | ||||
| End | ||||
| Text(49,32,"*") | ||||
| DispGraph | ||||
| If [r1]!=({[Y1]+3}) | ||||
| 	0->[r2] | ||||
| End | ||||
| Repeat getKey->[r1] | ||||
| End | ||||
| Text(59,32,"*") | ||||
| DispGraph | ||||
| If [r1]!=({[Y1]+4}) | ||||
| 	0->[r2] | ||||
| End | ||||
| Normal | ||||
| Pause 200 | ||||
| Full | ||||
| Return[r2] | ||||
| Lbl NEW | ||||
| ClrDraw | ||||
| sub(D1,0,0) | ||||
| RectI(0,11,96,1) | ||||
| Text(1,12,"Installation") | ||||
| Text(1,20,"Enter your new keycode:") | ||||
| Text(1,26," -  -  -  - ") | ||||
| DispGraph | ||||
| GetCalc(Str1,16)->[r1] | ||||
| Fill([r1],16,1) | ||||
| 0->{[r1]} | ||||
| Repeat getKey->[r2] | ||||
| End | ||||
| [r2]->{[r1]+1} | ||||
| Text(1,26,"*") | ||||
| DispGraph | ||||
| Repeat getKey->[r2] | ||||
| End | ||||
| [r2]->{[r1]+2} | ||||
| Text(7,26,"*") | ||||
| DispGraph | ||||
| Repeat getKey->[r2] | ||||
| End | ||||
| [r2]->{[r1]+3} | ||||
| Text(13,26,"*") | ||||
| DispGraph | ||||
| Repeat getKey->[r2] | ||||
| End | ||||
| [r2]->{[r1]+4} | ||||
| Text(19,26,"*") | ||||
| DispGraph | ||||
| Fill(L1,50,0) | ||||
| Text(1,34,"Confirm keycode:") | ||||
| Text(1,40," -  -  -  - ") | ||||
| DispGraph | ||||
| Repeat getKey->[r2] | ||||
| End | ||||
| [r2]->{L1+1} | ||||
| Text(1,40,"*") | ||||
| DispGraph | ||||
| Repeat getKey->[r2] | ||||
| End | ||||
| [r2]->{L1+2} | ||||
| Text(7,40,"*") | ||||
| DispGraph | ||||
| Repeat getKey->[r2] | ||||
| End | ||||
| [r2]->{L1+3} | ||||
| Text(13,40,"*") | ||||
| DispGraph | ||||
| Repeat getKey->[r2] | ||||
| End | ||||
| [r2]->{L1+4} | ||||
| Text(19,40,"*") | ||||
| DispGraph | ||||
| If ({[r1]+1}={L1+1}) and ({[r1]+2}={L1+2}) and ({[r1]+3}={L1+3}) and ({[r1]+4}={L1+4}) | ||||
| 	sub(D3) | ||||
| 	DispGraph | ||||
| 	GetCalc(Str2,10) | ||||
| 	Archive Str1 | ||||
| 	GetCalc(Str1,[Y1]) | ||||
| 	ClrDraw | ||||
| 	Return | ||||
| 	Else | ||||
| 	Text(1,48,"ERROR keycodes do not") | ||||
| 	Text(1,54,"match.") | ||||
| 	DispGraph | ||||
| 	UnArchive Str1 | ||||
| 	DelVar Str1 | ||||
| 	Repeat getKey | ||||
| 	End | ||||
| 	Goto END | ||||
| End | ||||
| Return | ||||
| Lbl END | ||||
| Asm(FDCB249E) | ||||
| If {[Y1]+6} | ||||
| 	Asm(FDCB24DE) | ||||
| End | ||||
| ClrDraw | ||||
| ClrDraw^^r | ||||
| ClrHome | ||||
| Return^^r | ||||
							
								
								
									
										563
									
								
								samples/TI Program/srcgui.8xp.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										563
									
								
								samples/TI Program/srcgui.8xp.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,563 @@ | ||||
| .GUI AlphaCS | ||||
| #Axiom(RUNPRGM) | ||||
| #Axiom(ZSTAXE) | ||||
| Lbl DLIST | ||||
| ClrDraw | ||||
| ClrDraw^^r | ||||
| sub(D1,0,0) | ||||
| RectI(0,11,96,1) | ||||
| !If sub(POLAR,1) | ||||
| 	RectI(0,63,96,1) | ||||
| 	Text(1,13,"No programs found.") | ||||
| 	DispGraph | ||||
| 	Goto KLIST2 | ||||
| 	Else | ||||
| 	Fill(L5,50,0) | ||||
| 	Copy(L1,L5,20) | ||||
| 	13->B->G | ||||
| 	0->I | ||||
| 	1->H | ||||
| 	Text(1,13,L2) | ||||
| 	If D | ||||
| 		Pt-On(77,13,Pic21) | ||||
| 	End | ||||
| 	If E | ||||
| 		Pt-On(83,13,Pic22) | ||||
| 	End | ||||
| 	If F | ||||
| 		Pt-On(89,13,Pic23) | ||||
| 	End | ||||
| 	For(S,1,6) | ||||
| 		If sub(ADJ,1) | ||||
| 			S*7+13->G | ||||
| 			Text(1,S*7+13,L2) | ||||
| 			If D | ||||
| 				Pt-On(77,S*7+13,Pic21) | ||||
| 			End | ||||
| 			If E | ||||
| 				Pt-On(83,S*7+13,Pic22) | ||||
| 			End | ||||
| 			If F | ||||
| 				Pt-On(89,S*7+13,Pic23) | ||||
| 			End | ||||
| 		End | ||||
| 	End | ||||
| End | ||||
| Fill(L4,50,0) | ||||
| Copy(L1,L4,20) | ||||
| Lbl KLIST1 | ||||
| Rect(90,0,6,10) | ||||
| RectI(90,0,6,10) | ||||
| 0->S->T | ||||
| sub(POLAR,1) | ||||
| If Equ>String(L1,L5) | ||||
| 	S++ | ||||
| End | ||||
| sub(POLAR,0) | ||||
| If Equ>String(L1,L4) | ||||
| 	T++ | ||||
| End | ||||
| If (S) and (T) | ||||
| 	Pt-On(90,6,[F870200000000000]) | ||||
| 	Pt-On(90,2,[2070F80000000000]) | ||||
| 	Else | ||||
| 	If S | ||||
| 		Pt-On(90,4,[2070F80000000000]) | ||||
| 	End | ||||
| 	If T | ||||
| 		Pt-On(90,4,[F870200000000000]) | ||||
| 	End | ||||
| End | ||||
| RectI(0,63,96,1) | ||||
| RectI(0,B,96,7) | ||||
| DispGraph | ||||
| RectI(0,B,96,7) | ||||
| RectI(0,63,96,1) | ||||
| If getKey(15) | ||||
| 	Goto DLIST | ||||
| End | ||||
| Repeat getKey | ||||
| 	If getKey(41) | ||||
| 		Repeat getKey(41)=0 | ||||
| 		End | ||||
| 		Asm(3E01D303FB76) | ||||
| 		Repeat getKey(41)=0 | ||||
| 		End | ||||
| 	End | ||||
| End | ||||
| If getKey(48) | ||||
| 	Goto DSET1 | ||||
| End | ||||
| If (getKey(9)) or (getKey(54)) | ||||
| 	Fill(L1,50,0) | ||||
| 	Copy(L5,L1,20) | ||||
| 	If (B-13/7)=0 | ||||
| 		Fill(L1,50,0) | ||||
| 		Copy(L5+1,L1,20) | ||||
| 		sub(DATA) | ||||
| 		Else | ||||
| 		For(B-13/7) | ||||
| 			sub(ADJ,1) | ||||
| 		End | ||||
| 	End | ||||
| 	Goto DPRGM1 | ||||
| End | ||||
| If getKey(4) | ||||
| 	If (B!=13) | ||||
| 		For(S,0,7) | ||||
| 			RectI(0,63,96,1) | ||||
| 			RectI(0,B-S,96,7) | ||||
| 			DispGraph | ||||
| 			RectI(0,B-S,96,7) | ||||
| 			RectI(0,63,96,1) | ||||
| 		End | ||||
| 		B-7->B | ||||
| 		Else | ||||
| 		sub(POLAR,1) | ||||
| 		If Equ>String(L1,L5) | ||||
| 			Fill(L1,50,0) | ||||
| 			Copy(L4,L1,20) | ||||
| 			sub(ADJ,0) | ||||
| 			Fill(L4,50,0) | ||||
| 			Copy(L1,L4,20) | ||||
| 			Fill(L1,50,0) | ||||
| 			Copy(L5,L1,20) | ||||
| 			sub(ADJ,0) | ||||
| 			Fill(L5,50,0) | ||||
| 			Copy(L1,L5,20) | ||||
| 			Fill(L1,50,0) | ||||
| 			Copy(L4,L1,20) | ||||
| 			Rect(0,0,96,13) | ||||
| 			RectI(0,0,96,13) | ||||
| 			For(7) | ||||
| 				Vertical+ | ||||
| 			End | ||||
| 			Rect(0,62,96,2) | ||||
| 			RectI(0,62,96,2) | ||||
| 			Text(1,13,L2) | ||||
| 			If D | ||||
| 				Pt-On(77,13,Pic21) | ||||
| 			End | ||||
| 			If E | ||||
| 				Pt-On(83,13,Pic22) | ||||
| 			End | ||||
| 			If F | ||||
| 				Pt-On(89,13,Pic23) | ||||
| 			End | ||||
| 			Rect(0,0,96,13) | ||||
| 			RectI(0,0,96,13) | ||||
| 			sub(D1,0,0) | ||||
| 			RectI(0,11,96,1) | ||||
| 		End | ||||
| 	End | ||||
| End | ||||
| If getKey(1) | ||||
| 	If (B!=G) | ||||
| 		For(S,0,7) | ||||
| 			RectI(0,63,96,1) | ||||
| 			RectI(0,B+S,96,7) | ||||
| 			DispGraph | ||||
| 			RectI(0,B+S,96,7) | ||||
| 			RectI(0,63,96,1) | ||||
| 		End | ||||
| 		B+7->B | ||||
| 		Else | ||||
| 		sub(POLAR,0) | ||||
| 		If Equ>String(L1,L4) | ||||
| 			Fill(L1,50,0) | ||||
| 			Copy(L5,L1,20) | ||||
| 			sub(ADJ,1) | ||||
| 			Fill(L5,50,0) | ||||
| 			Copy(L1,L5,20) | ||||
| 			Fill(L1,50,0) | ||||
| 			Copy(L4,L1,20) | ||||
| 			sub(ADJ,1) | ||||
| 			Fill(L4,50,0) | ||||
| 			Copy(L1,L4,20) | ||||
| 			For(7) | ||||
| 				Vertical- | ||||
| 			End | ||||
| 			Text(1,55,L2) | ||||
| 			If D | ||||
| 				Pt-On(77,55,Pic21) | ||||
| 			End | ||||
| 			If E | ||||
| 				Pt-On(83,55,Pic22) | ||||
| 			End | ||||
| 			If F | ||||
| 				Pt-On(89,55,Pic23) | ||||
| 			End | ||||
| 			Rect(0,0,96,13) | ||||
| 			RectI(0,0,96,13) | ||||
| 			sub(D1,0,0) | ||||
| 			RectI(0,11,96,1) | ||||
| 		End | ||||
| 	End | ||||
| End | ||||
| If getKey(15) | ||||
| 	Goto END | ||||
| End | ||||
| Goto KLIST1 | ||||
| Lbl KLIST2 | ||||
| If getKey(15) | ||||
| 	Goto DLIST | ||||
| End | ||||
| Repeat getKey | ||||
| 	If getKey(41) | ||||
| 		Repeat getKey(41)=0 | ||||
| 		End | ||||
| 		Asm(3E01D303FB76) | ||||
| 		Repeat getKey(41)=0 | ||||
| 		End | ||||
| 	End | ||||
| End | ||||
| If getKey(48) | ||||
| 	Goto DSET1 | ||||
| End | ||||
| If getKey(15) | ||||
| 	Goto END | ||||
| End | ||||
| Goto KLIST2 | ||||
| Lbl DPRGM1 | ||||
| GetCalc("appv alpha ",[Y1]) | ||||
| 13->B | ||||
| D->X | ||||
| E->Y | ||||
| F->Z | ||||
| Lbl DPRGM2 | ||||
| GetCalc(L1,[Y3]) | ||||
| 0->H | ||||
| If ({[Y3]+0}=187) and ({[Y3]+1}=109) | ||||
| 	1->H | ||||
| 	If {[Y3]+2}=201 | ||||
| 		2->H | ||||
| 	End | ||||
| 	If {[Y3]+3}=201 | ||||
| 		3->H | ||||
| 	End | ||||
| End | ||||
| If {[Y3]+0}=58 | ||||
| 	4->H | ||||
| End | ||||
| ClrDraw | ||||
| ClrDraw^^r | ||||
| sub(D1,0,0) | ||||
| RectI(0,11,96,1) | ||||
| Text(1,49,L2) | ||||
| RectI(0,48,96,16) | ||||
| 69->S | ||||
| If Z | ||||
| 	Pt-Change(S,56,Pic23) | ||||
| 	S-6->S | ||||
| End | ||||
| If Y | ||||
| 	Pt-Change(S,56,Pic22) | ||||
| 	S-6->S | ||||
| End | ||||
| If X | ||||
| 	Pt-Change(S,56,Pic21) | ||||
| End | ||||
| RectI(1,56,94,7) | ||||
| Text(2,56,"size: ",{[Y3]-2}^^r>Dec) | ||||
| Text(1,13,"Run (with zStart)") | ||||
| If X | ||||
| 	Text(1,20,"Unarchive PRGM") | ||||
| 	Else | ||||
| 	Text(1,20,"Archive PRGM") | ||||
| End | ||||
| If Y | ||||
| 	Text(1,27,"Unhide PRGM") | ||||
| 	Else | ||||
| 	Text(1,27,"Hide PRGM") | ||||
| End | ||||
| If Z | ||||
| 	Text(1,34,"Unlock PRGM") | ||||
| 	Else | ||||
| 	Text(1,34,"Lock PRGM") | ||||
| End | ||||
| Rect(76,44,20,20) | ||||
| RectI(77,45,18,18) | ||||
| If H=0 | ||||
| 	Bitmap(78,46,GDB11) | ||||
| End | ||||
| If H=1 | ||||
| 	Bitmap(78,46,GDB13) | ||||
| End | ||||
| If H=2 | ||||
| 	Bitmap(78,46,GDB14) | ||||
| End | ||||
| If H=3 | ||||
| 	Bitmap(78,46,GDB14) | ||||
| End | ||||
| If H=4 | ||||
| 	Bitmap(78,46,GDB12) | ||||
| End | ||||
| Lbl KPRGM | ||||
| RectI(0,B,96,7) | ||||
| DispGraph | ||||
| RectI(0,B,96,7) | ||||
| Repeat getKey | ||||
| End | ||||
| If (getKey(9)) or (getKey(54)) | ||||
| 	If B=13 | ||||
| 		sub(SETPRGM) | ||||
| 		Goto RUN | ||||
| 		Else | ||||
| 		Fill(L2,20,0) | ||||
| 		Copy(L1+1,L2,20) | ||||
| 		Fill(L1,20,0) | ||||
| 		Copy(L2,L1,20) | ||||
| 		sub(DATA) | ||||
| 		If B=20 | ||||
| 			If X | ||||
| 				0->X | ||||
| 				Else | ||||
| 				1->X | ||||
| 			End | ||||
| 			Goto DPRGM2 | ||||
| 		End | ||||
| 		If B=27 | ||||
| 			If Y | ||||
| 				0->Y | ||||
| 				Else | ||||
| 				1->Y | ||||
| 			End | ||||
| 			Goto DPRGM2 | ||||
| 		End | ||||
| 		If B=34 | ||||
| 			If Z | ||||
| 				0->Z | ||||
| 				Else | ||||
| 				1->Z | ||||
| 			End | ||||
| 			Goto DPRGM2 | ||||
| 		End | ||||
| 	End | ||||
| End | ||||
| If (getKey(4)) and (B!=13) | ||||
| 	For(S,0,7) | ||||
| 		RectI(0,B-S,96,7) | ||||
| 		DispGraph | ||||
| 		RectI(0,B-S,96,7) | ||||
| 		Normal | ||||
| 		Pause 3 | ||||
| 		Full | ||||
| 	End | ||||
| 	B-7->B | ||||
| End | ||||
| If ((getKey(1)) and (B!=34) | ||||
| 	For(S,0,7) | ||||
| 		RectI(0,B+S,96,7) | ||||
| 		DispGraph | ||||
| 		RectI(0,B+S,96,7) | ||||
| 		Normal | ||||
| 		Pause 3 | ||||
| 		Full | ||||
| 	End | ||||
| 	B+7->B | ||||
| End | ||||
| If getKey(15) | ||||
| 	sub(SETPRGM) | ||||
| 	Goto DLIST | ||||
| End | ||||
| Goto KPRGM | ||||
| Lbl SETPRGM | ||||
| If (X!=D) or (Y!=E) or (Z!=F) | ||||
| 	If X | ||||
| 		sub(D3) | ||||
| 		DispGraph | ||||
| 	End | ||||
| 	UnArchive L1 | ||||
| 	X->D | ||||
| 	If (E!=Y) | ||||
| 		If Y | ||||
| 			{C-7}-64->{C-7} | ||||
| 			{L1+1}-64->{L1+1} | ||||
| 			Else | ||||
| 			{C-7}+64->{C-7} | ||||
| 			{L1+1}+64->{L1+1} | ||||
| 		End | ||||
| 		Y->E | ||||
| 	End | ||||
| 	If (F!=Z) | ||||
| 		If Z | ||||
| 			6->{C} | ||||
| 			|E06->{L1} | ||||
| 			Else | ||||
| 			5->{C} | ||||
| 			|E05->{L1} | ||||
| 		End | ||||
| 		Z->F | ||||
| 	End | ||||
| 	If X | ||||
| 		Archive L1 | ||||
| 	End | ||||
| End | ||||
| GetCalc(L1,[Y3]) | ||||
| Return | ||||
| Lbl RUN | ||||
| GetCalc("appv hold ",20)->S | ||||
| Fill(S,20,0) | ||||
| Copy(L1+1,S,10) | ||||
| A->{S+15} | ||||
| DiagnosticOn | ||||
| Fix 4 | ||||
| Normal | ||||
| If D | ||||
| 	GetCalc("appvzRun",{[Y3]-2}^^r)->S | ||||
| 	Copy([Y3],S,{[Y3]-2}^^r) | ||||
| End | ||||
| 2-SampZInt(|LRUNERR) | ||||
| If D | ||||
| 	Fpdf("appvzRun") | ||||
| 	Else | ||||
| 	Fpdf(L1) | ||||
| End | ||||
| 2-SampTInt  | ||||
| DelVar "appvzRun" | ||||
| GetCalc("appv hold ")->S | ||||
| Fill(L1,20,0) | ||||
| Copy(S,L1,10) | ||||
| {S+15}->A | ||||
| sub(DATA) | ||||
| DelVar "appv hold " | ||||
| DiagnosticOff | ||||
| Fix 5 | ||||
| Full | ||||
| Repeat getKey=0 | ||||
| End | ||||
| Goto DPRGM1 | ||||
| Lbl RUNERR | ||||
| 2-SampFTest ->S | ||||
| DelVar "appvzRun" | ||||
| DiagnosticOff | ||||
| Fix 5 | ||||
| Full | ||||
| sub(D2,10,22,76,20,"Error") | ||||
| If S=8 | ||||
| 	Text(12,31,"Syntax") | ||||
| 	Else | ||||
| 	Text(12,31,"Error "[23]"",S>Dec) | ||||
| End | ||||
| DispGraph | ||||
| Repeat (getKey) and (getKey(9)) | ||||
| End | ||||
| GetCalc("appv hold ")->S | ||||
| Fill(L1,20,0) | ||||
| Copy(S,L1,10) | ||||
| {S+15}->A | ||||
| sub(DATA) | ||||
| DelVar "appv hold " | ||||
| DiagnosticOff | ||||
| Fix 5 | ||||
| Full | ||||
| Repeat getKey=0 | ||||
| End | ||||
| Goto DPRGM1 | ||||
| Lbl DSET1 | ||||
| 21->B | ||||
| {[Y1]+5}->X | ||||
| {[Y1]}->Y | ||||
| {[Y1]+6}->Z | ||||
| Lbl DSET2 | ||||
| ClrDraw | ||||
| sub(D1,0,0) | ||||
| RectI(0,11,96,1) | ||||
| Text(1,12,"by ClrDraw, Nov 2013, v 1") | ||||
| RectI(0,19,96,1) | ||||
| RectI(0,63,96,1) | ||||
| If X | ||||
| 	Text(1,21,"Show Hidden On") | ||||
| 	Else | ||||
| 	Text(1,21,"Show Hidden Off") | ||||
| End | ||||
| If Y | ||||
| 	Text(1,28,"Password On") | ||||
| 	Else | ||||
| 	Text(1,28,"Password Off") | ||||
| End | ||||
| If Z | ||||
| 	Text(1,35,"Lowercase On") | ||||
| 	Else | ||||
| 	Text(1,35,"Lowercase Off") | ||||
| End | ||||
| Text(1,42,"Uninstall AlphaCS") | ||||
| Lbl KSET | ||||
| RectI(0,B,96,7) | ||||
| DispGraph | ||||
| RectI(0,B,96,7) | ||||
| Repeat getKey | ||||
| End | ||||
| If (getKey(54)) or (getKey(9)) | ||||
| 	If B=21 | ||||
| 		If X | ||||
| 			0->X | ||||
| 			Else | ||||
| 			1->X | ||||
| 		End | ||||
| 		Goto DSET2 | ||||
| 	End | ||||
| 	If B=28 | ||||
| 		If Y | ||||
| 			0->Y | ||||
| 			Else | ||||
| 			1->Y | ||||
| 		End | ||||
| 		Goto DSET2 | ||||
| 	End | ||||
| 	If B=35 | ||||
| 		If Z | ||||
| 			0->Z | ||||
| 			Else | ||||
| 			1->Z | ||||
| 		End | ||||
| 		Goto DSET2 | ||||
| 	End | ||||
| 	If B=42 | ||||
| 		If sub(CODE) | ||||
| 			DelVar Str1 | ||||
| 			Goto END | ||||
| 			Else | ||||
| 			Goto DSET2 | ||||
| 		End | ||||
| 	End | ||||
| End | ||||
| If (getKey(4)) and (B!=21) | ||||
| 	For(7) | ||||
| 		RectI(0,B,96,7) | ||||
| 		DispGraph | ||||
| 		RectI(0,B,96,7) | ||||
| 		B-- | ||||
| 		Normal | ||||
| 		Pause 3 | ||||
| 		Full | ||||
| 	End | ||||
| End | ||||
| If (getKey(1)) and (B!=42) | ||||
| 	For(7) | ||||
| 		RectI(0,B,96,7) | ||||
| 		DispGraph | ||||
| 		RectI(0,B,96,7) | ||||
| 		B++ | ||||
| 		Normal | ||||
| 		Pause 3 | ||||
| 		Full | ||||
| 	End | ||||
| End | ||||
| If getKey(15) | ||||
| 	If ({[Y1]+5}!=X) or ({[Y1]}!=Y) or ({[Y1]+6}!=Z) | ||||
| 		UnArchive Str1 | ||||
| 		GetCalc(Str1)->S | ||||
| 		X->{S+5} | ||||
| 		Y->{S} | ||||
| 		Z->{S+6} | ||||
| 		sub(D3) | ||||
| 		DispGraph | ||||
| 		Archive Str1 | ||||
| 		GetCalc(Str1,[Y1]) | ||||
| 	End | ||||
| 	Repeat getKey=0 | ||||
| 	End | ||||
| 	Goto DLIST | ||||
| End | ||||
| Goto KSET | ||||
							
								
								
									
										138
									
								
								samples/TI Program/srcsort.8xp.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										138
									
								
								samples/TI Program/srcsort.8xp.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,138 @@ | ||||
| .SORT AlphaCS | ||||
| Lbl POLAR | ||||
| Fill(L1,50,0) | ||||
| {|E9830}^^r->[r2] | ||||
| Repeat (({[r2]}=5) or ({[r2]}=6)) and (({[r2]-7}>48) or (({[Y1]+5}) and ({[r2]-7}<28))) | ||||
| 	[r2]-{[r2]-6}-7->[r2] | ||||
| 	If [r2]<={|E982E}^^r | ||||
| 		Return0 | ||||
| 	End | ||||
| End | ||||
| For([r3],1,{[r2]-6}) | ||||
| 	{[r2]-6-[r3]}->{L1+[r3]-1} | ||||
| End | ||||
| [r2]-{[r2]-6}-7->[r2] | ||||
| Repeat 0 | ||||
| 	If (({[r2]}=5) or ({[r2]}=6)) and (({[r2]-7}>48) or (({[Y1]+5}) and ({[r2]-7}<28))) | ||||
| 		Fill(L2,50,0) | ||||
| 		For([r3],1,{[r2]-6} | ||||
| 			{[r2]-6-[r3]}->{L2+[r3]-1 | ||||
| 		End | ||||
| 		0->[r3] | ||||
| 		Repeat ({L1+[r3]}!={L2+[r3]}) or ([r3]=20) | ||||
| 			[r3]++ | ||||
| 		End | ||||
| 		If (({L1+[r3]}>{L2+[r3]}) and ([r1]=1)) or (({L1+[r3]}<{L2+[r3]}) and ([r1]=0)) | ||||
| 			Fill(L1,50,0) | ||||
| 			Copy(L2,L1,20) | ||||
| 		End | ||||
| 		Else | ||||
| 		If [r2]<{|E982E}^^r | ||||
| 			sub(DATA) | ||||
| 			Return1 | ||||
| 		End | ||||
| 	End | ||||
| 	[r2]-{[r2]-6}-7->[r2] | ||||
| End | ||||
| Lbl ADJ | ||||
| Fill(L2,50,0) | ||||
| Copy(L1+1,L2,20) | ||||
| Fill(L1,50,0) | ||||
| Copy(L2,L1) | ||||
| Fill(L3,50,0) | ||||
| Copy(L1,L3,20) | ||||
| Fill(L1,50,0) | ||||
| {|E9830}^^r->[r2] | ||||
| sub(CHECK) | ||||
| Repeat (({[r2]}=5) or ({[r2]}=6)) and ([r4]) and (({[r2]-7}>48) or ({[r2]-7}<28)) | ||||
| 	[r2]-{[r2]-6}-7->[r2] | ||||
| 	If [r2]<{|E982E}^^r | ||||
| 		Fill(L1,50,0) | ||||
| 		Copy(L3,L1,20) | ||||
| 		Fill(L3,50,0) | ||||
| 		sub(DATA) | ||||
| 		Return0 | ||||
| 	End | ||||
| 	sub(CHECK) | ||||
| End | ||||
| For([r3],1,{[r2]-6}) | ||||
| 	{[r2]-6-[r3]}->{L1+[r3]-1} | ||||
| End | ||||
| [r2]-{[r2]-6}-7->[r2] | ||||
| Repeat 0 | ||||
| 	sub(CHECK) | ||||
| 	If (({[r2]}=5) or ({[r2]}=6)) and ([r4]) and (({[r2]-7}>48) or ({[r2]-7}<28)) | ||||
| 		Fill(L2,50,0) | ||||
| 		For([r3],1,{[r2]-6} | ||||
| 			{[r2]-6-[r3]}->{L2+[r3]-1 | ||||
| 		End | ||||
| 		0->[r3] | ||||
| 		Repeat ({L1+[r3]}!={L2+[r3]}) or ([r3]=20) | ||||
| 			[r3]++ | ||||
| 		End | ||||
| 		If (({L1+[r3]}>{L2+[r3]}) and ([r1]=1)) or (({L1+[r3]}<{L2+[r3]}) and ([r1]=0)) | ||||
| 			Fill(L1,50,0) | ||||
| 			Copy(L2,L1,20) | ||||
| 		End | ||||
| 		Else | ||||
| 		If [r2]<{|E982E}^^r | ||||
| 			sub(DATA) | ||||
| 			Return1 | ||||
| 		End | ||||
| 	End | ||||
| 	[r2]-{[r2]-6}-7->[r2] | ||||
| End | ||||
| Lbl CHECK | ||||
| 0->[r4] | ||||
| Repeat ({[r2]-7-[r4]}!={L3+[r4]}) or (([r4]>={[r2]-6}) and ({L3+[r4]}=0)) | ||||
| 	[r4]++ | ||||
| End | ||||
| If ((({[r2]-7-[r4]}<{L3+[r4]}) and ([r1]=1)) or (({[r2]-7-[r4]}>{L3+[r4]}) and ([r1]=0))) or (([r4]>={[r2]-6}) and ({L3+[r4]}=0)) | ||||
| 	0->[r4] | ||||
| 	Else | ||||
| 	1->[r4] | ||||
| End | ||||
| Return | ||||
| Lbl DATA | ||||
| {|E9830}^^r->C | ||||
| Repeat 0 | ||||
| 	Repeat ({C}=5) or ({C}=6) and (({[r1]-7}>48) or ({[r1]-7}<28)) | ||||
| 		C-{C-6}-7->C | ||||
| 	End | ||||
| 	Fill(L2,50,0) | ||||
| 	For([r1],1,{C-6}) | ||||
| 		{C-6-[r1]}->{L2+[r1]-1} | ||||
| 	End | ||||
| 	!If Equ>String(L1,L2) | ||||
| 		If {C-5}=0 | ||||
| 			0->D | ||||
| 			Else | ||||
| 			1->D | ||||
| 		End | ||||
| 		If {C-7}<28 | ||||
| 			1->E | ||||
| 			Else | ||||
| 			0->E | ||||
| 		End | ||||
| 		If {C}=6 | ||||
| 			1->F | ||||
| 			Else | ||||
| 			0->F | ||||
| 		End | ||||
| 		Fill(L2,50,0) | ||||
| 		Copy(L1,L2,20) | ||||
| 		Fill(L1,50,0) | ||||
| 		Copy(L2,L1+1,20) | ||||
| 		If E | ||||
| 			{L2}+64->{L2} | ||||
| 		End | ||||
| 		If F | ||||
| 			|E06->{L1} | ||||
| 			Else | ||||
| 			|E05->{L1} | ||||
| 		End | ||||
| 		Return | ||||
| 	End | ||||
| 	C-{C-6}-7->C | ||||
| End | ||||
| Return | ||||
| @@ -494,4 +494,12 @@ class TestLanguage < Minitest::Test | ||||
|     message << missing.sort.join("\n") | ||||
|     assert missing.empty?, message | ||||
|   end | ||||
|  | ||||
|   def test_no_unused_colours | ||||
|     Language.all.each do |language| | ||||
|       next unless language.type == :data || language.type == :prose || | ||||
|         language.group.to_s != language.name | ||||
|       assert !language.color, "Unused colour assigned to #{language.name}" | ||||
|     end | ||||
|   end | ||||
| end | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/grammars/language-asn1
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/language-asn1
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/language-asn1 updated: bc3811c770...208b6d9ebe
									
								
							
		Reference in New Issue
	
	Block a user