mirror of
https://github.com/SpartanJ/eepp.git
synced 2026-08-18 06:55:48 +03:00
Added Jule syntax highlighting support (SpartanJ/ecode#398).
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
#include <eepp/ui/doc/languages/jule.hpp>
|
||||
#include <eepp/ui/doc/syntaxdefinitionmanager.hpp>
|
||||
|
||||
namespace EE { namespace UI { namespace Doc { namespace Language {
|
||||
|
||||
void addJule() {
|
||||
|
||||
auto& sd = SyntaxDefinitionManager::instance()->add(
|
||||
|
||||
{ "Jule",
|
||||
{ "%.jule$" },
|
||||
{
|
||||
{ { "//.-\n" }, "comment" },
|
||||
{ { "/%*", "%*/" }, "comment" },
|
||||
{ { "\"", "[\"\n]", "\\" }, "string" },
|
||||
{ { "'", "'", "\\" }, "string" },
|
||||
{ { "-?0x%x+" }, "number" },
|
||||
{ { "-?0b[01]+" }, "number" },
|
||||
{ { "-?%d+[%d%.eE]*f?" }, "number" },
|
||||
{ { "-?%.?%d+f?" }, "number" },
|
||||
{ { "[%+%-=/%*%^%%<>!~|&]" }, "operator" },
|
||||
{ { "(%w+)::([%a_][%w_]*)%(" }, { "normal", "keyword2", "function" } },
|
||||
{ { "(%w+)::([%a_][%w_]*)" }, { "normal", "keyword2", "keyword2" } },
|
||||
{ { "(struct)%s+([%a_][%w_]*)" }, { "normal", "keyword", "keyword2" } },
|
||||
{ { "(impl)%s+([%a_][%w_]*)" }, { "normal", "keyword", "keyword2" } },
|
||||
{ { "(enum)%s+([%a_][%w_]*)" }, { "normal", "keyword", "keyword2" } },
|
||||
{ { "(trait)%s+([%a_][%w_]*)" }, { "normal", "keyword", "keyword2" } },
|
||||
{ { "[%a_][%w_]*%f[(]" }, "function" },
|
||||
{ { "([%a_][%w_]+)%[([%a_][%w_]*)%]%f[(]" }, { "normal", "function", "keyword2" } },
|
||||
{ { "[%a_][%w_]*" }, "symbol" },
|
||||
|
||||
},
|
||||
{
|
||||
{ "int", "keyword2" }, { "str", "keyword2" }, { "impl", "keyword" },
|
||||
{ "continue", "keyword" }, { "i16", "keyword2" }, { "bool", "keyword2" },
|
||||
{ "uintptr", "keyword2" }, { "integ", "keyword" }, { "fall", "keyword" },
|
||||
{ "i8", "keyword2" }, { "u32", "keyword2" }, { "any", "keyword2" },
|
||||
{ "match", "keyword" }, { "i64", "keyword2" }, { "false", "literal" },
|
||||
{ "for", "keyword" }, { "goto", "keyword" }, { "const", "keyword" },
|
||||
{ "u64", "keyword2" }, { "select", "keyword" }, { "unsafe", "keyword" },
|
||||
{ "else", "keyword" }, { "f64", "keyword2" }, { "enum", "keyword" },
|
||||
{ "cpp", "keyword" }, { "struct", "keyword" }, { "break", "keyword" },
|
||||
{ "use", "keyword" }, { "if", "keyword" }, { "let", "keyword" },
|
||||
{ "in", "keyword" }, { "f32", "keyword2" }, { "i32", "keyword2" },
|
||||
{ "map", "keyword2" }, { "trait", "keyword" }, { "mut", "keyword" },
|
||||
{ "error", "keyword" }, { "u8", "keyword2" }, { "byte", "keyword2" },
|
||||
{ "static", "keyword" }, { "defer", "keyword" }, { "co", "keyword" },
|
||||
{ "uint", "keyword2" }, { "self", "keyword" }, { "true", "literal" },
|
||||
{ "chan", "keyword" }, { "nil", "literal" }, { "rune", "keyword2" },
|
||||
{ "ret", "keyword" }, { "fn", "keyword" }, { "u16", "keyword2" },
|
||||
{ "type", "keyword" },
|
||||
|
||||
},
|
||||
"//",
|
||||
{}
|
||||
|
||||
} );
|
||||
|
||||
sd.setFoldRangeType( FoldRangeType::Braces ).setFoldBraces( { { '{', '}' } } );
|
||||
|
||||
}
|
||||
|
||||
}}}} // namespace EE::UI::Doc::Language
|
||||
@@ -0,0 +1,10 @@
|
||||
#ifndef EE_UI_DOC_Jule
|
||||
#define EE_UI_DOC_Jule
|
||||
|
||||
namespace EE { namespace UI { namespace Doc { namespace Language {
|
||||
|
||||
extern void addJule();
|
||||
|
||||
}}}} // namespace EE::UI::Doc::Language
|
||||
|
||||
#endif
|
||||
@@ -39,6 +39,7 @@
|
||||
#include <eepp/ui/doc/languages/jai.hpp>
|
||||
#include <eepp/ui/doc/languages/java.hpp>
|
||||
#include <eepp/ui/doc/languages/jsx.hpp>
|
||||
#include <eepp/ui/doc/languages/jule.hpp>
|
||||
#include <eepp/ui/doc/languages/julia.hpp>
|
||||
#include <eepp/ui/doc/languages/kotlin.hpp>
|
||||
#include <eepp/ui/doc/languages/latex.hpp>
|
||||
@@ -138,6 +139,7 @@ void LanguagesSyntaxHighlighting::load() {
|
||||
addIgnoreFile();
|
||||
addJai();
|
||||
addJava();
|
||||
addJule();
|
||||
addJulia();
|
||||
addJSX();
|
||||
addKotlin();
|
||||
|
||||
@@ -3531,7 +3531,7 @@ void App::init( const LogLevel& logLevel, std::string file, const Float& pidelDe
|
||||
mThreadPool->run( [this] {
|
||||
// Load language definitions
|
||||
Clock defClock;
|
||||
SyntaxDefinitionManager::createSingleton( 111 );
|
||||
SyntaxDefinitionManager::createSingleton( 112 );
|
||||
Language::LanguagesSyntaxHighlighting::load();
|
||||
SyntaxDefinitionManager::instance()->setLanguageExtensionsPriority(
|
||||
mConfig.languagesExtensions.priorities );
|
||||
|
||||
Reference in New Issue
Block a user