Added pony lang support.

This commit is contained in:
Martín Lucas Golini
2023-11-27 01:22:06 -03:00
parent 7a7d64c4be
commit bb8d91090c
6 changed files with 151 additions and 6 deletions

View File

@@ -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;

View File

@@ -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

View File

@@ -0,0 +1,131 @@
#include <eepp/ui/doc/languages/pony.hpp>
#include <eepp/ui/doc/syntaxdefinitionmanager.hpp>
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

View File

@@ -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

View File

@@ -29,6 +29,7 @@
#include <eepp/ui/doc/languages/perl.hpp>
#include <eepp/ui/doc/languages/pico-8.hpp>
#include <eepp/ui/doc/languages/po.hpp>
#include <eepp/ui/doc/languages/pony.hpp>
#include <eepp/ui/doc/languages/postgresql.hpp>
#include <eepp/ui/doc/languages/r.hpp>
#include <eepp/ui/doc/languages/rust.hpp>
@@ -1727,6 +1728,7 @@ SyntaxDefinitionManager::SyntaxDefinitionManager() {
addPICO8();
addPHP();
addPO();
addPony();
addPostgreSQL();
addPowerShell();
addPython();

View File

@@ -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();