Skip to content

Commit 53aba9d

Browse files
committed
Added syntax highlighting for ReScript (SpartanJ/ecode#407).
1 parent d504c74 commit 53aba9d

File tree

5 files changed

+68
-2
lines changed

5 files changed

+68
-2
lines changed

src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/pony.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ void addPony() {
6464
{ "iftype", "keyword" },
6565
{ "struct", "keyword" },
6666
{ "break", "keyword2" },
67-
{ "is", "keyword2" },
67+
{ "is", "keyword" },
6868
{ "use", "keyword" },
6969
{ "or", "keyword2" },
7070
{ "until", "keyword" },
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
#include <eepp/ui/doc/languages/rescript.hpp>
2+
#include <eepp/ui/doc/syntaxdefinitionmanager.hpp>
3+
4+
namespace EE { namespace UI { namespace Doc { namespace Language {
5+
6+
void addRescript() {
7+
8+
SyntaxDefinitionManager::instance()->add(
9+
10+
{ "ReScript",
11+
{ "%.res$" },
12+
{
13+
{ { "//.-\n" }, "comment" },
14+
{ { "/%*", "%*/" }, "comment" },
15+
{ { "\"", "\"", "\\" }, "string" },
16+
{ { "`", "`", "\\" }, "string" },
17+
18+
{ { "%f[^<]![%a_][%w%_%-]*" }, "keyword2" },
19+
{ { "%f[^<][%a_][%w%_%-]*" }, "function" },
20+
{ { "%f[^<]/[%a_][%w%_%-]*" }, "function" },
21+
{ { "([%a_-][%w-_]*)(%\?\?)(=)%f[%{%\"]" },
22+
{ "normal", "keyword", "normal", "operator" } },
23+
24+
{ { "js_number_parser" }, "number", "", SyntaxPatternMatchType::Parser },
25+
{ { "#[%a_][%w_]*" }, "literal" },
26+
{ { "%l[%w_]*%f[(]" }, "function" },
27+
{ { "%u[%w_]*" }, "keyword2" },
28+
{ { "[%+%-=/%*%^%%<>!~|&]" }, "operator" },
29+
{ { "'[%a_][%w_]*" }, "keyword3" },
30+
{ { "@%l[%w_]*" }, "keyword3" },
31+
{ { "[%l_][%w_%.]*" }, "symbol" },
32+
33+
},
34+
{
35+
{ "int", "keyword2" }, { "in", "keyword" }, { "external", "keyword" },
36+
{ "and", "keyword" }, { "include", "keyword" }, { "switch", "keyword" },
37+
{ "bool", "keyword2" }, { "try", "keyword" }, { "as", "keyword" },
38+
{ "exception", "keyword" }, { "lazy", "keyword" }, { "of", "keyword" },
39+
{ "rec", "keyword" }, { "with", "keyword" }, { "module", "keyword" },
40+
{ "false", "literal" }, { "for", "keyword" }, { "array", "keyword2" },
41+
{ "while", "keyword" }, { "assert", "keyword" }, { "true", "literal" },
42+
{ "else", "keyword" }, { "option", "keyword2" }, { "when", "keyword" },
43+
{ "downto", "keyword" }, { "string", "keyword2" }, { "if", "keyword" },
44+
{ "constraint", "keyword" }, { "let", "keyword" }, { "mutable", "keyword" },
45+
{ "open", "keyword" }, { "type", "keyword" }, { "to", "keyword" },
46+
47+
},
48+
"//",
49+
{}
50+
51+
} );
52+
}
53+
54+
}}}} // namespace EE::UI::Doc::Language
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#ifndef EE_UI_DOC_Rescript
2+
#define EE_UI_DOC_Rescript
3+
4+
namespace EE { namespace UI { namespace Doc { namespace Language {
5+
6+
extern void addRescript();
7+
8+
}}}} // namespace EE::UI::Doc::Language
9+
10+
#endif

src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languagessyntaxhighlighting.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@
7272
#include <eepp/ui/doc/languages/powershell.hpp>
7373
#include <eepp/ui/doc/languages/r.hpp>
7474
#include <eepp/ui/doc/languages/rave.hpp>
75+
#include <eepp/ui/doc/languages/rescript.hpp>
7576
#include <eepp/ui/doc/languages/ring.hpp>
7677
#include <eepp/ui/doc/languages/ruby.hpp>
7778
#include <eepp/ui/doc/languages/rust.hpp>
@@ -184,6 +185,7 @@ void LanguagesSyntaxHighlighting::load() {
184185
addPowerShell();
185186
addR();
186187
addRave();
188+
addRescript();
187189
addRuby();
188190
addRust();
189191
addSass();

src/tools/ecode/ecode.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3536,7 +3536,7 @@ void App::init( const LogLevel& logLevel, std::string file, const Float& pidelDe
35363536
mThreadPool->run( [this] {
35373537
// Load language definitions
35383538
Clock defClock;
3539-
SyntaxDefinitionManager::createSingleton( 124 );
3539+
SyntaxDefinitionManager::createSingleton( 125 );
35403540
Language::LanguagesSyntaxHighlighting::load();
35413541
SyntaxDefinitionManager::instance()->setLanguageExtensionsPriority(
35423542
mConfig.languagesExtensions.priorities );

0 commit comments

Comments
 (0)