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:
|
To add support for a new language:
|
||||||
|
|
||||||
0. Add an entry for your language to [`languages.yml`][languages].
|
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 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 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.
|
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:
|
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
|
# 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
|
# languages in Linguist without reindexing all the code on GitHub. Must not be
|
||||||
# changed for existing languages without the explicit permission of GitHub staff.
|
# 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
|
# tm_scope - The TextMate scope that represents this programming
|
||||||
# language. This should match one of the scopes listed in
|
# language. This should match one of the scopes listed in
|
||||||
# the grammars.yml file. Use "none" if there is no grammar
|
# the grammars.yml file. Use "none" if there is no grammar
|
||||||
@@ -103,7 +103,6 @@ APL:
|
|||||||
language_id: 6
|
language_id: 6
|
||||||
ASN.1:
|
ASN.1:
|
||||||
type: data
|
type: data
|
||||||
color: "#aeead0"
|
|
||||||
extensions:
|
extensions:
|
||||||
- ".asn"
|
- ".asn"
|
||||||
- ".asn1"
|
- ".asn1"
|
||||||
@@ -228,7 +227,6 @@ Apex:
|
|||||||
language_id: 17
|
language_id: 17
|
||||||
Apollo Guidance Computer:
|
Apollo Guidance Computer:
|
||||||
type: programming
|
type: programming
|
||||||
color: "#0B3D91"
|
|
||||||
group: Assembly
|
group: Assembly
|
||||||
extensions:
|
extensions:
|
||||||
- ".agc"
|
- ".agc"
|
||||||
@@ -370,7 +368,6 @@ Bison:
|
|||||||
extensions:
|
extensions:
|
||||||
- ".bison"
|
- ".bison"
|
||||||
ace_mode: text
|
ace_mode: text
|
||||||
color: "#6A463F"
|
|
||||||
language_id: 31
|
language_id: 31
|
||||||
BitBake:
|
BitBake:
|
||||||
type: programming
|
type: programming
|
||||||
@@ -564,6 +561,17 @@ COLLADA:
|
|||||||
codemirror_mode: xml
|
codemirror_mode: xml
|
||||||
codemirror_mime_type: text/xml
|
codemirror_mime_type: text/xml
|
||||||
language_id: 49
|
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:
|
CSS:
|
||||||
type: markup
|
type: markup
|
||||||
tm_scope: source.css
|
tm_scope: source.css
|
||||||
@@ -694,7 +702,6 @@ CoffeeScript:
|
|||||||
- "._coffee"
|
- "._coffee"
|
||||||
- ".cake"
|
- ".cake"
|
||||||
- ".cjsx"
|
- ".cjsx"
|
||||||
- ".cson"
|
|
||||||
- ".iced"
|
- ".iced"
|
||||||
filenames:
|
filenames:
|
||||||
- Cakefile
|
- Cakefile
|
||||||
@@ -703,7 +710,6 @@ CoffeeScript:
|
|||||||
language_id: 63
|
language_id: 63
|
||||||
ColdFusion:
|
ColdFusion:
|
||||||
type: programming
|
type: programming
|
||||||
group: ColdFusion
|
|
||||||
ace_mode: coldfusion
|
ace_mode: coldfusion
|
||||||
color: "#ed2cd6"
|
color: "#ed2cd6"
|
||||||
search_term: cfm
|
search_term: cfm
|
||||||
@@ -720,7 +726,6 @@ ColdFusion CFC:
|
|||||||
type: programming
|
type: programming
|
||||||
group: ColdFusion
|
group: ColdFusion
|
||||||
ace_mode: coldfusion
|
ace_mode: coldfusion
|
||||||
color: "#ed2cd6"
|
|
||||||
search_term: cfc
|
search_term: cfc
|
||||||
aliases:
|
aliases:
|
||||||
- cfc
|
- cfc
|
||||||
@@ -1038,7 +1043,6 @@ ECLiPSe:
|
|||||||
language_id: 94
|
language_id: 94
|
||||||
EJS:
|
EJS:
|
||||||
type: markup
|
type: markup
|
||||||
color: "#a91e50"
|
|
||||||
group: HTML
|
group: HTML
|
||||||
extensions:
|
extensions:
|
||||||
- ".ejs"
|
- ".ejs"
|
||||||
@@ -1726,11 +1730,9 @@ Haml:
|
|||||||
ace_mode: haml
|
ace_mode: haml
|
||||||
codemirror_mode: haml
|
codemirror_mode: haml
|
||||||
codemirror_mime_type: text/x-haml
|
codemirror_mime_type: text/x-haml
|
||||||
color: "#ECE2A9"
|
|
||||||
language_id: 154
|
language_id: 154
|
||||||
Handlebars:
|
Handlebars:
|
||||||
type: markup
|
type: markup
|
||||||
color: "#01a9d6"
|
|
||||||
group: HTML
|
group: HTML
|
||||||
aliases:
|
aliases:
|
||||||
- hbs
|
- hbs
|
||||||
@@ -1909,7 +1911,6 @@ J:
|
|||||||
language_id: 172
|
language_id: 172
|
||||||
JFlex:
|
JFlex:
|
||||||
type: programming
|
type: programming
|
||||||
color: "#DBCA00"
|
|
||||||
group: Lex
|
group: Lex
|
||||||
extensions:
|
extensions:
|
||||||
- ".flex"
|
- ".flex"
|
||||||
@@ -2041,19 +2042,6 @@ JavaScript:
|
|||||||
- ".pac"
|
- ".pac"
|
||||||
- ".sjs"
|
- ".sjs"
|
||||||
- ".ssjs"
|
- ".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"
|
- ".xsjs"
|
||||||
- ".xsjslib"
|
- ".xsjslib"
|
||||||
filenames:
|
filenames:
|
||||||
@@ -2126,7 +2114,6 @@ LFE:
|
|||||||
type: programming
|
type: programming
|
||||||
extensions:
|
extensions:
|
||||||
- ".lfe"
|
- ".lfe"
|
||||||
color: "#004200"
|
|
||||||
group: Erlang
|
group: Erlang
|
||||||
tm_scope: source.lisp
|
tm_scope: source.lisp
|
||||||
ace_mode: lisp
|
ace_mode: lisp
|
||||||
@@ -2183,7 +2170,6 @@ Lasso:
|
|||||||
language_id: 195
|
language_id: 195
|
||||||
Latte:
|
Latte:
|
||||||
type: markup
|
type: markup
|
||||||
color: "#A8FF97"
|
|
||||||
group: HTML
|
group: HTML
|
||||||
extensions:
|
extensions:
|
||||||
- ".latte"
|
- ".latte"
|
||||||
@@ -2208,7 +2194,6 @@ Less:
|
|||||||
ace_mode: less
|
ace_mode: less
|
||||||
codemirror_mode: css
|
codemirror_mode: css
|
||||||
codemirror_mime_type: text/css
|
codemirror_mime_type: text/css
|
||||||
color: "#A1D9A1"
|
|
||||||
language_id: 198
|
language_id: 198
|
||||||
Lex:
|
Lex:
|
||||||
type: programming
|
type: programming
|
||||||
@@ -2429,6 +2414,7 @@ Makefile:
|
|||||||
extensions:
|
extensions:
|
||||||
- ".mak"
|
- ".mak"
|
||||||
- ".d"
|
- ".d"
|
||||||
|
- ".make"
|
||||||
- ".mk"
|
- ".mk"
|
||||||
- ".mkfile"
|
- ".mkfile"
|
||||||
filenames:
|
filenames:
|
||||||
@@ -2795,7 +2781,6 @@ NumPy:
|
|||||||
ace_mode: text
|
ace_mode: text
|
||||||
codemirror_mode: python
|
codemirror_mode: python
|
||||||
codemirror_mime_type: text/x-python
|
codemirror_mime_type: text/x-python
|
||||||
color: "#9C8AF9"
|
|
||||||
language_id: 254
|
language_id: 254
|
||||||
OCaml:
|
OCaml:
|
||||||
type: programming
|
type: programming
|
||||||
@@ -3679,7 +3664,6 @@ SCSS:
|
|||||||
codemirror_mime_type: text/x-scss
|
codemirror_mime_type: text/x-scss
|
||||||
extensions:
|
extensions:
|
||||||
- ".scss"
|
- ".scss"
|
||||||
color: "#CF649A"
|
|
||||||
language_id: 329
|
language_id: 329
|
||||||
SMT:
|
SMT:
|
||||||
type: programming
|
type: programming
|
||||||
@@ -3805,7 +3789,6 @@ Sass:
|
|||||||
ace_mode: sass
|
ace_mode: sass
|
||||||
codemirror_mode: sass
|
codemirror_mode: sass
|
||||||
codemirror_mime_type: text/x-sass
|
codemirror_mime_type: text/x-sass
|
||||||
color: "#CF649A"
|
|
||||||
language_id: 340
|
language_id: 340
|
||||||
Scala:
|
Scala:
|
||||||
type: programming
|
type: programming
|
||||||
@@ -3932,7 +3915,6 @@ Slash:
|
|||||||
Slim:
|
Slim:
|
||||||
group: HTML
|
group: HTML
|
||||||
type: markup
|
type: markup
|
||||||
color: "#ff8f77"
|
|
||||||
extensions:
|
extensions:
|
||||||
- ".slim"
|
- ".slim"
|
||||||
tm_scope: text.slim
|
tm_scope: text.slim
|
||||||
@@ -4040,6 +4022,28 @@ SubRip Text:
|
|||||||
ace_mode: text
|
ace_mode: text
|
||||||
tm_scope: text.srt
|
tm_scope: text.srt
|
||||||
language_id: 360
|
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:
|
SuperCollider:
|
||||||
type: programming
|
type: programming
|
||||||
color: "#46390b"
|
color: "#46390b"
|
||||||
@@ -4072,6 +4076,17 @@ SystemVerilog:
|
|||||||
codemirror_mode: verilog
|
codemirror_mode: verilog
|
||||||
codemirror_mime_type: text/x-systemverilog
|
codemirror_mime_type: text/x-systemverilog
|
||||||
language_id: 363
|
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:
|
TLA:
|
||||||
type: programming
|
type: programming
|
||||||
extensions:
|
extensions:
|
||||||
@@ -4254,7 +4269,6 @@ Unified Parallel C:
|
|||||||
ace_mode: c_cpp
|
ace_mode: c_cpp
|
||||||
codemirror_mode: clike
|
codemirror_mode: clike
|
||||||
codemirror_mime_type: text/x-csrc
|
codemirror_mime_type: text/x-csrc
|
||||||
color: "#4e3617"
|
|
||||||
extensions:
|
extensions:
|
||||||
- ".upc"
|
- ".upc"
|
||||||
tm_scope: source.c
|
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")
|
message << missing.sort.join("\n")
|
||||||
assert missing.empty?, message
|
assert missing.empty?, message
|
||||||
end
|
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
|
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