From 59d62fdd538f3680d3e0eec6ec3b545ec8eb2989 Mon Sep 17 00:00:00 2001 From: ridiculousfish Date: Fri, 11 Jan 2019 15:04:09 -0800 Subject: [PATCH] Thread the right PWD through autosuggestions These were getting / as the PWD, resulting in bogus suggestions. --- src/env.cpp | 6 +++--- src/reader.cpp | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/env.cpp b/src/env.cpp index f48cfde2b..ea921e5e2 100644 --- a/src/env.cpp +++ b/src/env.cpp @@ -1657,11 +1657,11 @@ maybe_t env_vars_snapshot_t::get(const wcstring &key, env_mode_flags_ wcstring_list_t env_vars_snapshot_t::get_names(int flags) const { return names; } -const wchar_t *const env_vars_snapshot_t::highlighting_keys[] = {L"PATH", L"CDPATH", - L"fish_function_path", NULL}; +const wchar_t *const env_vars_snapshot_t::highlighting_keys[] = { + L"PATH", L"CDPATH", L"fish_function_path", L"PWD", NULL}; const wchar_t *const env_vars_snapshot_t::completing_keys[] = {L"PATH", L"CDPATH", - L"fish_function_path", NULL}; + L"fish_function_path", L"PWD", NULL}; #if defined(__APPLE__) || defined(__CYGWIN__) static int check_runtime_path(const char *path) { diff --git a/src/reader.cpp b/src/reader.cpp index 69a1d2d41..4124aba74 100644 --- a/src/reader.cpp +++ b/src/reader.cpp @@ -1292,13 +1292,14 @@ static std::function get_autosuggestion_performer const auto &parser_vars = parser_t::principal_parser().vars(); const unsigned int generation_count = read_generation_count(); const wcstring working_directory = parser_vars.get_pwd_slash(); - env_vars_snapshot_t vars(vars, env_vars_snapshot_t::highlighting_keys); + env_vars_snapshot_t vars(parser_vars, env_vars_snapshot_t::completing_keys); // TODO: suspicious use of 'history' here // This is safe because histories are immortal, but perhaps // this should use shared_ptr return [=]() -> autosuggestion_result_t { ASSERT_IS_BACKGROUND_THREAD(); + const autosuggestion_result_t nothing = {}; // If the main thread has moved on, skip all the work. if (generation_count != read_generation_count()) {