summaryrefslogtreecommitdiff
path: root/indra/newview/llscripteditor.h
diff options
context:
space:
mode:
authorAndrey Lihatskiy <alihatskiy@productengine.com>2026-01-12 05:23:33 +0200
committerAndrey Lihatskiy <alihatskiy@productengine.com>2026-01-15 06:04:31 +0200
commit5fa0910d6176f610de45548d8558fb53f00a0eda (patch)
tree10eafada9751ce6eee53de299e024ddb699e82e0 /indra/newview/llscripteditor.h
parentb44bab80b54bf9beacedc231a3e736cf7377fab4 (diff)
#5278 Move syntax tokenization off UI thread; apply results on main thread
Diffstat (limited to 'indra/newview/llscripteditor.h')
-rw-r--r--indra/newview/llscripteditor.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/indra/newview/llscripteditor.h b/indra/newview/llscripteditor.h
index 2d98110f75..1ca26fbcc9 100644
--- a/indra/newview/llscripteditor.h
+++ b/indra/newview/llscripteditor.h
@@ -41,7 +41,7 @@ public:
Params();
};
- ~LLScriptEditor() override {};
+ ~LLScriptEditor() override;
// LLView override
void draw() override;
@@ -55,6 +55,8 @@ public:
LLKeywords& getKeywords();
bool getIsLuauLanguage() { return mLuauLanguage; }
void setLuauLanguage(bool luau_language) { mLuauLanguage = luau_language; }
+ U32 getKeywordsGeneration() const { return mKeywordsGeneration; }
+ void applySyntaxSegments(const LLWString& text, const LLKeywords::segment_ops_t& ops);
static std::string getScriptFontSize();
LLFontGL* getScriptFont();
@@ -68,6 +70,8 @@ private:
void drawLineNumbers();
void updateSegments() override;
void drawSelectionBackground() override;
+ void ensureSyntaxWorker();
+ void queueSyntaxParse();
LLKeywords mKeywordsLua;
LLKeywords mKeywordsLSL;
@@ -75,6 +79,12 @@ private:
bool mShowLineNumbers;
bool mUseDefaultFontSize;
+ U32 mKeywordsGeneration;
+ S32 mLastQueuedTextGeneration;
+ U32 mLastQueuedKeywordsGeneration;
+ bool mLastQueuedDisableHighlight;
+ LLKeywords* mLastQueuedKeywords;
+ class LLScriptEditorSyntaxWorker* mSyntaxWorker;
};
#endif // LL_SCRIPTEDITOR_H