summaryrefslogtreecommitdiff
path: root/tests/typ/text/raw-code.typ
blob: 3ac72a0522fa907aaec6e381ab48228ab233fe68 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
// Test code highlighting.

---
#set page(width: 180pt)
#set text(6pt)
#show raw: it => rect(
  width: 100%,
  inset: (x: 4pt, y: 5pt),
  radius: 4pt,
  fill: rgb(239, 241, 243),
  place(right, text(luma(110), it.lang)) + it,
)

```typ
= Chapter 1
#lorem(100)

#let hi = "Hello World"
#show heading: emph
```

```rust
/// A carefully designed state machine.
#[derive(Debug)]
enum State<'a> { A(u8), B(&'a str) }

fn advance(state: State<'_>) -> State<'_> {
    unimplemented!("state machine")
}
```

```py
import this

def hi():
  print("Hi!")
```

```cpp
#include <iostream>

int main() {
  std::cout << "Hello, world!";
}
```

```julia
# Add two numbers
function add(x, y)
    return x * y
end
```

    // Try with some indent.
    ```html
    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="utf-8">
      </head>
      <body>
        <h1>Topic</h1>
        <p>The Hypertext Markup Language.</p>
        <script>
          function foo(a, b) {
            return a + b + "string";
          }
        </script>
      </body>
    </html>
    ```

---
#set page(width: 180pt)
#set text(6pt)
#set raw(lang:"python")

Inline raws, multiline e.g. `for i in range(10):
  # Only this line is a comment.
  print(i)` or otherwise e.g. `print(j)`, are colored properly.

Inline raws, multiline e.g. `
# Appears blocky due to linebreaks at the boundary.
for i in range(10):
  print(i)
` or otherwise e.g. `print(j)`, are colored properly.