added curry language definition for syntax highlighting (#138)

* added curry language definition for syntax highlighting

* fixed comment syntax definition for Haskell, Elm, and Curry
This commit is contained in:
Clemens Schmid
2025-08-06 19:19:58 +02:00
committed by GitHub
parent c9d3181e9c
commit e5bd1dc3e1
7 changed files with 67 additions and 2 deletions

View File

@@ -911,6 +911,8 @@
../../src/eepp/ui/doc/languages/csharp.hpp
../../src/eepp/ui/doc/languages/css.cpp
../../src/eepp/ui/doc/languages/css.hpp
../../src/eepp/ui/doc/languages/curry.cpp
../../src/eepp/ui/doc/languages/curry.hpp
../../src/eepp/ui/doc/languages/d.cpp
../../src/eepp/ui/doc/languages/d.hpp
../../src/eepp/ui/doc/languages/dart.cpp

View File

@@ -971,6 +971,8 @@
../../src/eepp/ui/doc/languages/csharp.cpp
../../src/eepp/ui/doc/languages/csharp.hpp
../../src/eepp/ui/doc/languages/css.cpp
../../src/eepp/ui/doc/languages/curry.cpp
../../src/eepp/ui/doc/languages/curry.hpp
../../src/eepp/ui/doc/languages/d.cpp
../../src/eepp/ui/doc/languages/dart.cpp
../../src/eepp/ui/doc/languages/dart.hpp

View File

@@ -0,0 +1,42 @@
#include <eepp/ui/doc/languages/curry.hpp>
#include <eepp/ui/doc/syntaxdefinitionmanager.hpp>
namespace EE { namespace UI { namespace Doc { namespace Language {
SyntaxDefinition& addCurry() {
return SyntaxDefinitionManager::instance()->add(
{ "Curry",
{ "%.curry$" },
{
{ { "%-%-", "\n" }, "comment" },
{ { "{%-", "%-}" }, "comment" },
{ { "\"", "\"", "\\" }, "string" },
{ { "'", "'", "\\" }, "string" },
{ { "-?0x%x+" }, "number" },
{ { "-?%d+[%d%.eE]*f?" }, "number" },
{ { "-?%.?%d+f?" }, "number" },
{ { "[!%#%$%%&*+./%<=>%?@\\%^|%-~:]" }, "operator" },
{ { "[%a_'][%w_']*" }, "symbol" },
},
{
{ "in", "keyword" }, { "then", "keyword" }, { "default", "keyword" },
{ "mdo", "keyword" }, { "forall", "keyword" }, { "hiding", "keyword" },
{ "data", "keyword" }, { "import", "keyword" }, { "as", "keyword" },
{ "class", "keyword" }, { "infixl", "keyword" }, { "newtype", "keyword" },
{ "of", "keyword" }, { "module", "keyword" }, { "infix", "keyword" },
{ "deriving", "keyword" }, { "where", "keyword" }, { "else", "keyword" },
{ "foreign", "keyword" }, { "infixr", "keyword" }, { "qualified", "keyword" },
{ "case", "keyword" }, { "if", "keyword" }, { "let", "keyword" },
{ "do", "keyword" }, { "type", "keyword" },
},
"--",
{}
} );
}
}}}} // namespace EE::UI::Doc::Language

View File

@@ -0,0 +1,12 @@
#ifndef EE_UI_DOC_Curry
#define EE_UI_DOC_Curry
#include <eepp/ui/doc/syntaxdefinition.hpp>
namespace EE { namespace UI { namespace Doc { namespace Language {
extern SyntaxDefinition& addCurry();
}}}} // namespace EE::UI::Doc::Language
#endif

View File

@@ -35,7 +35,7 @@ SyntaxDefinition& addElm() {
{ "xor", "keyword" }, { "alias", "keyword" },
},
"%-%-",
"--",
{}
} );

View File

@@ -33,7 +33,7 @@ SyntaxDefinition& addHaskell() {
{ "do", "keyword" }, { "type", "keyword" },
},
"%-%-",
"--",
{}
} );

View File

@@ -19,6 +19,7 @@
#include <eepp/ui/doc/languages/covscript.hpp>
#include <eepp/ui/doc/languages/crystal.hpp>
#include <eepp/ui/doc/languages/csharp.hpp>
#include <eepp/ui/doc/languages/curry.hpp>
#include <eepp/ui/doc/languages/d.hpp>
#include <eepp/ui/doc/languages/dart.hpp>
#include <eepp/ui/doc/languages/difffile.hpp>
@@ -248,6 +249,12 @@ void LanguagesSyntaxHighlighting::load() {
"csharp",
} );
sdm->addPreDefinition( {
"Curry",
[]() -> SyntaxDefinition& { return addCurry(); },
{ "%.curry$" },
} );
sdm->addPreDefinition( {
"eC",
[]() -> SyntaxDefinition& { return addeC(); },