aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/parser.h
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2015-06-12 15:12:59 +0200
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2015-06-12 15:12:59 +0200
commit7919aca84cdea7746b60fec9795e9617c266dd1d (patch)
tree90db8c7d899b69014d085af0cf3327741691df6a /src/parser.h
parent3551924ccd580a59190ac80e25c59b729ec4f613 (diff)
downloadsciteco-7919aca84cdea7746b60fec9795e9617c266dd1d.tar.gz
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
Diffstat (limited to 'src/parser.h')
-rw-r--r--src/parser.h8
1 files changed, 7 insertions, 1 deletions
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 {