mirror of
https://github.com/sharkdp/bat
synced 2024-11-16 08:57:59 +00:00
feat: add Nim syntax test file
This commit is contained in:
parent
6872a4dd7f
commit
b83716f0eb
2 changed files with 82 additions and 0 deletions
41
tests/syntax-tests/highlighted/nim/main.nim
Normal file
41
tests/syntax-tests/highlighted/nim/main.nim
Normal file
|
@ -0,0 +1,41 @@
|
|||
[38;2;249;38;114mimport[0m[38;2;248;248;242m json[0m
|
||||
|
||||
[38;2;249;38;114mconst[0m
|
||||
[38;2;248;248;242m message = [0m[38;2;230;219;116m"hello world"[0m
|
||||
[38;2;248;248;242m multiLine = [0m[38;2;230;219;116m"""[0m
|
||||
[38;2;230;219;116m foo[0m
|
||||
[38;2;230;219;116m bar[0m
|
||||
[38;2;230;219;116m """[0m
|
||||
[38;2;248;248;242m numbers = @[[0m[38;2;190;132;255m1[0m[38;2;248;248;242m, [0m[38;2;190;132;255m2[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m][0m
|
||||
|
||||
[38;2;249;38;114mtype[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mOptions[0m[38;2;248;248;242m = [0m[38;2;249;38;114menum[0m
|
||||
[38;2;248;248;242m A,[0m
|
||||
[38;2;248;248;242m B,[0m
|
||||
[38;2;248;248;242m C[0m
|
||||
|
||||
[38;2;117;113;94m## [0m[38;2;117;113;94mTop-level comment[0m
|
||||
[38;2;249;38;114mtype[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;166;226;46mSomeStruct[0m[38;2;248;248;242m* = [0m[38;2;249;38;114mref[0m[38;2;248;248;242m [0m[38;2;249;38;114mobject[0m
|
||||
[38;2;248;248;242m value*: [0m[3;38;2;102;217;239mstring[0m
|
||||
|
||||
[3;38;2;102;217;239mproc[0m[38;2;248;248;242m someFunc*(): [0m[3;38;2;102;217;239mstring[0m[38;2;248;248;242m =[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m## [0m[38;2;117;113;94mFunction docs[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m##[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m## [0m[38;2;117;113;94mMore docs[0m
|
||||
[38;2;248;248;242m result = message[0m
|
||||
|
||||
[3;38;2;102;217;239mproc[0m[38;2;248;248;242m [0m[38;2;102;217;239msomeOtherFunc[0m[38;2;248;248;242m(startingValue: [0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m): ([0m[3;38;2;102;217;239mstring[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m) =[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mvar[0m[38;2;248;248;242m num = startingValue[0m
|
||||
[38;2;248;248;242m num += [0m[38;2;190;132;255m1[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m num > [0m[38;2;190;132;255m10[0m[38;2;248;248;242m * [0m[38;2;190;132;255m10[0m[38;2;248;248;242m * [0m[38;2;190;132;255m10[0m[38;2;248;248;242m:[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mecho[0m[38;2;248;248;242m [0m[38;2;230;219;116m"Encountered an error"[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mraise[0m[38;2;248;248;242m [0m[38;2;249;38;114mnewException[0m[38;2;248;248;242m([0m[3;38;2;166;226;46mValueError[0m[38;2;248;248;242m, [0m[38;2;230;219;116m"Value was over 1000"[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m ([0m[38;2;230;219;116m"Fizz"[0m[38;2;248;248;242m, num)[0m
|
||||
|
||||
[3;38;2;102;217;239mproc[0m[38;2;248;248;242m `+=[0m[38;2;102;217;239m`[0m[38;2;248;248;242m(a: [0m[38;2;249;38;114mvar[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mSomeStruct[0m[38;2;248;248;242m, b: [0m[3;38;2;166;226;46mSomeStruct[0m[38;2;248;248;242m)[0m[38;2;249;38;114m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mstring[0m[38;2;248;248;242m =[0m
|
||||
[38;2;248;248;242m a.value.[0m[38;2;102;217;239madd[0m[38;2;248;248;242m(b.value)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mreturn[0m[38;2;248;248;242m a.value[0m
|
||||
|
||||
[38;2;249;38;114mecho[0m[38;2;248;248;242m [0m[38;2;102;217;239msomeFunc[0m[38;2;248;248;242m()[0m
|
||||
[38;2;249;38;114mecho[0m[38;2;248;248;242m([0m[38;2;102;217;239msomeOtherFunc[0m[38;2;248;248;242m([0m[38;2;190;132;255m123[0m[38;2;248;248;242m))[0m
|
||||
[38;2;249;38;114mdiscard[0m[38;2;248;248;242m [0m[38;2;102;217;239msomeFunc[0m[38;2;248;248;242m()[0m
|
41
tests/syntax-tests/source/nim/main.nim
Normal file
41
tests/syntax-tests/source/nim/main.nim
Normal file
|
@ -0,0 +1,41 @@
|
|||
import json
|
||||
|
||||
const
|
||||
message = "hello world"
|
||||
multiLine = """
|
||||
foo
|
||||
bar
|
||||
"""
|
||||
numbers = @[1, 2, 3]
|
||||
|
||||
type Options = enum
|
||||
A,
|
||||
B,
|
||||
C
|
||||
|
||||
## Top-level comment
|
||||
type
|
||||
SomeStruct* = ref object
|
||||
value*: string
|
||||
|
||||
proc someFunc*(): string =
|
||||
## Function docs
|
||||
##
|
||||
## More docs
|
||||
result = message
|
||||
|
||||
proc someOtherFunc(startingValue: int): (string, int) =
|
||||
var num = startingValue
|
||||
num += 1
|
||||
if num > 10 * 10 * 10:
|
||||
echo "Encountered an error"
|
||||
raise newException(ValueError, "Value was over 1000")
|
||||
("Fizz", num)
|
||||
|
||||
proc `+=`(a: var SomeStruct, b: SomeStruct): string =
|
||||
a.value.add(b.value)
|
||||
return a.value
|
||||
|
||||
echo someFunc()
|
||||
echo(someOtherFunc(123))
|
||||
discard someFunc()
|
Loading…
Reference in a new issue