# tinycoder
> Browser code editor that aims to be kept as simple as possible.<br>- Short description

## Ups and downs
### Ups:
1. Simple to get around
2. Has a Tkinter-styled `config` API
### Downs:
1. More event-based than property-based
2. Doesn't handle automatic indentation
## Examples
### Changing the `config`uration
```js
tc = new tinycoder(document.getElementById("tc"))
tc.config("syntaxHighlight", false)
console.log(tc.config("syntaxHighlight")) // Output: false
```
### On special circumstances...
```js
tc = new tinycoder(document.getElementById("tc"))
tc.events.update(function(e) {
	console.log("Code is now updated!", e)
})
tc.updateCode("let it = \"go\"") // Output: Code is now updated! {code: "let it = \"go\""}
// On user edit, the "update" event will not be fired.
// Use "edit" instead.
```
## Documentation
For your ease, the documentation is given right here where are you watching this right now.
### Events
|Name|Sample object|Fired on|
|:-:|-|-|
|`update`|`{"code": "let it = \"go\";"}`|Code updated programmatically via `updateCode()`|
|`edit`|`{"code": "let it = \"go\";", "code": false}`|Code edited programmatically via `updateCode()` and by user|
|`focus`|`{"code": "let it = \"go\";"}`|`focus`-like event|
|`unfocus`|`{"code": "let it = \"go\";"}`|`blur`-like event|
|`any`|Any from above|After every event|
### Configuration keys
|Name|Sample value|Description|
|:-:|:-:|-|
|`syntaxHighlight`|`true`|Enables/disabled syntax highlighting|
|`fontStr`|`"normal 12px \"Cascadia Mono\""`|[More information](https://www.w3schools.com/cssref/pr_font_font.php)|