1 // SciTE - Scintilla based Text Editor 2 // LuaExtension.h - Lua scripting extension 3 // Copyright 1998-2000 by Neil Hodgson <neilh@scintilla.org> 4 // The License.txt file describes the conditions under which this software may be distributed. 5 6 #ifndef LUAEXTENSION_H 7 #define LUAEXTENSION_H 8 9 class LuaExtension : public Extension { 10 private: 11 LuaExtension(); // Singleton 12 13 public: 14 static LuaExtension &Instance(); 15 16 // Deleted so LuaExtension objects can not be copied. 17 LuaExtension(const LuaExtension &) = delete; 18 void operator=(const LuaExtension &) = delete; 19 ~LuaExtension() override; 20 21 bool Initialise(ExtensionAPI *host_) override; 22 bool Finalise() override; 23 bool Clear() override; 24 bool Load(const char *filename) override; 25 26 bool InitBuffer(int) override; 27 bool ActivateBuffer(int) override; 28 bool RemoveBuffer(int) override; 29 30 bool OnOpen(const char *filename) override; 31 bool OnSwitchFile(const char *filename) override; 32 bool OnBeforeSave(const char *filename) override; 33 bool OnSave(const char *filename) override; 34 bool OnChar(char ch) override; 35 bool OnExecute(const char *s) override; 36 bool OnSavePointReached() override; 37 bool OnSavePointLeft() override; 38 bool OnStyle(Scintilla::API::Position startPos, Scintilla::API::Position lengthDoc, int initStyle, StyleWriter *styler) override; 39 bool OnDoubleClick() override; 40 bool OnUpdateUI() override; 41 bool OnMarginClick() override; 42 bool OnUserListSelection(int listType, const char *selection) override; 43 bool OnKey(int keyval, int modifiers) override; 44 bool OnDwellStart(Scintilla::API::Position pos, const char *word) override; 45 bool OnClose(const char *filename) override; 46 bool OnUserStrip(int control, int change) override; 47 bool NeedsOnClose() override; 48 }; 49 50 #endif 51