diff --git a/src/languages/scala.js b/src/languages/scala.js index 058321ca92..0468648869 100644 --- a/src/languages/scala.js +++ b/src/languages/scala.js @@ -122,6 +122,11 @@ export default function(hljs) { begin: /(?<=^\s*)extension(?=\s+[\[\(])/ }; + const END = { + className: 'keyword', + begin: /(?<=^\s*)end(\s+extension|\b)/ + }; + return { name: 'Scala', keywords: { @@ -138,6 +143,7 @@ export default function(hljs) { CLASS, hljs.C_NUMBER_MODE, EXTENSION, + END, ANNOTATION ] }; diff --git a/test/markup/scala/end.expect.txt b/test/markup/scala/end.expect.txt new file mode 100644 index 0000000000..a608a1a806 --- /dev/null +++ b/test/markup/scala/end.expect.txt @@ -0,0 +1,41 @@ +def foo = + if (true) + () + else + () + end if + + while true do + () + end while + + for x <- xs do + () + end for + + x match + case _ => + end match +end foo + +def bar = + new Foo: + def f = () + end new +end + +val baz = + () +end val + +var baz2 = + () +end var + +extension (x: Int) + def f = 1 + def f = 2 +end extension + +class Foo: +end Foo diff --git a/test/markup/scala/end.txt b/test/markup/scala/end.txt new file mode 100644 index 0000000000..fbf16d363b --- /dev/null +++ b/test/markup/scala/end.txt @@ -0,0 +1,41 @@ +def foo = + if (true) + () + else + () + end if + + while true do + () + end while + + for x <- xs do + () + end for + + x match + case _ => + end match +end foo + +def bar = + new Foo: + def f = () + end new +end + +val baz = + () +end val + +var baz2 = + () +end var + +extension (x: Int) + def f = 1 + def f = 2 +end extension + +class Foo: +end Foo