Add highlighting tests
This commit is contained in:
parent
30128092d4
commit
7357885bbc
|
@ -0,0 +1,66 @@
|
|||
fn x, y, z ->
|
||||
# <- keyword
|
||||
# ^ variable
|
||||
# ^ punctuation.delimiter
|
||||
# ^ variable
|
||||
# ^ punctuation.delimiter
|
||||
# ^ variable
|
||||
# ^ operator
|
||||
fn(a, b, c) ->
|
||||
# <- keyword
|
||||
# ^ punctuation.bracket
|
||||
# ^ variable
|
||||
# ^ punctuation.delimiter
|
||||
# ^ variable
|
||||
# ^ punctuation.delimiter
|
||||
# ^ variable
|
||||
# ^ punctuation.bracket
|
||||
# ^ operator
|
||||
&(x + y - z * a / &1 + b + div(&2, c))
|
||||
#<- operator
|
||||
#^ punctuation.bracket
|
||||
# ^ variable
|
||||
# ^ operator
|
||||
# ^ variable
|
||||
# ^ operator
|
||||
# ^ variable
|
||||
# ^ operator
|
||||
# ^ variable
|
||||
# ^ operator
|
||||
# ^ operator
|
||||
# ^ operator
|
||||
# ^ variable
|
||||
# ^ operator
|
||||
# ^ function
|
||||
# ^ punctuation.bracket
|
||||
# ^ operator
|
||||
# ^ punctuation.delimiter
|
||||
# ^ variable
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.bracket
|
||||
end
|
||||
end
|
||||
|
||||
&Set.put(&1, &2)
|
||||
# <- operator
|
||||
# ^ type
|
||||
# ^ operator
|
||||
# ^ function
|
||||
# ^ punctuation.bracket
|
||||
# ^ operator
|
||||
# ^ punctuation.delimiter
|
||||
# ^ operator
|
||||
# ^ punctuation.bracket
|
||||
|
||||
&( Set.put(&1, &1) )
|
||||
#<- operator
|
||||
#^ punctuation.bracket
|
||||
# ^ type
|
||||
# ^ operator
|
||||
# ^ function
|
||||
# ^ punctuation.bracket
|
||||
# ^ operator
|
||||
# ^ punctuation.delimiter
|
||||
# ^ operator
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.bracket
|
|
@ -0,0 +1,81 @@
|
|||
Path.expand("..", __DIR__)
|
||||
# ^ type
|
||||
# ^ operator
|
||||
# ^ function
|
||||
# ^ punctuation.bracket
|
||||
# ^ string
|
||||
# ^ punctuation.delimiter
|
||||
# ^ constant.builtin
|
||||
# ^ punctuation.bracket
|
||||
|
||||
func.(1)
|
||||
# ^ variable
|
||||
# ^ operator
|
||||
# ^ punctuation.bracket
|
||||
# ^ number
|
||||
# ^ punctuation.bracket
|
||||
|
||||
arg |> func
|
||||
# ^ variable
|
||||
# ^ operator
|
||||
# ^ function
|
||||
|
||||
func 1
|
||||
# ^ function
|
||||
# ^ number
|
||||
|
||||
hd([1,2])
|
||||
# <- function
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.bracket
|
||||
# ^ number
|
||||
# ^ punctuation.delimiter
|
||||
# ^ number
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.bracket
|
||||
|
||||
Kernel.spawn(fn -> :ok end)
|
||||
# ^ type
|
||||
# ^ operator
|
||||
# ^ function
|
||||
# ^ punctuation.bracket
|
||||
# ^ keyword
|
||||
# ^ operator
|
||||
# ^ string.special.symbol
|
||||
# ^ keyword
|
||||
# ^ punctuation.bracket
|
||||
|
||||
IO.ANSI.black
|
||||
# ^ type
|
||||
# ^ operator
|
||||
# ^ function
|
||||
|
||||
Kernel.-(number)
|
||||
# ^ type
|
||||
# ^ operator
|
||||
# ^ operator
|
||||
# ^ punctuation.bracket
|
||||
# ^ variable
|
||||
# ^ punctuation.bracket
|
||||
|
||||
Enum.map([1, 2], fn x ->
|
||||
# ^ type
|
||||
# ^ operator
|
||||
# ^ function
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.bracket
|
||||
# ^ number
|
||||
# ^ punctuation.delimiter
|
||||
# ^ number
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.delimiter
|
||||
# ^ keyword
|
||||
# ^ variable
|
||||
# ^ operator
|
||||
x * 2
|
||||
# <- variable
|
||||
# ^ operator
|
||||
# ^ number
|
||||
end)
|
||||
# <- keyword
|
||||
# ^ punctuation.bracket
|
|
@ -0,0 +1,200 @@
|
|||
<<1, 2, 3>>
|
||||
# <- punctuation.bracket
|
||||
# ^ number
|
||||
# ^ punctuation.delimiter
|
||||
# ^ number
|
||||
# ^ punctuation.delimiter
|
||||
# ^ number
|
||||
# ^ punctuation.bracket
|
||||
|
||||
<< header :: size(8), data :: binary >>
|
||||
# <- punctuation.bracket
|
||||
# ^ variable
|
||||
# ^ operator
|
||||
# ^ function
|
||||
# ^ punctuation.bracket
|
||||
# ^ number
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.delimiter
|
||||
# ^ variable
|
||||
# ^ operator
|
||||
# ^ variable
|
||||
# ^ punctuation.bracket
|
||||
|
||||
<<"hello"::binary, c :: utf8, x::[4, unit(2)]>> = "hello™1"
|
||||
# <- punctuation.bracket
|
||||
# ^ string
|
||||
# ^ operator
|
||||
# ^ variable
|
||||
# ^ punctuation.delimiter
|
||||
# ^ variable
|
||||
# ^ operator
|
||||
# ^ variable
|
||||
# ^ punctuation.delimiter
|
||||
# ^ variable
|
||||
# ^ operator
|
||||
# ^ punctuation.bracket
|
||||
# ^ number
|
||||
# ^ punctuation.delimiter
|
||||
# ^ function
|
||||
# ^ punctuation.bracket
|
||||
# ^ number
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.bracket
|
||||
# ^ operator
|
||||
# ^ string
|
||||
|
||||
[1, :a, 'hello'] ++ [2, 3]
|
||||
# <- punctuation.bracket
|
||||
# ^ punctuation.delimiter
|
||||
# ^ string.special.symbol
|
||||
# ^ punctuation.delimiter
|
||||
# ^ string
|
||||
# ^ punctuation.bracket
|
||||
# ^ operator
|
||||
# ^ punctuation.bracket
|
||||
# ^ number
|
||||
# ^ punctuation.delimiter
|
||||
# ^ number
|
||||
# ^ punctuation.bracket
|
||||
|
||||
[:head | [?t, ?a]]
|
||||
# <- punctuation.bracket
|
||||
# ^ string.special.symbol
|
||||
# ^ operator
|
||||
# ^ punctuation.bracket
|
||||
# ^ constant
|
||||
# ^ punctuation.delimiter
|
||||
# ^ constant
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.bracket
|
||||
|
||||
{:one, 2.0, "three"}
|
||||
# <- punctuation.bracket
|
||||
# ^ string.special.symbol
|
||||
# ^ punctuation.delimiter
|
||||
# ^ number
|
||||
# ^ punctuation.delimiter
|
||||
# ^ string
|
||||
# ^ punctuation.bracket
|
||||
|
||||
[option: "value", key: :word]
|
||||
# <- punctuation.bracket
|
||||
# ^ string.special.symbol
|
||||
# ^ string
|
||||
# ^ punctuation.delimiter
|
||||
# ^ string.special.symbol
|
||||
# ^ string.special.symbol
|
||||
# ^ punctuation.bracket
|
||||
|
||||
[++: "operator", ~~~: :&&&]
|
||||
# <- punctuation.bracket
|
||||
# ^ string.special.symbol
|
||||
# ^ string
|
||||
# ^ punctuation.delimiter
|
||||
# ^ string.special.symbol
|
||||
# ^ string.special.symbol
|
||||
# ^ punctuation.bracket
|
||||
|
||||
[...: 1, <<>>: 2, %{}: 3, %: 4, {}: 5]
|
||||
# <- punctuation.bracket
|
||||
# ^ string.special.symbol
|
||||
# ^ number
|
||||
# ^ punctuation.delimiter
|
||||
# ^ string.special.symbol
|
||||
# ^ number
|
||||
# ^ punctuation.delimiter
|
||||
# ^ string.special.symbol
|
||||
# ^ number
|
||||
# ^ punctuation.delimiter
|
||||
# ^ string.special.symbol
|
||||
# ^ number
|
||||
# ^ punctuation.delimiter
|
||||
# ^ string.special.symbol
|
||||
# ^ number
|
||||
# ^ punctuation.bracket
|
||||
|
||||
["this is an atom too": 1, "so is #{1} this": 2]
|
||||
# <- punctuation.bracket
|
||||
# ^ string.special.symbol
|
||||
# ^ number
|
||||
# ^ punctuation.delimiter
|
||||
# ^ string.special.symbol
|
||||
# ^ punctuation.special
|
||||
# ^ number
|
||||
# ^ punctuation.special
|
||||
# ^ number
|
||||
# ^ punctuation.bracket
|
||||
|
||||
%{shortcut: "syntax"}
|
||||
#<- punctuation
|
||||
#^ punctuation.bracket
|
||||
# ^ string.special.symbol
|
||||
# ^ string
|
||||
# ^ punctuation.bracket
|
||||
|
||||
%{map | "update" => "me"}
|
||||
#<- punctuation
|
||||
#^ punctuation.bracket
|
||||
# ^ variable
|
||||
# ^ operator
|
||||
# ^ string
|
||||
# ^ operator
|
||||
# ^ string
|
||||
# ^ punctuation.bracket
|
||||
|
||||
%{ 12 => 13, :weird => ['thing'] }
|
||||
#<- punctuation
|
||||
#^ punctuation.bracket
|
||||
# ^ number
|
||||
# ^ operator
|
||||
# ^ number
|
||||
# ^ punctuation.delimiter
|
||||
# ^ string.special.symbol
|
||||
# ^ operator
|
||||
# ^ punctuation.bracket
|
||||
# ^ string
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.bracket
|
||||
|
||||
%Long.Module.Name{name: "Silly"}
|
||||
# <- punctuation
|
||||
# ^ type
|
||||
# ^ type
|
||||
# ^ punctuation.bracket
|
||||
# ^ string.special.symbol
|
||||
# ^ string
|
||||
# ^ punctuation.bracket
|
||||
|
||||
%Long.Module.Name{s | height: {192, :cm}}
|
||||
# <- punctuation
|
||||
# ^ type
|
||||
# ^ punctuation.bracket
|
||||
# ^ variable
|
||||
# ^ operator
|
||||
# ^ string.special.symbol
|
||||
# ^ punctuation.bracket
|
||||
# ^ number
|
||||
# ^ punctuation.delimiter
|
||||
# ^ string.special.symbol
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.bracket
|
||||
|
||||
".. #{%Long.Module.Name{s | height: {192, :cm}}} .."
|
||||
# ^ string
|
||||
# ^ punctuation.special
|
||||
# ^ punctuation
|
||||
# ^ type
|
||||
# ^ punctuation.bracket
|
||||
# ^ variable
|
||||
# ^ operator
|
||||
# ^ string.special.symbol
|
||||
# ^ punctuation.bracket
|
||||
# ^ number
|
||||
# ^ punctuation.delimiter
|
||||
# ^ string.special.symbol
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.special
|
||||
# ^ string
|
|
@ -0,0 +1,15 @@
|
|||
abc_123
|
||||
# ^ variable
|
||||
|
||||
_018OP
|
||||
# ^ comment.unused
|
||||
|
||||
A__0
|
||||
# ^ type
|
||||
|
||||
__MODULE__ ; __STACKTRACE__
|
||||
# ^ constant.builtin
|
||||
# ^ constant.builtin
|
||||
|
||||
__OTHER__
|
||||
# ^ comment.unused
|
|
@ -0,0 +1,175 @@
|
|||
for x <- 1..10, x < 5, do: {x, x}
|
||||
# <- keyword
|
||||
# ^ variable
|
||||
# ^ operator
|
||||
# ^ number
|
||||
# ^ operator
|
||||
# ^ number
|
||||
# ^ punctuation.delimiter
|
||||
# ^ variable
|
||||
# ^ operator
|
||||
# ^ number
|
||||
# ^ punctuation.delimiter
|
||||
# ^ string.special.symbol
|
||||
# ^ punctuation.bracket
|
||||
# ^ variable
|
||||
# ^ punctuation.delimiter
|
||||
# ^ variable
|
||||
# ^ punctuation.bracket
|
||||
|
||||
for << <<r::4, g::4, b::4, a::size(4)>> <- pixels >> do
|
||||
# <- keyword
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.bracket
|
||||
# ^ variable
|
||||
# ^ operator
|
||||
# ^ number
|
||||
# ^ punctuation.delimiter
|
||||
# ^ variable
|
||||
# ^ operator
|
||||
# ^ number
|
||||
# ^ punctuation.delimiter
|
||||
# ^ variable
|
||||
# ^ operator
|
||||
# ^ number
|
||||
# ^ punctuation.delimiter
|
||||
# ^ variable
|
||||
# ^ operator
|
||||
# ^ function
|
||||
# ^ punctuation.bracket
|
||||
# ^ number
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.bracket
|
||||
# ^ operator
|
||||
# ^ variable
|
||||
# ^ punctuation.bracket
|
||||
# ^ keyword
|
||||
end
|
||||
# <- keyword
|
||||
|
||||
if :this do
|
||||
# <- keyword
|
||||
# ^ string.special.symbol
|
||||
# ^ keyword
|
||||
:that
|
||||
# ^ string.special.symbol
|
||||
else
|
||||
# <- keyword
|
||||
:otherwise
|
||||
# ^ string.special.symbol
|
||||
end
|
||||
# <- keyword
|
||||
|
||||
receive do
|
||||
# ^ keyword
|
||||
# ^ keyword
|
||||
{:EXIT, _} -> :done
|
||||
# <- punctuation.bracket
|
||||
# ^ string.special.symbol
|
||||
# ^ punctuation.delimiter
|
||||
# ^ comment.unused
|
||||
# ^ punctuation.bracket
|
||||
# ^ operator
|
||||
# ^ string.special.symbol
|
||||
{ ^pid, :_ } -> nil
|
||||
# <- punctuation.bracket
|
||||
# ^ operator
|
||||
# ^ variable
|
||||
# ^ punctuation.delimiter
|
||||
# ^ string.special.symbol
|
||||
# ^ punctuation.bracket
|
||||
# ^ operator
|
||||
# ^ constant
|
||||
after 100 -> :no_luck
|
||||
# ^ keyword
|
||||
# ^ number
|
||||
# ^ operator
|
||||
# ^ string.special.symbol
|
||||
end
|
||||
# <- keyword
|
||||
|
||||
case __ENV__.line do
|
||||
# ^ keyword
|
||||
# ^ constant.builtin
|
||||
# ^ operator
|
||||
# ^ function
|
||||
# ^ keyword
|
||||
x when is_integer(x) -> x
|
||||
# <- variable
|
||||
# ^ keyword
|
||||
# ^ function
|
||||
# ^ punctuation.bracket
|
||||
# ^ variable
|
||||
# ^ punctuation.bracket
|
||||
# ^ operator
|
||||
# ^ variable
|
||||
x when x in 1..12 -> -x
|
||||
# <- variable
|
||||
# ^ keyword
|
||||
# ^ variable
|
||||
# ^ keyword
|
||||
# ^ number
|
||||
# ^ operator
|
||||
# ^ number
|
||||
# ^ operator
|
||||
# ^ operator
|
||||
# ^ variable
|
||||
end
|
||||
# <- keyword
|
||||
|
||||
cond do
|
||||
# <- keyword
|
||||
# ^ keyword
|
||||
false -> "too bad"
|
||||
# ^ constant
|
||||
# ^ operator
|
||||
# ^ string
|
||||
4 > 5 -> "oops"
|
||||
# <- number
|
||||
# ^ operator
|
||||
# ^ number
|
||||
# ^ operator
|
||||
# ^ string
|
||||
true -> nil
|
||||
# ^ constant
|
||||
# ^ operator
|
||||
# ^ constant
|
||||
end
|
||||
# <- keyword
|
||||
|
||||
raise RuntimeError, message: "This is not an error"
|
||||
# ^ keyword
|
||||
# ^ type
|
||||
# ^ punctuation.delimiter
|
||||
# ^ string.special.symbol
|
||||
# ^ string
|
||||
|
||||
import Kernel, except: [spawn: 1, +: 2, /: 2, Unless: 2]
|
||||
# ^ keyword
|
||||
# ^ type
|
||||
# ^ punctuation.delimiter
|
||||
# ^ string.special.symbol
|
||||
# ^ punctuation.bracket
|
||||
# ^ string.special.symbol
|
||||
# ^ number
|
||||
# ^ punctuation.delimiter
|
||||
# ^ string.special.symbol
|
||||
# ^ number
|
||||
# ^ punctuation.delimiter
|
||||
# ^ string.special.symbol
|
||||
# ^ number
|
||||
# ^ punctuation.delimiter
|
||||
# ^ string.special.symbol
|
||||
# ^ number
|
||||
# ^ punctuation.bracket
|
||||
|
||||
alias Long.Module.Name, as: N0men123_and4
|
||||
# ^ keyword
|
||||
# ^ type
|
||||
# ^ punctuation.delimiter
|
||||
# ^ string.special.symbol
|
||||
# ^ type
|
||||
|
||||
use Bitwise
|
||||
# ^ keyword
|
||||
# ^ type
|
|
@ -0,0 +1,173 @@
|
|||
1234 ; 01234
|
||||
# ^ number
|
||||
# ^ punctuation.delimiter
|
||||
# ^ number
|
||||
|
||||
1.23 ; 1.23e10 ; 1.23e-10
|
||||
# ^ number
|
||||
# ^ number
|
||||
# ^ number
|
||||
|
||||
0xab ; 0o171 ; 0b01001
|
||||
# ^ number
|
||||
# ^ number
|
||||
# ^ number
|
||||
|
||||
100_000_000 ; 0b1111_0000
|
||||
# ^ number
|
||||
# ^ number
|
||||
|
||||
?a ; ?1 ; ?\n ; ?\s ; ?\c ; ? ; ?,
|
||||
# <- constant
|
||||
# ^ constant
|
||||
# ^ constant
|
||||
# ^ constant
|
||||
# ^ constant
|
||||
# ^ constant
|
||||
# ^ constant
|
||||
# ^ constant
|
||||
|
||||
true ; false ; nil
|
||||
# ^ constant
|
||||
# ^ constant
|
||||
# ^ constant
|
||||
|
||||
:this ; :that
|
||||
# ^ string.special.symbol
|
||||
# ^ string.special.symbol
|
||||
|
||||
:'complex atom'
|
||||
# ^ string.special.symbol
|
||||
|
||||
:"with' \" 'quotes \u0301"
|
||||
# ^ string.special.symbol
|
||||
# ^ string.escape
|
||||
# ^ string.escape
|
||||
# ^ string.special.symbol
|
||||
# ^ string.escape
|
||||
# ^ string.escape
|
||||
|
||||
:"with #{1 + 1} interpol"
|
||||
# ^ punctuation.special
|
||||
# ^ number
|
||||
# ^ operator
|
||||
# ^ number
|
||||
# ^ punctuation.special
|
||||
|
||||
:... ; :<<>> ; :%{} ; :% ; :{}
|
||||
# ^ string.special.symbol
|
||||
# ^ string.special.symbol
|
||||
# ^ string.special.symbol
|
||||
# ^ string.special.symbol
|
||||
# ^ string.special.symbol
|
||||
|
||||
:++ ; :-- ; :* ; :~~~ ; :::
|
||||
# ^ string.special.symbol
|
||||
# ^ string.special.symbol
|
||||
# ^ string.special.symbol
|
||||
# ^ string.special.symbol
|
||||
# ^ string.special.symbol
|
||||
|
||||
:% ; :. ; :<-
|
||||
# <- string.special.symbol
|
||||
# ^ string.special.symbol
|
||||
# ^ string.special.symbol
|
||||
|
||||
"simple string"
|
||||
# ^ string
|
||||
# ^ string
|
||||
|
||||
"with \x{ff} code"
|
||||
# ^ string
|
||||
# ^ string.escape
|
||||
# ^ string.escape
|
||||
# ^ string
|
||||
|
||||
"with \7 \016 \t \\s"
|
||||
# ^ string
|
||||
# ^ string.escape
|
||||
# ^ string.escape
|
||||
# ^ string
|
||||
# ^ string.escape
|
||||
# ^ string
|
||||
# ^ string.escape
|
||||
# ^ string
|
||||
|
||||
"with #{inspect "inner"} interpolation"
|
||||
# ^ string
|
||||
# ^ punctuation.special
|
||||
# ^ function
|
||||
# ^ string
|
||||
# ^ punctuation.special
|
||||
# ^ string
|
||||
|
||||
"Multiline
|
||||
string"
|
||||
# <- string
|
||||
# ^ string
|
||||
|
||||
"""
|
||||
Heredoc
|
||||
"""
|
||||
# ^ string
|
||||
|
||||
'charlist'
|
||||
# ^ string
|
||||
|
||||
~s(string sigil #{1})
|
||||
# <- string
|
||||
# ^ string
|
||||
# ^ string
|
||||
# ^ number
|
||||
|
||||
~S/string #{1}/
|
||||
# ^ string
|
||||
|
||||
~r/x?/iu
|
||||
# <- string.regex
|
||||
# ^ string.regex
|
||||
# ^ string.regex
|
||||
|
||||
~R{noescapes\}[a-z]*}
|
||||
# ^ string.regex
|
||||
# ^ string.escape
|
||||
# ^ string.regex
|
||||
|
||||
~w(hello #{ ["has" <> "123", '\c\d', "\123 interpol" | []] } world)s
|
||||
#<- string.special
|
||||
# ^ string.special
|
||||
# ^ punctuation.special
|
||||
# ^ punctuation.bracket
|
||||
# ^ string
|
||||
# ^ operator
|
||||
# ^ string
|
||||
# ^ punctuation.delimiter
|
||||
# ^ string
|
||||
# ^ string.escape
|
||||
# ^ string.escape
|
||||
# ^ string
|
||||
# ^ punctuation.delimiter
|
||||
# ^ string
|
||||
# ^ string.escape
|
||||
# ^ string
|
||||
# ^ operator
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.special
|
||||
# ^ string.special
|
||||
|
||||
~w/yoo \\ \/ =)/
|
||||
# ^ string.special
|
||||
# ^ string.escape
|
||||
# ^ string.escape
|
||||
# ^ string.special
|
||||
|
||||
~W/yoo \\ \/ =)/
|
||||
# ^ string.special
|
||||
# ^ string.special
|
||||
# ^ string.escape
|
||||
# ^ string.special
|
||||
|
||||
~D/2020-01-01/d
|
||||
# ^ string.special
|
|
@ -0,0 +1,319 @@
|
|||
defmodule Long.Module.Name do
|
||||
# ^ keyword
|
||||
# ^ type
|
||||
# ^ type
|
||||
# ^ keyword
|
||||
|
||||
@moduledoc "Simple doc"
|
||||
# <- comment.doc
|
||||
# ^ comment.doc.__attribute__
|
||||
# ^ comment.doc
|
||||
|
||||
@moduledoc false
|
||||
# <- comment.doc
|
||||
# ^ comment.doc.__attribute__
|
||||
# ^ comment.doc
|
||||
|
||||
@moduledoc """
|
||||
Heredoc doc
|
||||
"""
|
||||
# ^ comment.doc
|
||||
|
||||
@moduledoc ~S'''
|
||||
Sigil doc
|
||||
'''
|
||||
# ^ comment.doc
|
||||
|
||||
@moduledoc "With #{1} interpolation"
|
||||
# ^ punctuation.special
|
||||
# ^ number
|
||||
# ^ punctuation.special
|
||||
|
||||
@typedoc "Type doc"
|
||||
# <- comment.doc
|
||||
|
||||
@doc "Type doc"
|
||||
# <- comment.doc
|
||||
|
||||
@doc """
|
||||
Multiline docstring
|
||||
"with quotes"
|
||||
and #{ inspect %{"interpolation" => "in" <> "action"} }
|
||||
now with #{ {:a, 'tuple'} }
|
||||
and #{ inspect {
|
||||
:tuple,
|
||||
%{ with: "nested #{ inspect %{ :interpolation => %{} } }" }
|
||||
} }
|
||||
"""
|
||||
# <- comment.doc
|
||||
|
||||
@spec func(type, integer()) :: :ok | :fail
|
||||
# <- attribute
|
||||
# ^ attribute
|
||||
# ^ function
|
||||
# ^ punctuation.bracket
|
||||
# ^ variable
|
||||
# ^ punctuation.delimiter
|
||||
# ^ function
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.bracket
|
||||
# ^ operator
|
||||
# ^ string.special.symbol
|
||||
# ^ operator
|
||||
# ^ string.special.symbol
|
||||
|
||||
defstruct items: []
|
||||
# ^ keyword
|
||||
# ^ string.special.symbol
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.bracket
|
||||
|
||||
defexception [:message]
|
||||
# ^ keyword
|
||||
# ^ punctuation.bracket
|
||||
# ^ string.special.symbol
|
||||
# ^ punctuation.bracket
|
||||
|
||||
@type item :: String.t()
|
||||
# <- attribute
|
||||
# ^ attribute
|
||||
# ^ variable
|
||||
# ^ operator
|
||||
# ^ type
|
||||
# ^ operator
|
||||
# ^ function
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.bracket
|
||||
|
||||
@attr "value"
|
||||
# <- attribute
|
||||
# ^ attribute
|
||||
# ^ string
|
||||
|
||||
@true
|
||||
# ^ attribute
|
||||
|
||||
@nil
|
||||
# ^ attribute
|
||||
|
||||
def f, do: nil
|
||||
# ^ keyword
|
||||
# ^ function
|
||||
# ^ punctuation.delimiter
|
||||
# ^ string.special.symbol
|
||||
# ^ constant
|
||||
|
||||
def f(x), do: x
|
||||
# ^ keyword
|
||||
# ^ function
|
||||
# ^ punctuation.bracket
|
||||
# ^ variable
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.delimiter
|
||||
# ^ string.special.symbol
|
||||
# ^ variable
|
||||
|
||||
def f(10), do: nil
|
||||
# ^ keyword
|
||||
# ^ function
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.delimiter
|
||||
# ^ string.special.symbol
|
||||
# ^ constant
|
||||
|
||||
def f(a, b \\ []), do: nil
|
||||
# <- keyword
|
||||
# ^ function
|
||||
# ^ punctuation.bracket
|
||||
# ^ variable
|
||||
# ^ punctuation.delimiter
|
||||
# ^ variable
|
||||
# ^ operator
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.delimiter
|
||||
# ^ string.special.symbol
|
||||
# ^ constant
|
||||
|
||||
def __before_compile__(_) do
|
||||
# <- keyword
|
||||
# ^ function
|
||||
# ^ punctuation.bracket
|
||||
# ^ comment.unused
|
||||
# ^ punctuation.bracket
|
||||
# ^ keyword
|
||||
end
|
||||
# <- keyword
|
||||
|
||||
def with_guard(x) when x == 1 do: nil
|
||||
# <- keyword
|
||||
# ^ function
|
||||
# ^ variable
|
||||
# ^ keyword
|
||||
# ^ variable
|
||||
# ^ operator
|
||||
# ^ number
|
||||
# ^ keyword
|
||||
# <- keyword
|
||||
|
||||
def with_guard when is_integer(1), do: nil
|
||||
# <- keyword
|
||||
# ^ function
|
||||
# ^ keyword
|
||||
# ^ function
|
||||
# ^ punctuation.bracket
|
||||
# ^ number
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.delimiter
|
||||
# ^ string.special.symbol
|
||||
# ^ constant
|
||||
|
||||
def x + y, do: nil
|
||||
# ^ keyword
|
||||
# ^ variable
|
||||
# ^ operator
|
||||
# ^ variable
|
||||
# ^ punctuation.delimiter
|
||||
# ^ string.special.symbol
|
||||
# ^ constant
|
||||
|
||||
def x |> y, do: nil
|
||||
# ^ keyword
|
||||
# ^ variable
|
||||
# ^ operator
|
||||
# ^ variable
|
||||
# ^ punctuation.delimiter
|
||||
# ^ string.special.symbol
|
||||
# ^ constant
|
||||
|
||||
def x and y, do: nil
|
||||
# ^ keyword
|
||||
# ^ variable
|
||||
# ^ keyword
|
||||
# ^ variable
|
||||
# ^ punctuation.delimiter
|
||||
# ^ string.special.symbol
|
||||
# ^ constant
|
||||
|
||||
def unquote(f)(x), do: nil
|
||||
# ^ keyword
|
||||
# ^ keyword
|
||||
# ^ punctuation.bracket
|
||||
# ^ variable
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.bracket
|
||||
# ^ variable
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.delimiter
|
||||
# ^ string.special.symbol
|
||||
# ^ constant
|
||||
|
||||
def unquote(name)(unquote_splicing(args)), do: nil
|
||||
# ^ keyword
|
||||
# ^ keyword
|
||||
# ^ punctuation.bracket
|
||||
# ^ variable
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.bracket
|
||||
# ^ keyword
|
||||
# ^ punctuation.bracket
|
||||
# ^ variable
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.bracket
|
||||
# ^ string.special.symbol
|
||||
# ^ constant
|
||||
|
||||
def(test(x), do: x)
|
||||
# ^ keyword
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.bracket
|
||||
# ^ variable
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.delimiter
|
||||
# ^ string.special.symbol
|
||||
# ^ variable
|
||||
# ^ punctuation.bracket
|
||||
|
||||
defguard is_something(one), do: one != nil
|
||||
# ^ keyword
|
||||
# ^ function
|
||||
# ^ punctuation.bracket
|
||||
# ^ variable
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.delimiter
|
||||
# ^ string.special.symbol
|
||||
# ^ variable
|
||||
# ^ operator
|
||||
# ^ constant
|
||||
|
||||
defdelegate empty?(list), to: Enum
|
||||
# ^ keyword
|
||||
# ^ function
|
||||
# ^ punctuation.bracket
|
||||
# ^ variable
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.delimiter
|
||||
# ^ string.special.symbol
|
||||
# ^ type
|
||||
|
||||
defmacro meta_function(name) do
|
||||
# ^ keyword
|
||||
# ^ function
|
||||
# ^ punctuation.bracket
|
||||
# ^ variable
|
||||
# ^ punctuation.bracket
|
||||
# ^ keyword
|
||||
quote do
|
||||
# ^ keyword
|
||||
# ^ keyword
|
||||
def unquote(:"#{name}_foo")() do
|
||||
# ^ keyword
|
||||
# ^ keyword
|
||||
# ^ punctuation.bracket
|
||||
# ^ string.special.symbol
|
||||
# ^ punctuation.special
|
||||
# ^ variable
|
||||
# ^ punctuation.special
|
||||
# ^ string.special.symbol
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.bracket
|
||||
# ^ punctuation.bracket
|
||||
# ^ keyword
|
||||
unquote("yessir")
|
||||
# ^ keyword
|
||||
# ^ punctuation.bracket
|
||||
# ^ string
|
||||
# ^ punctuation.bracket
|
||||
end
|
||||
# <- keyword
|
||||
end
|
||||
# <- keyword
|
||||
end
|
||||
# <- keyword
|
||||
end
|
||||
# <- keyword
|
||||
|
||||
defprotocol Useless do
|
||||
# ^ keyword
|
||||
# ^ type
|
||||
# ^ keyword
|
||||
def func(this)
|
||||
# ^ keyword
|
||||
# ^ function
|
||||
# ^ punctuation.bracket
|
||||
# ^ variable
|
||||
# ^ punctuation.bracket
|
||||
end
|
||||
# <- keyword
|
||||
|
||||
defimpl Useless, for: Atom do
|
||||
# ^ keyword
|
||||
# ^ type
|
||||
# ^ punctuation.delimiter
|
||||
# ^ string.special.symbol
|
||||
# ^ type
|
||||
# ^ keyword
|
||||
end
|
||||
# <- keyword
|
|
@ -0,0 +1,67 @@
|
|||
a ~>> b = bind(a, b)
|
||||
# <- variable
|
||||
# ^ operator
|
||||
# ^ variable
|
||||
# ^ operator
|
||||
# ^ function
|
||||
# ^ punctuation.bracket
|
||||
# ^ variable
|
||||
# ^ punctuation.delimiter
|
||||
# ^ variable
|
||||
# ^ punctuation.bracket
|
||||
|
||||
a ~> b
|
||||
# ^ operator
|
||||
|
||||
a + b
|
||||
# ^ operator
|
||||
|
||||
... == !x && y || z
|
||||
# <- variable
|
||||
# ^ operator
|
||||
# ^ operator
|
||||
# ^ variable
|
||||
# ^ operator
|
||||
# ^ variable
|
||||
# ^ operator
|
||||
# ^ variable
|
||||
|
||||
x = 1 + 2.0 * 3
|
||||
# <- variable
|
||||
# ^ operator
|
||||
# ^ number
|
||||
# ^ operator
|
||||
# ^ number
|
||||
# ^ operator
|
||||
# ^ number
|
||||
|
||||
y = true and false
|
||||
# <- variable
|
||||
# ^ operator
|
||||
# ^ constant
|
||||
# ^ keyword
|
||||
# ^ constant
|
||||
|
||||
{ ^z, a } = {true, x}
|
||||
# <- punctuation.bracket
|
||||
# ^ operator
|
||||
# ^ variable
|
||||
# ^ punctuation.delimiter
|
||||
# ^ variable
|
||||
# ^ operator
|
||||
# ^ punctuation.bracket
|
||||
# ^ constant
|
||||
# ^ punctuation.delimiter
|
||||
# ^ variable
|
||||
# ^ punctuation.bracket
|
||||
|
||||
"hello" |> String.upcase |> String.downcase()
|
||||
# ^ string
|
||||
# ^ operator
|
||||
# ^ type
|
||||
# ^ operator
|
||||
# ^ function
|
||||
# ^ operator
|
||||
# ^ type
|
||||
# ^ operator
|
||||
# ^ function
|
Loading…
Reference in New Issue