summaryrefslogtreecommitdiff
path: root/src/completion.cc
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2012-01-15 02:01:58 +0000
committerMaxime Coste <frrrwww@gmail.com>2012-01-15 02:01:58 +0000
commitf673f3c3347e0ecc96bc4fd99a782500c03ae0c2 (patch)
treebbc9a6aa01988c635d61e9625f90b54609017df0 /src/completion.cc
parent49ea6f71031b916245aa099c5d5d24b48d85cc12 (diff)
Completion: handle hidden files in complete_filenam
Diffstat (limited to 'src/completion.cc')
-rw-r--r--src/completion.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/completion.cc b/src/completion.cc
index 01ab56c7..c602cdcb 100644
--- a/src/completion.cc
+++ b/src/completion.cc
@@ -30,12 +30,16 @@ CandidateList complete_filename(const std::string& prefix,
while (dirent* entry = readdir(dir))
{
std::string filename = entry->d_name;
+ if (filename.empty())
+ continue;
+
if (filename.substr(0, fileprefix.length()) == fileprefix)
{
std::string name = dirprefix + filename;
if (entry->d_type == DT_DIR)
name += '/';
- result.push_back(name);
+ if (fileprefix.length() or filename[0] != '.')
+ result.push_back(name);
}
}
return result;