From bb8d91090c0e2b57b6b758db00c7eaad33c2ac71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mart=C3=ADn=20Lucas=20Golini?= Date: Mon, 27 Nov 2023 01:22:06 -0300 Subject: [PATCH] Added pony lang support. --- include/eepp/ui/uiscrollablewidget.hpp | 2 +- projects/linux/ee.files | 2 + src/eepp/ui/doc/languages/pony.cpp | 131 ++++++++++++++++++++ src/eepp/ui/doc/languages/pony.hpp | 10 ++ src/eepp/ui/doc/syntaxdefinitionmanager.cpp | 2 + src/eepp/ui/uiscrollablewidget.cpp | 10 +- 6 files changed, 151 insertions(+), 6 deletions(-) create mode 100644 src/eepp/ui/doc/languages/pony.cpp create mode 100644 src/eepp/ui/doc/languages/pony.hpp diff --git a/include/eepp/ui/uiscrollablewidget.hpp b/include/eepp/ui/uiscrollablewidget.hpp index c1c1d1244..2031de997 100644 --- a/include/eepp/ui/uiscrollablewidget.hpp +++ b/include/eepp/ui/uiscrollablewidget.hpp @@ -62,7 +62,7 @@ class EE_API UIScrollableWidget : public UIWidget { virtual bool isScrollable() const; protected: - ScrollViewType mViewType; + ScrollViewType mScrollViewType; ScrollBarMode mVScrollMode; ScrollBarMode mHScrollMode; UIScrollBar* mVScroll; diff --git a/projects/linux/ee.files b/projects/linux/ee.files index f381e2ea3..07fc61d2f 100644 --- a/projects/linux/ee.files +++ b/projects/linux/ee.files @@ -914,6 +914,8 @@ ../../src/eepp/ui/doc/languages/pico-8.hpp ../../src/eepp/ui/doc/languages/po.cpp ../../src/eepp/ui/doc/languages/po.hpp +../../src/eepp/ui/doc/languages/pony.cpp +../../src/eepp/ui/doc/languages/pony.hpp ../../src/eepp/ui/doc/languages/postgresql.cpp ../../src/eepp/ui/doc/languages/postgresql.hpp ../../src/eepp/ui/doc/languages/r.cpp diff --git a/src/eepp/ui/doc/languages/pony.cpp b/src/eepp/ui/doc/languages/pony.cpp new file mode 100644 index 000000000..b7b975771 --- /dev/null +++ b/src/eepp/ui/doc/languages/pony.cpp @@ -0,0 +1,131 @@ +#include +#include + +namespace EE { namespace UI { namespace Doc { namespace Language { + +void addPony() { + +SyntaxDefinitionManager::instance()->add( + +{"pony", +{ "%.pony$" }, +{ +{ { "//.-\n" }, "comment" }, +{ { "/%*", "%*/" }, "comment" }, +{ { "\"\"\"", "\"\"\"" }, "comment" }, +{ { "/%g", "/", "\\" }, "string" }, +{ { "\"", "\"", "\\" }, "string" }, +{ { "'.+'" }, "string" }, +{ { "`", "`", "\\" }, "string" }, +{ { "0x[%da-fA-F]+" }, "number" }, +{ { "0b[%da-fA-F]+" }, "number" }, +{ { "-?%d+[%d%_.eE]*" }, "number" }, +{ { "-?%.?[%d]+" }, "number" }, +{ { "^[0-9]{1,3}((_[0-9]{3})+)?$" }, "number" }, +{ { "[%+%-=/%*%^%%<>!~|&?]" }, "operator" }, +{ { "[%a_][%w_]*%f[(]" }, "function" }, +{ { "[%a_][%w_]*" }, "symbol" }, +{ { "%s+" }, "normal" }, +{ { "%w+%f[%s]" }, "normal" }, + +}, +{ +{ "then" , "keyword" }, +{ "new" , "keyword" }, +{ "continue" , "keyword2" }, +{ "ifdef" , "keyword" }, +{ "&" , "keyword2" }, +{ "val" , "keyword" }, +{ "I32" , "keyword" }, +{ "this" , "keyword2" }, +{ "Pointer" , "keyword" }, +{ "consume" , "keyword2" }, +{ "Array" , "keyword" }, +{ "String" , "keyword" }, +{ "F64" , "keyword" }, +{ "xor" , "keyword2" }, +{ "end" , "keyword" }, +{ "addressof" , "keyword2" }, +{ "U128" , "keyword" }, +{ "object" , "keyword" }, +{ "match" , "keyword" }, +{ "with" , "keyword" }, +{ "false" , "keyword2" }, +{ "for" , "keyword" }, +{ "while" , "keyword" }, +{ "iso" , "keyword" }, +{ "Stringable" , "keyword" }, +{ "Iterator" , "keyword" }, +{ "else" , "keyword" }, +{ "recover" , "keyword2" }, +{ "compile_intrinsic" , "keyword" }, +{ "digestof" , "keyword2" }, +{ "actor" , "keyword" }, +{ "U32" , "keyword" }, +{ "primitive" , "keyword" }, +{ "iftype" , "keyword" }, +{ "struct" , "keyword" }, +{ "break" , "keyword2" }, +{ "is" , "keyword2" }, +{ "use" , "keyword" }, +{ "or" , "keyword2" }, +{ "until" , "keyword" }, +{ "if" , "keyword" }, +{ "let" , "keyword" }, +{ "isnt" , "keyword2" }, +{ "Any" , "keyword" }, +{ "elseif" , "keyword" }, +{ "in" , "keyword" }, +{ "USize" , "keyword" }, +{ "#alias" , "keyword2" }, +{ "Env" , "keyword" }, +{ "and" , "keyword2" }, +{ "trn" , "keyword" }, +{ "tag" , "keyword" }, +{ "box" , "keyword" }, +{ "None" , "keyword2" }, +{ "trait" , "keyword" }, +{ "return" , "keyword" }, +{ "var" , "keyword" }, +{ "U8" , "keyword" }, +{ "error" , "keyword2" }, +{ "try" , "keyword" }, +{ "as" , "keyword2" }, +{ "class" , "keyword" }, +{ "ILong" , "keyword" }, +{ "I8" , "keyword" }, +{ "repeat" , "keyword" }, +{ "U16" , "keyword" }, +{ "#send" , "keyword2" }, +{ "#any" , "keyword2" }, +{ "#share" , "keyword2" }, +{ "I128" , "keyword" }, +{ "#read" , "keyword2" }, +{ "F32" , "keyword" }, +{ "compile_error" , "keyword" }, +{ "embed" , "keyword" }, +{ "where" , "keyword2" }, +{ "true" , "keyword2" }, +{ "not" , "keyword2" }, +{ "Bool" , "keyword" }, +{ "|" , "keyword2" }, +{ "I64" , "keyword" }, +{ "U64" , "keyword" }, +{ "ULong" , "keyword" }, +{ "I16" , "keyword" }, +{ "interface" , "keyword" }, +{ "be" , "keyword" }, +{ "do" , "keyword" }, +{ "fun" , "keyword" }, +{ "ref" , "keyword" }, +{ "ISize" , "keyword" }, +{ "type" , "keyword" }, + +}, +"//", +{} + +}); +} + +}}}} // namespace EE::UI::Doc::Language diff --git a/src/eepp/ui/doc/languages/pony.hpp b/src/eepp/ui/doc/languages/pony.hpp new file mode 100644 index 000000000..b13438cff --- /dev/null +++ b/src/eepp/ui/doc/languages/pony.hpp @@ -0,0 +1,10 @@ +#ifndef EE_UI_DOC_Pony +#define EE_UI_DOC_Pony + +namespace EE { namespace UI { namespace Doc { namespace Language { + +extern void addPony(); + +}}}} + +#endif diff --git a/src/eepp/ui/doc/syntaxdefinitionmanager.cpp b/src/eepp/ui/doc/syntaxdefinitionmanager.cpp index 1cc346f71..3699500b2 100644 --- a/src/eepp/ui/doc/syntaxdefinitionmanager.cpp +++ b/src/eepp/ui/doc/syntaxdefinitionmanager.cpp @@ -29,6 +29,7 @@ #include #include #include +#include #include #include #include @@ -1727,6 +1728,7 @@ SyntaxDefinitionManager::SyntaxDefinitionManager() { addPICO8(); addPHP(); addPO(); + addPony(); addPostgreSQL(); addPowerShell(); addPython(); diff --git a/src/eepp/ui/uiscrollablewidget.cpp b/src/eepp/ui/uiscrollablewidget.cpp index 5761de0a0..b9c1c7d9d 100644 --- a/src/eepp/ui/uiscrollablewidget.cpp +++ b/src/eepp/ui/uiscrollablewidget.cpp @@ -6,7 +6,7 @@ namespace EE { namespace UI { UIScrollableWidget::UIScrollableWidget( const std::string& tag ) : UIWidget( tag ), - mViewType( Exclusive ), + mScrollViewType( Exclusive ), mVScrollMode( ScrollBarMode::Auto ), mHScrollMode( ScrollBarMode::Auto ), mVScroll( UIScrollBar::NewVertical() ), @@ -73,12 +73,12 @@ const ScrollBarMode& UIScrollableWidget::getHorizontalScrollMode() const { } const UIScrollableWidget::ScrollViewType& UIScrollableWidget::getViewType() const { - return mViewType; + return mScrollViewType; } void UIScrollableWidget::setScrollViewType( const ScrollViewType& viewType ) { - if ( viewType != mViewType ) { - mViewType = viewType; + if ( viewType != mScrollViewType ) { + mScrollViewType = viewType; onContentSizeChange(); } } @@ -139,7 +139,7 @@ void UIScrollableWidget::onContentSizeChange() { Sizef size = getPixelsSize() - mPaddingPx; - if ( Exclusive == mViewType ) { + if ( Exclusive == mScrollViewType ) { if ( mVScroll->isVisible() ) size.x -= mVScroll->getPixelsSize().getWidth();