diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2012-06-29 18:37:17 +0200 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2012-06-29 18:37:17 +0200 |
| commit | dfbda951d38386d992c5ecd005fdf78ae93cb3d3 (patch) | |
| tree | e38684974e32b639550e93e522ce18befadd1d63 /src/register_manager.hh | |
| parent | 5b2ef1da6aecb82cf549e4b17e246149e4ad9968 (diff) | |
support static and dynamic registers, add '%' (filename) and '.' (selection) registers
Diffstat (limited to 'src/register_manager.hh')
| -rw-r--r-- | src/register_manager.hh | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/register_manager.hh b/src/register_manager.hh index d37ed2dd..9f125b9f 100644 --- a/src/register_manager.hh +++ b/src/register_manager.hh @@ -2,20 +2,26 @@ #define register_manager_hh_INCLUDED #include "register.hh" + #include "utils.hh" #include <unordered_map> +#include <vector> +#include <functional> namespace Kakoune { +typedef std::function<std::vector<String> ()> RegisterRetriever; + class RegisterManager : public Singleton<RegisterManager> { public: - Register& operator[](char reg) { return m_registers[reg]; } + Register& operator[](char reg); + void register_dynamic_register(char reg, RegisterRetriever function); protected: - std::unordered_map<char, Register> m_registers; + std::unordered_map<char, std::unique_ptr<Register>> m_registers; }; } |
