- _____ _____ _ _
- |_ _|___ ___ ___ _ _| __|___ ___|_|___| |_
- | | | -_| -_| | | |__ | _| _| | . | _|
- |_| |___|___|_|_|_ |_____|___|_| |_| _|_|
- By TarreTarreTarre|___|Build '1.0.0' |_|
+ F5 = Run script
+ F6 = Build 'AU3'
+ F7 = Build 'EXE'
+ F8 = Options GUI
+ F10 = Exit TeenyScript
All example code and documentation moved to: http://teenyscript.tarre.nu/documentation
Official Github repo: http://github.com/tarreislam/teenyscript
F.A.Q
Q: What is TeenyScript?
A: TeenyScript is a Superset of AutoIt which makes it more advanced
Q: How does it work?
A: TeenyScript code are parsed into native AutoiT code
Q: Does it depend on anything else than AutoIt?
A: Just one dependency, that is AutoitObject, the best UDF ever created for AutoIt, besides that, only Native AutoIt is used
Features
"Anonymous" functions
Endless scope nesting
OOP (powered by AutoitObject)
User-friendly integration
Powerful macros
Namespaces
Lists
Project support, for easy deployment
Userfriendly GUI for userfriendly Tasks for the Userfriendly person
And much more
To come
You decide, I am happy to do requests!
Install and Update TeenyScript
HOW TO GET STARTED
Run TeenyScript.au3
Now this should see something like this in your console
Code
Press F8 and navigate to the misc tab to install SciTE calltips
Run \ Build \ Compile
How to run with Sublime Text
Here is some examples of TeenyScript code
;Basic List usage
$Example_A = Func()
; Create a list
Local $myList = {
'Name': 'Tarre'
}
; Add \ Change data on $MyList
$myList{'Age'} = 25
; Create MySecondList
Local $MySecondList = {
"Name" => "John",
"Age" => "00"
}
; Using variable instead of a string
Local $KeyName = "Age"
Local $KeyVal = 1337
$MySecondList{$KeyName} = $KeyVal
; You may also pass lists to lists. however this has to be done in this fashion.
Local $oList = {'myList': $myList, 'mySecondList' => $MySecondList}
; Return the objects
Return $oList
EndFunc();call the function on the variable
; Loop through list and print their values
$Example_B = Func()
Local $MyList = {'A': 'Hello FROM A', 'B': 'Hello FROM B', 'C': 'Hello FROM C'}
Local $aNames = ['A', 'B', 'C']
For $i = 0 To UBound($aNames) -1
MsgBox(0,0,$myList{$aNames[$i]})
Next
EndFunc
#MAIN
MsgBox(0,"Example A 1", $Example_A.myList.Name)
MsgBox(0,"Example A 2", $Example_A.myList.Age)
MsgBox(0,"Example A 3", $Example_A.mySecondList.Name)
MsgBox(0,"Example A 4", $Example_A.mySecondList.Age)
$Example_B(); Execute examble B
Here is a non class nested function calculator example (calculator.ts.au3)
$calculator = Func($a, $and, $b)
$division = Func($a, $b)
if Not $a or Not $b Then
Return "Error dividing 0"
EndIf
Return $a/$b
EndFunc
Switch $and
Case '+'
Return $a + $b
Case '-'
Return $a - $b
Case '/'
Return $division($a, $b)
Case '*'
Return $a * $b
EndSwitch
Return "Unkown attribute "&$and
EndFunc
#MAIN
ConsoleWrite($calculator(25, '*', 25)&@CRLF)
ConsoleWrite($calculator(25, '/', 0) & @CRLF)
ConsoleWrite($calculator(1, '^', 2) & @CRLF)
teeny-script.zip (OLD)
TeenyScript beta2.zip (OLD)
teeny-script Beta 4.zip (OLD)
teeny-script Beta 5.zip (OLD)
teeny-script BETA 6.zip (OLD)
TeenyScript Beta 7.zip (OLD)
teeny-script Beta 8.zip (OLD)
TeenyScript-master 1.0.0.zip (OLD)
TeenyScript-1.1.0.zip (OLD)
TeenyScript-1.2.0.zip (OLD)
TeenyScript-2.0.0.zip (OLRD, Release notes)
TeenyScript-2.1.3.zip (Newest 2016-09-16, Release notes)