diff --git a/include/eepp/ui/doc/syntaxdefinitionmanager.hpp b/include/eepp/ui/doc/syntaxdefinitionmanager.hpp index 1d308c5bf..2c9255323 100644 --- a/include/eepp/ui/doc/syntaxdefinitionmanager.hpp +++ b/include/eepp/ui/doc/syntaxdefinitionmanager.hpp @@ -16,8 +16,14 @@ namespace EE { namespace UI { namespace Doc { class EE_API SyntaxDefinitionManager { SINGLETON_DECLARE_HEADERS( SyntaxDefinitionManager ) public: + static SyntaxDefinitionManager* createSingleton( std::size_t reserveSpaceForLanguages ); + static std::pair toCPP( const SyntaxDefinition& def ); + std::size_t count() const; + + void reserveSpaceForLanguages( std::size_t totalLangs ); + SyntaxDefinition& add( SyntaxDefinition&& syntaxStyle ); const SyntaxDefinition& getPlainDefinition() const; @@ -80,12 +86,10 @@ class EE_API SyntaxDefinitionManager { void setLanguageExtensionsPriority( const std::map& priorities ); - const std::map& getLanguageExtensionsPriority() { - return mPriorities; - } + const std::map& getLanguageExtensionsPriority(); protected: - SyntaxDefinitionManager(); + SyntaxDefinitionManager( std::size_t reserveSpaceForLanguages = 12 ); std::vector mDefinitions; std::map mPriorities; diff --git a/premake4.lua b/premake4.lua index d393068d1..866644234 100644 --- a/premake4.lua +++ b/premake4.lua @@ -1371,6 +1371,22 @@ solution "eepp" end build_base_cpp_configuration( "eterm" ) + project "languages-syntax-highlighting-static" + kind "StaticLib" + language "C++" + set_targetdir("libs/" .. os.get_real() .. "/") + includedirs { "include", "src/modules/languages-syntax-highlighting/src" } + files { "src/modules/languages-syntax-highlighting/src/**.cpp" } + if _OPTIONS["with-static-eepp"] then + defines { "EE_STATIC" } + end + if not is_vs() then + buildoptions{ "-std=c++17" } + else + buildoptions{ "/std:c++17" } + end + build_base_cpp_configuration( "languages-syntax-highlighting" ) + -- Library if not _OPTIONS["disable-static-build"] then project "eepp-static" @@ -1549,8 +1565,8 @@ solution "eepp" set_kind() language "C++" files { "src/tools/ecode/**.cpp" } - includedirs { "src/thirdparty/efsw/include", "src/thirdparty", "src/modules/eterm/include/" } - links { "efsw-static", "eterm-static" } + includedirs { "src/thirdparty/efsw/include", "src/thirdparty", "src/modules/eterm/include/", "src/modules/languages-syntax-highlighting/src" } + links { "efsw-static", "eterm-static", "languages-syntax-highlighting-static" } if not os.is("windows") and not os.is("haiku") then links { "pthread" } end diff --git a/premake5.lua b/premake5.lua index 0f033b734..cc64478aa 100644 --- a/premake5.lua +++ b/premake5.lua @@ -1224,6 +1224,22 @@ workspace "eepp" filter { "action:export-compile-commands", "system:macosx" } buildoptions { "-std=c++17" } + project "languages-syntax-highlighting-static" + kind "StaticLib" + language "C++" + cppdialect "C++17" + incdirs { "include", "src/modules/languages-syntax-highlighting/src" } + files { "src/modules/languages-syntax-highlighting/src/**.cpp" } + if _OPTIONS["with-static-eepp"] then + defines { "EE_STATIC" } + end + build_base_cpp_configuration( "languages-syntax-highlighting" ) + target_dir_lib("") + filter "action:not vs*" + buildoptions { "-Wall" } + filter { "action:export-compile-commands", "system:macosx" } + buildoptions { "-std=c++17" } + -- Library if not _OPTIONS["disable-static-build"] then project "eepp-static" @@ -1395,8 +1411,8 @@ workspace "eepp" set_kind() language "C++" files { "src/tools/ecode/**.cpp" } - incdirs { "src/thirdparty/efsw/include", "src/thirdparty", "src/modules/eterm/include/" } - links { "efsw-static", "eterm-static" } + incdirs { "src/thirdparty/efsw/include", "src/thirdparty", "src/modules/eterm/include/", "src/modules/languages-syntax-highlighting/src" } + links { "efsw-static", "eterm-static", "languages-syntax-highlighting-static" } build_link_configuration( "ecode", false ) filter { "system:windows", "action:not vs*" } buildoptions{ "-Wa,-mbig-obj" } diff --git a/src/eepp/ui/doc/syntaxdefinitionmanager.cpp b/src/eepp/ui/doc/syntaxdefinitionmanager.cpp index e74d72ed8..816cf22cd 100644 --- a/src/eepp/ui/doc/syntaxdefinitionmanager.cpp +++ b/src/eepp/ui/doc/syntaxdefinitionmanager.cpp @@ -4,99 +4,17 @@ #include #include #include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include #include -#include #include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include #include #include -#include -#include -#include -#include -#include #include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include #include #include @@ -109,6 +27,15 @@ namespace EE { namespace UI { namespace Doc { SINGLETON_DECLARE_IMPLEMENTATION( SyntaxDefinitionManager ) +SyntaxDefinitionManager* +SyntaxDefinitionManager::createSingleton( std::size_t reserveSpaceForLanguages ) { + if ( NULL == ms_singleton ) { + ms_singleton = eeNew( SyntaxDefinitionManager, () ); + } + + return ms_singleton; +} + static void addPlainText() { SyntaxDefinitionManager::instance()->add( { "Plain Text", {}, {}, {}, "", {}, "plaintext" } ); } @@ -116,107 +43,25 @@ static void addPlainText() { // Syntax definitions can be directly converted from the lite (https://github.com/rxi/lite) and // lite-plugins (https://github.com/rxi/lite-plugins) supported languages. -SyntaxDefinitionManager::SyntaxDefinitionManager() { +SyntaxDefinitionManager::SyntaxDefinitionManager( std::size_t reserveSpaceForLanguages ) { if ( ms_singleton == nullptr ) ms_singleton = this; - mDefinitions.reserve( 100 ); + mDefinitions.reserve( reserveSpaceForLanguages ); // Register some languages support. addPlainText(); - addAdept(); - addAngelScript(); - addAwkScript(); - addBatchScript(); - addBend(); - addBlueprint(); - addBrainfuck(); - addBuzz(); addC(); - addCarbon(); - addCMake(); - addContainerFile(); addConfigFile(); addCPP(); - addClojure(); - addCrystal(); - addCSharp(); addCSS(); - addD(); - addDart(); - addDiff(); - addElixir(); - addElm(); - addEnvironmentFile(); - addFantom(); - addFortran(); - addFstab(); - addGDScript(); - addGLSL(); - addGo(); - addGraphQL(); - addGroovy(); - addHaskell(); - addHare(); - addHaxe(); - addHLSL(); - addHtaccessFile(); addHTML(); - addIgnoreFile(); - addJai(); - addJava(); addJavaScript(); - addJulia(); addJSON(); - addJSX(); - addKotlin(); - addLatex(); - addLobster(); addLua(); - addMakefile(); addMarkdown(); - addMeson(); - addMoonscript(); - addNelua(); - addNim(); - addObjeck(); - addObjectiveC(); - addOCaml(); - addOdin(); - addPascal(); - addPerl(); - addPICO8(); - addPHP(); - addPO(); - addPony(); - addPostgreSQL(); - addPowerShell(); addPython(); - addR(); - addRuby(); - addRust(); - addSass(); - addScala(); - addShellScript(); - addSmallBASIC(); - addSolidity(); - addSQL(); - addSwift(); - addTeal(); - addToml(); - addTypeScript(); - addV(); - addVala(); - addVerilog(); - addVisualBasic(); - addVue(); - addWren(); - addX86Assembly(); - addXit(); addXML(); - addXtend(); - addYAML(); - addZig(); } const std::vector& SyntaxDefinitionManager::getDefinitions() const { @@ -359,7 +204,8 @@ namespace EE { namespace UI { namespace Doc { namespace Language { buf += "{ " + join( pattern.patterns ) + ", " + join( pattern.typesNames, true, true ) + str( pattern.syntax, ", ", "", false ); if ( pattern.isRegEx ) - buf += ", true"; + buf += ", " + ", true"; buf += " },\n"; } buf += "\n},\n"; @@ -837,4 +683,16 @@ const SyntaxDefinition& SyntaxDefinitionManager::findFromString( const std::stri return getPlainDefinition(); } +const std::map& SyntaxDefinitionManager::getLanguageExtensionsPriority() { + return mPriorities; +} + +std::size_t SyntaxDefinitionManager::count() const { + return mDefinitions.size(); +} + +void SyntaxDefinitionManager::reserveSpaceForLanguages( std::size_t totalLangs ) { + mDefinitions.reserve( totalLangs ); +} + }}} // namespace EE::UI::Doc diff --git a/src/eepp/ui/doc/languages/adept.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/adept.cpp similarity index 100% rename from src/eepp/ui/doc/languages/adept.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/adept.cpp diff --git a/src/eepp/ui/doc/languages/adept.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/adept.hpp similarity index 100% rename from src/eepp/ui/doc/languages/adept.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/adept.hpp diff --git a/src/eepp/ui/doc/languages/angelscript.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/angelscript.cpp similarity index 100% rename from src/eepp/ui/doc/languages/angelscript.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/angelscript.cpp diff --git a/src/eepp/ui/doc/languages/angelscript.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/angelscript.hpp similarity index 100% rename from src/eepp/ui/doc/languages/angelscript.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/angelscript.hpp diff --git a/src/eepp/ui/doc/languages/awkscript.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/awkscript.cpp similarity index 100% rename from src/eepp/ui/doc/languages/awkscript.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/awkscript.cpp diff --git a/src/eepp/ui/doc/languages/awkscript.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/awkscript.hpp similarity index 100% rename from src/eepp/ui/doc/languages/awkscript.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/awkscript.hpp diff --git a/src/eepp/ui/doc/languages/batchscript.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/batchscript.cpp similarity index 100% rename from src/eepp/ui/doc/languages/batchscript.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/batchscript.cpp diff --git a/src/eepp/ui/doc/languages/batchscript.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/batchscript.hpp similarity index 100% rename from src/eepp/ui/doc/languages/batchscript.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/batchscript.hpp diff --git a/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/bazel.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/bazel.cpp new file mode 100644 index 000000000..7a5663a65 --- /dev/null +++ b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/bazel.cpp @@ -0,0 +1,50 @@ +#include +#include + +namespace EE { namespace UI { namespace Doc { namespace Language { + +void addBazel() { + + SyntaxDefinitionManager::instance()->add( + + { "Bazel", + { "%.bazel$", "%.bzl$", "BUILD" }, + { + { { "\"", "\"", "\\" }, "string" }, + { { "#.*" }, "comment" }, + { { "[!%-/*?:=><]" }, "operator" }, + { { "-?%d+[%d%.eE_]*" }, "number" }, + { { "[%a_][%w_]*%f[(]" }, "function" }, + { { "-?%d+[%d%.eE_]*" }, "number" }, + { { "[%a_][%w_]*" }, "normal" }, + { { "%s+" }, "normal" }, + { { "%w+%f[%s]" }, "normal" }, + + }, + { + { "int", "literal" }, { "str", "literal" }, { "in", "keyword2" }, + { "continue", "keyword" }, { "enumerate", "literal" }, { "finally", "keyword2" }, + { "False", "keyword" }, { "getattr", "literal" }, { "True", "keyword" }, + { "len", "literal" }, { "dict", "literal" }, { "lambda", "keyword2" }, + { "bool", "literal" }, { "del", "keyword2" }, { "return", "keyword" }, + { "pass", "keyword" }, { "import", "keyword2" }, { "max", "literal" }, + { "try", "keyword2" }, { "min", "literal" }, { "as", "keyword2" }, + { "class", "keyword2" }, { "raise", "keyword2" }, { "reversed", "literal" }, + { "yield", "keyword2" }, { "any", "literal" }, { "sorted", "literal" }, + { "hasattr", "literal" }, { "load", "literal" }, { "with", "keyword2" }, + { "for", "keyword" }, { "while", "keyword2" }, { "assert", "keyword2" }, + { "tuple", "literal" }, { "from", "keyword2" }, { "elif", "keyword" }, + { "list", "literal" }, { "else", "keyword" }, { "global", "keyword2" }, + { "repr", "literal" }, { "all", "literal" }, { "break", "keyword" }, + { "dir", "literal" }, { "nonlocal", "keyword2" }, { "is", "keyword2" }, + { "if", "keyword" }, { "except", "keyword2" }, { "hash", "literal" }, + { "zip", "literal" }, { "type", "literal" }, + + }, + "#", + {} + + } ); +} + +}}}} // namespace EE::UI::Doc::Language diff --git a/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/bazel.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/bazel.hpp new file mode 100644 index 000000000..4ceb776ec --- /dev/null +++ b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/bazel.hpp @@ -0,0 +1,10 @@ +#ifndef EE_UI_DOC_Bazel +#define EE_UI_DOC_Bazel + +namespace EE { namespace UI { namespace Doc { namespace Language { + +extern void addBazel(); + +}}}} // namespace EE::UI::Doc::Language + +#endif diff --git a/src/eepp/ui/doc/languages/bend.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/bend.cpp similarity index 100% rename from src/eepp/ui/doc/languages/bend.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/bend.cpp diff --git a/src/eepp/ui/doc/languages/bend.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/bend.hpp similarity index 100% rename from src/eepp/ui/doc/languages/bend.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/bend.hpp diff --git a/src/eepp/ui/doc/languages/blueprint.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/blueprint.cpp similarity index 100% rename from src/eepp/ui/doc/languages/blueprint.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/blueprint.cpp diff --git a/src/eepp/ui/doc/languages/blueprint.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/blueprint.hpp similarity index 100% rename from src/eepp/ui/doc/languages/blueprint.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/blueprint.hpp diff --git a/src/eepp/ui/doc/languages/brainfuck.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/brainfuck.cpp similarity index 100% rename from src/eepp/ui/doc/languages/brainfuck.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/brainfuck.cpp diff --git a/src/eepp/ui/doc/languages/brainfuck.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/brainfuck.hpp similarity index 100% rename from src/eepp/ui/doc/languages/brainfuck.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/brainfuck.hpp diff --git a/src/eepp/ui/doc/languages/buzz.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/buzz.cpp similarity index 100% rename from src/eepp/ui/doc/languages/buzz.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/buzz.cpp diff --git a/src/eepp/ui/doc/languages/buzz.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/buzz.hpp similarity index 100% rename from src/eepp/ui/doc/languages/buzz.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/buzz.hpp diff --git a/src/eepp/ui/doc/languages/carbon.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/carbon.cpp similarity index 100% rename from src/eepp/ui/doc/languages/carbon.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/carbon.cpp diff --git a/src/eepp/ui/doc/languages/carbon.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/carbon.hpp similarity index 100% rename from src/eepp/ui/doc/languages/carbon.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/carbon.hpp diff --git a/src/eepp/ui/doc/languages/clojure.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/clojure.cpp similarity index 100% rename from src/eepp/ui/doc/languages/clojure.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/clojure.cpp diff --git a/src/eepp/ui/doc/languages/clojure.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/clojure.hpp similarity index 100% rename from src/eepp/ui/doc/languages/clojure.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/clojure.hpp diff --git a/src/eepp/ui/doc/languages/cmake.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/cmake.cpp similarity index 100% rename from src/eepp/ui/doc/languages/cmake.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/cmake.cpp diff --git a/src/eepp/ui/doc/languages/cmake.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/cmake.hpp similarity index 100% rename from src/eepp/ui/doc/languages/cmake.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/cmake.hpp diff --git a/src/eepp/ui/doc/languages/containerfile.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/containerfile.cpp similarity index 100% rename from src/eepp/ui/doc/languages/containerfile.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/containerfile.cpp diff --git a/src/eepp/ui/doc/languages/containerfile.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/containerfile.hpp similarity index 100% rename from src/eepp/ui/doc/languages/containerfile.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/containerfile.hpp diff --git a/src/eepp/ui/doc/languages/crystal.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/crystal.cpp similarity index 100% rename from src/eepp/ui/doc/languages/crystal.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/crystal.cpp diff --git a/src/eepp/ui/doc/languages/crystal.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/crystal.hpp similarity index 100% rename from src/eepp/ui/doc/languages/crystal.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/crystal.hpp diff --git a/src/eepp/ui/doc/languages/csharp.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/csharp.cpp similarity index 100% rename from src/eepp/ui/doc/languages/csharp.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/csharp.cpp diff --git a/src/eepp/ui/doc/languages/csharp.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/csharp.hpp similarity index 100% rename from src/eepp/ui/doc/languages/csharp.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/csharp.hpp diff --git a/src/eepp/ui/doc/languages/d.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/d.cpp similarity index 100% rename from src/eepp/ui/doc/languages/d.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/d.cpp diff --git a/src/eepp/ui/doc/languages/d.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/d.hpp similarity index 100% rename from src/eepp/ui/doc/languages/d.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/d.hpp diff --git a/src/eepp/ui/doc/languages/dart.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/dart.cpp similarity index 100% rename from src/eepp/ui/doc/languages/dart.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/dart.cpp diff --git a/src/eepp/ui/doc/languages/dart.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/dart.hpp similarity index 100% rename from src/eepp/ui/doc/languages/dart.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/dart.hpp diff --git a/src/eepp/ui/doc/languages/difffile.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/difffile.cpp similarity index 100% rename from src/eepp/ui/doc/languages/difffile.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/difffile.cpp diff --git a/src/eepp/ui/doc/languages/difffile.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/difffile.hpp similarity index 100% rename from src/eepp/ui/doc/languages/difffile.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/difffile.hpp diff --git a/src/eepp/ui/doc/languages/elixir.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/elixir.cpp similarity index 100% rename from src/eepp/ui/doc/languages/elixir.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/elixir.cpp diff --git a/src/eepp/ui/doc/languages/elixir.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/elixir.hpp similarity index 100% rename from src/eepp/ui/doc/languages/elixir.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/elixir.hpp diff --git a/src/eepp/ui/doc/languages/elm.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/elm.cpp similarity index 100% rename from src/eepp/ui/doc/languages/elm.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/elm.cpp diff --git a/src/eepp/ui/doc/languages/elm.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/elm.hpp similarity index 100% rename from src/eepp/ui/doc/languages/elm.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/elm.hpp diff --git a/src/eepp/ui/doc/languages/environmentfile.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/environmentfile.cpp similarity index 100% rename from src/eepp/ui/doc/languages/environmentfile.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/environmentfile.cpp diff --git a/src/eepp/ui/doc/languages/environmentfile.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/environmentfile.hpp similarity index 100% rename from src/eepp/ui/doc/languages/environmentfile.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/environmentfile.hpp diff --git a/src/eepp/ui/doc/languages/fantom.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/fantom.cpp similarity index 100% rename from src/eepp/ui/doc/languages/fantom.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/fantom.cpp diff --git a/src/eepp/ui/doc/languages/fantom.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/fantom.hpp similarity index 100% rename from src/eepp/ui/doc/languages/fantom.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/fantom.hpp diff --git a/src/eepp/ui/doc/languages/fortran.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/fortran.cpp similarity index 100% rename from src/eepp/ui/doc/languages/fortran.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/fortran.cpp diff --git a/src/eepp/ui/doc/languages/fortran.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/fortran.hpp similarity index 100% rename from src/eepp/ui/doc/languages/fortran.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/fortran.hpp diff --git a/src/eepp/ui/doc/languages/fstab.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/fstab.cpp similarity index 100% rename from src/eepp/ui/doc/languages/fstab.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/fstab.cpp diff --git a/src/eepp/ui/doc/languages/fstab.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/fstab.hpp similarity index 100% rename from src/eepp/ui/doc/languages/fstab.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/fstab.hpp diff --git a/src/eepp/ui/doc/languages/gdscript.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/gdscript.cpp similarity index 100% rename from src/eepp/ui/doc/languages/gdscript.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/gdscript.cpp diff --git a/src/eepp/ui/doc/languages/gdscript.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/gdscript.hpp similarity index 100% rename from src/eepp/ui/doc/languages/gdscript.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/gdscript.hpp diff --git a/src/eepp/ui/doc/languages/glsl.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/glsl.cpp similarity index 100% rename from src/eepp/ui/doc/languages/glsl.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/glsl.cpp diff --git a/src/eepp/ui/doc/languages/glsl.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/glsl.hpp similarity index 100% rename from src/eepp/ui/doc/languages/glsl.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/glsl.hpp diff --git a/src/eepp/ui/doc/languages/go.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/go.cpp similarity index 100% rename from src/eepp/ui/doc/languages/go.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/go.cpp diff --git a/src/eepp/ui/doc/languages/go.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/go.hpp similarity index 100% rename from src/eepp/ui/doc/languages/go.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/go.hpp diff --git a/src/eepp/ui/doc/languages/graphql.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/graphql.cpp similarity index 100% rename from src/eepp/ui/doc/languages/graphql.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/graphql.cpp diff --git a/src/eepp/ui/doc/languages/graphql.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/graphql.hpp similarity index 100% rename from src/eepp/ui/doc/languages/graphql.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/graphql.hpp diff --git a/src/eepp/ui/doc/languages/groovy.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/groovy.cpp similarity index 100% rename from src/eepp/ui/doc/languages/groovy.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/groovy.cpp diff --git a/src/eepp/ui/doc/languages/groovy.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/groovy.hpp similarity index 100% rename from src/eepp/ui/doc/languages/groovy.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/groovy.hpp diff --git a/src/eepp/ui/doc/languages/hare.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/hare.cpp similarity index 100% rename from src/eepp/ui/doc/languages/hare.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/hare.cpp diff --git a/src/eepp/ui/doc/languages/hare.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/hare.hpp similarity index 100% rename from src/eepp/ui/doc/languages/hare.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/hare.hpp diff --git a/src/eepp/ui/doc/languages/haskell.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/haskell.cpp similarity index 100% rename from src/eepp/ui/doc/languages/haskell.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/haskell.cpp diff --git a/src/eepp/ui/doc/languages/haskell.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/haskell.hpp similarity index 100% rename from src/eepp/ui/doc/languages/haskell.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/haskell.hpp diff --git a/src/eepp/ui/doc/languages/haxe.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/haxe.cpp similarity index 100% rename from src/eepp/ui/doc/languages/haxe.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/haxe.cpp diff --git a/src/eepp/ui/doc/languages/haxe.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/haxe.hpp similarity index 100% rename from src/eepp/ui/doc/languages/haxe.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/haxe.hpp diff --git a/src/eepp/ui/doc/languages/hlsl.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/hlsl.cpp similarity index 100% rename from src/eepp/ui/doc/languages/hlsl.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/hlsl.cpp diff --git a/src/eepp/ui/doc/languages/hlsl.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/hlsl.hpp similarity index 100% rename from src/eepp/ui/doc/languages/hlsl.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/hlsl.hpp diff --git a/src/eepp/ui/doc/languages/htaccess.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/htaccess.cpp similarity index 100% rename from src/eepp/ui/doc/languages/htaccess.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/htaccess.cpp diff --git a/src/eepp/ui/doc/languages/htaccess.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/htaccess.hpp similarity index 100% rename from src/eepp/ui/doc/languages/htaccess.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/htaccess.hpp diff --git a/src/eepp/ui/doc/languages/ignorefile.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/ignorefile.cpp similarity index 100% rename from src/eepp/ui/doc/languages/ignorefile.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/ignorefile.cpp diff --git a/src/eepp/ui/doc/languages/ignorefile.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/ignorefile.hpp similarity index 100% rename from src/eepp/ui/doc/languages/ignorefile.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/ignorefile.hpp diff --git a/src/eepp/ui/doc/languages/jai.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/jai.cpp similarity index 100% rename from src/eepp/ui/doc/languages/jai.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/jai.cpp diff --git a/src/eepp/ui/doc/languages/jai.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/jai.hpp similarity index 100% rename from src/eepp/ui/doc/languages/jai.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/jai.hpp diff --git a/src/eepp/ui/doc/languages/java.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/java.cpp similarity index 100% rename from src/eepp/ui/doc/languages/java.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/java.cpp diff --git a/src/eepp/ui/doc/languages/java.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/java.hpp similarity index 100% rename from src/eepp/ui/doc/languages/java.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/java.hpp diff --git a/src/eepp/ui/doc/languages/jsx.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/jsx.cpp similarity index 100% rename from src/eepp/ui/doc/languages/jsx.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/jsx.cpp diff --git a/src/eepp/ui/doc/languages/jsx.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/jsx.hpp similarity index 100% rename from src/eepp/ui/doc/languages/jsx.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/jsx.hpp diff --git a/src/eepp/ui/doc/languages/julia.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/julia.cpp similarity index 100% rename from src/eepp/ui/doc/languages/julia.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/julia.cpp diff --git a/src/eepp/ui/doc/languages/julia.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/julia.hpp similarity index 100% rename from src/eepp/ui/doc/languages/julia.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/julia.hpp diff --git a/src/eepp/ui/doc/languages/kotlin.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/kotlin.cpp similarity index 100% rename from src/eepp/ui/doc/languages/kotlin.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/kotlin.cpp diff --git a/src/eepp/ui/doc/languages/kotlin.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/kotlin.hpp similarity index 100% rename from src/eepp/ui/doc/languages/kotlin.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/kotlin.hpp diff --git a/src/eepp/ui/doc/languages/latex.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/latex.cpp similarity index 100% rename from src/eepp/ui/doc/languages/latex.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/latex.cpp diff --git a/src/eepp/ui/doc/languages/latex.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/latex.hpp similarity index 100% rename from src/eepp/ui/doc/languages/latex.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/latex.hpp diff --git a/src/eepp/ui/doc/languages/lobster.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/lobster.cpp similarity index 100% rename from src/eepp/ui/doc/languages/lobster.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/lobster.cpp diff --git a/src/eepp/ui/doc/languages/lobster.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/lobster.hpp similarity index 100% rename from src/eepp/ui/doc/languages/lobster.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/lobster.hpp diff --git a/src/eepp/ui/doc/languages/makefile.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/makefile.cpp similarity index 100% rename from src/eepp/ui/doc/languages/makefile.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/makefile.cpp diff --git a/src/eepp/ui/doc/languages/makefile.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/makefile.hpp similarity index 100% rename from src/eepp/ui/doc/languages/makefile.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/makefile.hpp diff --git a/src/eepp/ui/doc/languages/meson.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/meson.cpp similarity index 100% rename from src/eepp/ui/doc/languages/meson.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/meson.cpp diff --git a/src/eepp/ui/doc/languages/meson.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/meson.hpp similarity index 100% rename from src/eepp/ui/doc/languages/meson.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/meson.hpp diff --git a/src/eepp/ui/doc/languages/moonscript.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/moonscript.cpp similarity index 100% rename from src/eepp/ui/doc/languages/moonscript.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/moonscript.cpp diff --git a/src/eepp/ui/doc/languages/moonscript.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/moonscript.hpp similarity index 100% rename from src/eepp/ui/doc/languages/moonscript.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/moonscript.hpp diff --git a/src/eepp/ui/doc/languages/nelua.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/nelua.cpp similarity index 100% rename from src/eepp/ui/doc/languages/nelua.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/nelua.cpp diff --git a/src/eepp/ui/doc/languages/nelua.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/nelua.hpp similarity index 100% rename from src/eepp/ui/doc/languages/nelua.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/nelua.hpp diff --git a/src/eepp/ui/doc/languages/nim.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/nim.cpp similarity index 100% rename from src/eepp/ui/doc/languages/nim.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/nim.cpp diff --git a/src/eepp/ui/doc/languages/nim.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/nim.hpp similarity index 100% rename from src/eepp/ui/doc/languages/nim.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/nim.hpp diff --git a/src/eepp/ui/doc/languages/objeck.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/objeck.cpp similarity index 100% rename from src/eepp/ui/doc/languages/objeck.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/objeck.cpp diff --git a/src/eepp/ui/doc/languages/objeck.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/objeck.hpp similarity index 100% rename from src/eepp/ui/doc/languages/objeck.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/objeck.hpp diff --git a/src/eepp/ui/doc/languages/objective-c.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/objective-c.cpp similarity index 100% rename from src/eepp/ui/doc/languages/objective-c.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/objective-c.cpp diff --git a/src/eepp/ui/doc/languages/objective-c.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/objective-c.hpp similarity index 100% rename from src/eepp/ui/doc/languages/objective-c.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/objective-c.hpp diff --git a/src/eepp/ui/doc/languages/ocaml.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/ocaml.cpp similarity index 100% rename from src/eepp/ui/doc/languages/ocaml.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/ocaml.cpp diff --git a/src/eepp/ui/doc/languages/ocaml.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/ocaml.hpp similarity index 100% rename from src/eepp/ui/doc/languages/ocaml.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/ocaml.hpp diff --git a/src/eepp/ui/doc/languages/odin.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/odin.cpp similarity index 100% rename from src/eepp/ui/doc/languages/odin.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/odin.cpp diff --git a/src/eepp/ui/doc/languages/odin.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/odin.hpp similarity index 100% rename from src/eepp/ui/doc/languages/odin.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/odin.hpp diff --git a/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/openscad.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/openscad.cpp new file mode 100644 index 000000000..553c3aee2 --- /dev/null +++ b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/openscad.cpp @@ -0,0 +1,117 @@ +#include +#include + +namespace EE { namespace UI { namespace Doc { namespace Language { + +void addOpenSCAD() { + + SyntaxDefinitionManager::instance()->add( + + { "OpenSCAD", + { "%.scad$" }, + { + { { "//.*" }, "comment" }, + { { "/%*", "%*/" }, "comment" }, + { { "\"", "\"", "\\" }, "string" }, + { { "'", "'", "\\" }, "string" }, + { { "-?0x%x+" }, "number" }, + { { "-?%d+[%d%.eE]*[a-zA-Z]?" }, "number" }, + { { "-?%.?%d+" }, "number" }, + { { "[%+%-=/%*%^%%<>!~|&%?%:]" }, "operator" }, + { { "[%a_][%w_]*%f[(]" }, "function" }, + { { "%$%a+" }, "keyword" }, + { { "[%a_][%w_]*" }, "symbol" }, + { { "%s+" }, "normal" }, + { { "%w+%f[%s]" }, "normal" }, + + }, + { + { "str", "function" }, + { "version", "function" }, + { "is_undef", "function" }, + { "ln", "keyword" }, + { "len", "keyword" }, + { "rotate_extrude", "keyword" }, + { "linear_extrude", "keyword" }, + { "exp", "keyword" }, + { "render", "keyword" }, + { "min", "keyword" }, + { "union", "keyword" }, + { "search", "function" }, + { "undef", "keyword2" }, + { "concat", "function" }, + { "ord", "function" }, + { "color", "keyword" }, + { "norm", "keyword" }, + { "false", "literal" }, + { "for", "keyword" }, + { "is_function", "function" }, + { "lookup", "function" }, + { "function", "keyword" }, + { "difference", "keyword" }, + { "asin", "keyword" }, + { "is_list", "function" }, + { "polyhedron", "keyword" }, + { "multmatrix", "keyword" }, + { "chr", "function" }, + { "is_string", "function" }, + { "cylinder", "keyword" }, + { "rotate", "keyword" }, + { "use", "keyword" }, + { "sin", "keyword" }, + { "translate", "keyword" }, + { "let", "keyword" }, + { "ceil", "keyword" }, + { "hull", "keyword" }, + { "is_bool", "function" }, + { "version_num", "function" }, + { "scale", "keyword" }, + { "atan2", "keyword" }, + { "intersection", "keyword" }, + { "each", "keyword" }, + { "include", "keyword" }, + { "floor", "keyword" }, + { "minkowski", "keyword" }, + { "surface", "keyword" }, + { "polygon", "keyword" }, + { "PI", "keyword2" }, + { "var", "keyword" }, + { "import", "keyword" }, + { "max", "keyword" }, + { "resize", "keyword" }, + { "pow", "keyword" }, + { "tan", "keyword" }, + { "is_num", "function" }, + { "projection", "keyword" }, + { "echo", "keyword" }, + { "circle", "keyword" }, + { "module", "keyword" }, + { "sphere", "keyword" }, + { "assert", "keyword" }, + { "square", "keyword" }, + { "rands", "keyword" }, + { "mirror", "keyword" }, + { "sign", "keyword" }, + { "true", "literal" }, + { "cube", "keyword" }, + { "text", "keyword" }, + { "sqrt", "keyword" }, + { "abs", "keyword" }, + { "round", "keyword" }, + { "parent_module", "function" }, + { "cross", "keyword" }, + { "acos", "keyword" }, + { "cos", "keyword" }, + { "children", "keyword" }, + { "offset", "keyword" }, + { "atan", "keyword" }, + { "log", "keyword" }, + + }, + "//", + {} + + } ); +} + +}}}} // namespace EE::UI::Doc::Language diff --git a/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/openscad.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/openscad.hpp new file mode 100644 index 000000000..b709a9ec9 --- /dev/null +++ b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/openscad.hpp @@ -0,0 +1,10 @@ +#ifndef EE_UI_DOC_Openscad +#define EE_UI_DOC_Openscad + +namespace EE { namespace UI { namespace Doc { namespace Language { + +extern void addOpenSCAD(); + +}}}} // namespace EE::UI::Doc::Language + +#endif diff --git a/src/eepp/ui/doc/languages/pascal.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/pascal.cpp similarity index 100% rename from src/eepp/ui/doc/languages/pascal.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/pascal.cpp diff --git a/src/eepp/ui/doc/languages/pascal.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/pascal.hpp similarity index 100% rename from src/eepp/ui/doc/languages/pascal.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/pascal.hpp diff --git a/src/eepp/ui/doc/languages/perl.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/perl.cpp similarity index 100% rename from src/eepp/ui/doc/languages/perl.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/perl.cpp diff --git a/src/eepp/ui/doc/languages/perl.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/perl.hpp similarity index 100% rename from src/eepp/ui/doc/languages/perl.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/perl.hpp diff --git a/src/eepp/ui/doc/languages/php.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/php.cpp similarity index 100% rename from src/eepp/ui/doc/languages/php.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/php.cpp diff --git a/src/eepp/ui/doc/languages/php.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/php.hpp similarity index 100% rename from src/eepp/ui/doc/languages/php.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/php.hpp diff --git a/src/eepp/ui/doc/languages/pico-8.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/pico-8.cpp similarity index 100% rename from src/eepp/ui/doc/languages/pico-8.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/pico-8.cpp diff --git a/src/eepp/ui/doc/languages/pico-8.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/pico-8.hpp similarity index 100% rename from src/eepp/ui/doc/languages/pico-8.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/pico-8.hpp diff --git a/src/eepp/ui/doc/languages/po.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/po.cpp similarity index 100% rename from src/eepp/ui/doc/languages/po.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/po.cpp diff --git a/src/eepp/ui/doc/languages/po.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/po.hpp similarity index 100% rename from src/eepp/ui/doc/languages/po.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/po.hpp diff --git a/src/eepp/ui/doc/languages/pony.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/pony.cpp similarity index 100% rename from src/eepp/ui/doc/languages/pony.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/pony.cpp diff --git a/src/eepp/ui/doc/languages/pony.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/pony.hpp similarity index 100% rename from src/eepp/ui/doc/languages/pony.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/pony.hpp diff --git a/src/eepp/ui/doc/languages/postgresql.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/postgresql.cpp similarity index 100% rename from src/eepp/ui/doc/languages/postgresql.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/postgresql.cpp diff --git a/src/eepp/ui/doc/languages/postgresql.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/postgresql.hpp similarity index 100% rename from src/eepp/ui/doc/languages/postgresql.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/postgresql.hpp diff --git a/src/eepp/ui/doc/languages/powershell.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/powershell.cpp similarity index 100% rename from src/eepp/ui/doc/languages/powershell.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/powershell.cpp diff --git a/src/eepp/ui/doc/languages/powershell.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/powershell.hpp similarity index 100% rename from src/eepp/ui/doc/languages/powershell.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/powershell.hpp diff --git a/src/eepp/ui/doc/languages/r.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/r.cpp similarity index 100% rename from src/eepp/ui/doc/languages/r.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/r.cpp diff --git a/src/eepp/ui/doc/languages/r.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/r.hpp similarity index 100% rename from src/eepp/ui/doc/languages/r.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/r.hpp diff --git a/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/ring.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/ring.cpp new file mode 100644 index 000000000..96560847c --- /dev/null +++ b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/ring.cpp @@ -0,0 +1,291 @@ +#include +#include + +namespace EE { namespace UI { namespace Doc { namespace Language { + +void addRing() { + + SyntaxDefinitionManager::instance()->add( + + { "Ring", + { "%.ring$", "%.rh$", "%.rform$" }, + { + { { "#.*" }, "comment" }, + { { "//.*" }, "comment" }, + { { "/%*", "%*/" }, "comment" }, + { { "\"", "\"", "\\" }, "string" }, + { { "'", "'", "\\" }, "string" }, + { { "`", "`", "\\" }, "string" }, + { { "-?%d+[%d%.]*f?" }, "number" }, + { { "-?0x%x+" }, "number" }, + { { "[%+%-=/%*%^%%<>!~|&]" }, "operator" }, + { { "[%a_][%w_]*%f[(]" }, "function" }, + { { "([Dd][Ee][Ff])(%s+)([%a_][%w_]*)" }, + { "normal", "keyword", "normal", "function" } }, + { { "([Ff][Uu][Nn][Cc])(%s+)([%a_][%w_]*)" }, + { "normal", "keyword", "normal", "function" } }, + { { "([Cc][Ll][Aa][Ss][Ss])(%s+)([%a_][%w_]*)" }, + { "normal", "keyword", "normal", "function" } }, + { { "[%a_][%w_]*" }, "symbol" }, + { { "%?" }, "keyword" }, + { { ":[%a_][%w_]*" }, "literal" }, + { { "%s+" }, "normal" }, + { { "%w+%f[%s]" }, "normal" }, + + }, + { + { "int", "keyword2" }, + { "BREAK", "keyword" }, + { "new", "keyword" }, + { "IF", "keyword" }, + { "Override", "keyword2" }, + { "End", "keyword" }, + { "endfor", "keyword" }, + { "Catch", "keyword" }, + { "loop", "keyword" }, + { "OTHER", "keyword" }, + { "CASE", "keyword" }, + { "long", "keyword2" }, + { "foreach", "keyword" }, + { "LOAD", "keyword" }, + { "String", "keyword2" }, + { "give", "keyword" }, + { "STEP", "keyword" }, + { "Give", "keyword" }, + { "FALSE", "literal" }, + { "end", "keyword" }, + { "Loadsyntax", "keyword" }, + { "short", "keyword2" }, + { "while", "keyword" }, + { "bye", "keyword" }, + { "endclass", "keyword" }, + { "FOREACH", "keyword" }, + { "VOID", "keyword2" }, + { "OBJECT", "keyword2" }, + { "break", "keyword" }, + { "Object", "keyword2" }, + { "ENDCLASS", "keyword" }, + { "BUT", "keyword" }, + { "IMPORT", "keyword" }, + { "Other", "keyword" }, + { "changeringkeyword", "keyword" }, + { "Enablehashcomments", "keyword" }, + { "False", "literal" }, + { "WHILE", "keyword" }, + { "abstract", "keyword2" }, + { "ELSEIF", "keyword" }, + { "CATCH", "keyword" }, + { "Int", "keyword2" }, + { "Nl", "keyword" }, + { "BOOLEAN", "keyword2" }, + { "SIGNED", "keyword2" }, + { "Break", "keyword" }, + { "class", "keyword" }, + { "void", "keyword2" }, + { "DOUBLE", "keyword2" }, + { "byte", "keyword2" }, + { "Changeringkeyword", "keyword" }, + { "boolean", "keyword2" }, + { "Step", "keyword" }, + { "ENDWHILE", "keyword" }, + { "DO", "keyword" }, + { "LOOP", "keyword" }, + { "AGAIN", "keyword" }, + { "other", "keyword" }, + { "Return", "keyword" }, + { "float", "keyword2" }, + { "see", "function" }, + { "loadsyntax", "keyword" }, + { "do", "keyword" }, + { "to", "keyword" }, + { "Abstract", "keyword2" }, + { "default", "keyword" }, + { "but", "keyword" }, + { "char", "keyword2" }, + { "BYTE", "keyword2" }, + { "Call", "keyword" }, + { "Next", "keyword" }, + { "get", "keyword" }, + { "call", "keyword" }, + { "from", "keyword" }, + { "Static", "keyword2" }, + { "else", "keyword" }, + { "next", "keyword" }, + { "For", "keyword" }, + { "Loop", "keyword" }, + { "Foreach", "keyword" }, + { "FUNC", "keyword" }, + { "SEE", "function" }, + { "ENDFUNCTION", "keyword" }, + { "string", "keyword2" }, + { "Endfor", "keyword" }, + { "DEFAULT", "keyword" }, + { "Number", "keyword2" }, + { "Char", "keyword2" }, + { "elseif", "keyword" }, + { "in", "keyword" }, + { "NUMBER", "keyword2" }, + { "Float", "keyword2" }, + { "private", "keyword" }, + { "signed", "keyword2" }, + { "DEF", "keyword" }, + { "switch", "keyword" }, + { "OVERRIDE", "keyword2" }, + { "Get", "keyword" }, + { "LOADSYNTAX", "keyword" }, + { "Exit", "keyword" }, + { "import", "keyword" }, + { "try", "keyword" }, + { "Unsigned", "keyword2" }, + { "See", "function" }, + { "In", "keyword" }, + { "Short", "keyword2" }, + { "endtry", "keyword" }, + { "LIST", "keyword2" }, + { "FLOAT", "keyword2" }, + { "DISABLEHASHCOMMENTS", "keyword" }, + { "list", "keyword2" }, + { "Try", "keyword" }, + { "catch", "keyword" }, + { "LONG", "keyword2" }, + { "Endpackage", "keyword" }, + { "EXIT", "keyword" }, + { "SHORT", "keyword2" }, + { "done", "keyword" }, + { "Done", "keyword" }, + { "again", "keyword" }, + { "on", "keyword" }, + { "nl", "keyword" }, + { "CLASS", "keyword" }, + { "Disablehashcomments", "keyword" }, + { "Long", "keyword2" }, + { "ENDSWITCH", "keyword" }, + { "TRY", "keyword" }, + { "Do", "keyword" }, + { "for", "keyword" }, + { "FROM", "keyword" }, + { "Package", "keyword" }, + { "OFF", "keyword" }, + { "DONE", "keyword" }, + { "RETURN", "keyword" }, + { "IN", "keyword" }, + { "null", "literal" }, + { "PRINT", "function" }, + { "CHANGERINGKEYWORD", "keyword" }, + { "func", "keyword" }, + { "INT", "keyword2" }, + { "NEXT", "keyword" }, + { "disablehashcomments", "keyword" }, + { "If", "keyword" }, + { "CHAR", "keyword2" }, + { "Bye", "keyword" }, + { "enablehashcomments", "keyword" }, + { "endfunc", "keyword" }, + { "STRING", "keyword2" }, + { "exit", "keyword" }, + { "Endswitch", "keyword" }, + { "ENDTRY", "keyword" }, + { "Off", "keyword" }, + { "On", "keyword" }, + { "CALL", "keyword" }, + { "ENDPACKAGE", "keyword" }, + { "Else", "keyword" }, + { "END", "keyword" }, + { "Byte", "keyword2" }, + { "Elseif", "keyword" }, + { "Default", "keyword" }, + { "Changeringoperator", "keyword" }, + { "static", "keyword2" }, + { "Endfunc", "keyword" }, + { "CONTINUE", "keyword" }, + { "off", "keyword" }, + { "def", "keyword" }, + { "true", "literal" }, + { "Void", "keyword2" }, + { "endfunction", "keyword" }, + { "Signed", "keyword2" }, + { "ENDFUNC", "keyword" }, + { "PROTECTED", "keyword2" }, + { "Endtry", "keyword" }, + { "Class", "keyword" }, + { "case", "keyword" }, + { "protected", "keyword2" }, + { "ON", "keyword" }, + { "Switch", "keyword" }, + { "STATIC", "keyword2" }, + { "Func", "keyword" }, + { "PACKAGE", "keyword" }, + { "continue", "keyword" }, + { "While", "keyword" }, + { "Put", "function" }, + { "True", "literal" }, + { "Print", "function" }, + { "CHANGERINGOPERATOR", "keyword" }, + { "Continue", "keyword" }, + { "Endwhile", "keyword" }, + { "BYE", "keyword" }, + { "SWITCH", "keyword" }, + { "load", "keyword" }, + { "Endclass", "keyword" }, + { "object", "keyword2" }, + { "false", "literal" }, + { "Public", "keyword2" }, + { "GIVE", "keyword" }, + { "ok", "keyword" }, + { "ENDFOR", "keyword" }, + { "Private", "keyword" }, + { "endwhile", "keyword" }, + { "print", "function" }, + { "GET", "keyword" }, + { "List", "keyword2" }, + { "TRUE", "literal" }, + { "NL", "keyword" }, + { "Import", "keyword" }, + { "if", "keyword" }, + { "TO", "keyword" }, + { "ELSE", "keyword" }, + { "NEW", "keyword" }, + { "step", "keyword" }, + { "public", "keyword2" }, + { "unsigned", "keyword2" }, + { "New", "keyword" }, + { "number", "keyword2" }, + { "Case", "keyword" }, + { "changeringoperator", "keyword" }, + { "put", "function" }, + { "PRIVATE", "keyword" }, + { "double", "keyword2" }, + { "Load", "keyword" }, + { "PUBLIC", "keyword2" }, + { "return", "keyword" }, + { "NULL", "literal" }, + { "But", "keyword" }, + { "PUT", "function" }, + { "Double", "keyword2" }, + { "Ok", "keyword" }, + { "Null", "literal" }, + { "endpackage", "keyword" }, + { "From", "keyword" }, + { "ABSTRACT", "keyword2" }, + { "ENABLEHASHCOMMENTS", "keyword" }, + { "FOR", "keyword" }, + { "Boolean", "keyword2" }, + { "OK", "keyword" }, + { "package", "keyword" }, + { "override", "keyword2" }, + { "Protected", "keyword2" }, + { "To", "keyword" }, + { "Again", "keyword" }, + { "Def", "keyword" }, + { "UNSIGNED", "keyword2" }, + { "Endfunction", "keyword" }, + { "endswitch", "keyword" }, + + }, + "//", + {} + + } ); +} + +}}}} // namespace EE::UI::Doc::Language diff --git a/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/ring.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/ring.hpp new file mode 100644 index 000000000..0d3767412 --- /dev/null +++ b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/ring.hpp @@ -0,0 +1,10 @@ +#ifndef EE_UI_DOC_Ring +#define EE_UI_DOC_Ring + +namespace EE { namespace UI { namespace Doc { namespace Language { + +extern void addRing(); + +}}}} // namespace EE::UI::Doc::Language + +#endif diff --git a/src/eepp/ui/doc/languages/ruby.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/ruby.cpp similarity index 100% rename from src/eepp/ui/doc/languages/ruby.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/ruby.cpp diff --git a/src/eepp/ui/doc/languages/ruby.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/ruby.hpp similarity index 100% rename from src/eepp/ui/doc/languages/ruby.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/ruby.hpp diff --git a/src/eepp/ui/doc/languages/rust.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/rust.cpp similarity index 100% rename from src/eepp/ui/doc/languages/rust.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/rust.cpp diff --git a/src/eepp/ui/doc/languages/rust.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/rust.hpp similarity index 100% rename from src/eepp/ui/doc/languages/rust.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/rust.hpp diff --git a/src/eepp/ui/doc/languages/sass.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/sass.cpp similarity index 100% rename from src/eepp/ui/doc/languages/sass.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/sass.cpp diff --git a/src/eepp/ui/doc/languages/sass.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/sass.hpp similarity index 100% rename from src/eepp/ui/doc/languages/sass.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/sass.hpp diff --git a/src/eepp/ui/doc/languages/scala.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/scala.cpp similarity index 100% rename from src/eepp/ui/doc/languages/scala.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/scala.cpp diff --git a/src/eepp/ui/doc/languages/scala.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/scala.hpp similarity index 100% rename from src/eepp/ui/doc/languages/scala.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/scala.hpp diff --git a/src/eepp/ui/doc/languages/shellscript.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/shellscript.cpp similarity index 100% rename from src/eepp/ui/doc/languages/shellscript.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/shellscript.cpp diff --git a/src/eepp/ui/doc/languages/shellscript.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/shellscript.hpp similarity index 100% rename from src/eepp/ui/doc/languages/shellscript.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/shellscript.hpp diff --git a/src/eepp/ui/doc/languages/smallbasic.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/smallbasic.cpp similarity index 100% rename from src/eepp/ui/doc/languages/smallbasic.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/smallbasic.cpp diff --git a/src/eepp/ui/doc/languages/smallbasic.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/smallbasic.hpp similarity index 100% rename from src/eepp/ui/doc/languages/smallbasic.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/smallbasic.hpp diff --git a/src/eepp/ui/doc/languages/solidity.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/solidity.cpp similarity index 100% rename from src/eepp/ui/doc/languages/solidity.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/solidity.cpp diff --git a/src/eepp/ui/doc/languages/solidity.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/solidity.hpp similarity index 100% rename from src/eepp/ui/doc/languages/solidity.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/solidity.hpp diff --git a/src/eepp/ui/doc/languages/sql.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/sql.cpp similarity index 100% rename from src/eepp/ui/doc/languages/sql.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/sql.cpp diff --git a/src/eepp/ui/doc/languages/sql.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/sql.hpp similarity index 100% rename from src/eepp/ui/doc/languages/sql.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/sql.hpp diff --git a/src/eepp/ui/doc/languages/swift.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/swift.cpp similarity index 100% rename from src/eepp/ui/doc/languages/swift.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/swift.cpp diff --git a/src/eepp/ui/doc/languages/swift.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/swift.hpp similarity index 100% rename from src/eepp/ui/doc/languages/swift.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/swift.hpp diff --git a/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/tcl.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/tcl.cpp new file mode 100644 index 000000000..5ab48a5f1 --- /dev/null +++ b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/tcl.cpp @@ -0,0 +1,51 @@ +#include +#include + +namespace EE { namespace UI { namespace Doc { namespace Language { + +void addTcl() { + + SyntaxDefinitionManager::instance()->add( + + { "Tcl", + { "%.tcl$" }, + { + { { "#.-\n" }, "comment" }, + { { "\"", "\"", "\\" }, "string" }, + { { "0x%x+" }, "number" }, + { { "%d+[%d%.eE]*f?" }, "number" }, + { { "%.?%d+f?" }, "number" }, + { { "%$[%a_][%w_]*" }, "literal" }, + { { "[%+%-=/%*%^%%<>!~|&]" }, "operator" }, + { { "::[%a_][%w_]*" }, "function" }, + { { "[%a_][%w_]*%f[:]" }, "function" }, + { { "[%a_][%w_]*" }, "symbol" }, + { { "%s+" }, "normal" }, + { { "%w+%f[%s]" }, "normal" }, + + }, + { + { "elseif", "keyword" }, { "lsearch", "keyword" }, { "lreverse", "keyword" }, + { "continue", "keyword" }, { "lset", "keyword" }, { "finally", "keyword2" }, + { "on", "keyword2" }, { "dict", "keyword" }, { "set", "keyword" }, + { "lappend", "keyword" }, { "lrepeat", "keyword" }, { "return", "keyword" }, + { "error", "keyword2" }, { "rename", "keyword" }, { "split", "join" }, + { "try", "keyword2" }, { "foreach", "keyword" }, { "concat", "keyword" }, + { "incr", "keyword" }, { "unset", "keyword" }, { "proc", "keyword" }, + { "lindex", "keyword" }, { "for", "keyword" }, { "array", "keyword" }, + { "while", "keyword" }, { "eval", "keyword" }, { "gets", "keyword" }, + { "list", "keyword" }, { "throw", "keyword2" }, { "else", "keyword" }, + { "package", "keyword" }, { "linsert", "keyword" }, { "lassign", "keyword" }, + { "source", "keyword" }, { "break", "keyword" }, { "puts", "keyword" }, + { "lreplace", "keyword" }, { "upvar", "keyword" }, { "case", "keyword" }, + { "llength", "keyword" }, { "if", "keyword" }, { "expr", "keyword" }, + { "lrange", "keyword" }, { "regexp", "keyword" }, { "lsort", "keyword" }, + + }, + "#", + {} + + } ); +} + +}}}} // namespace EE::UI::Doc::Language diff --git a/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/tcl.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/tcl.hpp new file mode 100644 index 000000000..1fd352a44 --- /dev/null +++ b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/tcl.hpp @@ -0,0 +1,10 @@ +#ifndef EE_UI_DOC_Tcl +#define EE_UI_DOC_Tcl + +namespace EE { namespace UI { namespace Doc { namespace Language { + +extern void addTcl(); + +}}}} // namespace EE::UI::Doc::Language + +#endif diff --git a/src/eepp/ui/doc/languages/teal.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/teal.cpp similarity index 100% rename from src/eepp/ui/doc/languages/teal.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/teal.cpp diff --git a/src/eepp/ui/doc/languages/teal.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/teal.hpp similarity index 100% rename from src/eepp/ui/doc/languages/teal.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/teal.hpp diff --git a/src/eepp/ui/doc/languages/toml.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/toml.cpp similarity index 100% rename from src/eepp/ui/doc/languages/toml.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/toml.cpp diff --git a/src/eepp/ui/doc/languages/toml.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/toml.hpp similarity index 100% rename from src/eepp/ui/doc/languages/toml.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/toml.hpp diff --git a/src/eepp/ui/doc/languages/typescript.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/typescript.cpp similarity index 100% rename from src/eepp/ui/doc/languages/typescript.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/typescript.cpp diff --git a/src/eepp/ui/doc/languages/typescript.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/typescript.hpp similarity index 100% rename from src/eepp/ui/doc/languages/typescript.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/typescript.hpp diff --git a/src/eepp/ui/doc/languages/v.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/v.cpp similarity index 100% rename from src/eepp/ui/doc/languages/v.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/v.cpp diff --git a/src/eepp/ui/doc/languages/v.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/v.hpp similarity index 100% rename from src/eepp/ui/doc/languages/v.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/v.hpp diff --git a/src/eepp/ui/doc/languages/vala.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/vala.cpp similarity index 100% rename from src/eepp/ui/doc/languages/vala.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/vala.cpp diff --git a/src/eepp/ui/doc/languages/vala.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/vala.hpp similarity index 100% rename from src/eepp/ui/doc/languages/vala.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/vala.hpp diff --git a/src/eepp/ui/doc/languages/vb.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/vb.cpp similarity index 100% rename from src/eepp/ui/doc/languages/vb.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/vb.cpp diff --git a/src/eepp/ui/doc/languages/vb.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/vb.hpp similarity index 100% rename from src/eepp/ui/doc/languages/vb.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/vb.hpp diff --git a/src/eepp/ui/doc/languages/verilog.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/verilog.cpp similarity index 100% rename from src/eepp/ui/doc/languages/verilog.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/verilog.cpp diff --git a/src/eepp/ui/doc/languages/verilog.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/verilog.hpp similarity index 100% rename from src/eepp/ui/doc/languages/verilog.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/verilog.hpp diff --git a/src/eepp/ui/doc/languages/vue.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/vue.cpp similarity index 100% rename from src/eepp/ui/doc/languages/vue.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/vue.cpp diff --git a/src/eepp/ui/doc/languages/vue.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/vue.hpp similarity index 100% rename from src/eepp/ui/doc/languages/vue.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/vue.hpp diff --git a/src/eepp/ui/doc/languages/wren.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/wren.cpp similarity index 100% rename from src/eepp/ui/doc/languages/wren.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/wren.cpp diff --git a/src/eepp/ui/doc/languages/wren.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/wren.hpp similarity index 100% rename from src/eepp/ui/doc/languages/wren.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/wren.hpp diff --git a/src/eepp/ui/doc/languages/x86assembly.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/x86assembly.cpp similarity index 100% rename from src/eepp/ui/doc/languages/x86assembly.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/x86assembly.cpp diff --git a/src/eepp/ui/doc/languages/x86assembly.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/x86assembly.hpp similarity index 100% rename from src/eepp/ui/doc/languages/x86assembly.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/x86assembly.hpp diff --git a/src/eepp/ui/doc/languages/xit.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/xit.cpp similarity index 100% rename from src/eepp/ui/doc/languages/xit.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/xit.cpp diff --git a/src/eepp/ui/doc/languages/xit.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/xit.hpp similarity index 100% rename from src/eepp/ui/doc/languages/xit.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/xit.hpp diff --git a/src/eepp/ui/doc/languages/xtend.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/xtend.cpp similarity index 100% rename from src/eepp/ui/doc/languages/xtend.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/xtend.cpp diff --git a/src/eepp/ui/doc/languages/xtend.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/xtend.hpp similarity index 100% rename from src/eepp/ui/doc/languages/xtend.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/xtend.hpp diff --git a/src/eepp/ui/doc/languages/yaml.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/yaml.cpp similarity index 100% rename from src/eepp/ui/doc/languages/yaml.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/yaml.cpp diff --git a/src/eepp/ui/doc/languages/yaml.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/yaml.hpp similarity index 100% rename from src/eepp/ui/doc/languages/yaml.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/yaml.hpp diff --git a/src/eepp/ui/doc/languages/zig.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/zig.cpp similarity index 100% rename from src/eepp/ui/doc/languages/zig.cpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/zig.cpp diff --git a/src/eepp/ui/doc/languages/zig.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/zig.hpp similarity index 100% rename from src/eepp/ui/doc/languages/zig.hpp rename to src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/zig.hpp diff --git a/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languagessyntaxhighlighting.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languagessyntaxhighlighting.cpp new file mode 100644 index 000000000..cffbb51ac --- /dev/null +++ b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languagessyntaxhighlighting.cpp @@ -0,0 +1,180 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace EE { namespace UI { namespace Doc { namespace Language { + +void LanguagesSyntaxHighlighting::load() { + addAdept(); + addAngelScript(); + addAwkScript(); + addBatchScript(); + addBazel(); + addBend(); + addBlueprint(); + addBrainfuck(); + addBuzz(); + addCarbon(); + addContainerFile(); + addClojure(); + addCMake(); + addCrystal(); + addCSharp(); + addOpenSCAD(); + addRing(); + addTcl(); + addD(); + addDart(); + addDiff(); + addElixir(); + addElm(); + addEnvironmentFile(); + addFantom(); + addFortran(); + addFstab(); + addGDScript(); + addGLSL(); + addGo(); + addGraphQL(); + addGroovy(); + addHaskell(); + addHare(); + addHaxe(); + addHLSL(); + addHtaccessFile(); + addIgnoreFile(); + addJai(); + addJava(); + addJulia(); + addJSX(); + addKotlin(); + addLatex(); + addLobster(); + addMakefile(); + addMeson(); + addMoonscript(); + addNelua(); + addNim(); + addObjeck(); + addObjectiveC(); + addOCaml(); + addOdin(); + addPascal(); + addPerl(); + addPICO8(); + addPHP(); + addPO(); + addPony(); + addPostgreSQL(); + addPowerShell(); + addR(); + addRuby(); + addRust(); + addSass(); + addScala(); + addShellScript(); + addSmallBASIC(); + addSolidity(); + addSQL(); + addSwift(); + addTeal(); + addToml(); + addTypeScript(); + addV(); + addVala(); + addVerilog(); + addVisualBasic(); + addVue(); + addWren(); + addX86Assembly(); + addXit(); + addXtend(); + addYAML(); + addZig(); +} + +}}}} // namespace EE::UI::Doc::Language diff --git a/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languagessyntaxhighlighting.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languagessyntaxhighlighting.hpp new file mode 100644 index 000000000..440a0f322 --- /dev/null +++ b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languagessyntaxhighlighting.hpp @@ -0,0 +1,9 @@ +#pragma once + +namespace EE { namespace UI { namespace Doc { namespace Language { + +struct LanguagesSyntaxHighlighting { + static void load(); +}; + +}}}} diff --git a/src/tools/ecode/ecode.cpp b/src/tools/ecode/ecode.cpp index ae365af50..e66c5c40c 100644 --- a/src/tools/ecode/ecode.cpp +++ b/src/tools/ecode/ecode.cpp @@ -18,9 +18,11 @@ #include #include #include +#include #include #include #include + #if EE_PLATFORM == EE_PLATFORM_LINUX // For malloc_trim, which is a GNU extension extern "C" { @@ -3643,7 +3645,8 @@ void App::init( const LogLevel& logLevel, std::string file, const Float& pidelDe IconManager::init( mUISceneNode, iconFont, mimeIconFont, codIconFont ); Clock defClock; - SyntaxDefinitionManager::createSingleton(); + SyntaxDefinitionManager::createSingleton( 104 ); + Language::LanguagesSyntaxHighlighting::load(); SyntaxDefinitionManager::instance()->setLanguageExtensionsPriority( mConfig.languagesExtensions.priorities ); Log::info( "Syntax definitions loaded in %.2f ms.",