From 7919aca84cdea7746b60fec9795e9617c266dd1d Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Fri, 12 Jun 2015 15:12:59 +0200 Subject: support UNIX-shell-like tilde-expansions in file names and directories * expands to the value of $HOME (the env variable instead of the register which currently makes a slight difference). * supported for tab-completions * supported for all file-name accepting commands. The expansion is done centrally in StateExpectFile::done(). A new virtual method StateExpectFile::got_file() has been introduced to pass the expanded/processed file name to command implementations. * sciteco(7) has been updated: There is now a separate section on file name arguments and file name handling in SciTECO. This information is important but has been scattered across the document previously. * optimized is_glob_pattern() in glob.h --- src/parser.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/parser.h') diff --git a/src/parser.h b/src/parser.h index 605c1a5..feffb95 100644 --- a/src/parser.h +++ b/src/parser.h @@ -160,6 +160,12 @@ class StateExpectFile : public StateExpectString { public: StateExpectFile(bool _building = true, bool _last = true) : StateExpectString(_building, _last) {} + +private: + State *done(const gchar *str); + +protected: + virtual State *got_file(const gchar *filename) = 0; }; class StateExpectDir : public StateExpectFile { @@ -236,7 +242,7 @@ public: class StateChangeDir : public StateExpectDir { private: - State *done(const gchar *str); + State *got_file(const gchar *filename); }; class StateCondCommand : public State { -- cgit v1.2.3