From c41c32b464d3b64244a5a9ef95c9deade4463ded Mon Sep 17 00:00:00 2001
From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz>
Date: Fri, 21 Jul 2017 23:13:30 +0200
Subject: [PATCH] maintain history file for aql

---
 aql2/src/prompt/Prompt.cpp | 7 ++++++-
 aql2/src/prompt/Prompt.h   | 2 ++
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/aql2/src/prompt/Prompt.cpp b/aql2/src/prompt/Prompt.cpp
index dd9d69f936..de453fc96f 100644
--- a/aql2/src/prompt/Prompt.cpp
+++ b/aql2/src/prompt/Prompt.cpp
@@ -31,7 +31,12 @@ char * Prompt::stripwhite ( char * begin ) {
 	return begin;
 }
 
-Prompt::Prompt ( cli::Environment environment ) : m_prefix ( "> " ), m_environment ( std::move ( environment ) ) {
+Prompt::Prompt ( cli::Environment environment ) : m_prefix ( "> " ), m_history_file ( std::string ( std::getenv ( "HOME" ) ) + "/.aql" ), m_environment ( std::move ( environment ) ) {
+	read_history ( m_history_file.c_str ( ) );
+}
+
+Prompt::~Prompt ( ) {
+	write_history ( m_history_file.c_str ( ) );
 }
 
 cli::Command::Result Prompt::run ( ) {
diff --git a/aql2/src/prompt/Prompt.h b/aql2/src/prompt/Prompt.h
index ce99f5c44d..9304076ab8 100644
--- a/aql2/src/prompt/Prompt.h
+++ b/aql2/src/prompt/Prompt.h
@@ -18,6 +18,7 @@ class Prompt {
 	Prompt & operator = ( Prompt && ) = delete;
 
 	std::string m_prefix;
+	std::string m_history_file;
 
 	cli::Environment m_environment;
 
@@ -25,6 +26,7 @@ class Prompt {
 
 public:
 	Prompt ( cli::Environment environment );
+	~Prompt ( );
 
 	cli::Command::Result run ( );
 	cli::Command::Result execute_line ( std::string line );
-- 
GitLab