adjust docs

master
Araozu 2023-11-04 07:17:32 -05:00
parent e519d2d80b
commit 94c0831533
6 changed files with 52 additions and 37 deletions

View File

@ -14,7 +14,8 @@ class Logger
setLogger(Logger()) setLogger(Logger())
// Using an anonymous class // Using an anonymous class
setLogger(class { setLogger(class
{
pub fun log(String msg) pub fun log(String msg)
{ {
print(msg) print(msg)
@ -23,7 +24,8 @@ setLogger(class {
``` ```
```thp ```thp
setLogger(class(Int param1) -> SomeClass(param1), SomeInterface { setLogger(class(Int param1) -> SomeClass(param1), SomeInterface
{
pub fun method() pub fun method()
{ {
// code // code

View File

@ -2,8 +2,6 @@
Basically kotlin syntax. Basically kotlin syntax.
Methods have to have a first parameter `$`.
## Create a new instance of a class ## Create a new instance of a class
@ -29,19 +27,19 @@ val instance = SimpleClass()
class SimpleClass class SimpleClass
{ {
// Properties are private by default // Properties are private by default
var String? name; var String? name = ...
// Made public with `pub` // Made public with `pub`
pub var String? surname; pub var String? surname = ...
// Methods are private by default // Methods are private by default
fun display_name($) fun display_name()
{ {
// `$` is used instead of $this // `$` is used instead of $this
print($name) print($name)
} }
pub fun get_name($) -> String? pub fun get_name() -> String?
{ {
$name $name
} }
@ -61,7 +59,7 @@ Kotlin style
```thp ```thp
class Cat(val String name) class Cat(val String name)
{ {
pub fun get_name($) -> String pub fun get_name() -> String
{ {
$name $name
} }
@ -71,6 +69,21 @@ val michifu = Cat("Michifu")
print(michifu.get_name()) print(michifu.get_name())
``` ```
With kotlin's `init` block.
```thp
class Dog(val String name)
{
val Int name_length
init
{
print("Dog has been instantiated")
$name_length = name.length()
}
}
```
## Inheritance ## Inheritance
Kotlin style Kotlin style
@ -78,7 +91,7 @@ Kotlin style
```thp ```thp
class Animal(val String name) class Animal(val String name)
{ {
pub fun say_name($) pub fun say_name()
{ {
print($name) print($name)
} }

View File

@ -6,14 +6,14 @@
interface Serializable interface Serializable
{ {
// Methods are always public in interfaces // Methods are always public in interfaces
fun serialize($) -> String fun serialize() -> String
} }
class Cat -> Serializable class Cat -> Serializable
{ {
pub fun Serializable($) -> String pub fun Serializable() -> String
{ {
// code // code
} }

View File

@ -5,7 +5,7 @@
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {
"generate": "md-docs", "generate": "md-docs",
"watch": "concurrently -k \"pnpm tailwind:watch\" \"serve ./static/ -l 3333\"", "dev": "concurrently -k \"pnpm tailwind:watch\" \"serve ./static/ -l 3333\"",
"tailwind:watch": "tailwindcss -i ./tailwind.css -o ./static/css/out.css --watch", "tailwind:watch": "tailwindcss -i ./tailwind.css -o ./static/css/out.css --watch",
"tailwind:build": "tailwindcss -i ./tailwind.css -o ./static/css/out.css --minify" "tailwind:build": "tailwindcss -i ./tailwind.css -o ./static/css/out.css --minify"
}, },

View File

@ -15,7 +15,7 @@ Prism.languages.thp = {
pattern: /(["])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, pattern: /(["])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
greedy: true, greedy: true,
}, },
"keyword": /\b(?:static|const|enum|loop|use|break|catch|continue|do|else|finally|for|fun|if|in|fn|nil|return|throw|try|while|val|var|type|match|with|of|abstract|class|interface|private|pub|obj|override|open)\b/, "keyword": /\b(?:static|const|enum|loop|use|break|catch|continue|do|else|finally|for|fun|if|in|fn|nil|return|throw|try|while|val|var|type|match|with|of|abstract|class|interface|private|pub|obj|override|open|init)\b/,
"number": /\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i, "number": /\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,
"operator": /[<>]=?|[!=]=?=?|--?|\$|\+\+?|&&?|\|\|?|[?*/~^%]/, "operator": /[<>]=?|[!=]=?=?|--?|\$|\+\+?|&&?|\|\|?|[?*/~^%]/,
"punctuation": /[{}[\];(),.]/, "punctuation": /[{}[\];(),.]/,

View File

@ -1,28 +1,28 @@
/** @type {import('tailwindcss').Config} */ /** @type {import('tailwindcss').Config} */
module.exports = { module.exports = {
content: ["./static/**/*.html"], content: ["./static/**/*.html"],
theme: { theme: {
extend: { extend: {
colors: { colors: {
"c-bg": "var(--c-bg)", "c-bg": "var(--c-bg)",
"c-text": "var(--c-text)", "c-text": "var(--c-text)",
"c-purple": "var(--c-purple)", "c-purple": "var(--c-purple)",
"c-purple-light": "var(--c-purple-light)", "c-purple-light": "var(--c-purple-light)",
"c-box-shadow": "var(--c-box-shadow)", "c-box-shadow": "var(--c-box-shadow)",
"c-ping": "var(--c-pink)", "c-ping": "var(--c-pink)",
"c-background-2": "var(--c-background-2)", "c-background-2": "var(--c-background-2)",
"c-primary": "var(--c-primary)", "c-primary": "var(--c-primary)",
"c-secondary": "var(--c-secondary)", "c-secondary": "var(--c-secondary)",
"c-nav-bg": "var(--c-nav-bg)", "c-nav-bg": "var(--c-nav-bg)",
} }
},
fontFamily: {
"mono": ["'Fira Code'", "Inconsolata", "Iosevka", "monospace"],
"display": ["'Josefin Sans'", "'Fugaz One'", "sans-serif"],
"body": ["'Fira Sans Condensed'", "Inter", "sans-serif"],
"nav-title": ["'Josefin Sans'", "'Fugaz One'", "sans-serif"],
},
}, },
fontFamily: { plugins: [],
"mono": ["'Fira Code'", "Inconsolata", "Iosevka", "monospace"],
"display": ["'Josefin Sans'", "'Fugaz One'", "sans-serif"],
"body": ["'Fira Sans Condensed'", "Inter", "sans-serif"],
"nav-title": ["'Josefin Sans'", "'Fugaz One'", "sans-serif"],
},
},
plugins: [],
} }